Closed STEP stock block: 40 × 30 × 20 mm
One closed faceted BREP with six planar faces. Triangulation yields 12 triangles, eight unique geometric positions, bounds 0,0,0 to 40,30,20 mm, surface area 5,200 mm² and volume 24,000 mm³. Hard-normal vertices may be duplicated.
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('Novus Examples deterministic closed solid'),'2;1');
FILE_NAME('stock-block-40x30x20.step','2026-09-08T00:00:00',('Novus Examples'),('Novus Examples'),'deterministic writer','Novus Examples','');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1=APPLICATION_CONTEXT('configuration controlled 3d designs of mechanical parts and assemblies');
#2=APPLICATION_PROTOCOL_DEFINITION('international standard','config_control_design',1994,#1);
#3=PRODUCT_CONTEXT('',#1,'mechanical');
#4=PRODUCT('NVS-BLOCK-40-30-20','Fictional rectangular stock block','', (#3));
#5=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('','',#4,.NOT_KNOWN.);
#6=PRODUCT_DEFINITION_CONTEXT('part definition',#1,'design');
#7=PRODUCT_DEFINITION('design','',#5,#6);
#8=PRODUCT_DEFINITION_SHAPE('','',#7);
#9=(LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.));
#10=(NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.));
#11=(NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT());
#12=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-7),#9,'distance_accuracy_value','');
#13=(GEOMETRIC_REPRESENTATION_CONTEXT(3) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#12)) GLOBAL_UNIT_ASSIGNED_CONTEXT((#9,#10,#11)) REPRESENTATION_CONTEXT('',''));
#14=CARTESIAN_POINT('',(0.0,0.0,0.0));
#15=CARTESIAN_POINT('',(40.0,0.0,0.0));
#16=CARTESIAN_POINT('',(40.0,30.0,0.0));
#17=CARTESIAN_POINT('',(0.0,30.0,0.0));
#18=CARTESIAN_POINT('',(0.0,0.0,20.0));
#19=CARTESIAN_POINT('',(40.0,0.0,20.0));
#20=CARTESIAN_POINT('',(40.0,30.0,20.0));
#21=CARTESIAN_POINT('',(0.0,30.0,20.0));
#22=POLY_LOOP('',(#14,#17,#16,#15));
#23=FACE_OUTER_BOUND('',#22,.T.);
#24=DIRECTION('',(0.0,0.0,-1.0));
#25=DIRECTION('',(0.0,1.0,0.0));
#26=AXIS2_PLACEMENT_3D('',#14,#24,#25);
#27=PLANE('',#26);
#28=FACE_SURFACE('',(#23),#27,.T.);
#29=POLY_LOOP('',(#18,#19,#20,#21));
#30=FACE_OUTER_BOUND('',#29,.T.);
#31=DIRECTION('',(0.0,0.0,1.0));
#32=DIRECTION('',(1.0,0.0,0.0));
#33=AXIS2_PLACEMENT_3D('',#18,#31,#32);
#34=PLANE('',#33);
#35=FACE_SURFACE('',(#30),#34,.T.);
#36=POLY_LOOP('',(#14,#15,#19,#18));
#37=FACE_OUTER_BOUND('',#36,.T.);
#38=DIRECTION('',(0.0,-1.0,0.0));
#39=DIRECTION('',(1.0,0.0,0.0));
#40=AXIS2_PLACEMENT_3D('',#14,#38,#39);
#41=PLANE('',#40);
#42=FACE_SURFACE('',(#37),#41,.T.);
#43=POLY_LOOP('',(#15,#16,#20,#19));Specifications
- Units
- mm
- Closed Solids
- 1
- Planar Faces
- 6
- Vertices
- 8
- Triangles
- 12
- Synthetic
- true
- Reader
- occt-import-js 0.0.23
Testing contract
Expected to pass- Scenario
- Import the closed manufacturing stock block into a CAD reader and compare independently triangulated geometry with the companion expectations.
- Expected result
- One closed faceted BREP with six planar faces. Triangulation yields 12 triangles, eight unique geometric positions, bounds 0,0,0 to 40,30,20 mm, surface area 5,200 mm² and volume 24,000 mm³. Hard-normal vertices may be duplicated.
What is a .step file?
STEP (Standard for the Exchange of Product model data) is an ISO 10303 CAD format that stores precise boundary-representation solid geometry and product data as structured text. Unlike mesh formats, it preserves exact curves and surfaces for engineering use. It is the leading neutral format for mechanical CAD interchange.
How to use this file
Use an example STEP file to test CAD B-rep parsing, precise-geometry import, and interoperability tooling between mechanical design and CAM applications.
How to use this file for testing
“Closed STEP stock block: 40 × 30 × 20 mm” is a deterministic Testaroo fixture for Data import. Realistic faker-generated datasets with documented schemas for testing import and ETL flows.
Documented properties for this file: STEP · 3,203 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such, expect parsers to fail loudly rather than silently accept them.
3D and CAD fixtures carry one small, documented solid or scene. Convert and inspect against the known geometry, units, and structure; format twins let you diff interchange fidelity, and the 3D viewer previews the actual mesh.
Generated by generation/business_cad.py. Free for any use, no attribution required, license.
Related files
- jsonStock block geometry: expected results and reader evidenceOne closed faceted BREP with six planar faces. Triangulation yields 12 triangles, eight unique geometric positions, bounds 0,0,0 to 40,30,20 mm, surface area 5,200 mm² and volume 24,000 mm³. Hard-normal vertices may be duplicated.

- csv10,000-Row CSVA CSV with 10,000 data rows, for testing streaming parsers, memory handling, and import performance.

- csvAlder Books Reconciliation: Aged creditors summaryAged creditors summary for Alder Books Reconciliation. The 3 suppliers behind the 16 operating payments, grouped by expense category. The amounts due are 774.00, 617.00, 673.00 and they sum to 2064.00, which is the total of the three actual columns on the budget report.

- csvAlder Books Reconciliation: Aged debtors reportAged debtors report for Alder Books Reconciliation. 8 open receivables aged at 2026-09-08, each with 100.00 outstanding against an invoice of between 750.00 and 1275.00. The ageing buckets hold 0.00 current, 500.00 at 31 to 60 days and 300.00 at 61 to 90 days, summing to 800.00, the receivables line of the trial balance.

- csvAlder Books Reconciliation: Balanced manual journal batchBalanced manual journal batch for Alder Books Reconciliation. 3 month-end journals of 2 lines each, 6 lines in total: an accrual, a reclassification and a prepayment release. Each batch_id balances on its own and the batch as a whole posts 339.75 of debits and the same of credits.

- csvAlder Books Reconciliation: Bank reconciliationBank reconciliation for Alder Books Reconciliation. All 24 statement transactions matched one for one to a cash-account ledger line, with a difference column that is 0.00 on every row. There are no unpresented items and no deposits in transit, so the book balance 10236.00 equals the statement balance 10236.00 and the reconciling difference is 0.00.
