Я долго пытался понять, как перенести локальное происхождение объекта.Прямо сейчас я могу применить преобразование к объекту относительно глобального происхождения, но локальный источник остается там, хотя плоскости масштабируются.
Мои текущие попытки выглядят как
BRepPrimAPI_MakeSphere sphere(RADIUS);
TopoDS_Shape shape = sphere.Shape();
gp_Trsf trans = TRANSFORMATION_MATRIX;
BRepBuilderAPI_Transform s(shape, trans, Standard_True);
shape = s.Shape();
Handle(XCAFDoc_ShapeTool) cPoints;
TDF_Label newCPoint = cPoints->NewShape();
cPoints->AddComponent(newCPoint, shape);
После этого я использую STEPCAFControl_Writer
, чтобы написать файл STEP.При проверке сгенерированного файла в FreeCAD я вижу this ;большая плоскость связана с переведенной сферой справа, меньшая плоскость с нетранслированной сферой слева.Иерархию объектов можно увидеть здесь .
Буду признателен за любую помощь!