Skip to content

Latest commit

 

History

History
56 lines (51 loc) · 2.66 KB

README.md

File metadata and controls

56 lines (51 loc) · 2.66 KB

Parser for reading ISO 10303-21 STEP files.

I needed to extract certain geometric elements from STEP files, so I put together this very basic module to handle the parsing phase of the process. This can be easily extended to other ISO 10303 formats by swapping the EXPRESS schema

Various express schemas are avaliable here: https://github.com/stepcode/stepcode/tree/develop/data

Sample output of tree after parsing:

1 APPLICATION_PROTOCOL_DEFINITION
└──2 APPLICATION_CONTEXT
3 SHAPE_DEFINITION_REPRESENTATION
├──4 PRODUCT_DEFINITION_SHAPE
│  └──5 PRODUCT_DEFINITION
│     ├──6 PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE
│     │  └──7 PRODUCT
│     │     └──8 MECHANICAL_CONTEXT
│     │        └──2 APPLICATION_CONTEXT
│     └──9 DESIGN_CONTEXT
│        └──2 APPLICATION_CONTEXT
└──10 ADVANCED_BREP_SHAPE_REPRESENTATION
   ├──11 AXIS2_PLACEMENT_3D
   │  ├──12 CARTESIAN_POINT
   │  ├──13 DIRECTION
   │  └──14 DIRECTION
   ├──15 MANIFOLD_SOLID_BREP
   │  └──16 CLOSED_SHELL
   │     ├──17 ADVANCED_FACE
   │     │  ├──18 FACE_BOUND
   │     │  │  └──19 EDGE_LOOP
   │     │  │     ├──20 ORIENTED_EDGE
   │     │  │     │  └──21 EDGE_CURVE
   │     │  │     │     ├──22 VERTEX_POINT
   │     │  │     │     │  └──23 CARTESIAN_POINT
   │     │  │     │     ├──24 VERTEX_POINT
   │     │  │     │     │  └──25 CARTESIAN_POINT
   │     │  │     │     └──26 SURFACE_CURVE
   │     │  │     │        ├──27 LINE
   │     │  │     │        │  ├──28 CARTESIAN_POINT
   │     │  │     │        │  └──29 VECTOR
   │     │  │     │        │     └──30 DIRECTION
   │     │  │     │        ├──31 PCURVE
   │     │  │     │        │  ├──32 PLANE
   │     │  │     │        │  │  └──33 AXIS2_PLACEMENT_3D
   │     │  │     │        │  │     ├──34 CARTESIAN_POINT
   │     │  │     │        │  │     ├──35 DIRECTION
   │     │  │     │        │  │     └──36 DIRECTION
   │     │  │     │        │  └──37 DEFINITIONAL_REPRESENTATION
   │     │  │     │        │     ├──38 LINE
   │     │  │     │        │     │  ├──39 CARTESIAN_POINT
   │     │  │     │        │     │  └──40 VECTOR
   │     │  │     │        │     │     └──41 DIRECTION
   │     │  │     │        │     └──42 COMPLEX