Главная » Delphi, OLE, САПР » Пример. Сборка – КОМПАС в DELPHI

0

Вернемся к нашей сборке, которую мы строили в главе 82. Добавим в нее настройку расположения деталей друг относительно друга. В данном случае нам нужно как переместить деталь, так и повернуть ее. Ключевой фрагмент исходного текста доработанной программы представлен ниже.

const

pTop_Part = -1;

vm_Shaded = 3;

var

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

Placement: ksPlacement;

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);

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

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

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

Placement:=ksPlacement(Part.GetPlacement());

//Изменяем расположение детали

Placement.SetOrigin(0,0,170);

Placement.SetAxis(0,-1,170,1);

//Обновляем расположение детали

Part.UpdatePlacement();

//Перерисовываем сборку

Document3D.RebuildDocument();

end;

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

Document3D.drawMode:=vm_Shaded;

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

Document3D.shadedWireframe:=TRUE;

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

kompas.Visible:=true;

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

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

По теме:

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