

.. _sphx_glr_examples_03_bridges:

.. _bridges:

Bridges to CAD kernels
======================

Round-trip data between PyVista and the major Python CAD kernels:
build123d, cadquery, raw OCP / TopoDS, gmsh, and trimesh. Each bridge
attaches ``cad.source_format`` to the resulting dataset so the origin is
traceable through downstream pipelines.


.. raw:: html

  <div id='sg-tag-list' class='sphx-glr-tag-list'></div>


.. raw:: html

    <div class="sphx-glr-thumbnails">

.. thumbnail-parent-div-open

.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="Tessellate a build123d solid with OCCT&#x27;s incremental mesher and wrap the result as a pyvista.PolyData. The deflection knobs trade mesh density for accuracy on curved faces.">

.. only:: html

  .. image:: /examples/03_bridges/images/thumb/sphx_glr_from_build123d_box_thumb.png
    :alt:

  :doc:`/examples/03_bridges/from_build123d_box`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">build123d -> PyVista</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="A build123d Compound with labelled children becomes a pyvista.MultiBlock whose block names match the child labels. Per-block cad.label and cad.color field data are preserved.">

.. only:: html

  .. image:: /examples/03_bridges/images/thumb/sphx_glr_from_build123d_compound_thumb.png
    :alt:

  :doc:`/examples/03_bridges/from_build123d_compound`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">build123d Compound -> MultiBlock</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="Convert a cadquery Workplane straight to a pyvista.PolyData by tessellating its underlying OCCT shape.">

.. only:: html

  .. image:: /examples/03_bridges/images/thumb/sphx_glr_from_cadquery_workplane_thumb.png
    :alt:

  :doc:`/examples/03_bridges/from_cadquery_workplane`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">cadquery -> PyVista</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="Wrap a pyvista.PolyData as a build123d Compound of faceted triangles, then push it onward to STEP through build123d&#x27;s native exporter. This is the canonical &quot;scanned mesh into a CAD pipeline&quot; flow.">

.. only:: html

  .. image:: /examples/03_bridges/images/thumb/sphx_glr_to_build123d_thumb.png
    :alt:

  :doc:`/examples/03_bridges/to_build123d`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">PyVista -> build123d</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="Send a tessellated pyvista.PolyData back into the OCCT world as a faceted TopoDS_Compound. Useful when downstream OCCT-based code expects shape objects rather than meshes, e.g. boolean operations or further OCCT-native exports.">

.. only:: html

  .. image:: /examples/03_bridges/images/thumb/sphx_glr_to_topods_thumb.png
    :alt:

  :doc:`/examples/03_bridges/to_topods`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">PyVista -> TopoDS_Compound</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="Push a pyvista.PolyData surface into a gmsh model, then pull the result back as a pyvista.UnstructuredGrid. Use this when you need gmsh&#x27;s remesher, e.g. to clean up a noisy scan or to prepare a surface for a downstream FEA tet-mesher.">

.. only:: html

  .. image:: /examples/03_bridges/images/thumb/sphx_glr_via_gmsh_thumb.png
    :alt:

  :doc:`/examples/03_bridges/via_gmsh`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">gmsh round-trip</div>
    </div>


.. thumbnail-parent-div-close

.. raw:: html

    </div>


.. toctree::
   :hidden:

   /examples/03_bridges/from_build123d_box
   /examples/03_bridges/from_build123d_compound
   /examples/03_bridges/from_cadquery_workplane
   /examples/03_bridges/to_build123d
   /examples/03_bridges/to_topods
   /examples/03_bridges/via_gmsh

