Максим Кидрук - КОМПАС-3D V10 на 100 %
- Название:КОМПАС-3D V10 на 100 %
- Автор:
- Жанр:
- Издательство:046ebc0b-b024-102a-94d5-07de47c81719
- Год:2009
- Город:Санкт-Петербург
- ISBN:978-5-388-00375-1
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Максим Кидрук - КОМПАС-3D V10 на 100 % краткое содержание
Книга посвящена КОМПАС-3D V10 – мощной, постоянно совершенствующейся системе автоматизированного проектирования (САПР), максимально адаптированной к российским стандартам. Издание в доступной форме рассказывает о принципах проектирования и основных приемах работы в этой замечательной программе. Книга не является аналогом справочной системы: обучение основывается на интересных примерах, взятых из практики. Более того, в издании есть раздел, посвященный расширению возможностей системы, а именно написанию прикладных конструкторских библиотек, работающих с 3D.
Издание будет полезно всем, кто занимается созданием трехмерных моделей и чертежей, а также хочет научиться разрабатывать приложения для КОМПАС-3D.
КОМПАС-3D V10 на 100 % - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Среди методов наиболее важными являются три следующих:
• Create – создает трехмерную операцию или объект вспомогательной геометрии по заданным настройкам;
• ColorParam – возвращает указатель на интерфейс настроек цвета и оптических свойств элемента;
• GetDefinition – получает указатель на интерфейс параметров объекта определенного типа (параметры данного трехмерного элемента). Именно с помощью этого метода можно получить указатель на любой интерфейс, приведенный в столбце «Интерфейс параметров» табл. 6.6.
Таким образом, создание какой-либо трехмерной операции пользовательской программой сводится к такой последовательности шагов.
1. Инициализация главного интерфейса приложения API – KompasObject. Он инициализируется один раз для всего сеанса работы программы.
2. Инициализация интерфейса трехмерного документ ksDocument3D, с последующим созданием нового документа или получением указателя на активный документ.
3. Создание компонента и получение на него указателя (интерфейс ksPart). Для сборки это может быть готовый компонент, компонент, вставленный из файла или созданный «на месте». Для детали необходимо получить указатель на компонент типа pTop_Part.
4. Создание с помощью метода ksPart::NewEntity интерфейса нужной нам операции. При этом в метод передается соответствующий идентификатор (например, для выдавливания – o3d_bossExtrusion).
5. Получение с помощью метода ksEntity::GetDefinition указателя на интерфейс параметров конкретной операции (для выдавливания этим интерфейсом является ksBossExtrusionDefinition). Настройка этих параметров необходимым пользователю образом.
6. Создание операции с помощью метода ksEntity::Create.
Кроме перечисленных, в API системы КОМПАС существует еще большое множество различных интерфейсов, отвечающих за тот или иной аспект работы с программой. Небольшая их часть описана в табл. 6.7.

Пример программной реализации трехмерной операции
Рассмотрим выполнение трехмерной формообразующей операции вручную (то есть в самом КОМПАС) и с помощью воображаемого подключаемого модуля. В качестве примера выберем обычную операцию выдавливания на основе несложного эскиза, содержащего изображение окружности. Раздел var функции, реализующей выполнение операции, должен выглядеть подобно листингу 6.1.
var
doc3 : ksDocument3D;
// интерфейс трехмерного документа
doc2 : ksDocument2D;
// интерфейс графического документа
// используется для создания изображения в эскизе
iPart : ksPart;
// интерфейс детали
planeXOY : ksEntity;
// интерфейс плоскости, на которой будет размещен эскиз
iSketch : ksEntity;
// интерфейс эскиза
iSketchDef : ksSketchDefinition;
// интерфейс параметров эскиза
iBossExtrusion : ksEntity;
// интерфейс операции выдавливания
iBossDef : ksCutExtrusionDefinition;
// интерфейс параметров операции выдавливания
color : ksColorParam;
// интерфейс параметров цвета операции выдавливания
Предположим, что документ-деталь и эскиз с окружностью радиусом 40 мм на плоскости XY уже созданы (это значит, что объекты doc3, doc2, planeXOY, iSketch, iSketchDef уже созданы и проинициализированы).
Для выполнения операции выдавливания пользователь на панели инструментов Редактирование детали нажимает кнопку Операция выдавливания. При этом на панели свойств, которая по умолчанию закреплена в нижней части окна программы, отображаются вкладки с настройками данной операции (некоторые значения установлены по умолчанию), в результате чего пользователь получает возможность изменять эти настройки (рис. 6.15).

Рис. 6.15.Настройки операции выдавливания на панели свойств
Программно это все реализуется следующим образом (листинг 6.2).
// iPart – указатель на объект класса ksPart,
// верхний элемент дерева построения детали
// создание интерфейса операции выдавливания
// с помощью метода ksPart::NewEntity,
// которому передаем идентификатор o3d_bossExtrusion
iBossExtrusion := ksEntity(iPart.NewEntity(o3d_bossExtrusion));
if (iBossExtrusion <> nil) then
begin
// если создание прошло успешно
// инициализируем интерфейс настроек операции выдавливания
iBossDef := ksBossExtrusionDefinition(iBossExtrusion.GetDefinition);
if (iBossDef <> nil) then
begin
end;
end;
Несколько замечаний. Данный фрагмент кода будет работать лишь в версиях КОМПАС-3D V8 Plus или выше, поскольку в этих версиях появилась возможность многотельного моделирования. При написании программ для более ранних версий КОМПАС, в качестве первой (подчеркиваю – лишь первой) операции выдавливания вместо константы типа o3d_bossExtrusіon следует использовать o3d_baseExtrusіon, то есть базовую операцию выдавливания (так как в КОМПАС-3D V8 и более ранних версиях в детали могло быть лишь одно тело, имеющее общую базовую формообразующую операцию). Для всех следующих операций нужно применять o3d_bossExtrusіon, как и в КОМПАС-3D V8 Plus и более поздних версиях. Еще одно отличие версии КОМПАС-3D V8 Plus от предыдущих состоит в названии класса для получения определения интерфейса (параметров операции). При многотельном моделировании можно сразу использовать ksBossExtrusіonDefіnіtіon, в более ранних версиях КОМПАС первым всегда должен применяться интерфейс ksBaseExtrusіonDefіnіtіon, а все следующие за ним – ksBossExtrusіonDefіnіtіon. Это, тем не менее, не приводит к серьезным усложнениям, так как методы и свойства этих двух классов идентичны.
Все сказанное касается и других формообразующих операций (за исключением вырезания, которое по определению не может быть базовой операцией). Из чего следует, что в более ранних версиях КОМПАС и для кинематической операции, и для операции по сечениям первой всегда следует реализовать базовую операцию.
Совет
Даже если вы создаете плагин для версии КОМПАС-3D V8 Plus или выше, все равно желательно не забывать о первой операции, как о базовой. Мало ли в какой версии КОМПАС будут работать пользователи с вашей программой.
Теперь рассмотрим параметры операции выдавливания и способы их настройки.
1. Направление выдавливания в КОМПАС выбирается из раскрывающегося списка Направление на панели свойств (рис. 6.16).

Рис. 6.16.Выбор направления операции выдавливания
Программным аналогом направления является свойство directionType (тип – SmallInt) интерфейса ksBossExtrusіonDefіnіtіon (или ksBaseExtrusіonDefіnіtіon). Для него предопределены четыре значения:
Читать дальшеИнтервал:
Закладка: