Skip to content

Commit 29b7591

Browse files
committed
Surfaces are occasionally missed. #42
Reverting back to occt version 7.6.1.
1 parent 8bd91e1 commit 29b7591

File tree

6 files changed

+270
-3
lines changed

6 files changed

+270
-3
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ All functions have two parameters:
3232
- `params`: Triangulation parameters as an object, can be `null`.
3333
- `linearUnit`: Defines the linear unit of the output. Possible values: `millimeter`, `centimeter`, `meter`, `inch`, `foot`. Default is `millimeter`. Has no effect on brep files.
3434
- `linearDeflectionType`: Defines what the linear deflection value means. Default is `bounding_box_ratio`. Possible values:
35-
- `bounding_box_ratio`: The `linearDeflection` value contains a ratio of the avarage bounding box.
35+
- `bounding_box_ratio`: The `linearDeflection` value contains a ratio of the average bounding box.
3636
- `absolute_value`: The `linearDeflection` value contains an absolute value in the unit defined by `linearUnit`.
3737
- `linearDeflection`: The linear deflection value based on the value of the `linearDeflectionType` parameter.
3838
- `angularDeflection`: The angular deflection value.

dist/occt-import-js.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/occt-import-js.wasm

-93 KB
Binary file not shown.

occt

Submodule occt updated from bd2a789 to d2abb6d

test/test.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,24 @@ it ('cube-fcstd', function () {
218218
]);
219219
});
220220

221+
it ('conical-surface', function () {
222+
let result = LoadStepFile ('./test/testfiles/conical-surface/conical-surface.step');
223+
assert (result.success);
224+
assert.deepStrictEqual (result.root, {
225+
name : "",
226+
meshes : [],
227+
children : [
228+
{
229+
name : "(Unsaved)",
230+
meshes : [ 0 ],
231+
children : []
232+
}
233+
]
234+
});
235+
assert.strictEqual (result.meshes.length, 1);
236+
assert.equal (3954, result.meshes[0].index.array.length);
237+
});
238+
221239
});
222240

