From 771c1a0e71af58f6cd3b57a79e9e430a162a8980 Mon Sep 17 00:00:00 2001 From: h3n3 Date: Thu, 19 Dec 2024 22:58:27 +0100 Subject: [PATCH] connector met gat --- multiconnect/connectorHoleClamp.py | 17 + multiconnect/connectorWithHole.py | 27 ++ multiconnect/connectorWithHole.step | 637 ++++++++++++++++++++++++++++ multiconnect/connectorWithHole.stl | Bin 0 -> 65484 bytes multiconnect/connectorWithHole.stp | 637 ++++++++++++++++++++++++++++ 5 files changed, 1318 insertions(+) create mode 100644 multiconnect/connectorHoleClamp.py create mode 100644 multiconnect/connectorWithHole.py create mode 100644 multiconnect/connectorWithHole.step create mode 100644 multiconnect/connectorWithHole.stl create mode 100644 multiconnect/connectorWithHole.stp diff --git a/multiconnect/connectorHoleClamp.py b/multiconnect/connectorHoleClamp.py new file mode 100644 index 0000000..bc08017 --- /dev/null +++ b/multiconnect/connectorHoleClamp.py @@ -0,0 +1,17 @@ +from ocp_vscode import * +from build123d import * +set_port(3939) + +wc = width_connector = 20.0 +lsp = length_straight_part = 5.0 +tce = thickness_connector_edge = 1.0 +tb = thickness_bevel = 2.5 +teub = thickness_edge_until_board = 0.5 +wbs = width_board_side = 15.0 +ttc = thickness_total_connector = 4.0 +cw = clamp_width = 9.8 +rc = rotation_clamp = 45.0 +dc = depth_clamp = 4.0 + +with BuildPart() as clamp: + diff --git a/multiconnect/connectorWithHole.py b/multiconnect/connectorWithHole.py new file mode 100644 index 0000000..5fa03fc --- /dev/null +++ b/multiconnect/connectorWithHole.py @@ -0,0 +1,27 @@ +epfrom ocp_vscode import * +from build123d import * +set_port(3939) + +wc = width_connector = 20.0 +lsp = length_straight_part = 5.0 +tce = thickness_connector_edge = 1.0 +tb = thickness_bevel = 2.5 +teub = thickness_edge_until_board = 0.5 +wbs = width_board_side = 15.0 +ttc = thickness_total_connector = 4.0 +cw = clamp_width = 9.8 +rc = rotation_clamp = 45.0 +dc = depth_clamp = 4.0 + +with BuildPart() as connector: + with BuildSketch() as connector_sk: + Circle(wc/2) + extrude(amount = ttc-teub) + chamfer(connector.edges().group_by(Axis.Z)[-1], length = tb, length2 = tb) + extrude(connector.faces().sort_by(Axis.Z)[-1], amount = teub) + with BuildSketch(connector.faces().sort_by(Axis.Z)[-1]): + Rectangle(cw+0.1, cw+0.1) + extrude(amount = -ttc, mode=Mode.SUBTRACT) + +export_step(connector.part, "connectorWithHole.step") +show_all() diff --git a/multiconnect/connectorWithHole.step b/multiconnect/connectorWithHole.step new file mode 100644 index 0000000..ec59923 --- /dev/null +++ b/multiconnect/connectorWithHole.step @@ -0,0 +1,637 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('Open CASCADE Model'),'2;1'); +FILE_NAME('Open CASCADE Shape Model','2024-12-19T01:45:18',('Author'),( + 'Open CASCADE'),'Open CASCADE STEP processor 7.7','Open CASCADE 7.7' + ,'Unknown'); +FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }')); +ENDSEC; +DATA; +#1 = APPLICATION_PROTOCOL_DEFINITION('international standard', + 'automotive_design',2000,#2); +#2 = APPLICATION_CONTEXT( + 'core data for automotive mechanical design processes'); +#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10); +#4 = PRODUCT_DEFINITION_SHAPE('','',#5); +#5 = PRODUCT_DEFINITION('design','',#6,#9); +#6 = PRODUCT_DEFINITION_FORMATION('','',#7); +#7 = PRODUCT('COMPOUND','COMPOUND','',(#8)); +#8 = PRODUCT_CONTEXT('',#2,'mechanical'); +#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design'); +#10 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#15),#537); +#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14); +#12 = CARTESIAN_POINT('',(0.,0.,0.)); +#13 = DIRECTION('',(0.,0.,1.)); +#14 = DIRECTION('',(1.,0.,-0.)); +#15 = MANIFOLD_SOLID_BREP('',#16); +#16 = CLOSED_SHELL('',(#17,#105,#158,#276,#331,#402,#451,#500,#527)); +#17 = ADVANCED_FACE('',(#18),#32,.T.); +#18 = FACE_BOUND('',#19,.F.); +#19 = EDGE_LOOP('',(#20,#50,#77,#78)); +#20 = ORIENTED_EDGE('',*,*,#21,.T.); +#21 = EDGE_CURVE('',#22,#24,#26,.T.); +#22 = VERTEX_POINT('',#23); +#23 = CARTESIAN_POINT('',(10.,0.,0.)); +#24 = VERTEX_POINT('',#25); +#25 = CARTESIAN_POINT('',(10.,0.,1.)); +#26 = SEAM_CURVE('',#27,(#31,#43),.PCURVE_S1.); +#27 = LINE('',#28,#29); +#28 = CARTESIAN_POINT('',(10.,0.,0.)); +#29 = VECTOR('',#30,1.); +#30 = DIRECTION('',(0.,0.,1.)); +#31 = PCURVE('',#32,#37); +#32 = CYLINDRICAL_SURFACE('',#33,10.); +#33 = AXIS2_PLACEMENT_3D('',#34,#35,#36); +#34 = CARTESIAN_POINT('',(0.,0.,0.)); +#35 = DIRECTION('',(-0.,-0.,-1.)); +#36 = DIRECTION('',(1.,0.,0.)); +#37 = DEFINITIONAL_REPRESENTATION('',(#38),#42); +#38 = LINE('',#39,#40); +#39 = CARTESIAN_POINT('',(-0.,0.)); +#40 = VECTOR('',#41,1.); +#41 = DIRECTION('',(-0.,-1.)); +#42 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#43 = PCURVE('',#32,#44); +#44 = DEFINITIONAL_REPRESENTATION('',(#45),#49); +#45 = LINE('',#46,#47); +#46 = CARTESIAN_POINT('',(-6.28318530718,0.)); +#47 = VECTOR('',#48,1.); +#48 = DIRECTION('',(-0.,-1.)); +#49 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#50 = ORIENTED_EDGE('',*,*,#51,.T.); +#51 = EDGE_CURVE('',#24,#24,#52,.T.); +#52 = SURFACE_CURVE('',#53,(#58,#65),.PCURVE_S1.); +#53 = CIRCLE('',#54,10.); +#54 = AXIS2_PLACEMENT_3D('',#55,#56,#57); +#55 = CARTESIAN_POINT('',(0.,0.,1.)); +#56 = DIRECTION('',(0.,0.,1.)); +#57 = DIRECTION('',(1.,0.,-0.)); +#58 = PCURVE('',#32,#59); +#59 = DEFINITIONAL_REPRESENTATION('',(#60),#64); +#60 = LINE('',#61,#62); +#61 = CARTESIAN_POINT('',(-0.,-1.)); +#62 = VECTOR('',#63,1.); +#63 = DIRECTION('',(-1.,0.)); +#64 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#65 = PCURVE('',#66,#71); +#66 = CONICAL_SURFACE('',#67,10.,0.785398163397); +#67 = AXIS2_PLACEMENT_3D('',#68,#69,#70); +#68 = CARTESIAN_POINT('',(0.,0.,1.)); +#69 = DIRECTION('',(-0.,-0.,-1.)); +#70 = DIRECTION('',(1.,0.,0.)); +#71 = DEFINITIONAL_REPRESENTATION('',(#72),#76); +#72 = LINE('',#73,#74); +#73 = CARTESIAN_POINT('',(-0.,-0.)); +#74 = VECTOR('',#75,1.); +#75 = DIRECTION('',(-1.,-0.)); +#76 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#77 = ORIENTED_EDGE('',*,*,#21,.F.); +#78 = ORIENTED_EDGE('',*,*,#79,.F.); +#79 = EDGE_CURVE('',#22,#22,#80,.T.); +#80 = SURFACE_CURVE('',#81,(#86,#93),.PCURVE_S1.); +#81 = CIRCLE('',#82,10.); +#82 = AXIS2_PLACEMENT_3D('',#83,#84,#85); +#83 = CARTESIAN_POINT('',(0.,0.,0.)); +#84 = DIRECTION('',(0.,0.,1.)); +#85 = DIRECTION('',(1.,0.,0.)); +#86 = PCURVE('',#32,#87); +#87 = DEFINITIONAL_REPRESENTATION('',(#88),#92); +#88 = LINE('',#89,#90); +#89 = CARTESIAN_POINT('',(-0.,0.)); +#90 = VECTOR('',#91,1.); +#91 = DIRECTION('',(-1.,0.)); +#92 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#93 = PCURVE('',#94,#99); +#94 = PLANE('',#95); +#95 = AXIS2_PLACEMENT_3D('',#96,#97,#98); +#96 = CARTESIAN_POINT('',(-5.469760530158E-16,6.857365063158E-16,0.)); +#97 = DIRECTION('',(0.,0.,1.)); +#98 = DIRECTION('',(1.,0.,0.)); +#99 = DEFINITIONAL_REPRESENTATION('',(#100),#104); +#100 = CIRCLE('',#101,10.); +#101 = AXIS2_PLACEMENT_2D('',#102,#103); +#102 = CARTESIAN_POINT('',(5.469760530158E-16,-6.857365063158E-16)); +#103 = DIRECTION('',(1.,0.)); +#104 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#105 = ADVANCED_FACE('',(#106),#66,.T.); +#106 = FACE_BOUND('',#107,.T.); +#107 = EDGE_LOOP('',(#108,#129,#130,#131)); +#108 = ORIENTED_EDGE('',*,*,#109,.F.); +#109 = EDGE_CURVE('',#24,#110,#112,.T.); +#110 = VERTEX_POINT('',#111); +#111 = CARTESIAN_POINT('',(7.5,0.,3.5)); +#112 = SEAM_CURVE('',#113,(#117,#123),.PCURVE_S1.); +#113 = LINE('',#114,#115); +#114 = CARTESIAN_POINT('',(10.,0.,1.)); +#115 = VECTOR('',#116,1.); +#116 = DIRECTION('',(-0.707106781187,0.,0.707106781187)); +#117 = PCURVE('',#66,#118); +#118 = DEFINITIONAL_REPRESENTATION('',(#119),#122); +#119 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#120,#121),.UNSPECIFIED.,.F.,.F., + (2,2),(0.,3.535533905933),.PIECEWISE_BEZIER_KNOTS.); +#120 = CARTESIAN_POINT('',(0.,0.)); +#121 = CARTESIAN_POINT('',(0.,-2.5)); +#122 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#123 = PCURVE('',#66,#124); +#124 = DEFINITIONAL_REPRESENTATION('',(#125),#128); +#125 = B_SPLINE_CURVE_WITH_KNOTS('',1,(#126,#127),.UNSPECIFIED.,.F.,.F., + (2,2),(0.,3.535533905933),.PIECEWISE_BEZIER_KNOTS.); +#126 = CARTESIAN_POINT('',(-6.28318530718,0.)); +#127 = CARTESIAN_POINT('',(-6.28318530718,-2.5)); +#128 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#129 = ORIENTED_EDGE('',*,*,#51,.T.); +#130 = ORIENTED_EDGE('',*,*,#109,.T.); +#131 = ORIENTED_EDGE('',*,*,#132,.F.); +#132 = EDGE_CURVE('',#110,#110,#133,.T.); +#133 = SURFACE_CURVE('',#134,(#139,#146),.PCURVE_S1.); +#134 = CIRCLE('',#135,7.5); +#135 = AXIS2_PLACEMENT_3D('',#136,#137,#138); +#136 = CARTESIAN_POINT('',(0.,0.,3.5)); +#137 = DIRECTION('',(0.,0.,1.)); +#138 = DIRECTION('',(1.,0.,-0.)); +#139 = PCURVE('',#66,#140); +#140 = DEFINITIONAL_REPRESENTATION('',(#141),#145); +#141 = LINE('',#142,#143); +#142 = CARTESIAN_POINT('',(-0.,-2.5)); +#143 = VECTOR('',#144,1.); +#144 = DIRECTION('',(-1.,-0.)); +#145 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#146 = PCURVE('',#147,#152); +#147 = CYLINDRICAL_SURFACE('',#148,7.5); +#148 = AXIS2_PLACEMENT_3D('',#149,#150,#151); +#149 = CARTESIAN_POINT('',(0.,0.,3.5)); +#150 = DIRECTION('',(-0.,-0.,-1.)); +#151 = DIRECTION('',(1.,0.,-0.)); +#152 = DEFINITIONAL_REPRESENTATION('',(#153),#157); +#153 = LINE('',#154,#155); +#154 = CARTESIAN_POINT('',(-0.,0.)); +#155 = VECTOR('',#156,1.); +#156 = DIRECTION('',(-1.,0.)); +#157 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#158 = ADVANCED_FACE('',(#159,#162),#94,.F.); +#159 = FACE_BOUND('',#160,.F.); +#160 = EDGE_LOOP('',(#161)); +#161 = ORIENTED_EDGE('',*,*,#79,.T.); +#162 = FACE_BOUND('',#163,.F.); +#163 = EDGE_LOOP('',(#164,#194,#222,#250)); +#164 = ORIENTED_EDGE('',*,*,#165,.F.); +#165 = EDGE_CURVE('',#166,#168,#170,.T.); +#166 = VERTEX_POINT('',#167); +#167 = CARTESIAN_POINT('',(-4.95,-4.95,0.)); +#168 = VERTEX_POINT('',#169); +#169 = CARTESIAN_POINT('',(4.95,-4.95,0.)); +#170 = SURFACE_CURVE('',#171,(#175,#182),.PCURVE_S1.); +#171 = LINE('',#172,#173); +#172 = CARTESIAN_POINT('',(0.,-4.95,0.)); +#173 = VECTOR('',#174,1.); +#174 = DIRECTION('',(1.,0.,0.)); +#175 = PCURVE('',#94,#176); +#176 = DEFINITIONAL_REPRESENTATION('',(#177),#181); +#177 = LINE('',#178,#179); +#178 = CARTESIAN_POINT('',(5.469760530158E-16,-4.95)); +#179 = VECTOR('',#180,1.); +#180 = DIRECTION('',(1.,0.)); +#181 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#182 = PCURVE('',#183,#188); +#183 = PLANE('',#184); +#184 = AXIS2_PLACEMENT_3D('',#185,#186,#187); +#185 = CARTESIAN_POINT('',(-4.95,-4.95,4.)); +#186 = DIRECTION('',(0.,-1.,0.)); +#187 = DIRECTION('',(1.,0.,0.)); +#188 = DEFINITIONAL_REPRESENTATION('',(#189),#193); +#189 = LINE('',#190,#191); +#190 = CARTESIAN_POINT('',(4.95,-4.)); +#191 = VECTOR('',#192,1.); +#192 = DIRECTION('',(1.,0.)); +#193 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#194 = ORIENTED_EDGE('',*,*,#195,.T.); +#195 = EDGE_CURVE('',#166,#196,#198,.T.); +#196 = VERTEX_POINT('',#197); +#197 = CARTESIAN_POINT('',(-4.95,4.95,0.)); +#198 = SURFACE_CURVE('',#199,(#203,#210),.PCURVE_S1.); +#199 = LINE('',#200,#201); +#200 = CARTESIAN_POINT('',(-4.95,-1.914517926909E-16,0.)); +#201 = VECTOR('',#202,1.); +#202 = DIRECTION('',(0.,1.,0.)); +#203 = PCURVE('',#94,#204); +#204 = DEFINITIONAL_REPRESENTATION('',(#205),#209); +#205 = LINE('',#206,#207); +#206 = CARTESIAN_POINT('',(-4.95,-8.771882990067E-16)); +#207 = VECTOR('',#208,1.); +#208 = DIRECTION('',(0.,1.)); +#209 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#210 = PCURVE('',#211,#216); +#211 = PLANE('',#212); +#212 = AXIS2_PLACEMENT_3D('',#213,#214,#215); +#213 = CARTESIAN_POINT('',(-4.95,-4.95,4.)); +#214 = DIRECTION('',(1.,0.,0.)); +#215 = DIRECTION('',(-0.,1.,0.)); +#216 = DEFINITIONAL_REPRESENTATION('',(#217),#221); +#217 = LINE('',#218,#219); +#218 = CARTESIAN_POINT('',(4.95,-4.)); +#219 = VECTOR('',#220,1.); +#220 = DIRECTION('',(1.,0.)); +#221 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#222 = ORIENTED_EDGE('',*,*,#223,.T.); +#223 = EDGE_CURVE('',#196,#224,#226,.T.); +#224 = VERTEX_POINT('',#225); +#225 = CARTESIAN_POINT('',(4.95,4.95,0.)); +#226 = SURFACE_CURVE('',#227,(#231,#238),.PCURVE_S1.); +#227 = LINE('',#228,#229); +#228 = CARTESIAN_POINT('',(0.,4.95,0.)); +#229 = VECTOR('',#230,1.); +#230 = DIRECTION('',(1.,0.,0.)); +#231 = PCURVE('',#94,#232); +#232 = DEFINITIONAL_REPRESENTATION('',(#233),#237); +#233 = LINE('',#234,#235); +#234 = CARTESIAN_POINT('',(5.469760530158E-16,4.95)); +#235 = VECTOR('',#236,1.); +#236 = DIRECTION('',(1.,0.)); +#237 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#238 = PCURVE('',#239,#244); +#239 = PLANE('',#240); +#240 = AXIS2_PLACEMENT_3D('',#241,#242,#243); +#241 = CARTESIAN_POINT('',(-4.95,4.95,4.)); +#242 = DIRECTION('',(0.,-1.,0.)); +#243 = DIRECTION('',(1.,0.,0.)); +#244 = DEFINITIONAL_REPRESENTATION('',(#245),#249); +#245 = LINE('',#246,#247); +#246 = CARTESIAN_POINT('',(4.95,-4.)); +#247 = VECTOR('',#248,1.); +#248 = DIRECTION('',(1.,0.)); +#249 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#250 = ORIENTED_EDGE('',*,*,#251,.F.); +#251 = EDGE_CURVE('',#168,#224,#252,.T.); +#252 = SURFACE_CURVE('',#253,(#257,#264),.PCURVE_S1.); +#253 = LINE('',#254,#255); +#254 = CARTESIAN_POINT('',(4.95,-1.914517926909E-16,0.)); +#255 = VECTOR('',#256,1.); +#256 = DIRECTION('',(0.,1.,0.)); +#257 = PCURVE('',#94,#258); +#258 = DEFINITIONAL_REPRESENTATION('',(#259),#263); +#259 = LINE('',#260,#261); +#260 = CARTESIAN_POINT('',(4.95,-8.771882990067E-16)); +#261 = VECTOR('',#262,1.); +#262 = DIRECTION('',(0.,1.)); +#263 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#264 = PCURVE('',#265,#270); +#265 = PLANE('',#266); +#266 = AXIS2_PLACEMENT_3D('',#267,#268,#269); +#267 = CARTESIAN_POINT('',(4.95,-4.95,4.)); +#268 = DIRECTION('',(1.,0.,0.)); +#269 = DIRECTION('',(-0.,1.,0.)); +#270 = DEFINITIONAL_REPRESENTATION('',(#271),#275); +#271 = LINE('',#272,#273); +#272 = CARTESIAN_POINT('',(4.95,-4.)); +#273 = VECTOR('',#274,1.); +#274 = DIRECTION('',(1.,0.)); +#275 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#276 = ADVANCED_FACE('',(#277),#147,.T.); +#277 = FACE_BOUND('',#278,.F.); +#278 = EDGE_LOOP('',(#279,#302,#329,#330)); +#279 = ORIENTED_EDGE('',*,*,#280,.T.); +#280 = EDGE_CURVE('',#110,#281,#283,.T.); +#281 = VERTEX_POINT('',#282); +#282 = CARTESIAN_POINT('',(7.5,0.,4.)); +#283 = SEAM_CURVE('',#284,(#288,#295),.PCURVE_S1.); +#284 = LINE('',#285,#286); +#285 = CARTESIAN_POINT('',(7.5,0.,3.5)); +#286 = VECTOR('',#287,1.); +#287 = DIRECTION('',(0.,0.,1.)); +#288 = PCURVE('',#147,#289); +#289 = DEFINITIONAL_REPRESENTATION('',(#290),#294); +#290 = LINE('',#291,#292); +#291 = CARTESIAN_POINT('',(-0.,0.)); +#292 = VECTOR('',#293,1.); +#293 = DIRECTION('',(-0.,-1.)); +#294 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#295 = PCURVE('',#147,#296); +#296 = DEFINITIONAL_REPRESENTATION('',(#297),#301); +#297 = LINE('',#298,#299); +#298 = CARTESIAN_POINT('',(-6.28318530718,0.)); +#299 = VECTOR('',#300,1.); +#300 = DIRECTION('',(-0.,-1.)); +#301 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#302 = ORIENTED_EDGE('',*,*,#303,.T.); +#303 = EDGE_CURVE('',#281,#281,#304,.T.); +#304 = SURFACE_CURVE('',#305,(#310,#317),.PCURVE_S1.); +#305 = CIRCLE('',#306,7.5); +#306 = AXIS2_PLACEMENT_3D('',#307,#308,#309); +#307 = CARTESIAN_POINT('',(0.,0.,4.)); +#308 = DIRECTION('',(0.,0.,1.)); +#309 = DIRECTION('',(1.,0.,-0.)); +#310 = PCURVE('',#147,#311); +#311 = DEFINITIONAL_REPRESENTATION('',(#312),#316); +#312 = LINE('',#313,#314); +#313 = CARTESIAN_POINT('',(-0.,-0.5)); +#314 = VECTOR('',#315,1.); +#315 = DIRECTION('',(-1.,0.)); +#316 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#317 = PCURVE('',#318,#323); +#318 = PLANE('',#319); +#319 = AXIS2_PLACEMENT_3D('',#320,#321,#322); +#320 = CARTESIAN_POINT('',(-5.469760530158E-16,6.857365063158E-16,4.)); +#321 = DIRECTION('',(0.,0.,1.)); +#322 = DIRECTION('',(1.,0.,0.)); +#323 = DEFINITIONAL_REPRESENTATION('',(#324),#328); +#324 = CIRCLE('',#325,7.5); +#325 = AXIS2_PLACEMENT_2D('',#326,#327); +#326 = CARTESIAN_POINT('',(5.469760530158E-16,-6.857365063158E-16)); +#327 = DIRECTION('',(1.,0.)); +#328 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#329 = ORIENTED_EDGE('',*,*,#280,.F.); +#330 = ORIENTED_EDGE('',*,*,#132,.F.); +#331 = ADVANCED_FACE('',(#332),#183,.F.); +#332 = FACE_BOUND('',#333,.F.); +#333 = EDGE_LOOP('',(#334,#357,#358,#381)); +#334 = ORIENTED_EDGE('',*,*,#335,.T.); +#335 = EDGE_CURVE('',#336,#166,#338,.T.); +#336 = VERTEX_POINT('',#337); +#337 = CARTESIAN_POINT('',(-4.95,-4.95,4.)); +#338 = SURFACE_CURVE('',#339,(#343,#350),.PCURVE_S1.); +#339 = LINE('',#340,#341); +#340 = CARTESIAN_POINT('',(-4.95,-4.95,4.)); +#341 = VECTOR('',#342,1.); +#342 = DIRECTION('',(-0.,-0.,-1.)); +#343 = PCURVE('',#183,#344); +#344 = DEFINITIONAL_REPRESENTATION('',(#345),#349); +#345 = LINE('',#346,#347); +#346 = CARTESIAN_POINT('',(0.,0.)); +#347 = VECTOR('',#348,1.); +#348 = DIRECTION('',(0.,-1.)); +#349 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#350 = PCURVE('',#211,#351); +#351 = DEFINITIONAL_REPRESENTATION('',(#352),#356); +#352 = LINE('',#353,#354); +#353 = CARTESIAN_POINT('',(0.,0.)); +#354 = VECTOR('',#355,1.); +#355 = DIRECTION('',(0.,-1.)); +#356 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#357 = ORIENTED_EDGE('',*,*,#165,.T.); +#358 = ORIENTED_EDGE('',*,*,#359,.F.); +#359 = EDGE_CURVE('',#360,#168,#362,.T.); +#360 = VERTEX_POINT('',#361); +#361 = CARTESIAN_POINT('',(4.95,-4.95,4.)); +#362 = SURFACE_CURVE('',#363,(#367,#374),.PCURVE_S1.); +#363 = LINE('',#364,#365); +#364 = CARTESIAN_POINT('',(4.95,-4.95,4.)); +#365 = VECTOR('',#366,1.); +#366 = DIRECTION('',(-0.,-0.,-1.)); +#367 = PCURVE('',#183,#368); +#368 = DEFINITIONAL_REPRESENTATION('',(#369),#373); +#369 = LINE('',#370,#371); +#370 = CARTESIAN_POINT('',(9.9,0.)); +#371 = VECTOR('',#372,1.); +#372 = DIRECTION('',(0.,-1.)); +#373 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#374 = PCURVE('',#265,#375); +#375 = DEFINITIONAL_REPRESENTATION('',(#376),#380); +#376 = LINE('',#377,#378); +#377 = CARTESIAN_POINT('',(0.,0.)); +#378 = VECTOR('',#379,1.); +#379 = DIRECTION('',(0.,-1.)); +#380 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#381 = ORIENTED_EDGE('',*,*,#382,.F.); +#382 = EDGE_CURVE('',#336,#360,#383,.T.); +#383 = SURFACE_CURVE('',#384,(#388,#395),.PCURVE_S1.); +#384 = LINE('',#385,#386); +#385 = CARTESIAN_POINT('',(0.,-4.95,4.)); +#386 = VECTOR('',#387,1.); +#387 = DIRECTION('',(1.,0.,0.)); +#388 = PCURVE('',#183,#389); +#389 = DEFINITIONAL_REPRESENTATION('',(#390),#394); +#390 = LINE('',#391,#392); +#391 = CARTESIAN_POINT('',(4.95,0.)); +#392 = VECTOR('',#393,1.); +#393 = DIRECTION('',(1.,0.)); +#394 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#395 = PCURVE('',#318,#396); +#396 = DEFINITIONAL_REPRESENTATION('',(#397),#401); +#397 = LINE('',#398,#399); +#398 = CARTESIAN_POINT('',(5.469760530158E-16,-4.95)); +#399 = VECTOR('',#400,1.); +#400 = DIRECTION('',(1.,0.)); +#401 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#402 = ADVANCED_FACE('',(#403),#265,.F.); +#403 = FACE_BOUND('',#404,.F.); +#404 = EDGE_LOOP('',(#405,#406,#407,#430)); +#405 = ORIENTED_EDGE('',*,*,#359,.T.); +#406 = ORIENTED_EDGE('',*,*,#251,.T.); +#407 = ORIENTED_EDGE('',*,*,#408,.F.); +#408 = EDGE_CURVE('',#409,#224,#411,.T.); +#409 = VERTEX_POINT('',#410); +#410 = CARTESIAN_POINT('',(4.95,4.95,4.)); +#411 = SURFACE_CURVE('',#412,(#416,#423),.PCURVE_S1.); +#412 = LINE('',#413,#414); +#413 = CARTESIAN_POINT('',(4.95,4.95,4.)); +#414 = VECTOR('',#415,1.); +#415 = DIRECTION('',(-0.,-0.,-1.)); +#416 = PCURVE('',#265,#417); +#417 = DEFINITIONAL_REPRESENTATION('',(#418),#422); +#418 = LINE('',#419,#420); +#419 = CARTESIAN_POINT('',(9.9,0.)); +#420 = VECTOR('',#421,1.); +#421 = DIRECTION('',(0.,-1.)); +#422 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#423 = PCURVE('',#239,#424); +#424 = DEFINITIONAL_REPRESENTATION('',(#425),#429); +#425 = LINE('',#426,#427); +#426 = CARTESIAN_POINT('',(9.9,0.)); +#427 = VECTOR('',#428,1.); +#428 = DIRECTION('',(0.,-1.)); +#429 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#430 = ORIENTED_EDGE('',*,*,#431,.F.); +#431 = EDGE_CURVE('',#360,#409,#432,.T.); +#432 = SURFACE_CURVE('',#433,(#437,#444),.PCURVE_S1.); +#433 = LINE('',#434,#435); +#434 = CARTESIAN_POINT('',(4.95,-1.914517926909E-16,4.)); +#435 = VECTOR('',#436,1.); +#436 = DIRECTION('',(0.,1.,0.)); +#437 = PCURVE('',#265,#438); +#438 = DEFINITIONAL_REPRESENTATION('',(#439),#443); +#439 = LINE('',#440,#441); +#440 = CARTESIAN_POINT('',(4.95,0.)); +#441 = VECTOR('',#442,1.); +#442 = DIRECTION('',(1.,0.)); +#443 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#444 = PCURVE('',#318,#445); +#445 = DEFINITIONAL_REPRESENTATION('',(#446),#450); +#446 = LINE('',#447,#448); +#447 = CARTESIAN_POINT('',(4.95,-8.771882990067E-16)); +#448 = VECTOR('',#449,1.); +#449 = DIRECTION('',(0.,1.)); +#450 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#451 = ADVANCED_FACE('',(#452),#239,.T.); +#452 = FACE_BOUND('',#453,.T.); +#453 = EDGE_LOOP('',(#454,#477,#478,#479)); +#454 = ORIENTED_EDGE('',*,*,#455,.T.); +#455 = EDGE_CURVE('',#456,#196,#458,.T.); +#456 = VERTEX_POINT('',#457); +#457 = CARTESIAN_POINT('',(-4.95,4.95,4.)); +#458 = SURFACE_CURVE('',#459,(#463,#470),.PCURVE_S1.); +#459 = LINE('',#460,#461); +#460 = CARTESIAN_POINT('',(-4.95,4.95,4.)); +#461 = VECTOR('',#462,1.); +#462 = DIRECTION('',(-0.,-0.,-1.)); +#463 = PCURVE('',#239,#464); +#464 = DEFINITIONAL_REPRESENTATION('',(#465),#469); +#465 = LINE('',#466,#467); +#466 = CARTESIAN_POINT('',(0.,0.)); +#467 = VECTOR('',#468,1.); +#468 = DIRECTION('',(0.,-1.)); +#469 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#470 = PCURVE('',#211,#471); +#471 = DEFINITIONAL_REPRESENTATION('',(#472),#476); +#472 = LINE('',#473,#474); +#473 = CARTESIAN_POINT('',(9.9,0.)); +#474 = VECTOR('',#475,1.); +#475 = DIRECTION('',(0.,-1.)); +#476 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#477 = ORIENTED_EDGE('',*,*,#223,.T.); +#478 = ORIENTED_EDGE('',*,*,#408,.F.); +#479 = ORIENTED_EDGE('',*,*,#480,.F.); +#480 = EDGE_CURVE('',#456,#409,#481,.T.); +#481 = SURFACE_CURVE('',#482,(#486,#493),.PCURVE_S1.); +#482 = LINE('',#483,#484); +#483 = CARTESIAN_POINT('',(0.,4.95,4.)); +#484 = VECTOR('',#485,1.); +#485 = DIRECTION('',(1.,0.,0.)); +#486 = PCURVE('',#239,#487); +#487 = DEFINITIONAL_REPRESENTATION('',(#488),#492); +#488 = LINE('',#489,#490); +#489 = CARTESIAN_POINT('',(4.95,0.)); +#490 = VECTOR('',#491,1.); +#491 = DIRECTION('',(1.,0.)); +#492 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#493 = PCURVE('',#318,#494); +#494 = DEFINITIONAL_REPRESENTATION('',(#495),#499); +#495 = LINE('',#496,#497); +#496 = CARTESIAN_POINT('',(5.469760530158E-16,4.95)); +#497 = VECTOR('',#498,1.); +#498 = DIRECTION('',(1.,0.)); +#499 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#500 = ADVANCED_FACE('',(#501),#211,.T.); +#501 = FACE_BOUND('',#502,.T.); +#502 = EDGE_LOOP('',(#503,#504,#505,#506)); +#503 = ORIENTED_EDGE('',*,*,#335,.T.); +#504 = ORIENTED_EDGE('',*,*,#195,.T.); +#505 = ORIENTED_EDGE('',*,*,#455,.F.); +#506 = ORIENTED_EDGE('',*,*,#507,.F.); +#507 = EDGE_CURVE('',#336,#456,#508,.T.); +#508 = SURFACE_CURVE('',#509,(#513,#520),.PCURVE_S1.); +#509 = LINE('',#510,#511); +#510 = CARTESIAN_POINT('',(-4.95,-1.914517926909E-16,4.)); +#511 = VECTOR('',#512,1.); +#512 = DIRECTION('',(0.,1.,0.)); +#513 = PCURVE('',#211,#514); +#514 = DEFINITIONAL_REPRESENTATION('',(#515),#519); +#515 = LINE('',#516,#517); +#516 = CARTESIAN_POINT('',(4.95,0.)); +#517 = VECTOR('',#518,1.); +#518 = DIRECTION('',(1.,0.)); +#519 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#520 = PCURVE('',#318,#521); +#521 = DEFINITIONAL_REPRESENTATION('',(#522),#526); +#522 = LINE('',#523,#524); +#523 = CARTESIAN_POINT('',(-4.95,-8.771882990067E-16)); +#524 = VECTOR('',#525,1.); +#525 = DIRECTION('',(0.,1.)); +#526 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#527 = ADVANCED_FACE('',(#528,#531),#318,.T.); +#528 = FACE_BOUND('',#529,.T.); +#529 = EDGE_LOOP('',(#530)); +#530 = ORIENTED_EDGE('',*,*,#303,.T.); +#531 = FACE_BOUND('',#532,.T.); +#532 = EDGE_LOOP('',(#533,#534,#535,#536)); +#533 = ORIENTED_EDGE('',*,*,#382,.F.); +#534 = ORIENTED_EDGE('',*,*,#507,.T.); +#535 = ORIENTED_EDGE('',*,*,#480,.T.); +#536 = ORIENTED_EDGE('',*,*,#431,.F.); +#537 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#541)) GLOBAL_UNIT_ASSIGNED_CONTEXT +((#538,#539,#540)) REPRESENTATION_CONTEXT('Context #1', + '3D Context with UNIT and UNCERTAINTY') ); +#538 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); +#539 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); +#540 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() ); +#541 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#538, + 'distance_accuracy_value','confusion accuracy'); +#542 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7)); +ENDSEC; +END-ISO-10303-21; diff --git a/multiconnect/connectorWithHole.stl b/multiconnect/connectorWithHole.stl new file mode 100644 index 0000000000000000000000000000000000000000..78ad747cad6147d4a39e721242fbfc650ddfb2a3 GIT binary patch literal 65484 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 l4b+Y`G=3oj>XmEg{Jcp6wPOukH3)%v