Skip to content
node-STEP : nodejs script to analyse and explore STEP (ISO 10303 AP203) file format and explore part assemblies
JavaScript
Latest commit 9208a48 Jan 31, 2014 @erossignon add dependencies badge
Failed to load latest commit information.
bin
docs
parts
specs
test
.gitignore
.npmignore
.travis.yml
README.md
example.js
express_parser.jison
express_parser.js use grammar parsed with the jison parser to produce stepRead Nov 16, 2013
package.json
parseExpressFile.js
readExpressSchema.js
readStep.js
stepIndexer.js

README.md

node-STEP

This is a series of nodejs script to analyse and explore STEP (ISO 10303) file format.

This projet provides a very basic EXPRESS grammar It focuses in exploring part assemblies inside STEP files as per AP 203.

Build Status Dependency Status

NPM NPM

 var STEP = require("node-step");

 var reader = new STEP.StepReader();

 reader.read("parts/anchor.step",function(err) {
      if (err) {
        console.log("failure :" + err);
        return;
      }
      var product_definitions = reader.getObjects("PRODUCT_DEFINITION");

 });

to explore an assembly :

 var STEP = require("node-step");

 var reader = new STEP.StepReader();

 reader.read("parts/anchor.step",function(err) {
      if (err) {
        console.log("failure :" + err);
        return;
      }
      var product_definitions = reader.getObjects("PRODUCT_DEFINITION");
      reader.dumpStatistic();
 });
assembly
├─┬ 20838 SDR:'Placement #0'
│ ├─┬ used_representation = 20837 SHAPE_REPRESENTATION
│ │ └─┬ MAPPED_ITEM:20816 ADVANCED_BREP_SHAPE_REPRESENTATION
│ │   ├── 20815 AXIS2_PLACEMENT_3D
│ │   └── 20803 MANIFOLD_SOLID_BREP
│ ├──  relating  = 'ANCORA_1550_ASM'
│ └──  related   = 'MARRA'
├─┬ 21168 SDR:'Placement #1'
│ ├─┬ used_representation = 21167 SHAPE_REPRESENTATION
│ │ └─┬ MAPPED_ITEM:21152 ADVANCED_BREP_SHAPE_REPRESENTATION
│ │   ├── 21151 AXIS2_PLACEMENT_3D
│ │   └── 21139 MANIFOLD_SOLID_BREP
│ ├──  relating  = 'ANCORA_1550_ASM'
│ └──  related   = 'PERNO_PER_MARRE'
├─┬ 24353 SDR:'Placement #2'
│ ├─┬ used_representation = 24352 SHAPE_REPRESENTATION
│ │ └─┬ MAPPED_ITEM:24336 ADVANCED_BREP_SHAPE_REPRESENTATION
│ │   ├── 24335 AXIS2_PLACEMENT_3D
│ │   ├── 21331 MANIFOLD_SOLID_BREP
│ │   └── 24323 MANIFOLD_SOLID_BREP
│ ├──  relating  = 'ANCORA_1550_ASM'
│ └──  related   = 'FUSO'
├─┬ 25287 SDR:'Placement #3'
│ ├─┬ used_representation = 25286 SHAPE_REPRESENTATION
│ │ └─┬ MAPPED_ITEM:25271 ADVANCED_BREP_SHAPE_REPRESENTATION
│ │   ├── 25270 AXIS2_PLACEMENT_3D
│ │   └── 25258 MANIFOLD_SOLID_BREP
│ ├──  relating  = 'ANCORA_1550_ASM'
│ └──  related   = 'CICALA_103'
├─┬ 20825 SDR:''
│ ├─┬ used_representation = 20816 ADVANCED_BREP_SHAPE_REPRESENTATION
│ │ ├── 20815 AXIS2_PLACEMENT_3D
│ │ └── 20803 MANIFOLD_SOLID_BREP
│ └── definition PD:20823 'MARRA'
├─┬ 20826 SDR:''
│ ├─┬ used_representation = 20828 SHAPE_REPRESENTATION
│ │ ├─┬ MAPPED_ITEM:20816 ADVANCED_BREP_SHAPE_REPRESENTATION
│ │ │ ├── 20815 AXIS2_PLACEMENT_3D
│ │ │ └── 20803 MANIFOLD_SOLID_BREP
│ │ ├─┬ MAPPED_ITEM:21152 ADVANCED_BREP_SHAPE_REPRESENTATION
│ │ │ ├── 21151 AXIS2_PLACEMENT_3D
│ │ │ └── 21139 MANIFOLD_SOLID_BREP
│ │ ├─┬ MAPPED_ITEM:24336 ADVANCED_BREP_SHAPE_REPRESENTATION
│ │ │ ├── 24335 AXIS2_PLACEMENT_3D
│ │ │ ├── 21331 MANIFOLD_SOLID_BREP
│ │ │ └── 24323 MANIFOLD_SOLID_BREP
│ │ ├─┬ MAPPED_ITEM:25271 ADVANCED_BREP_SHAPE_REPRESENTATION
│ │ │ ├── 25270 AXIS2_PLACEMENT_3D
│ │ │ └── 25258 MANIFOLD_SOLID_BREP
│ │ └── 25299 AXIS2_PLACEMENT_3D
│ └─┬ definition PD:25304 'ANCORA_1550_ASM'
│   └─┬ nauos
│     ├── 20823 'MARRA'
│     ├── 21156 'PERNO_PER_MARRE'
│     ├── 24341 'FUSO'
│     └── 25275 'CICALA_103'
├─┬ 21158 SDR:''
│ ├─┬ used_representation = 21152 ADVANCED_BREP_SHAPE_REPRESENTATION
│ │ ├── 21151 AXIS2_PLACEMENT_3D
│ │ └── 21139 MANIFOLD_SOLID_BREP
│ └── definition PD:21156 'PERNO_PER_MARRE'
├─┬ 24343 SDR:''
│ ├─┬ used_representation = 24336 ADVANCED_BREP_SHAPE_REPRESENTATION
│ │ ├── 24335 AXIS2_PLACEMENT_3D
│ │ ├── 21331 MANIFOLD_SOLID_BREP
│ │ └── 24323 MANIFOLD_SOLID_BREP
│ └── definition PD:24341 'FUSO'
└─┬ 25277 SDR:''
  ├─┬ used_representation = 25271 ADVANCED_BREP_SHAPE_REPRESENTATION
  │ ├── 25270 AXIS2_PLACEMENT_3D
  │ └── 25258 MANIFOLD_SOLID_BREP
  └── definition PD:25275 'CICALA_103'

see also : http://www.steptools.com/support/stdev_docs/express/ap203/walkasm.html

to generate the EXPRESS parser with jison

$ node node_modules/jison/lib/cli.js express_parser.jison

see http://www.jsdai.net/download

Something went wrong with that request. Please try again.