Главная » Delphi, OLE, САПР » Добавление деталей в сборку – КОМПАС в DELPHI

0

Добавление деталей в сборку

Для добавления деталей в сборку используется метод SetPartFromFile интерфейса ksDocument3D. Ниже представлен прототип этого метода.

SetPartFromFile(

const fileName: WideString;//Имя файла с добавлеямой деталью

const part: IDispatch;   //Интерфейс ksPart

externalFile: WordBool   //Сохранять ли связь с файлом источником?

): WordBool;

Параметр fileName представляет собой строку с наименованием файла, из которого берется деталь.

Согласно документации, параметр part представляет собой интерфейс ksPart,  описывающий  3D-модель,  добавляемую  в  сборку.  Однако,  как

показывает эксперимент в качестве значения этого параметра должен быть указан интерфейс ksPart, описывающий главный компонент сборки.

Параметр externalFile указывает, нужно ли сохранять связь с файлом сборки. Если значение этого параметра равно TRUE, то в документ сборки вставляется ссылка на файл с деталью. Если же значение этого параметра равно FALSE, то вставляемая деталь полностью копируется из своего файла в документ сборки без сохранения ссылки на файл источник.

В случае успеха метод SetPartFromFile возвращает значение TRUE.

Пример

Допустим, у нас есть две детали. Они представлены на рисунке ниже.

Эти    детали    хранятся    в    файлах    «D:\Study\Деталь1.m3d»         и

«D:\Study\Деталь2.m3d». Ниже приводится ключевой фрагмент исходного текста программы, демонстрирующей создание сборки, состоящей из этих двух деталей.

const

pTop_Part = -1;

vm_Shaded = 3;

var

kompas: KompasObject; Document3D: ksDocument3D; Part: ksPart;

path: string;

begin

//Подключаемся к КОМПАСу

kompas:=KompasObject(CreateOleObject(‘Kompas.Application.5′));

//Получаем интерфейс документа-сборки

Document3D:=ksDocument3D(kompas.Document3D());

//Создаем сборку

Document3D.Create(FALSE,FALSE);

//Получаем интерфейс модели

Part:=ksPart(Document3D.GetPart(pTop_Part));

//Добавляем первую деталь в сборку path:=’D:\Study\Деталь1.m3d'; Document3D.SetPartFromFile(path,Part,TRUE);

//Добавляем вторую деталь в сборку path:=’D:\Study\Деталь2.m3d'; Document3D.SetPartFromFile(path,Part,TRUE);

end;

//Устанавливаем полутоновое отображение

Document3D.drawMode:=vm_Shaded;

//Включаем отображение каркаса

Document3D.shadedWireframe:=TRUE;

//Делаем КОМПАС видимым

kompas.Visible:=true;

На рисунке ниже показан результат работы этой программы.

Разумеется, данная сборка построена неправильно. Да, мы добавили необходимые детали в документ сборки, но относительное расположение этих деталей друг относительно друга неверное. О том, как это исправить мы поговорим в следующей главе.

Источник: Норсеев Сергей, «РАЗРАБОТКА ПРИЛОЖЕНИЙ ПОД КОМПАС В DELPHI»

По теме:

  • Комментарии