Skip to content

Python 3D mesh planar cross-section with fixes for Python3 compatibility. Original Python2 repository at:

License

Notifications You must be signed in to change notification settings

demansou/meshcut_python3

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

meshcut - Python utilities to slice 3D triangular meshes

For now, this computes the planar cross-section of a 3D mesh.

Given a 3D mesh and a cut plane, this computes a (set of) polyline(s) that results from cutting the mesh with the plane.

Requires python and numpy. Mayavi is used for visualisation in the examples.

Usage

Run the examples with

python examples/cross_section.py

Given

In [17]: verts
Out[17]:
array([[ 1.6315   , -0.1505   ,  0.       ],
       [ 1.6376   , -0.1516   ,  0.       ],
       [ 1.6493   , -0.1518   ,  0.       ],
       ...,
       [ 1.62088  , -0.0263264, -0.0716966],
       [ 1.63381  , -0.0500889,  0.0726852],
       [ 1.63381  , -0.0500889, -0.0726852]])

In [20]: faces
Out[20]:
array([[1530, 1337, 1338],
       [4549, 4725, 4548],
       [2940, 2950, 3787],
       ...,
       [3107, 3438, 3439],
       [2263, 2281, 2262],
       [3116, 3119, 4171]])

In [21]: meshcut.cross_section(verts, faces, plane_orig=(1.2, -0.125, 0),
   ....:                       plane_normal=(1, 0, 0))
Out[21]:
[array([[  1.20000000e+00,  -1.28957692e-01,  -1.02180769e-01],
        [  1.20000000e+00,  -1.37182869e-01,  -8.06541833e-02],
        [  1.20000000e+00,  -1.36863816e-01,  -6.95125000e-02],

screenshot.png

Thanks

Thanks to @superzanti for the STL use case and the sphere model.

Authors

Julien Rebetez

About

Python 3D mesh planar cross-section with fixes for Python3 compatibility. Original Python2 repository at:

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%