
Wed, 06/19/2019 - 19:21
Hello,
I am using STEPCAFControl_Reader to read in a STEP file with coloured parts, when I then load these shapes and access them using SetShape(alabel) to peform a transformation on them and return them back to the assembly using SetShape(alabel, new_shape) (and then UpdateAssembly) the colour of the shape is being lost when I later use STEPCAFControl_Writer. If i avoid the transformation step then the output STEP file retains the colours correctly.
Is there an extra step I must take? Or is there a way to preform a transformation without Get/SetShape?
// Read in the shape(s) and the colours present in the STEP File
Handle_XCAFDoc_ShapeTool step_shape_contents = XCAFDoc_DocumentTool::ShapeTool(this->interfaceDoc->Main());
// Get each shape with the part we imported
TDF_LabelSequence step_shapes;
step_shape_contents->GetShapes(step_shapes);
TopoDS_Shape shape = step_shape_contents->GetShape(step_shapes.Value(1));
gp_Trsf transformation;
transformation.SetTranslation(gp_Vec(xOffset, yOffset, zOffset));
TopoDS_Shape transformed_shape = BRepBuilderAPI_Transform(shape, transformation);
step_shape_contents->SetShape(step_shapes.Value(1), transformed_shape);
step_shape_contents->UpdateAssembly(step_shapes.Value(1));
Tue, 12/03/2019 - 21:07
Hi, we are facing a similar problem (since OCCT 7.4 I think), any solution ?
Regards,
Rudy