223241
describe ('Iges Import', function () {
Lines changed: 249 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,249 @@
1+
ISO-10303-21;
2+
HEADER;
3+
/* Generated by software containing ST-Developer
4+
* from STEP Tools, Inc. (www.steptools.com)
5+
*/
6+
7+
FILE_DESCRIPTION(
8+
/* description */ (''),
9+
/* implementation_level */ '2;1');
10+
11+
FILE_NAME(
12+
/* name */ 'test2.step',
13+
/* time_stamp */ '2024-08-18T19:46:42-04:00',
14+
/* author */ (''),
15+
/* organization */ (''),
16+
/* preprocessor_version */ 'ST-DEVELOPER v20',
17+
/* originating_system */ 'Autodesk Translation Framework v13.14.0.145',
18+
19+
/* authorisation */ '');
20+
21+
FILE_SCHEMA (('AUTOMOTIVE_DESIGN { 1 0 10303 214 3 1 1 }'));
22+
ENDSEC;
23+
24+
DATA;
25+
#10=MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#13),#150);
26+
#11=SHAPE_REPRESENTATION_RELATIONSHIP('SRR','None',#160,#12);
27+
#12=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#14),#149);
28+
#13=STYLED_ITEM('',(#170),#14);
29+
#14=MANIFOLD_SOLID_BREP('Body1',#79);
30+
#15=CONICAL_SURFACE('',#102,0.450944881889764,0.785398163397449);
31+
#16=FACE_BOUND('',#27,.T.);
32+
#17=FACE_BOUND('',#29,.T.);
33+
#18=PLANE('',#96);
34+
#19=PLANE('',#98);
35+
#20=FACE_OUTER_BOUND('',#25,.T.);
36+
#21=FACE_OUTER_BOUND('',#26,.T.);
37+
#22=FACE_OUTER_BOUND('',#28,.T.);
38+
#23=FACE_OUTER_BOUND('',#30,.T.);
39+
#24=FACE_OUTER_BOUND('',#31,.T.);
40+
#25=EDGE_LOOP('',(#56,#57,#58,#59));
41+
#26=EDGE_LOOP('',(#60));
42+
#27=EDGE_LOOP('',(#61));
43+
#28=EDGE_LOOP('',(#62));
44+
#29=EDGE_LOOP('',(#63));
45+
#30=EDGE_LOOP('',(#64,#65,#66,#67));
46+
#31=EDGE_LOOP('',(#68,#69,#70,#71));
47+
#32=LINE('',#133,#35);
48+
#33=LINE('',#143,#36);
49+
#34=LINE('',#146,#37);
50+
#35=VECTOR('',#109,0.532145256772786);
51+
#36=VECTOR('',#122,0.216535433070866);
52+
#37=VECTOR('',#127,0.450944881889764);
53+
#38=CIRCLE('',#94,0.532145256772786);
54+
#39=CIRCLE('',#95,0.532145256772786);
55+
#40=CIRCLE('',#97,0.450944881889764);
56+
#41=CIRCLE('',#99,0.216535433070866);
57+
#42=CIRCLE('',#101,0.216535433070866);
58+
#43=VERTEX_POINT('',#130);
59+
#44=VERTEX_POINT('',#132);
60+
#45=VERTEX_POINT('',#136);
61+
#46=VERTEX_POINT('',#139);
62+
#47=VERTEX_POINT('',#142);
63+
#48=EDGE_CURVE('',#43,#43,#38,.T.);
64+
#49=EDGE_CURVE('',#43,#44,#32,.T.);
65+
#50=EDGE_CURVE('',#44,#44,#39,.T.);
66+
#51=EDGE_CURVE('',#45,#45,#40,.T.);
67+
#52=EDGE_CURVE('',#46,#46,#41,.T.);
68+
#53=EDGE_CURVE('',#46,#47,#33,.T.);
69+
#54=EDGE_CURVE('',#47,#47,#42,.T.);
70+
#55=EDGE_CURVE('',#47,#45,#34,.T.);
71+
#56=ORIENTED_EDGE('',*,*,#48,.T.);
72+
#57=ORIENTED_EDGE('',*,*,#49,.T.);
73+
#58=ORIENTED_EDGE('',*,*,#50,.T.);
74+
#59=ORIENTED_EDGE('',*,*,#49,.F.);
75+
#60=ORIENTED_EDGE('',*,*,#50,.F.);
76+
#61=ORIENTED_EDGE('',*,*,#51,.F.);
77+
#62=ORIENTED_EDGE('',*,*,#48,.F.);
78+
#63=ORIENTED_EDGE('',*,*,#52,.T.);
79+
#64=ORIENTED_EDGE('',*,*,#52,.F.);
80+
#65=ORIENTED_EDGE('',*,*,#53,.T.);
81+
#66=ORIENTED_EDGE('',*,*,#54,.T.);
82+
#67=ORIENTED_EDGE('',*,*,#53,.F.);
83+
#68=ORIENTED_EDGE('',*,*,#54,.F.);
84+
#69=ORIENTED_EDGE('',*,*,#55,.T.);
85+
#70=ORIENTED_EDGE('',*,*,#51,.T.);
86+
#71=ORIENTED_EDGE('',*,*,#55,.F.);
87+
#72=CYLINDRICAL_SURFACE('',#93,0.532145256772786);
88+
#73=CYLINDRICAL_SURFACE('',#100,0.216535433070866);
89+
#74=ADVANCED_FACE('',(#20),#72,.T.);
90+
#75=ADVANCED_FACE('',(#21,#16),#18,.F.);
91+
#76=ADVANCED_FACE('',(#22,#17),#19,.F.);
92+
#77=ADVANCED_FACE('',(#23),#73,.F.);
93+
#78=ADVANCED_FACE('',(#24),#15,.F.);
94+
#79=CLOSED_SHELL('',(#74,#75,#76,#77,#78));
95+
#80=DERIVED_UNIT_ELEMENT(#82,1.);
96+
#81=DERIVED_UNIT_ELEMENT(#154,-3.);
97+
#82=(
98+
MASS_UNIT()
99+
NAMED_UNIT(*)
100+
SI_UNIT(.KILO.,.GRAM.)
101+
);
102+
#83=DERIVED_UNIT((#80,#81));
103+
#84=MEASURE_REPRESENTATION_ITEM('density measure',
104+
POSITIVE_RATIO_MEASURE(7850.),#83);
105+
#85=PROPERTY_DEFINITION_REPRESENTATION(#90,#87);
106+
#86=PROPERTY_DEFINITION_REPRESENTATION(#91,#88);
107+
#87=REPRESENTATION('material name',(#89),#149);
108+
#88=REPRESENTATION('density',(#84),#149);
109+
#89=DESCRIPTIVE_REPRESENTATION_ITEM('Steel','Steel');
110+
#90=PROPERTY_DEFINITION('material property','material name',#162);
111+
#91=PROPERTY_DEFINITION('material property','density of part',#162);
112+
#92=AXIS2_PLACEMENT_3D('',#128,#103,#104);
113+
#93=AXIS2_PLACEMENT_3D('',#129,#105,#106);
114+
#94=AXIS2_PLACEMENT_3D('',#131,#107,#108);
115+
#95=AXIS2_PLACEMENT_3D('',#134,#110,#111);
116+
#96=AXIS2_PLACEMENT_3D('',#135,#112,#113);
117+
#97=AXIS2_PLACEMENT_3D('',#137,#114,#115);
118+
#98=AXIS2_PLACEMENT_3D('',#138,#116,#117);
119+
#99=AXIS2_PLACEMENT_3D('',#140,#118,#119);
120+
#100=AXIS2_PLACEMENT_3D('',#141,#120,#121);
121+
#101=AXIS2_PLACEMENT_3D('',#144,#123,#124);
122+
#102=AXIS2_PLACEMENT_3D('',#145,#125,#126);
123+
#103=DIRECTION('axis',(0.,0.,1.));
124+
#104=DIRECTION('refdir',(1.,0.,0.));
125+
#105=DIRECTION('center_axis',(1.,0.,0.));
126+
#106=DIRECTION('ref_axis',(0.,-1.,0.));
127+
#107=DIRECTION('center_axis',(-1.,0.,0.));
128+
#108=DIRECTION('ref_axis',(0.,-1.,0.));
129+
#109=DIRECTION('',(-1.,0.,0.));
130+
#110=DIRECTION('center_axis',(1.,0.,0.));
131+
#111=DIRECTION('ref_axis',(0.,-1.,0.));
132+
#112=DIRECTION('center_axis',(1.,0.,0.));
133+
#113=DIRECTION('ref_axis',(0.,0.,-1.));
134+
#114=DIRECTION('center_axis',(-1.,0.,0.));
135+
#115=DIRECTION('ref_axis',(0.,-1.,1.04744440165294E-14));
136+
#116=DIRECTION('center_axis',(-1.,0.,0.));
137+
#117=DIRECTION('ref_axis',(0.,0.,1.));
138+
#118=DIRECTION('center_axis',(-1.,0.,0.));
139+
#119=DIRECTION('ref_axis',(0.,-1.,1.04744440165294E-14));
140+
#120=DIRECTION('center_axis',(-1.,0.,0.));
141+
#121=DIRECTION('ref_axis',(0.,-1.,1.04744440165294E-14));
142+
#122=DIRECTION('',(-1.,0.,0.));
143+
#123=DIRECTION('center_axis',(-1.,0.,0.));
144+
#124=DIRECTION('ref_axis',(0.,-1.,1.04744440165294E-14));
145+
#125=DIRECTION('center_axis',(-1.,0.,0.));
146+
#126=DIRECTION('ref_axis',(0.,-1.,1.04744440165294E-14));
147+
#127=DIRECTION('',(-0.707106781186547,0.707106781186548,-7.49314599887035E-15));
148+
#128=CARTESIAN_POINT('',(0.,0.,0.));
149+
#129=CARTESIAN_POINT('Origin',(-0.748031496062992,1.13404413564787E-14,
150+
1.08267716535433));
151+
#130=CARTESIAN_POINT('',(-0.47244094488189,0.532145256772798,1.08267716535433));
152+
#131=CARTESIAN_POINT('Origin',(-0.47244094488189,1.13404413564787E-14,1.08267716535433));
153+
#132=CARTESIAN_POINT('',(-0.748031496062992,0.532145256772798,1.08267716535433));
154+
#133=CARTESIAN_POINT('',(-0.748031496062992,0.532145256772798,1.08267716535433));
155+
#134=CARTESIAN_POINT('Origin',(-0.748031496062992,1.13404413564787E-14,
156+
1.08267716535433));
157+
#135=CARTESIAN_POINT('Origin',(-0.748031496062992,1.53543307086614,0.));
158+
#136=CARTESIAN_POINT('',(-0.748031496062992,0.450944881889775,1.08267716535433));
159+
#137=CARTESIAN_POINT('Origin',(-0.748031496062992,1.13404413564787E-14,
160+
1.08267716535433));
161+
#138=CARTESIAN_POINT('Origin',(-0.47244094488189,0.486811025,0.));
162+
#139=CARTESIAN_POINT('',(-0.47244094488189,0.216535433070877,1.08267716535433));
163+
#140=CARTESIAN_POINT('Origin',(-0.47244094488189,1.13404413564787E-14,1.08267716535433));
164+
#141=CARTESIAN_POINT('Origin',(-0.748031496062992,1.13404413564787E-14,
165+
1.08267716535433));
166+
#142=CARTESIAN_POINT('',(-0.513622047244094,0.216535433070877,1.08267716535433));
167+
#143=CARTESIAN_POINT('',(-0.748031496062992,0.216535433070877,1.08267716535433));
168+
#144=CARTESIAN_POINT('Origin',(-0.513622047244094,1.13404413564787E-14,
169+
1.08267716535433));
170+
#145=CARTESIAN_POINT('Origin',(-0.748031496062992,1.13404413564787E-14,
171+
1.08267716535433));
172+
#146=CARTESIAN_POINT('',(-0.748031496062992,0.450944881889775,1.08267716535433));
173+
#147=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000393700787401575),
174+
#152,'DISTANCE_ACCURACY_VALUE',
175+
'Maximum model space distance between geometric entities at asserted c
176+
onnectivities');
177+
#148=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.000393700787401575),
178+
#152,'DISTANCE_ACCURACY_VALUE',
179+
'Maximum model space distance between geometric entities at asserted c
180+
onnectivities');
181+
#149=(
182+
GEOMETRIC_REPRESENTATION_CONTEXT(3)
183+
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#147))
184+
GLOBAL_UNIT_ASSIGNED_CONTEXT((#152,#156,#157))
185+
REPRESENTATION_CONTEXT('','3D')
186+
);
187+
#150=(
188+
GEOMETRIC_REPRESENTATION_CONTEXT(3)
189+
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#148))
190+
GLOBAL_UNIT_ASSIGNED_CONTEXT((#152,#156,#157))
191+
REPRESENTATION_CONTEXT('','3D')
192+
);
193+
#151=DIMENSIONAL_EXPONENTS(1.,0.,0.,0.,0.,0.,0.);
194+
#152=(
195+
CONVERSION_BASED_UNIT('inch',#155)
196+
LENGTH_UNIT()
197+
NAMED_UNIT(#151)
198+
);
199+
#153=(
200+
LENGTH_UNIT()
201+
NAMED_UNIT(*)
202+
SI_UNIT(.MILLI.,.METRE.)
203+
);
204+
#154=(
205+
LENGTH_UNIT()
206+
NAMED_UNIT(*)
207+
SI_UNIT($,.METRE.)
208+
);
209+
#155=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(25.4),#153);
210+
#156=(
211+
NAMED_UNIT(*)
212+
PLANE_ANGLE_UNIT()
213+
SI_UNIT($,.RADIAN.)
214+
);
215+
#157=(
216+
NAMED_UNIT(*)
217+
SI_UNIT($,.STERADIAN.)
218+
SOLID_ANGLE_UNIT()
219+
);
220+
#158=SHAPE_DEFINITION_REPRESENTATION(#159,#160);
221+
#159=PRODUCT_DEFINITION_SHAPE('',$,#162);
222+
#160=SHAPE_REPRESENTATION('',(#92),#149);
223+
#161=PRODUCT_DEFINITION_CONTEXT('part definition',#166,'design');
224+
#162=PRODUCT_DEFINITION('1000644mill','(Unsaved)',#163,#161);
225+
#163=PRODUCT_DEFINITION_FORMATION('',$,#168);
226+
#164=PRODUCT_RELATED_PRODUCT_CATEGORY('(Unsaved)','(Unsaved)',(#168));
227+
#165=APPLICATION_PROTOCOL_DEFINITION('international standard',
228+
'automotive_design',2009,#166);
229+
#166=APPLICATION_CONTEXT(
230+
'Core Data for Automotive Mechanical Design Process');
231+
#167=PRODUCT_CONTEXT('part definition',#166,'mechanical');
232+
#168=PRODUCT('1000644mill','(Unsaved)',$,(#167));
233+
#169=PRESENTATION_STYLE_ASSIGNMENT((#171));
234+
#170=PRESENTATION_STYLE_ASSIGNMENT((#172));
235+
#171=SURFACE_STYLE_USAGE(.BOTH.,#173);
236+
#172=SURFACE_STYLE_USAGE(.BOTH.,#174);
237+
#173=SURFACE_SIDE_STYLE('',(#175));
238+
#174=SURFACE_SIDE_STYLE('',(#176));
239+
#175=SURFACE_STYLE_FILL_AREA(#177);
240+
#176=SURFACE_STYLE_FILL_AREA(#178);
241+
#177=FILL_AREA_STYLE('Steel - Satin',(#179));
242+
#178=FILL_AREA_STYLE('Opaque(160,160,160)',(#180));
243+
#179=FILL_AREA_STYLE_COLOUR('Steel - Satin',#181);
244+
#180=FILL_AREA_STYLE_COLOUR('Opaque(160,160,160)',#182);
245+
#181=COLOUR_RGB('Steel - Satin',0.627450980392157,0.627450980392157,0.627450980392157);
246+
#182=COLOUR_RGB('Opaque(160,160,160)',0.627450980392157,0.627450980392157,
247+
0.627450980392157);
248+
ENDSEC;
249+
END-ISO-10303-21;

0 commit comments

Comments
 (0)