Работа с API КОМПАС-3D → Урок 2 → Оформление чертежа

Работа с API КОМПАС-3D → Урок 2 → Оформление чертежа

И снова про API САПР КОМПАС. Новая статья Сергея Норсеева, инженера-программиста АО «ВНИИ «Сигнал», автора книги «Разработка приложений под КОМПАС в Delphi». Первую статью можно прочесть здесь. Для оформления чертежа используется несколько интерфейсов, среди них:

  • ksSheetPar – задает основные параметры оформления, такие как: используемая библиотека оформлений и конкретное оформление из этой библиотеки;
  • ksStandartSheet – задает параметры стандартного листа. Он определяет размер листа, ориентацию основной надписи и кратность;
  • ksSheetSize – задает параметры нестандартного листа (его размеры). В данной статье мы рассмотрим вопрос создания чертежей как на стандартных, так и на нестандартных листах.

Основные параметры оформления

Указатель на интерфейс ksSheetPar возвращается методом GetLayoutParam() интерфейса ksDocumentParam, описывающего параметры документа.

Интерфейса ksSheetPar имеет два свойства:

  • layoutName – имя библиотеки оформлений. Обычно, это библиотека «graphic.lyt», хранящаяся в подкаталоге «Sys» каталога КОМПАС;
  • shtType – тип штампа (основной надписи) из указанной библиотеки оформления.

Дерево документа (Картинка кликабельна)

Для того чтобы понять назначение этих свойств, откройте (или создайте новый) чертеж в КОМПАС. Выберите пункт меню «Сервис/Менеджер документа». Перед вами появится окно менеджера документа.

Менеджер документа

Строка в колонке «Библиотека оформлений» – это наименование библиотеки, указываемой в поле «layoutName». Свойство shtType задает значение колонки «Оформление». Чтобы увидеть допустимые значения этого свойства для текущей библиотеки оформлений, дважды кликните левой кнопкой мыши по строке в окне менеджера документа. Перед вами появится окно.

Свойство shtType задает значение колонки с ГОСТом под списком «Листы». Чтобы увидеть допустимые значения этого свойства для текущей библиотеки оформлений, дважды кликните левой кнопкой мыши по строке в дереве документа. Перед вами появится окно.

Окно «Оформление»

Строка в колонке «Библиотека» – это наименование библиотеки, указываемой в поле «layoutName». Нажмите на кнопку «…» справа от поля «Название». Перед вами появится окно.

Диалог выбора оформления

Свойство shtType содержит значение из колонки «Номер» и определяет соответствующее оформление. Например, для документа «Чертеж констр. Первый лист. ГОСТ 2.104-2006» (выделено на рисунке выше) значение свойства shtType должно быть равно 1, а для документа «Титульный лист. ГОСТ 2.104-2006.» – 42 и т. д.

Методов у интерфейса ksSheetPar всего два:

  • Init() – сбрасывает значения свойств к значениям по умолчанию;
  • GetSheetParam() – возвращает указатель на интерфейс ksStandartSheet (для листа стандартных размеров) или ksSheetSize (для листа нестандартных размеров).

Стандартные листы

Параметры стандартного листа описываются интерфейсом ksStandartSheet, имеющим три свойства:

  • direct – расположение основной надписи (FALSE – вдоль короткой стороны листа, TRUE – вдоль длинной стороны);
  • format – формат листа (0 – А0, 1 – А1, 2 – А2, 3 – А3, 4 – А4, 5 –А5);
  • multiply – кратность формата листа.

Обращаю ваше внимание на то, что в свойстве layoutName интерфейса ksSheetPar указывается пустая строка. Если в этом свойстве указать полный путь к библиотеке graphic.lyt, то программа работает неправильно. Ниже приводится внешний вид созданного чертежа.

Рамка чертежа конструкторского со стандартными размерами. Первый лист. ГОСТ 2.104-2006

Нестандартные листы

Параметры нестандартного листа описываются интерфейсом ksSheetSize со следующимия свойствами:

  • height – высота листа в миллиметрах;
  • width – ширина листа в миллиметрах.

Обращаю ваше внимание на то, что для создания чертежа на листе нестандартного размера нужно в свойстве type интерфейса ksDocumentParam указать значение lt_DocSheetUser. После этого метод GetSheetParam() интерфейса ksSheetPar вернет указатель на интерфейс ksSheetSize. На рисунке ниже показан результат работы этой программы.

Рамка чертежа конструкторского для листа с размерами 300 на 300 мм

При работе с листами нестандартных размеров нужно помнить о том, что многие форматы основных надписей рассчитаны на листы определенных размеров. Когда система КОМПАС пытается приспособить основную надпись к листу, на размеры которого она не рассчитана, то из этого не получается ничего хорошего. Один из таких результатов показан на рисунке ниже.

Рамка чертежа конструкторского для листа с размерами 100 на 100 мм. Части штампа ушли за границы листа

В данном примере создавался лист размером 100х100 миллиметров, и к нему применялась основная надпись типа 1 («Чертеж констр. Первый лист. ГОСТ 2.104-2006»).

📎📎📎📎📎📎📎📎📎📎