Docs reorganization & new Tips section

This commit is contained in:
Roger Maitland 2023-04-20 11:41:09 -04:00
parent ef35afa085
commit 9c093f569c
8 changed files with 43 additions and 33 deletions

View file

@ -5,10 +5,8 @@ Advanced Topics
.. toctree::
:maxdepth: 2
assemblies.rst
algebra_performance.rst
location_arithmetic.rst
algebra_definition.rst
center.rst
custom.rst
debugging_logging.rst

View file

@ -71,6 +71,8 @@ and now the screw is part of the assembly.
├── outer hinge Hinge at 0x7fc9292c3f40, Location(p=(-150, 60, 50), o=(90, 0, 90))
└── M6 screw Compound at 0x7fc8ee235310, Location(p=(-157, -40, 70), o=(-0, -90, -60))
.. _shallow_copy:
*********************************
Shallow vs. Deep Copies of Shapes
*********************************

View file

@ -33,32 +33,6 @@ by the ``mode=Mode.SUBTRACT`` parameter thus creating a hole.
.. image:: assets/general_ex2.svg
:align: center
************
2D before 3D
************
When creating complex 3D objects, it is generally best to start with 2D work before
moving on to 3D. This is because 3D structures are much more intricate, and 3D operations
can be slower and more prone to failure. For designers who come from a Constructive Solid
Geometry (CSG) background, such as OpenSCAD, this approach may seem counterintuitive. On
the other hand, designers from a GUI BREP CAD background, like Fusion 360 or SolidWorks,
may find this approach more natural.
In practice, this means that 3D objects are often created by applying operations like
:func:`~operations_part.extrude` or :func:`~operations_part.revolve` to 2D sketches, as shown below:
.. code:: python
with BuildPart() as my_part:
with BuildSketch() as part_profile:
...
extrude(amount=some_distance)
...
With this structure ``part_profile`` may have many objects that are combined and
modified by operations like :func:`~operations_generic.fillet` before being extruded
to a 3D shape.
*******************
Implicit Parameters
*******************

View file

@ -115,7 +115,7 @@ Locating Features
*****************
Within a sketch features are positioned with ``Locations`` contexts
(see :ref:`Location Context <locations>`) on the current workplane(s). The following
(see :ref:`Location Context <location_context_link>`) on the current workplane(s). The following
location contexts are available within a sketch:
* :class:`~build_common.GridLocations` : a X/Y grid of locations

View file

@ -1,3 +0,0 @@
###################################
Custom Builder Objects & Operations
###################################

View file

@ -101,6 +101,8 @@ Table Of Contents
objects.rst
operations.rst
builders.rst
assemblies.rst
tips.rst
advanced.rst
cheat_sheet.rst
external.rst

View file

