Оператор CLDFile

Оператор <CldFile> предназначен для доступа к данным файлов CLData из постпроцессора. Он предоставляет информацию только для чтения, т.е. может находиться только справа от оператора присвоения. Синтаксис:

  • <CldFile.FileCount> – возвращает количество загруженных файлов CLData;

  • <CldFile.CurrentFile> – возвращает индекс текущего файла CLData (индексация начинается с 0);

  • <CldFile.FirstEnabledFile> – возвращает индекс первого включенного CLD-файла (операции) в списке на закладке CLData;

  • <CldFile.LastEnabledFile> – возвращает индекс последнего включенного CLD-файла (операции) в списке на закладке CLData;

  • <CldFile.CurrentCmd> – возвращает индекс текущей команды в текущем файле CLData (индексация начинается с 1);

  • <CldFile[<FileIndex>].Enabled> – возвращает 1, если файл с индексом <FileIndex> включен, 0 – файл выключен;

  • <CldFile[<FileIndex>].FileType> – возвращает тип файла CLData: 0 - технологическая операция, 1 - NC-подпрограмма, 2 – свойства проекта CAM-системы;

  • <CldFile[<FileIndex>].IsNCSub> – возвращает 1, если файл является файлом подпрограммы, 0 – не является;

  • <CldFile[<FileIndex>].CmdCount> – возвращает количество команд CLData в файле с индексом <FileIndex>;

  • <CldFile[<FileIndex>].Cmd[<CmdIndex>]> – возвращает ссылку на команду CLData под номером <CmdIndex> в файле с индексом <FileIndex>. После этой команды через точку допустимо указывать любую из инструкций, описанных для оператора Cmd. Например:<CldFile[<FileIndex>].Cmd[<CmdIndex>].Code> – код команды CLData под номером <CmdIndex>;

  • <CldFile[<FileIndex>].Cmd[<CmdIndex>].Data> – возвращает строковые данные команды CLData под номером <CmdIndex> (например, строку комментария). Если команда не содержит строковых данных, то выводится строковое представление команды.

  • <CldFile[<FileIndex>].Cmd[<CmdIndex>].Data[<CldIndex>]> – значение элемента массива CLD с номером <CldIndex>;

  • <CldFile[<FileIndex>].Cmd[<CmdIndex>].Name> - имя команды либо параметра команды CLData;

  • <CldFile[<FileIndex>].Cmd[<CmdIndex>].Str | .Int | .Flt | .Ptr> - значение параметра команды соответствующего типа по строковому имени, подробнее смотрите статью Именованные параметры CLData.

Приведенный ниже пример выводит в окно отладочной информации номера и комментарии для всех используемых инструментов:

sub PrintAllTools
  i: Integer
  j: Integer
  for i = 0 to CLDFile.FileCount-1 do begin
    if (CldFile[i].Enabled>0) and (CldFile[i].IsNCSub=0) then begin
      for j = 1 to CldFile[i].CmdCount do begin
        ! Если это команда загрузки инструмента
        if CldFile[i].Cmd[j].Code = CodeOfCmd("LoadTl") then begin
          ! Выводим идентификатор револьверной головки
          Print "RevolverID = " + CldFile[i].Cmd[j].Str["RevolverID"]
          ! Выводим номер инструмента
          Print "Tool number = ", CldFile[i].Cmd[j].Data[1]
          ! Выводим комментарий инструмента
          if CldFile[i].Cmd[j+1].Code = CodeOfCmd("Comment") then
            Print "Tool comment: " + CldFile[i].Cmd[j+1].Data
        end
      end
    end
  end
subend

Сопутствующие ссылки:

Функции и операторы работы с CLData