Skip to main content
https://github.com/julienr/meshcut/actions/workflows/checks.yml/badge.svg?branch=master

A python library to compute 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

python3 examples/0_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

Metadata

Release files for meshcut 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for meshcut 0.3.0
File Size Uploaded
meshcut-0.3.0.tar.gz 6.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for meshcut 0.3.0
File Interpreter ABI Platform
meshcut-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.9 kB

Release files / meshcut-0.3.0.tar.gz

Download URL meshcut-0.3.0.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
c07b5ceac38ecd13987cf20aadc099dcfcf7103856ddff7cfd87fa9f05057f21
BLAKE2b-256 checksum
How to use checksums
1d315e38fa16d2f305fbcaff40dac1cd1f6a218b550488ba1abae438bbbb7522
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

Release files / meshcut-0.3.0-py3-none-any.whl

Download URL meshcut-0.3.0-py3-none-any.whl
Size 7.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c9134fdffb6e635cfbfd6bc9f59c8b456f4492f68b6b1431dfc37f9a5ca986dc
BLAKE2b-256 checksum
How to use checksums
783099713e13e6b0fc69e82ff546ea67028224083ed66410ca026f54919262b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.1

2 release files

0.2

2 release files

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page