Skip to main content

Complete mesh generation and manipulation package with GUI

Project description

PyMeshIt

PyMeshIt is a complete Python package for mesh generation and manipulation with a full-featured Qt-based GUI. It provides a comprehensive workflow to process point clouds and polylines into conforming surface meshes and tetrahedral meshes.

Note: This version runs entirely in Python without C++ dependencies, making it easier to install and deploy.

Highlights (GUI-driven workflow)

The included GUI (main.py) implements a full MeshIt workflow with the following main tabs:

    1. Load Data — load points, wells (polylines) or VTU/Poly formats; manage multiple datasets and colors.
    1. Convex Hull — compute dataset boundaries (convex or rim for/quasi-planar sheets) with corner detection.
    1. Segmentation — refine hulls by target feature size and per-surface length tables (RefineByLength).
    1. Triangulation — generate surface triangulations with gradient, min-angle, interpolation and uniform options.
    1. Intersections — compute & visualize global surface–surface and polyline–surface intersections; triple point detection.
    1. Refine & Mesh — refine intersection/hull lines, generate conforming surface meshes, constraint selection UI, per-surface mesh density table.
    1. Pre‑Tetramesh — select conforming surfaces, validate for TetGen, manage selection tree for tetrahedralization.
    1. Tetra Mesh — generate and visualize tetrahedral meshes, assign materials, export results.

Installation

From PyPI (Recommended)

pip install triangle
pip install pymeshit # Needs to be fixed

From Source

If you want to install from source:

git clone https://github.com/waqashussain/meshit.git
cd meshit
pip install -e .

Requirements

The package will automatically install all required dependencies:

  • numpy
  • scipy
  • matplotlib
  • PySide6
  • pyvista
  • tetgen
  • triangle (optional)

Quick start (GUI)

After installation, run the GUI:

meshit-gui

Or from Python:

import Pymeshit
Pymeshit.main_wrapper()

Typical workflow:

  1. Load one or more point or VTU files (File → Load).
  2. Compute hulls (Convex Hull tab).
  3. Compute segmentation (Segmentation tab) — set "Target Feature Size" or per-surface values.
  4. Run triangulation (Triangulation tab), choose interpolation and quality settings.
  5. Compute intersections (Intersections tab) to extract shared constraints and triple points.
  6. Refine intersection lines and generate conforming meshes (Refine & Mesh tab).
  7. Select conforming surfaces and validate for TetGen (Pre‑Tetramesh tab).
  8. Generate and visualize tetrahedral mesh (Tetra Mesh tab) and export.

Programmatic Usage

import pymeshit
from pymeshit.intersection_utils import align_intersections_to_convex_hull

# Use pymeshit functions programmatically
# ...

Contributing

Contributions are welcome. Please open an issue for discussion and submit PRs for fixes and features. Keep GUI behavior consistent with the tab-based workflow.

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymeshit-0.3.3.tar.gz (2.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pymeshit-0.3.3-py3-none-any.whl (214.0 kB view details)

Uploaded Python 3

File details

Details for the file pymeshit-0.3.3.tar.gz.

File metadata

  • Download URL: pymeshit-0.3.3.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pymeshit-0.3.3.tar.gz
Algorithm Hash digest
SHA256 b36e3f98384675f3eb9d01a0692a2945a8e392fafd2af8df50a3054f409c1c66
MD5 10cbbc9aed5b1c43829d9b117fd39c03
BLAKE2b-256 8aac60cefea3813c3029426f9f8ce2bdb5783e5f905e6393b42bf2a55fdf8dfa

See more details on using hashes here.

File details

Details for the file pymeshit-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: pymeshit-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 214.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pymeshit-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9a38d623adac005fd03c7471fad276f60e7867368f83c30b2e4fd57894d89a17
MD5 6e55d4657bf8b7a19b511c139260a6ef
BLAKE2b-256 d0bdd2efe824fc35d0b439cd5da9635073e873d2b40cae1e29bc1e77b42eea46

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page