Skip to content

Commit 775558c

Browse files
committed
adds one more test case
1 parent 561b8ca commit 775558c

3 files changed

Lines changed: 205 additions & 0 deletions

File tree

test/test_mesher.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,5 +238,27 @@ def test_unshielded_multiwire(self):
238238
for idx, name in enumerate(expectedNames):
239239
self.assertEqual(self.countEntitiesInPhysicalGroupWithName(name), expectedEntities[idx], name)
240240

241+
def test_lansink2024_single_wire_multipolar(self):
242+
caseName = 'lansink2024_single_wire_multipolar'
243+
Mesher().meshFromStep(self.inputFileFromCaseName(caseName), caseName)
244+
245+
gmsh.write(caseName + '.msh')
246+
gmsh.write(caseName + '.vtk')
247+
248+
pGs = gmsh.model.getPhysicalGroups()
249+
pGNames = [gmsh.model.getPhysicalName(*pG) for pG in pGs]
250+
expectedNames = ['Conductor_0',
251+
'Dielectric_0',
252+
'OpenBoundary_0',
253+
'Vacuum_0', 'Vacuum_1']
254+
expectedEntities = [1, 1, 1,
255+
1,
256+
1, 1]
257+
self.assertEqual(sorted(pGNames), sorted(expectedNames))
258+
259+
for idx, name in enumerate(expectedNames):
260+
self.assertEqual(self.countEntitiesInPhysicalGroupWithName(name), expectedEntities[idx], name)
261+
262+
241263
if __name__ == '__main__':
242264
unittest.main()
Binary file not shown.
Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
ISO-10303-21;
2+
HEADER;
3+
FILE_DESCRIPTION(('FreeCAD Model'),'2;1');
4+
FILE_NAME('Open CASCADE Shape Model','2025-05-28T13:22:37',(''),(''),
5+
'Open CASCADE STEP processor 7.6','FreeCAD','Unknown');
6+
FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));
7+
ENDSEC;
8+
DATA;
9+
#1 = APPLICATION_PROTOCOL_DEFINITION('international standard',
10+
'automotive_design',2000,#2);
11+
#2 = APPLICATION_CONTEXT(
12+
'core data for automotive mechanical design processes');
13+
#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10);
14+
#4 = PRODUCT_DEFINITION_SHAPE('','',#5);
15+
#5 = PRODUCT_DEFINITION('design','',#6,#9);
16+
#6 = PRODUCT_DEFINITION_FORMATION('','',#7);
17+
#7 = PRODUCT('lansink2024_single_wire_multipolar',
18+
'lansink2024_single_wire_multipolar','',(#8));
19+
#8 = PRODUCT_CONTEXT('',#2,'mechanical');
20+
#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
21+
#10 = SHAPE_REPRESENTATION('',(#11,#15,#19),#23);
22+
#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14);
23+
#12 = CARTESIAN_POINT('',(0.,0.,0.));
24+
#13 = DIRECTION('',(0.,0.,1.));
25+
#14 = DIRECTION('',(1.,0.,-0.));
26+
#15 = AXIS2_PLACEMENT_3D('',#16,#17,#18);
27+
#16 = CARTESIAN_POINT('',(0.,0.,0.));
28+
#17 = DIRECTION('',(0.,0.,1.));
29+
#18 = DIRECTION('',(1.,0.,0.));
30+
#19 = AXIS2_PLACEMENT_3D('',#20,#21,#22);
31+
#20 = CARTESIAN_POINT('',(0.,0.,0.));
32+
#21 = DIRECTION('',(0.,0.,1.));
33+
#22 = DIRECTION('',(1.,0.,0.));
34+
#23 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
35+
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#27)) GLOBAL_UNIT_ASSIGNED_CONTEXT(
36+
(#24,#25,#26)) REPRESENTATION_CONTEXT('Context #1',
37+
'3D Context with UNIT and UNCERTAINTY') );
38+
#24 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
39+
#25 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
40+
#26 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
41+
#27 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#24,
42+
'distance_accuracy_value','confusion accuracy');
43+
#28 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));
44+
#29 = SHAPE_DEFINITION_REPRESENTATION(#30,#36);
45+
#30 = PRODUCT_DEFINITION_SHAPE('','',#31);
46+
#31 = PRODUCT_DEFINITION('design','',#32,#35);
47+
#32 = PRODUCT_DEFINITION_FORMATION('','',#33);
48+
#33 = PRODUCT('Conductor_0','Conductor_0','',(#34));
49+
#34 = PRODUCT_CONTEXT('',#2,'mechanical');
50+
#35 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
51+
#36 = MANIFOLD_SURFACE_SHAPE_REPRESENTATION('',(#11,#37),#64);
52+
#37 = SHELL_BASED_SURFACE_MODEL('',(#38));
53+
#38 = OPEN_SHELL('',(#39));
54+
#39 = ADVANCED_FACE('',(#40),#53,.T.);
55+
#40 = FACE_BOUND('',#41,.T.);
56+
#41 = EDGE_LOOP('',(#42));
57+
#42 = ORIENTED_EDGE('',*,*,#43,.T.);
58+
#43 = EDGE_CURVE('',#44,#44,#46,.T.);
59+
#44 = VERTEX_POINT('',#45);
60+
#45 = CARTESIAN_POINT('',(1.,0.,0.));
61+
#46 = SURFACE_CURVE('',#47,(#52),.PCURVE_S1.);
62+
#47 = CIRCLE('',#48,1.);
63+
#48 = AXIS2_PLACEMENT_3D('',#49,#50,#51);
64+
#49 = CARTESIAN_POINT('',(0.,0.,0.));
65+
#50 = DIRECTION('',(0.,0.,1.));
66+
#51 = DIRECTION('',(1.,0.,-0.));
67+
#52 = PCURVE('',#53,#58);
68+
#53 = PLANE('',#54);
69+
#54 = AXIS2_PLACEMENT_3D('',#55,#56,#57);
70+
#55 = CARTESIAN_POINT('',(-6.E-17,0.,0.));
71+
#56 = DIRECTION('',(0.,0.,1.));
72+
#57 = DIRECTION('',(1.,0.,-0.));
73+
#58 = DEFINITIONAL_REPRESENTATION('',(#59),#63);
74+
#59 = CIRCLE('',#60,1.);
75+
#60 = AXIS2_PLACEMENT_2D('',#61,#62);
76+
#61 = CARTESIAN_POINT('',(6.E-17,0.));
77+
#62 = DIRECTION('',(1.,0.));
78+
#63 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
79+
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
80+
) );
81+
#64 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
82+
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#68)) GLOBAL_UNIT_ASSIGNED_CONTEXT(
83+
(#65,#66,#67)) REPRESENTATION_CONTEXT('Context #1',
84+
'3D Context with UNIT and UNCERTAINTY') );
85+
#65 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
86+
#66 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
87+
#67 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
88+
#68 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#65,
89+
'distance_accuracy_value','confusion accuracy');
90+
#69 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#70,#72);
91+
#70 = ( REPRESENTATION_RELATIONSHIP('','',#36,#10)
92+
REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#71)
93+
SHAPE_REPRESENTATION_RELATIONSHIP() );
94+
#71 = ITEM_DEFINED_TRANSFORMATION('','',#11,#15);
95+
#72 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#73);
96+
#73 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('1','Conductor_0','',#5,#31,$);
97+
#74 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#33));
98+
#75 = SHAPE_DEFINITION_REPRESENTATION(#76,#82);
99+
#76 = PRODUCT_DEFINITION_SHAPE('','',#77);
100+
#77 = PRODUCT_DEFINITION('design','',#78,#81);
101+
#78 = PRODUCT_DEFINITION_FORMATION('','',#79);
102+
#79 = PRODUCT('Dielectric_0','Dielectric_0','',(#80));
103+
#80 = PRODUCT_CONTEXT('',#2,'mechanical');
104+
#81 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');
105+
#82 = MANIFOLD_SURFACE_SHAPE_REPRESENTATION('',(#11,#83),#110);
106+
#83 = SHELL_BASED_SURFACE_MODEL('',(#84));
107+
#84 = OPEN_SHELL('',(#85));
108+
#85 = ADVANCED_FACE('',(#86),#99,.T.);
109+
#86 = FACE_BOUND('',#87,.T.);
110+
#87 = EDGE_LOOP('',(#88));
111+
#88 = ORIENTED_EDGE('',*,*,#89,.T.);
112+
#89 = EDGE_CURVE('',#90,#90,#92,.T.);
113+
#90 = VERTEX_POINT('',#91);
114+
#91 = CARTESIAN_POINT('',(2.,0.,0.));
115+
#92 = SURFACE_CURVE('',#93,(#98),.PCURVE_S1.);
116+
#93 = CIRCLE('',#94,2.);
117+
#94 = AXIS2_PLACEMENT_3D('',#95,#96,#97);
118+
#95 = CARTESIAN_POINT('',(0.,0.,0.));
119+
#96 = DIRECTION('',(0.,0.,1.));
120+
#97 = DIRECTION('',(1.,0.,-0.));
121+
#98 = PCURVE('',#99,#104);
122+
#99 = PLANE('',#100);
123+
#100 = AXIS2_PLACEMENT_3D('',#101,#102,#103);
124+
#101 = CARTESIAN_POINT('',(-1.3E-16,0.,0.));
125+
#102 = DIRECTION('',(0.,0.,1.));
126+
#103 = DIRECTION('',(1.,0.,-0.));
127+
#104 = DEFINITIONAL_REPRESENTATION('',(#105),#109);
128+
#105 = CIRCLE('',#106,2.);
129+
#106 = AXIS2_PLACEMENT_2D('',#107,#108);
130+
#107 = CARTESIAN_POINT('',(1.3E-16,0.));
131+
#108 = DIRECTION('',(1.,0.));
132+
#109 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2)
133+
PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE',''
134+
) );
135+
#110 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3)
136+
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#114)) GLOBAL_UNIT_ASSIGNED_CONTEXT
137+
((#111,#112,#113)) REPRESENTATION_CONTEXT('Context #1',
138+
'3D Context with UNIT and UNCERTAINTY') );
139+
#111 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );
140+
#112 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );
141+
#113 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );
142+
#114 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#111,
143+
'distance_accuracy_value','confusion accuracy');
144+
#115 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#116,#118);
145+
#116 = ( REPRESENTATION_RELATIONSHIP('','',#82,#10)
146+
REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#117)
147+
SHAPE_REPRESENTATION_RELATIONSHIP() );
148+
#117 = ITEM_DEFINED_TRANSFORMATION('','',#11,#19);
149+
#118 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item',#119
150+
);
151+
#119 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('2','Dielectric_0','',#5,#77,$);
152+
#120 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#79));
153+
#121 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#122)
154+
,#110);
155+
#122 = STYLED_ITEM('color',(#123),#85);
156+
#123 = PRESENTATION_STYLE_ASSIGNMENT((#124,#132));
157+
#124 = SURFACE_STYLE_USAGE(.BOTH.,#125);
158+
#125 = SURFACE_SIDE_STYLE('',(#126,#130));
159+
#126 = SURFACE_STYLE_FILL_AREA(#127);
160+
#127 = FILL_AREA_STYLE('',(#128));
161+
#128 = FILL_AREA_STYLE_COLOUR('',#129);
162+
#129 = COLOUR_RGB('',0.800000010877,0.800000010877,0.800000010877);
163+
#130 = SURFACE_STYLE_RENDERING_WITH_PROPERTIES(.NORMAL_SHADING.,#129,(
164+
#131));
165+
#131 = SURFACE_STYLE_TRANSPARENT(0.990000009537);
166+
#132 = CURVE_STYLE('',#133,POSITIVE_LENGTH_MEASURE(0.1),#134);
167+
#133 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
168+
#134 = COLOUR_RGB('',9.803921802644E-02,9.803921802644E-02,
169+
9.803921802644E-02);
170+
#135 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#136)
171+
,#64);
172+
#136 = STYLED_ITEM('color',(#137),#39);
173+
#137 = PRESENTATION_STYLE_ASSIGNMENT((#138,#144));
174+
#138 = SURFACE_STYLE_USAGE(.BOTH.,#139);
175+
#139 = SURFACE_SIDE_STYLE('',(#140));
176+
#140 = SURFACE_STYLE_FILL_AREA(#141);
177+
#141 = FILL_AREA_STYLE('',(#142));
178+
#142 = FILL_AREA_STYLE_COLOUR('',#143);
179+
#143 = COLOUR_RGB('',1.,0.666666687201,0.);
180+
#144 = CURVE_STYLE('',#145,POSITIVE_LENGTH_MEASURE(0.1),#134);
181+
#145 = DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');
182+
ENDSEC;
183+
END-ISO-10303-21;

0 commit comments

Comments
 (0)