Mapping TopoDS_Shape to the name of its Product when reading STEP files
Mapping TopoDS_Shape to the name of its Product when reading STEP files
Warren Couvillion
2012/09/20 00:32
I've read the forum posts about extracting entity names from STEP files, and the code posted works. I've got a slightly different problem. When I find an entity that describes a STEP file, I need to know the name of the product that contains it.
Is there a way, given an entity, to find the product that contains it?
Personally, I don't read product names from STEP files, i only write them. I'm using the follwing code. Maybe it helps. But beware, it is written in C#:
// Transfer shape to STEP
status = aWriter.Transfer(shape, type);
if (status != IFSelect_ReturnStatus.IFSelect_RetDone)
return;
// Get ShapeDefinitionRepresentation of transfered shape
StepShape_ShapeDefinitionRepresentation SDR = new StepShape_ShapeDefinitionRepresentation();
TransferBRep_ShapeMapper mapper = TransferBRep.TransferBRep.CreateShapeMapper(FP, shape);
if (!FP.FindTypedTransient(mapper, StepShape_ShapeDefinitionRepresentation.TypeOf(), SDR))
return;
// Set the name to the PRODUCT
StepRepr_PropertyDefinition PropD = SDR.Definition().PropertyDefinition();
if (PropD.IsNull())
return;
StepBasic_ProductDefinition PD = PropD.Definition().ProductDefinition();
if (PD.IsNull())
return;
StepBasic_Product Prod = PD.Formation().OfProduct();
Prod.Name ...
Regards,
Timo
Warren Couvillion
2012/09/21 23:00
I should really proofread. What I meant to say is that when I find an entity describing a *shape*, can I find the name of the Product containing it?