Thu, 09/20/2012 - 02: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?
Thu, 09/20/2012 - 19:12
As mentioned by Roman (http://opencascade.blogspot.de/2008/12/adding-colors-and-names-to-your_0...) you could have a look at STEPCAFControl_Reader::ReadNames to see how it reads the names of products.
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#:
// Create STEP writer
aWriter = new STEPControl_Writer();
FP = aWriter.WS().TransferWriter().FinderProcess();
// 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
Sat, 09/22/2012 - 01: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?
Mon, 09/04/2017 - 11:57
Hello,
Is there any solution already for this?