Pythonic IGES reader
Project description
Python IGES reader with basic functionality to read an IGES file and convert some entities to a pyvista or vtk mesh.
This module can read in and perform basic parsing of all entities and can perform additional parsing and geometry visualization of the following entities:
Vertex List (Type 502 Form 1)
Edge List
Loop (for specifying a bounded face for BREP geometries
Face
Circular arc
Rational B-Spline Surface
Rational B-Spline Curve
Conic Arc (Type 104)
Line
Point
Installation
pyiges is offered in a “full” variant including the conversion features and a “pure” parsing module variant. The pure variant has no conversion features, no dependencies to pyvista,geomdl, and can be installed by removing the [full] specificator from the following commands.
Install with pip using:
pip install pyiges[full]
Otherwise, if you want the bleeding edge version, feel free to clone this repo and install with:
git clone https://github.com/pyvista/pyiges
cd pyiges
pip install .[full]
Note that the square brackets might need to be escaped or quoted when using zsh.
Usage
The pyiges module can read in many entities as raw text, but only NURBS surfaces and bsplines can be converted to pyvista meshes.
import pyiges
from pyiges import examples
# load an example impeller
iges = pyiges.read(examples.impeller)
# print an invidiual entity (boring)
print(iges[0])
# convert all lines to a vtk mesh and plot it
lines = iges.to_vtk(bsplines=True, surfaces=False, merge=True)
lines.plot(color='w', line_width=2)
# convert all surfaces to a vtk mesh and plot it
mesh = iges.to_vtk(bsplines=False, surfaces=True, merge=True, delta=0.05)
mesh.plot(color='w', smooth_shading=True)
# control resolution of the mesh by changing "delta"
# save this surface to file
mesh.save('mesh.ply') # as ply
mesh.save('mesh.stl') # as stl
mesh.save('mesh.vtk') # as vtk
Lines
Surfaces
Acknowledgments
Substantial code was obtained from or inspired by https://github.com/cfinch/IGES-File-Reader
IGES reference definitions were obtained from Eclipse IGES Wiki,
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
File details
Details for the file pyiges-0.3.0.tar.gz
.
File metadata
- Download URL: pyiges-0.3.0.tar.gz
- Upload date:
- Size: 1.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa10adb108c61c54a197b738540518492a9d13a5b9915659bb53eeda660105ea |
|
MD5 | cf14682485b51de32c075c098b5044ac |
|
BLAKE2b-256 | 3039edf141767c69deea046de2af03a26a874994fb63b365af6d1d6aff9dfee8 |
File details
Details for the file pyiges-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: pyiges-0.3.0-py3-none-any.whl
- Upload date:
- Size: 1.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 575efc8390cd3ade1a01bd1318972de481dd3c6c7473cb0f7af3cc4c95cadb51 |
|
MD5 | 7bdfdb9ce5976f3185a3cb84b7c068ff |
|
BLAKE2b-256 | 6b2bd1edb4bed59f812c3009044d292840f88f65c1040e4ba535361c9addde89 |