Программное позиционирование детали в сборке

Автор Дим, 06.06.06, 12:40:50

« предыдущая - следующая »

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

Дим

Коллеги, подскажите:

имеется сборка, в ней одна из деталей должна отстоять от другой на заданное расстояние. Это расстояние надо менять из внешней программы на Delphi. Как это можно сделать? Даже если задать сопряжение "на расстоянии", как потом до этого расстояния добраться и как его менять? Заранее спасибо.

intell

Тоже сейчас мучаюсь над такой проблемой.
Пытаюсь решить так:

SborkaDoc.ComponentPositioner.Prepare(Part,pnMove);
SborkaDoc.ComponentPositioner.SetDragPoint(0,0,0);
SborkaDoc.ComponentPositioner.SetPlaneByPoints(0,0,0,0,0,0,0,0,1);
if not  SborkaDoc.ComponentPositioner.MoveComponent(100,100,100) then ShowMessage('Xyu');
SborkaDoc.ComponentPositioner.Finish;

но не получается - MoveComponent завершается неудачей... :(

что не так то??

intell

забил на MoveComponent.
сделал так:

  PartPlac:=ksPlacement(PartPuas.GetPlacement );
  PartPlac.GetOrigin(x,y,z);
//  ShowMessage(FloatToStr(x)+ ', '+FloatToStr(y)+ ', '+FloatToStr(z));
  PartPlac.SetOrigin(0,0,0);
  PartPuas.SetPlacement(PartPlac);
  partPuas.UpdatePlacement;

Теперь бьюсь с определением пересечения объектов в сборке -
  BodyCol:=ksBodyCollection(Part1.BodyCollection);
  Body:=ksBody(BodyCol.Fistr);
//if body1.CheckIntersectionWithBody(Body2,true) <> Null then result:=true
//  else result:=False;
при обращении к BodyCol компас выдаёт ошибку. Что не так то опять????

yarikv

if not  SborkaDoc.ComponentPositioner.MoveComponent(100,100,100) then ShowMessage('Xyu');

:-))) :-))) :-))) :-))) :-)))
!!!!!!!!!!!!