разработка rtw библиотеки

Автор sn0wflake, 21.10.09, 17:57:19

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

sn0wflake

Уважаемые коллеги, как программно, из параметризированной 3d сборки создать чертеж отдельной детали.

Троицкий

Цитата: sn0wflake от 21.10.09, 17:57:19
Уважаемые коллеги, как программно, из параметризированной 3d сборки создать чертеж отдельной детали.

Я бы открыл деталь в новом окне (получаете у ksPart имя файла filename и создаете новый документ, куда загружаете этот файл), а дальше примерно так:

var
iKompas: KompasObject;
iDoc2D: ksDocument2D;
iAssociationViewParam: ksAssociationViewParam;
number: integer;
iViewParam: ksViewParam;

begin
iKompas:=KompasObject(CreateKompasObject);
if iKompas = nil then Exit;

if (iKompas.ksGetDocumentType(0) = lt_DocSheetStandart) or
   (iKompas.ksGetDocumentType(0) = lt_DocSheetUser) then
begin
iDoc2D:=ksDocument2D(iKompas.ActiveDocument2D);

iAssociationViewParam:=ksAssociationViewParam(iKompas.GetParamStruct(ko_AssociationViewParam));
iAssociationViewParam.fileName:=iKompas.ksGetFullPathFromSystemPath('Учебные\Втулка.m3d', sptLIBS_FILES);
iAssociationViewParam.projBodies:=True;
iAssociationViewParam.projThreads:=True;
iAssociationViewParam.visibleLinesStyle:=1;
iAssociationViewParam.projectionName:='#Спереди';

number:=0;

iViewParam:=ksViewParam(iAssociationViewParam.GetViewParam);
iViewParam.name:='Вид 1';
iViewParam.x:=110;
iViewParam.y:=180;
iViewParam.scale_:=1;
iViewParam.state:=stCURRENT;

iDoc2D.ksCreateSheetArbitraryView(iAssociationViewParam, number);

end;

end;

sn0wflake

Спасибо большое Дмитрий Игоревич, так намного проще, а я пытался переменные из 3d сборки вытаскивать.

Троицкий

Цитата: sn0wflake от 24.10.09, 23:05:46
Спасибо большое Дмитрий Игоревич, так намного проще, а я пытался переменные из 3d сборки вытаскивать.
Не за что! Если что - могу проконсультировать на кафедре. Кстати, а кто скрывается за ником "Снежинка"? :-)