mirror of
https://github.com/gumyr/build123d.git
synced 2025-12-06 10:41:20 -08:00
55 lines
2.5 KiB
ReStructuredText
55 lines
2.5 KiB
ReStructuredText
#################
|
||
Surface Modeling
|
||
#################
|
||
|
||
|
||
Surface modeling refers to the direct creation and manipulation of the skin of a 3D
|
||
object—its bounding faces—rather than starting from volumetric primitives or solid
|
||
operations.
|
||
|
||
Instead of defining a shape by extruding or revolving a 2D profile to fill a volume,
|
||
surface modeling focuses on building the individual curved or planar faces that together
|
||
define the outer boundary of a part. This approach allows for precise control of complex
|
||
freeform geometry such as aerodynamic surfaces, boat hulls, or organic transitions that
|
||
cannot easily be expressed with simple parametric solids.
|
||
|
||
In build123d, as in other CAD kernels based on BREP (Boundary Representation) modeling,
|
||
all solids are ultimately defined by their boundaries: a hierarchy of faces, edges, and
|
||
vertices. Each face represents a finite patch of a geometric surface (plane, cylinder,
|
||
Bézier patch, etc.) bounded by one or more edge loops or wires. When adjacent faces share
|
||
edges consistently and close into a continuous boundary, they form a manifold
|
||
:class:`~topology.Shell`—the watertight surface of a volume. If this shell is properly
|
||
oriented and encloses a finite region of space, the model becomes a solid.
|
||
|
||
Surface modeling therefore operates at the most fundamental level of BREP construction.
|
||
Rather than relying on higher-level modeling operations to implicitly generate faces,
|
||
it allows you to construct and connect those faces explicitly. This provides a path to
|
||
build geometry that blends analytical and freeform shapes seamlessly, with full control
|
||
over continuity, tangency, and curvature across boundaries.
|
||
|
||
This section provides:
|
||
- A concise overview of surface‑building tools in build123d
|
||
- Hands‑on tutorials, from fundamentals to advanced techniques like Gordon surfaces
|
||
|
||
.. rubric:: Available surface methods
|
||
|
||
Methods on :class:`~topology.Face` for creating non‑planar surfaces:
|
||
|
||
* :meth:`~topology.Face.make_bezier_surface`
|
||
* :meth:`~topology.Face.make_gordon_surface`
|
||
* :meth:`~topology.Face.make_surface`
|
||
* :meth:`~topology.Face.make_surface_from_array_of_points`
|
||
* :meth:`~topology.Face.make_surface_from_curves`
|
||
* :meth:`~topology.Face.make_surface_patch`
|
||
|
||
.. note::
|
||
Surface modeling is an advanced technique. Robust results usually come from
|
||
reusing the same :class:`~topology.Edge` objects across adjacent faces and
|
||
ensuring the final :class:`~topology.Shell` is *water‑tight* or *manifold* (no gaps).
|
||
|
||
.. toctree::
|
||
:maxdepth: 1
|
||
|
||
tutorial_surface_heart_token.rst
|
||
tutorial_spitfire_wing_gordon.rst
|
||
|