я создал документ в невидимом режиме doc3.Create(true, false) построил там детали и как теперь мне его снова сделать видимым?
И еще один вопрос, как в сборке за раз построить независимые друг от друга детали.
with model do
begin
doc3 := ksDocument3D(kompas.Document3D());
if doc3.Create(true, false) then
begin
doc3.comment := 'Передача';
doc3.drawMode := 3;
doc3.perspective := true;
doc3.UpdateDocumentParam();
end
else
exit;
if (doc3 = nil) then
begin
kompas.ksMessage('Íå óäàëîñü ñîçäàòü äîêóìåíò!');
exit;
end;
iPart := ksPart(doc3.GetPart(pTop_Part));//создаю первую деталь
if (iPart <> nil) then
begin
PlaneXOY := ksEntity(iPart.GetDefaultEntity(o3d_planeXOY));
PlaneXOZ := ksEntity(iPart.GetDefaultEntity(o3d_planeXOZ));
PlaneYOZ := ksEntity(iPart.GetDefaultEntity(o3d_planeYOZ));
BildRing(doc3, iPart, PlaneXOY, PlaneXOZ, PlaneYOZ, model.Ring, 0);//строю ее
end;
iPart := ksPart(doc3.GetPart(pNew_Part));//создаю вторую деталь
if (iPart <> nil) then
begin
PlaneXOY := ksEntity(iPart.GetDefaultEntity(o3d_planeXOY));
PlaneXOZ := ksEntity(iPart.GetDefaultEntity(o3d_planeXOZ));
PlaneYOZ := ksEntity(iPart.GetDefaultEntity(o3d_planeYOZ));
BildRing(doc3, iPart, PlaneXOY, PlaneXOZ, PlaneYOZ, model.Pinion, model.Aw);//строе ее
end;
end;
в выше описанном коде когда делаю вырез зубьев во втором объекте, то компас его делает и в первом и тогда в нем они получаются кривые.
Можно сразу в видимом режиме построить, потому, что свойство отвечающее за режим видимости, только для чтения, либо сохранить и закрыть созданный документ, а затем открыть в видимом режиме.
благодарю, а я думал это свойство будет позволять строить быстрее, за счет того что не надо отображать процесс строительства моделей)
По поводу деталей, то я строил детали отдельно от сборки, а затем вставлял в сборку.