From 5b8f0e94c830be85bf13389f4cad704dbfe0c771 Mon Sep 17 00:00:00 2001 From: gumyr Date: Fri, 26 Jul 2024 11:51:49 -0400 Subject: [PATCH] Added a surface modeling tutorial --- docs/_static/heart_token.glb | 1 + docs/assets/token_half_surface.png | Bin 0 -> 22049 bytes docs/assets/token_heart_perimeter.png | Bin 0 -> 15960 bytes docs/assets/token_heart_solid.png | Bin 0 -> 55270 bytes docs/assets/token_sides.png | Bin 0 -> 26762 bytes docs/key_concepts.rst | 2 + docs/tutorial_surface_modeling.rst | 151 ++++++++++++++++++++++++++ docs/tutorials.rst | 1 + 8 files changed, 155 insertions(+) create mode 100644 docs/_static/heart_token.glb create mode 100644 docs/assets/token_half_surface.png create mode 100644 docs/assets/token_heart_perimeter.png create mode 100644 docs/assets/token_heart_solid.png create mode 100644 docs/assets/token_sides.png create mode 100644 docs/tutorial_surface_modeling.rst diff --git a/docs/_static/heart_token.glb b/docs/_static/heart_token.glb new file mode 100644 index 00000000..61b550a4 --- /dev/null +++ b/docs/_static/heart_token.glb @@ -0,0 +1 @@ +{"accessors":[{"bufferView":0,"byteOffset":0,"componentType":5126,"count":24,"max":[-7.105427357601002e-18,0.006913104915604911,0.002],"min":[-0.009436234540229034,-0.0036398224847742895,-0.002],"type":"VEC3"},{"bufferView":0,"byteOffset":288,"componentType":5126,"count":24,"max":[0.009436234540229023,0.0069131049156049158,0.002],"min":[-7.105427357601002e-18,-0.0036398224847742895,-0.002],"type":"VEC3"},{"bufferView":0,"byteOffset":576,"componentType":5126,"count":292,"max":[0.01198149810812791,0.01857053825460047,-0.0019999999999999998],"min":[-0.01198149810812791,-0.0036398224847742895,-0.002],"type":"VEC3"},{"bufferView":0,"byteOffset":4080,"componentType":5126,"count":126,"max":[-0.0019938355257575945,0.01857053825460047,0.002],"min":[-0.01198149810812791,0.006913104915604911,-0.002],"type":"VEC3"},{"bufferView":0,"byteOffset":5592,"componentType":5126,"count":292,"max":[0.01198149810812791,0.01857053825460047,0.002],"min":[-0.01198149810812791,-0.003639822484774289,0.0019999999999999998],"type":"VEC3"},{"bufferView":0,"byteOffset":9096,"componentType":5126,"count":126,"max":[0.01198149810812791,0.01857053825460047,0.002],"min":[0.001993835525757599,0.0069131049156049158,-0.002],"type":"VEC3"},{"bufferView":0,"byteOffset":10608,"componentType":5126,"count":4,"max":[4.440892098500626e-19,0.017556842459256918,0.002],"min":[-0.0019938355257575945,0.016288471659604506,-0.002],"type":"VEC3"},{"bufferView":0,"byteOffset":10656,"componentType":5126,"count":4,"max":[0.001993835525757599,0.017556842459256918,0.002],"min":[4.440892098500626e-19,0.016288471659604506,-0.002],"type":"VEC3"},{"bufferView":0,"byteOffset":10704,"componentType":5126,"count":20,"max":[0.008219755366121646,0.008500611897940111,-0.0005],"min":[0.0,3.1086244689504385e-18,-0.002],"type":"VEC3"},{"bufferView":0,"byteOffset":10944,"componentType":5126,"count":126,"max":[0.00998186091312856,0.016571142671090886,-0.0005],"min":[0.0030673252791798804,0.008500611897940111,-0.002],"type":"VEC3"},{"bufferView":0,"byteOffset":12456,"componentType":5126,"count":4,"max":[0.0030673252791798804,0.015869353274314578,-0.0005],"min":[0.0,0.013918086097615449,-0.002],"type":"VEC3"},{"bufferView":0,"byteOffset":12504,"componentType":5126,"count":4,"max":[0.0,0.015869353274314578,-0.0005],"min":[-0.0030673252791798804,0.013918086097615449,-0.002],"type":"VEC3"},{"bufferView":0,"byteOffset":12552,"componentType":5126,"count":126,"max":[-0.0030673252791798804,0.016571142671090886,-0.0005],"min":[-0.00998186091312856,0.008500611897940111,-0.002],"type":"VEC3"},{"bufferView":0,"byteOffset":14064,"componentType":5126,"count":20,"max":[0.0,0.008500611897940111,-0.0005],"min":[-0.008219755366121646,3.1086244689504385e-18,-0.002],"type":"VEC3"},{"bufferView":0,"byteOffset":14304,"componentType":5126,"count":20,"max":[0.008219755366121646,0.008500611897940111,0.002],"min":[0.0,3.1086244689504385e-18,0.0005],"type":"VEC3"},{"bufferView":0,"byteOffset":14544,"componentType":5126,"count":126,"max":[0.00998186091312856,0.016571142671090886,0.002],"min":[0.0030673252791798804,0.008500611897940111,0.0004999999999999999],"type":"VEC3"},{"bufferView":0,"byteOffset":16056,"componentType":5126,"count":4,"max":[0.0030673252791798804,0.015869353274314578,0.002],"min":[0.0,0.013918086097615449,0.0005],"type":"VEC3"},{"bufferView":0,"byteOffset":16104,"componentType":5126,"count":4,"max":[0.0,0.015869353274314578,0.002],"min":[-0.0030673252791798804,0.013918086097615449,0.0005],"type":"VEC3"},{"bufferView":0,"byteOffset":16152,"componentType":5126,"count":126,"max":[-0.0030673252791798804,0.016571142671090886,0.002],"min":[-0.00998186091312856,0.008500611897940111,0.0004999999999999999],"type":"VEC3"},{"bufferView":0,"byteOffset":17664,"componentType":5126,"count":20,"max":[0.0,0.008500611897940111,0.002],"min":[-0.008219755366121646,3.1086244689504385e-18,0.0005],"type":"VEC3"},{"bufferView":0,"byteOffset":17904,"componentType":5126,"count":691,"max":[0.00998186091312856,0.016571142671090886,-0.0005],"min":[0.0,3.1086244689504385e-18,-0.002127444137200837],"type":"VEC3"},{"bufferView":0,"byteOffset":26196,"componentType":5126,"count":691,"max":[4.1928858097199226e-19,0.016571142671090886,-0.0005],"min":[-0.00998186091312856,3.1086244689504385e-18,-0.002127444137200837],"type":"VEC3"},{"bufferView":0,"byteOffset":34488,"componentType":5126,"count":691,"max":[0.00998186091312856,0.016571142671090886,0.0021274441372008368],"min":[0.0,3.1086244689504385e-18,0.0004999999999999999],"type":"VEC3"},{"bufferView":0,"byteOffset":42780,"componentType":5126,"count":691,"max":[4.1928858097199226e-19,0.016571142671090886,0.0021274441372008368],"min":[-0.00998186091312856,3.1086244689504385e-18,0.0004999999999999999],"type":"VEC3"},{"bufferView":1,"byteOffset":0,"componentType":5126,"count":24,"type":"VEC3"},{"bufferView":1,"byteOffset":288,"componentType":5126,"count":24,"type":"VEC3"},{"bufferView":1,"byteOffset":576,"componentType":5126,"count":292,"type":"VEC3"},{"bufferView":1,"byteOffset":4080,"componentType":5126,"count":126,"type":"VEC3"},{"bufferView":1,"byteOffset":5592,"componentType":5126,"count":292,"type":"VEC3"},{"bufferView":1,"byteOffset":9096,"componentType":5126,"count":126,"type":"VEC3"},{"bufferView":1,"byteOffset":10608,"componentType":5126,"count":4,"type":"VEC3"},{"bufferView":1,"byteOffset":10656,"componentType":5126,"count":4,"type":"VEC3"},{"bufferView":1,"byteOffset":10704,"componentType":5126,"count":20,"type":"VEC3"},{"bufferView":1,"byteOffset":10944,"componentType":5126,"count":126,"type":"VEC3"},{"bufferView":1,"byteOffset":12456,"componentType":5126,"count":4,"type":"VEC3"},{"bufferView":1,"byteOffset":12504,"componentType":5126,"count":4,"type":"VEC3"},{"bufferView":1,"byteOffset":12552,"componentType":5126,"count":126,"type":"VEC3"},{"bufferView":1,"byteOffset":14064,"componentType":5126,"count":20,"type":"VEC3"},{"bufferView":1,"byteOffset":14304,"componentType":5126,"count":20,"type":"VEC3"},{"bufferView":1,"byteOffset":14544,"componentType":5126,"count":126,"type":"VEC3"},{"bufferView":1,"byteOffset":16056,"componentType":5126,"count":4,"type":"VEC3"},{"bufferView":1,"byteOffset":16104,"componentType":5126,"count":4,"type":"VEC3"},{"bufferView":1,"byteOffset":16152,"componentType":5126,"count":126,"type":"VEC3"},{"bufferView":1,"byteOffset":17664,"componentType":5126,"count":20,"type":"VEC3"},{"bufferView":1,"byteOffset":17904,"componentType":5126,"count":691,"type":"VEC3"},{"bufferView":1,"byteOffset":26196,"componentType":5126,"count":691,"type":"VEC3"},{"bufferView":1,"byteOffset":34488,"componentType":5126,"count":691,"type":"VEC3"},{"bufferView":1,"byteOffset":42780,"componentType":5126,"count":691,"type":"VEC3"},{"bufferView":2,"byteOffset":0,"componentType":5123,"count":66,"type":"SCALAR"},{"bufferView":2,"byteOffset":132,"componentType":5123,"count":66,"type":"SCALAR"},{"bufferView":2,"byteOffset":264,"componentType":5123,"count":876,"type":"SCALAR"},{"bufferView":2,"byteOffset":2016,"componentType":5123,"count":372,"type":"SCALAR"},{"bufferView":2,"byteOffset":2760,"componentType":5123,"count":876,"type":"SCALAR"},{"bufferView":2,"byteOffset":4512,"componentType":5123,"count":372,"type":"SCALAR"},{"bufferView":2,"byteOffset":5256,"componentType":5123,"count":6,"type":"SCALAR"},{"bufferView":2,"byteOffset":5268,"componentType":5123,"count":6,"type":"SCALAR"},{"bufferView":2,"byteOffset":5280,"componentType":5123,"count":54,"type":"SCALAR"},{"bufferView":2,"byteOffset":5388,"componentType":5123,"count":372,"type":"SCALAR"},{"bufferView":2,"byteOffset":6132,"componentType":5123,"count":6,"type":"SCALAR"},{"bufferView":2,"byteOffset":6144,"componentType":5123,"count":6,"type":"SCALAR"},{"bufferView":2,"byteOffset":6156,"componentType":5123,"count":372,"type":"SCALAR"},{"bufferView":2,"byteOffset":6900,"componentType":5123,"count":54,"type":"SCALAR"},{"bufferView":2,"byteOffset":7008,"componentType":5123,"count":54,"type":"SCALAR"},{"bufferView":2,"byteOffset":7116,"componentType":5123,"count":372,"type":"SCALAR"},{"bufferView":2,"byteOffset":7860,"componentType":5123,"count":6,"type":"SCALAR"},{"bufferView":2,"byteOffset":7872,"componentType":5123,"count":6,"type":"SCALAR"},{"bufferView":2,"byteOffset":7884,"componentType":5123,"count":372,"type":"SCALAR"},{"bufferView":2,"byteOffset":8628,"componentType":5123,"count":54,"type":"SCALAR"},{"bufferView":2,"byteOffset":8736,"componentType":5123,"count":3873,"type":"SCALAR"},{"bufferView":2,"byteOffset":16484,"componentType":5123,"count":3873,"type":"SCALAR"},{"bufferView":2,"byteOffset":24232,"componentType":5123,"count":3873,"type":"SCALAR"},{"bufferView":2,"byteOffset":31980,"componentType":5123,"count":3873,"type":"SCALAR"}],"asset":{"generator":"Open CASCADE Technology 7.7 [dev.opencascade.org]","version":"2.0"},"bufferViews":[{"buffer":0,"byteLength":51072,"byteOffset":0,"byteStride":12,"target":34962},{"buffer":0,"byteLength":51072,"byteOffset":51072,"byteStride":12,"target":34962},{"buffer":0,"byteLength":39728,"byteOffset":102144,"target":34963}],"buffers":[{"byteLength":141872,"uri":"heart_token.bin"}],"materials":[{"name":"mat_0","pbrMetallicRoughness":{"baseColorFactor":[0.6000000238418579,0.0,0.0,1.0]},"doubleSided":true}],"meshes":[{"name":"COMPOUND","primitives":[{"attributes":{"NORMAL":24,"POSITION":0},"indices":48,"material":0,"mode":4},{"attributes":{"NORMAL":25,"POSITION":1},"indices":49,"material":0,"mode":4},{"attributes":{"NORMAL":26,"POSITION":2},"indices":50,"material":0,"mode":4},{"attributes":{"NORMAL":27,"POSITION":3},"indices":51,"material":0,"mode":4},{"attributes":{"NORMAL":28,"POSITION":4},"indices":52,"material":0,"mode":4},{"attributes":{"NORMAL":29,"POSITION":5},"indices":53,"material":0,"mode":4},{"attributes":{"NORMAL":30,"POSITION":6},"indices":54,"material":0,"mode":4},{"attributes":{"NORMAL":31,"POSITION":7},"indices":55,"material":0,"mode":4},{"attributes":{"NORMAL":32,"POSITION":8},"indices":56,"material":0,"mode":4},{"attributes":{"NORMAL":33,"POSITION":9},"indices":57,"material":0,"mode":4},{"attributes":{"NORMAL":34,"POSITION":10},"indices":58,"material":0,"mode":4},{"attributes":{"NORMAL":35,"POSITION":11},"indices":59,"material":0,"mode":4},{"attributes":{"NORMAL":36,"POSITION":12},"indices":60,"material":0,"mode":4},{"attributes":{"NORMAL":37,"POSITION":13},"indices":61,"material":0,"mode":4},{"attributes":{"NORMAL":38,"POSITION":14},"indices":62,"material":0,"mode":4},{"attributes":{"NORMAL":39,"POSITION":15},"indices":63,"material":0,"mode":4},{"attributes":{"NORMAL":40,"POSITION":16},"indices":64,"material":0,"mode":4},{"attributes":{"NORMAL":41,"POSITION":17},"indices":65,"material":0,"mode":4},{"attributes":{"NORMAL":42,"POSITION":18},"indices":66,"material":0,"mode":4},{"attributes":{"NORMAL":43,"POSITION":19},"indices":67,"material":0,"mode":4},{"attributes":{"NORMAL":44,"POSITION":20},"indices":68,"material":0,"mode":4},{"attributes":{"NORMAL":45,"POSITION":21},"indices":69,"material":0,"mode":4},{"attributes":{"NORMAL":46,"POSITION":22},"indices":70,"material":0,"mode":4},{"attributes":{"NORMAL":47,"POSITION":23},"indices":71,"material":0,"mode":4}]}],"nodes":[{"rotation":[-0.7071067811865475,0.0,0.0,0.7071067811865475],"mesh":0,"name":"=>[0:1:1:2]"}],"scene":0,"scenes":[{"nodes":[0]}]} \ No newline at end of file diff --git a/docs/assets/token_half_surface.png b/docs/assets/token_half_surface.png new file mode 100644 index 0000000000000000000000000000000000000000..c049ac844f94c12cdc8717ca4f1d703feacb0cc6 GIT binary patch literal 22049 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 literal 0 HcmV?d00001 diff --git a/docs/assets/token_heart_perimeter.png b/docs/assets/token_heart_perimeter.png new file mode 100644 index 0000000000000000000000000000000000000000..153228bfccf1533152a3bbd9233293737dd178ea GIT binary patch literal 15960 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 E0fo{ccK`qY literal 0 HcmV?d00001 diff --git a/docs/assets/token_heart_solid.png b/docs/assets/token_heart_solid.png new file mode 100644 index 0000000000000000000000000000000000000000..8ed171a224558014f2ec298757ccfe31868d8b82 GIT binary patch literal 55270 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 literal 0 HcmV?d00001 diff --git a/docs/assets/token_sides.png b/docs/assets/token_sides.png new file mode 100644 index 0000000000000000000000000000000000000000..1c2dd7b304ed5e8860bdea3d2c9c8ccf6be604ec GIT binary patch literal 26762 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 + + +There are several methods of the :class:`~topology.Face` class that can be used to create +non-planar surfaces: +- :meth:`~topology.Face.make_bezier_surface`, +- :meth:`~topology.Face.make_surface`, and +- :meth:`~topology.Face.make_surface_from_array_of_points`. + +In this case, we'll use the ``make_surface`` method, providing it with the edges that define +the perimeter of the surface and a central point on that surface. + +To create the perimeter, we'll use a ``BuildLine`` instance as follows. Since the heart is +symmetric, we'll only create half of its surface here: + +.. code-block:: python + + with BuildLine() as heart_half: + l1 = JernArc((0, 0), (1, 1.4), 40, -17) + l2 = JernArc(l1 @ 1, l1 % 1, 4.5, 175) + l3 = IntersectingLine(l2 @ 1, l2 % 1, other=Edge.make_line((0, 0), (0, 20))) + l4 = ThreePointArc(l3 @ 1, Vector(0, 0, 1.5) + (l3 @ 1 + l1 @ 0) / 2, l1 @ 0) + +Note that ``l4`` is not in the same plane as the other lines; it defines the center line +of the heart and archs up off ``Plane.XY``. + +.. image:: ./assets/token_heart_perimeter.png + :align: center + :alt: token perimeter + +In preparation for creating the surface, we'll define a point on the surface: + +.. code-block:: python + + surface_pnt = l2.edge().arc_center + Vector(0, 0, 1.5) + +We will then use this point to create a non-planar ``Face``: + +.. code-block:: python + + top_right_surface = -Face.make_surface(heart_half.wire(), [surface_pnt]).locate( + Pos(Z=0.5) + ) + +.. image:: ./assets/token_heart_perimeter.png + :align: center + :alt: token perimeter + +Note that the surface was raised up by 0.5 using the locate method. Also, note that +the ``-`` in front of ``Face`` simply flips the face normal so that the colored side +is up, which isn't necessary but helps with viewing. + +Now that one half of the top of the heart has been created, the remainder of the top +and bottom can be created by mirroring: + +.. code-block:: python + + top_left_surface = top_right_surface.mirror(Plane.YZ) + bottom_right_surface = top_right_surface.mirror(Plane.XY) + bottom_left_surface = -top_left_surface.mirror(Plane.XY) + +The sides of the heart are going to be created by extruding the outside of the perimeter +as follows: + +.. code-block:: python + + left_wire = Wire([l3.edge(), l2.edge(), l1.edge()]) + left_side = Face.extrude(left_wire, (0, 0, 1)).locate(Pos(Z=-0.5)) + right_side = left_side.mirror(Plane.YZ) + +.. image:: ./assets/token_sides.png + :align: center + :alt: token sides + +With the top, bottom, and sides, the complete boundary of the object is defined. We can +now put them together, first into a :class:`~topology.Shell` and then into a +:class:`~topology.Solid`: + +.. code-block:: python + + heart = Solid( + Shell( + [ + top_right_surface, + top_left_surface, + bottom_right_surface, + bottom_left_surface, + left_side, + right_side, + ] + ) + ) + +.. image:: ./assets/token_heart_solid.png + :align: center + :alt: token heart solid + +Finally, we'll create the frame around the heart as a simple extrusion of a planar +shape defined by the perimeter of the heart and merge all of the components together: + + .. code-block:: python + + with BuildPart() as heart_token: + with BuildSketch() as outline: + with BuildLine(): + add(l1) + add(l2) + add(l3) + Line(l3 @ 1, l1 @ 0) + make_face() + mirror(about=Plane.YZ) + center = outline.sketch + offset(amount=2, kind=Kind.INTERSECTION) + add(center, mode=Mode.SUBTRACT) + extrude(amount=2, both=True) + add(heart) + +Note that an additional planar line is used to close ``l1`` and ``l3`` so a ``Face`` +can be created. The :func:`~operations_generic.offset` function defines the outside of +the frame as a constant distance from the heart itself. + +Certainly! Here is a summary of the tutorial: + +Summary +------- + +In this tutorial, we've explored surface modeling techniques to create a non-planar +heart-shaped object using Build123d. By utilizing methods from the :class:`~topology.Face` +class, such as :meth:`~topology.Face.make_surface`, we constructed the perimeter and +central point of the surface. We then assembled the complete boundary of the object +by creating the top, bottom, and sides, and combined them into a :class:`~topology.Shell` +and eventually a :class:`~topology.Solid`. Finally, we added a frame around the heart +using the :func:`~operations_generic.offset` function to maintain a constant distance +from the heart. \ No newline at end of file diff --git a/docs/tutorials.rst b/docs/tutorials.rst index 5f8a1a95..caf75d7f 100644 --- a/docs/tutorials.rst +++ b/docs/tutorials.rst @@ -14,3 +14,4 @@ as later tutorials build on the concepts introduced in earlier ones. tutorial_joints.rst examples_1.rst tttt.rst + tutorial_surface_modeling.rst