I used the STEPControl_Reader to read a step file that contains (among others), some TRIMMED_CURVE curves.
When I loop over the shapes with a ShapeExtend_Explorer, i get the shape has type TopAbs_EDGE. But when I then do

TopoDS_Edge edge = TopoDS::Edge(shape);
Standard_Real first, second;
BRep_Tool::Curve(edge, first, second)

then the resulting curve turns out to be of type STANDARD_TYPE(Geom_Line) instead of STANDARD_TYPE(Geom_TrimmedCurve). With that, I am a bit confused on whether I am doing something wrong, or is there a way I can get the (trimmed) start and endpoint for a Geom_Line (which is infinite as I understand it).

In addition, I am trying to figure out how to use the STEP reader to get additional info like product and shape names from it. Any documenation pointers would be welcome.


Benjamin Bihler's picture

BRep_Tool::Curve returns the parameter range as "First" and "Last", so you can trim the curve yourself.