diff --git a/__pycache__/revolveGemini.cpython-311.pyc b/__pycache__/revolveGemini.cpython-311.pyc new file mode 100644 index 0000000..496e6d4 Binary files /dev/null and b/__pycache__/revolveGemini.cpython-311.pyc differ diff --git a/p.step b/p.step new file mode 100644 index 0000000..6305420 --- /dev/null +++ b/p.step @@ -0,0 +1,243 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('Open CASCADE Model'),'2;1'); +FILE_NAME('Open CASCADE Shape Model','2025-12-09T20:20:03',('Author'),( + 'Open CASCADE'),'Open CASCADE STEP processor 7.8','build123d', + '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),#197); +#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,#140,#190)); +#17 = ADVANCED_FACE('',(#18),#31,.T.); +#18 = FACE_BOUND('',#19,.T.); +#19 = EDGE_LOOP('',(#20,#54,#77,#104)); +#20 = ORIENTED_EDGE('',*,*,#21,.T.); +#21 = EDGE_CURVE('',#22,#22,#24,.T.); +#22 = VERTEX_POINT('',#23); +#23 = CARTESIAN_POINT('',(-17.5,0.,-20.)); +#24 = SURFACE_CURVE('',#25,(#30,#42),.PCURVE_S1.); +#25 = CIRCLE('',#26,17.5); +#26 = AXIS2_PLACEMENT_3D('',#27,#28,#29); +#27 = CARTESIAN_POINT('',(0.,0.,-20.)); +#28 = DIRECTION('',(0.,0.,1.)); +#29 = DIRECTION('',(-1.,0.,0.)); +#30 = PCURVE('',#31,#36); +#31 = CYLINDRICAL_SURFACE('',#32,17.5); +#32 = AXIS2_PLACEMENT_3D('',#33,#34,#35); +#33 = CARTESIAN_POINT('',(0.,0.,0.)); +#34 = DIRECTION('',(0.,0.,1.)); +#35 = DIRECTION('',(-1.,0.,0.)); +#36 = DEFINITIONAL_REPRESENTATION('',(#37),#41); +#37 = LINE('',#38,#39); +#38 = CARTESIAN_POINT('',(0.,-20.)); +#39 = VECTOR('',#40,1.); +#40 = DIRECTION('',(1.,0.)); +#41 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#42 = PCURVE('',#43,#48); +#43 = PLANE('',#44); +#44 = AXIS2_PLACEMENT_3D('',#45,#46,#47); +#45 = CARTESIAN_POINT('',(0.,0.,-20.)); +#46 = DIRECTION('',(0.,0.,1.)); +#47 = DIRECTION('',(-1.,0.,0.)); +#48 = DEFINITIONAL_REPRESENTATION('',(#49),#53); +#49 = CIRCLE('',#50,17.5); +#50 = AXIS2_PLACEMENT_2D('',#51,#52); +#51 = CARTESIAN_POINT('',(0.,0.)); +#52 = DIRECTION('',(1.,-0.)); +#53 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#54 = ORIENTED_EDGE('',*,*,#55,.T.); +#55 = EDGE_CURVE('',#22,#56,#58,.T.); +#56 = VERTEX_POINT('',#57); +#57 = CARTESIAN_POINT('',(-17.5,0.,20.)); +#58 = SEAM_CURVE('',#59,(#63,#70),.PCURVE_S1.); +#59 = LINE('',#60,#61); +#60 = CARTESIAN_POINT('',(-17.5,0.,0.)); +#61 = VECTOR('',#62,1.); +#62 = DIRECTION('',(0.,0.,1.)); +#63 = PCURVE('',#31,#64); +#64 = DEFINITIONAL_REPRESENTATION('',(#65),#69); +#65 = LINE('',#66,#67); +#66 = CARTESIAN_POINT('',(0.,0.)); +#67 = VECTOR('',#68,1.); +#68 = DIRECTION('',(0.,1.)); +#69 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#70 = PCURVE('',#31,#71); +#71 = DEFINITIONAL_REPRESENTATION('',(#72),#76); +#72 = LINE('',#73,#74); +#73 = CARTESIAN_POINT('',(6.28318530718,0.)); +#74 = VECTOR('',#75,1.); +#75 = DIRECTION('',(0.,1.)); +#76 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#77 = ORIENTED_EDGE('',*,*,#78,.F.); +#78 = EDGE_CURVE('',#56,#56,#79,.T.); +#79 = SURFACE_CURVE('',#80,(#85,#92),.PCURVE_S1.); +#80 = CIRCLE('',#81,17.5); +#81 = AXIS2_PLACEMENT_3D('',#82,#83,#84); +#82 = CARTESIAN_POINT('',(0.,0.,20.)); +#83 = DIRECTION('',(0.,0.,1.)); +#84 = DIRECTION('',(-1.,0.,0.)); +#85 = PCURVE('',#31,#86); +#86 = DEFINITIONAL_REPRESENTATION('',(#87),#91); +#87 = LINE('',#88,#89); +#88 = CARTESIAN_POINT('',(0.,20.)); +#89 = VECTOR('',#90,1.); +#90 = DIRECTION('',(1.,0.)); +#91 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#92 = PCURVE('',#93,#98); +#93 = PLANE('',#94); +#94 = AXIS2_PLACEMENT_3D('',#95,#96,#97); +#95 = CARTESIAN_POINT('',(0.,0.,20.)); +#96 = DIRECTION('',(0.,0.,1.)); +#97 = DIRECTION('',(-1.,0.,0.)); +#98 = DEFINITIONAL_REPRESENTATION('',(#99),#103); +#99 = CIRCLE('',#100,17.5); +#100 = AXIS2_PLACEMENT_2D('',#101,#102); +#101 = CARTESIAN_POINT('',(0.,0.)); +#102 = DIRECTION('',(1.,0.)); +#103 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#104 = ORIENTED_EDGE('',*,*,#55,.F.); +#105 = ADVANCED_FACE('',(#106,#109),#43,.F.); +#106 = FACE_BOUND('',#107,.F.); +#107 = EDGE_LOOP('',(#108)); +#108 = ORIENTED_EDGE('',*,*,#21,.T.); +#109 = FACE_BOUND('',#110,.F.); +#110 = EDGE_LOOP('',(#111)); +#111 = ORIENTED_EDGE('',*,*,#112,.F.); +#112 = EDGE_CURVE('',#113,#113,#115,.T.); +#113 = VERTEX_POINT('',#114); +#114 = CARTESIAN_POINT('',(-12.5,0.,-20.)); +#115 = SURFACE_CURVE('',#116,(#121,#128),.PCURVE_S1.); +#116 = CIRCLE('',#117,12.5); +#117 = AXIS2_PLACEMENT_3D('',#118,#119,#120); +#118 = CARTESIAN_POINT('',(0.,0.,-20.)); +#119 = DIRECTION('',(0.,0.,1.)); +#120 = DIRECTION('',(-1.,0.,0.)); +#121 = PCURVE('',#43,#122); +#122 = DEFINITIONAL_REPRESENTATION('',(#123),#127); +#123 = CIRCLE('',#124,12.5); +#124 = AXIS2_PLACEMENT_2D('',#125,#126); +#125 = CARTESIAN_POINT('',(0.,0.)); +#126 = DIRECTION('',(1.,-0.)); +#127 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#128 = PCURVE('',#129,#134); +#129 = CYLINDRICAL_SURFACE('',#130,12.5); +#130 = AXIS2_PLACEMENT_3D('',#131,#132,#133); +#131 = CARTESIAN_POINT('',(0.,0.,0.)); +#132 = DIRECTION('',(0.,0.,1.)); +#133 = DIRECTION('',(-1.,0.,0.)); +#134 = DEFINITIONAL_REPRESENTATION('',(#135),#139); +#135 = LINE('',#136,#137); +#136 = CARTESIAN_POINT('',(0.,-20.)); +#137 = VECTOR('',#138,1.); +#138 = DIRECTION('',(1.,0.)); +#139 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#140 = ADVANCED_FACE('',(#141),#129,.F.); +#141 = FACE_BOUND('',#142,.F.); +#142 = EDGE_LOOP('',(#143,#144,#167,#189)); +#143 = ORIENTED_EDGE('',*,*,#112,.T.); +#144 = ORIENTED_EDGE('',*,*,#145,.T.); +#145 = EDGE_CURVE('',#113,#146,#148,.T.); +#146 = VERTEX_POINT('',#147); +#147 = CARTESIAN_POINT('',(-12.5,0.,20.)); +#148 = SEAM_CURVE('',#149,(#153,#160),.PCURVE_S1.); +#149 = LINE('',#150,#151); +#150 = CARTESIAN_POINT('',(-12.5,0.,0.)); +#151 = VECTOR('',#152,1.); +#152 = DIRECTION('',(0.,0.,1.)); +#153 = PCURVE('',#129,#154); +#154 = DEFINITIONAL_REPRESENTATION('',(#155),#159); +#155 = LINE('',#156,#157); +#156 = CARTESIAN_POINT('',(0.,0.)); +#157 = VECTOR('',#158,1.); +#158 = DIRECTION('',(0.,1.)); +#159 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#160 = PCURVE('',#129,#161); +#161 = DEFINITIONAL_REPRESENTATION('',(#162),#166); +#162 = LINE('',#163,#164); +#163 = CARTESIAN_POINT('',(6.28318530718,0.)); +#164 = VECTOR('',#165,1.); +#165 = DIRECTION('',(0.,1.)); +#166 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#167 = ORIENTED_EDGE('',*,*,#168,.F.); +#168 = EDGE_CURVE('',#146,#146,#169,.T.); +#169 = SURFACE_CURVE('',#170,(#175,#182),.PCURVE_S1.); +#170 = CIRCLE('',#171,12.5); +#171 = AXIS2_PLACEMENT_3D('',#172,#173,#174); +#172 = CARTESIAN_POINT('',(0.,0.,20.)); +#173 = DIRECTION('',(0.,0.,1.)); +#174 = DIRECTION('',(-1.,0.,0.)); +#175 = PCURVE('',#129,#176); +#176 = DEFINITIONAL_REPRESENTATION('',(#177),#181); +#177 = LINE('',#178,#179); +#178 = CARTESIAN_POINT('',(0.,20.)); +#179 = VECTOR('',#180,1.); +#180 = DIRECTION('',(1.,0.)); +#181 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#182 = PCURVE('',#93,#183); +#183 = DEFINITIONAL_REPRESENTATION('',(#184),#188); +#184 = CIRCLE('',#185,12.5); +#185 = AXIS2_PLACEMENT_2D('',#186,#187); +#186 = CARTESIAN_POINT('',(0.,0.)); +#187 = DIRECTION('',(1.,0.)); +#188 = ( GEOMETRIC_REPRESENTATION_CONTEXT(2) +PARAMETRIC_REPRESENTATION_CONTEXT() REPRESENTATION_CONTEXT('2D SPACE','' + ) ); +#189 = ORIENTED_EDGE('',*,*,#145,.F.); +#190 = ADVANCED_FACE('',(#191,#194),#93,.T.); +#191 = FACE_BOUND('',#192,.T.); +#192 = EDGE_LOOP('',(#193)); +#193 = ORIENTED_EDGE('',*,*,#78,.T.); +#194 = FACE_BOUND('',#195,.T.); +#195 = EDGE_LOOP('',(#196)); +#196 = ORIENTED_EDGE('',*,*,#168,.F.); +#197 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#201)) GLOBAL_UNIT_ASSIGNED_CONTEXT +((#198,#199,#200)) REPRESENTATION_CONTEXT('Context #1', + '3D Context with UNIT and UNCERTAINTY') ); +#198 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); +#199 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); +#200 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() ); +#201 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#198, + 'distance_accuracy_value','confusion accuracy'); +#202 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7)); +ENDSEC; +END-ISO-10303-21; diff --git a/post_cap.py b/post_cap.py index 5e3aef1..e74291f 100644 --- a/post_cap.py +++ b/post_cap.py @@ -1,2 +1,27 @@ from build123d import * +with BuildPart() as p: + with BuildSketch(Plane.XZ) as sk1: + test1 = Rectangle(49, 48 - 8, align=(Align.CENTER, Align.MIN)) + test2 = Rectangle(9, 48, align=(Align.CENTER, Align.MIN)) + with Locations((9 / 2, 40)): + Ellipse(20, 8) + test3 = split(bisect_by=Plane.YZ) + revolve(axis=Axis.Z) + + with BuildSketch(Plane.YZ.offset(-15)) as xc1: + with Locations((0, 40 / 2 - 17)): + test4 = Ellipse(10 / 2, 4 / 2) + with BuildLine(Plane.XZ) as l1: + test5 = CenterArc((-15, 40 / 2), 17, 90, 180) + sweep(path=l1) + + + +# debug(test1) +# debug(test2) +# debug(test3) +# debug(test4, name="ELL") +# debug(test5, name="CA") +# show_object(p, name="calosc") +debug(xc1) diff --git a/revolveGemini.py b/revolveGemini.py new file mode 100644 index 0000000..90847ec --- /dev/null +++ b/revolveGemini.py @@ -0,0 +1,15 @@ +from build123d import * + + +with BuildPart() as p: + with BuildSketch(Plane.XZ) as s: + with Locations((20, 0)): + test = Rectangle(40, 40) + test2 = split(bisect_by=Plane.YZ) + revolve(axis=Axis.Z) + +debug(test, name="Rectangle") +debug(test2, name="split") +show_object(p, name="calosc") + +export_step(p.part, "/home/pali112/Build123d/debug.step") diff --git a/test.py b/test.py new file mode 100644 index 0000000..553df07 --- /dev/null +++ b/test.py @@ -0,0 +1,11 @@ +from build123d import * + + +with BuildPart() as p: + Box(40, 30, 20) + with Locations((40, 50)): + Box(20, 30, 20) + + +export_step(p.part, "/home/pali112/Build123d/debug.step") +show_object(p)