@ -23,6 +23,7 @@ They are organized from simple to complex, so working through them in order is t
:backlinks: entry
.. _ex 1:
1. Simple Rectangular Plate
---------------------------------------------------
@ -45,6 +46,7 @@ Just about the simplest possible example, a rectangular :class:`~objects_part.Bo
.. _ex 2:
2. Plate with Hole
---------------------------------------------------
@ -75,6 +77,7 @@ A rectangular box, but with a hole added.
.. _ex 3:
3. An extruded prismatic solid
---------------------------------------------------
@ -104,6 +107,7 @@ Build a prismatic solid using extrusion.
.. _ex 4:
4. Building Profiles using lines and arcs
---------------------------------------------------
@ -139,6 +143,7 @@ variables for the line segments, but it will be useful in a later example.
Note that to build a closed face it requires line segments that form a closed shape.
.. _ex 5:
5. Moving the current working point
---------------------------------------------------
@ -167,6 +172,7 @@ Note that to build a closed face it requires line segments that form a closed sh
.. _ex 6:
6. Using Point Lists
---------------------------------------------------
@ -198,6 +204,7 @@ Sometimes you need to create a number of features at various
.. _ex 7:
7. Polygons
---------------------------------------------------
@ -224,6 +231,7 @@ Sometimes you need to create a number of features at various
.. _ex 8:
8. Polylines
---------------------------------------------------
@ -249,6 +257,7 @@ create the final profile.
.. _ex 9:
9. Selectors, Fillets, and Chamfers
---------------------------------------------------
@ -278,6 +287,7 @@ be the highest z-dimension group.
.. _ex 10:
10. Select Last and Hole
---------------------------------------------------
@ -308,6 +318,7 @@ be the highest z-dimension group.
.. _ex 11:
11. Use a face as a plane for BuildSketch and introduce GridLocations
----------------------------------------------------------------------------
@ -351,6 +362,7 @@ normal direction of the face or plane. As a result of this, unexpected behavior
if the extrude direction and mode/operation (ADD / ``+`` or SUBTRACT / ``-``) are not correctly set.
.. _ex 12:
12. Defining an Edge with a Spline
---------------------------------------------------
@ -376,6 +388,7 @@ The star ``*`` operator is again used to unpack the list.
.. _ex 13:
13. CounterBoreHoles, CounterSinkHoles and PolarLocations
-------------------------------------------------------------
@ -404,6 +417,7 @@ Counter-sink and counter-bore holes are useful for creating recessed areas for f
:class:`~build_common.PolarLocations` creates a list of points that are radially distributed.
.. _ex 14:
14. Position on a line with '\@', '\%' and introduce Sweep
------------------------------------------------------------
@ -443,6 +457,7 @@ It is also possible to use :class:`~geometry.Vector` addition (and other vector
as seen in the ``l3`` variable.
.. _ex 15:
15. Mirroring Symmetric Geometry
---------------------------------------------------
@ -469,6 +484,7 @@ Additionally the '@' operator is used to simplify the line segment commands.
:end-before: [Ex. 15]
.. _ex 16:
16. Mirroring 3D Objects
---------------------------------------------------
@ -492,6 +508,7 @@ The ``Plane.offset()`` method shifts the plane in the normal direction (positive
.. _ex 17:
17. Mirroring From Faces
---------------------------------------------------
@ -515,6 +532,7 @@ Here we select the farthest face in the Y-direction and turn it into a :class:`~
.. _ex 18:
18. Creating Workplanes on Faces
---------------------------------------------------
@ -542,6 +560,7 @@ with a negative distance.
.. _ex 19:
19. Locating a workplane on a vertex
---------------------------------------------------
@ -575,6 +594,7 @@ this custom Axis.
.. _ex 20:
20. Offset Sketch Workplane
---------------------------------------------------
@ -598,6 +618,7 @@ negative x-direction. The resulting Plane is offset from the original position.
.. _ex 21:
21. Create a Workplanes in the center of another shape
-------------------------------------------------------
@ -621,6 +642,7 @@ positioning another cylinder perpendicular and halfway along the first.
.. _ex 22:
22. Rotated Workplanes
---------------------------------------------------
@ -651,6 +673,7 @@ extruded in the "both" (positive and negative) normal direction.
.. _ex 23:
23. Revolve
---------------------------------------------------
@ -679,6 +702,7 @@ It is highly recommended to view your sketch before you attempt to call revolve.
.. _ex 24:
24. Loft
---------------------------------------------------
@ -704,6 +728,7 @@ Loft can behave unexpectedly when the input faces are not parallel to each other
.. _ex 25:
25. Offset Sketch
---------------------------------------------------
@ -731,6 +756,7 @@ corners (see :class:`~build_enums.Kind` in the Offset docs).
.. _ex 26:
26. Offset Part To Create Thin features
---------------------------------------------------
@ -758,6 +784,7 @@ Note that self intersecting edges and/or faces can break both 2D and 3D offsets.
.. _ex 27:
27. Splitting an Object
---------------------------------------------------
@ -781,6 +808,7 @@ a face and offset half the width of the box.
.. _ex 28:
28. Locating features based on Faces
---------------------------------------------------
@ -808,6 +836,7 @@ We are able to create multiple workplanes by looping over the list of faces.
.. _ex 29:
29. The Classic OCC Bottle
---------------------------------------------------
@ -832,6 +861,7 @@ the bottle opening.
.. _ex 30:
30. Bezier Curve
---------------------------------------------------
@ -856,6 +886,7 @@ create a closed line that is made into a face and extruded.
.. _ex 31:
31. Nesting Locations
---------------------------------------------------
@ -880,6 +911,7 @@ rotates any "children" groups by default.
.. _ex 32:
32. Python For-Loop
---------------------------------------------------
@ -907,6 +939,7 @@ separate calls to :meth:`~operations_part.extrude`.
.. _ex 33:
33. Python Function and For-Loop
---------------------------------------------------
@ -935,6 +968,7 @@ progressively modify the size of each square.
.. _ex 34:
34. Embossed and Debossed Text
---------------------------------------------------
@ -965,6 +999,7 @@ progressively modify the size of each square.
.. _ex 35:
35. Slots
---------------------------------------------------
@ -992,6 +1027,7 @@ progressively modify the size of each square.
.. _ex 36:
36. Extrude Until
---------------------------------------------------

View file

@ -117,7 +117,8 @@ This is the result:
.. image:: boxes_on_faces.svg
:align: center
.. _locations:
.. _location_context_link:
Location Context
================