ABS geometry processing toolkit for CAD models.
Reason this release was yanked:
Old Readme, We modularised the package into 2 packages for better usability
Project description
Better Step
Description
Better Step is an open‑source project that unlocks CAD data by converting proprietary STEP files into an open, HDF5‑based format. This approach enables efficient processing on large‑scale computing clusters—eliminating expensive per‑node licenses and opening up CAD data for research and industrial applications.
Key Features
- Modular Architecture: The project is structured into distinct modules such as geometry, topology, and sampling, promoting maintainability and scalability.
- Advanced Geometric Entities: Supports handling and manipulation of complex geometric shapes, curves, and surfaces.
- Sophisticated Sampling Techniques: Implements various sampling methods, with a focus on Poisson disk sampling, tailored for mesh data.
- Topology Integration: Seamlessly integrates geometric data with topological structures for comprehensive mesh analysis.
- HDF5 Data Handling: Optimized for working with HDF5 file format, ensuring efficient storage and retrieval of large mesh datasets.
Key Features
- Open Format: Converts proprietary CAD files into an accessible HDF5 format.
- Comprehensive Representation: Captures both geometry (curves, surfaces) and topology (solids, shells, faces, loops) of CAD models.
- Robust Sampling Methods: Provides reliable methods for sampling points, computing normals, detecting sharp features, and generating point clouds for machine learning.
- Extensible API: Designed to integrate seamlessly into Python workflows.
- Command‑Line Interface (CLI): Supports batch processing and pipeline integration.
Installation
Prerequisites
- Python: Version 3.7 or later.
- Dependencies: HDF5 libraries (via the
h5pypackage) and other dependencies listed inrequirements.txt.
Via PyPI
Install the package directly from PyPI using pip:
pip install hdf5_mesh_sampler
From Source
-
Clone the Repository:
git clone https://github.com/yourusername/better-step.git cd better-step
-
Install Dependencies:
pip install -r requirements.txt
-
Install the Package:
python setup.py install
Tip: It is recommended to use a virtual environment for isolated installations.
Usage
Better Step provides both a Python API and a command‑line interface for processing CAD data.
Python API Example
Load a CAD model and sample its geometry:
from hdf5_mesh_sampler import Shape_archive
from hdf5_mesh_sampler.sampling import surface_sampler
# Load an HDF5 file containing CAD data
shape = Shape_archive.load("data/sample_hdf5/Box.hdf5")
print("Loaded shape:", shape)
# Sample the surface with a specified resolution
samples = surface_sampler.sample(shape, resolution=0.1)
print("Sampled points:", samples)
Command‑Line Interface
Process files in batch mode using the CLI:
python -m hdf5_mesh_sampler.cli --input data/sample_hdf5/Box.hdf5 --output output_directory
For more usage details, please refer to the Usage page in our documentation.
Documentation
Detailed documentation is available on our website. It includes:
- Installation Guide
- Usage Examples
- API Documentation: Covers modules like Geometry, Topology, Sampling, and Visualization.
- FAQ, Changelog, Contributing Guidelines, and More
Visit our website: better-step.github.io
Contributing
Contributions are welcome! Please follow these guidelines:
-
Fork the Repository: Click the "Fork" button on GitHub.
-
Clone Your Fork Locally:
git clone https://github.com/yourusername/better-step.git cd better-step
-
Create a Branch:
git checkout -b feature/your-feature-name
-
Make Your Changes: Ensure your code follows our coding standards (PEP 8) and include docstrings and tests where applicable.
-
Commit and Push:
git add . git commit -m "Add feature: [description]" git push origin feature/your-feature-name
-
Submit a Pull Request: Open a pull request on GitHub with a clear description of your changes.
Note: Please also review our Code of Conduct before contributing.
License
- Python bindings, packaging scripts, tests – MIT License (see
LICENSE-MIT) - Embedded C++ core – Mozilla Public License 2.0 (see
LICENSE-MPL-2.0)
Acknowledgments
Better Step is developed and maintained by a dedicated team. For a complete list of contributors, please see the Authors page.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file abs_hdf5-0.1.0.tar.gz.
File metadata
- Download URL: abs_hdf5-0.1.0.tar.gz
- Upload date:
- Size: 47.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38858c8916473be55a1fc8b8877b110b664012682c12e6d1850d89dd235c05ba
|
|
| MD5 |
3b819194ac1fbe930bd7d086a5c33d57
|
|
| BLAKE2b-256 |
8d1119dc6618b75170a523cb0ead79739f960473a2a281f383a4d4245bb3a802
|
File details
Details for the file abs_hdf5-0.1.0-cp39-cp39-macosx_10_16_x86_64.whl.
File metadata
- Download URL: abs_hdf5-0.1.0-cp39-cp39-macosx_10_16_x86_64.whl
- Upload date:
- Size: 3.8 MB
- Tags: CPython 3.9, macOS 10.16+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0091292ef8f1031d0e011026f80a69f42970c2e52e8b3ce51fdedabd3e2dd3d
|
|
| MD5 |
85e3b336b24d4efab9ba6d9041817cd4
|
|
| BLAKE2b-256 |
1ab2eb611ffbac6eb1ddeaf6fa2762d74fdb978ce7b3fd1334eaaacb7eaff911
|