pyvcad_metamaterials
pyvcad_metamaterials is OpenVCAD's map-first TPMS and graph-lattice package for the version 3 attribute model. Builders return ordinary pyvcad nodes and keep coordinate layout in an immutable CellMap.
import pyvcad as pv
import pyvcad_metamaterials as mm
cell_map = mm.rectangular_cell_map(
(pv.Vec3(-15.0, -15.0, -15.0), pv.Vec3(15.0, 15.0, 15.0)),
cells=(3, 3, 3),
)
gyroid = mm.gyroid(cell_map, wall_thickness=1.2)
octet = mm.octet(cell_map, beam_radius=0.7)
Solver-free geometric characterization is available for any final node and for ideal graph unit cells:
geometry = mm.properties.characterize(
gyroid,
voxel_size=0.4,
periodic_axes="xyz",
)
graph = mm.properties.characterize_graph_cell(
"octet",
cell_size=10.0,
beam_radius=0.7,
)
The reports include relative density, porosity, interface area, hydraulic diameter, directional cross-sections, connectivity, mesh topology, coordination, strut length, and slenderness metrics.
Different topology bodies can share the same conformal coordinates and be clipped into sharp regions with ordinary OpenVCAD Boolean intersections and unions.
CAD-face authoring uses the optional extra:
pip install "pyvcad-metamaterials[cad]"
CadQuery shapes cross into OpenVCAD through pyvcad.CADModel.from_cadquery(...), while raw OCP objects use the optional pyvcad_metamaterials.occ adapter. Both routes use in-memory ASCII BREP data.
See the OpenVCAD guides for rectangular maps, heterogeneous regions, conformal CAD-face maps, paired faces, field-driven warps, explicit world/cell fields, diagnostics, and cell-coordinate attributes.
Release files for pyvcad-metamaterials 3.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyvcad_metamaterials-3.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Release files / pyvcad_metamaterials-3.0.1-py3-none-any.whl
| Download URL | pyvcad_metamaterials-3.0.1-py3-none-any.whl |
|---|---|
| Size | 36.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e0eb49ca3118d72c7017876e67e14084f8acf741846e5815bb9e20c4efd46776
|
|
BLAKE2b-256 checksum How to use checksums |
d5c2eb7b172742d51f6bbc946ec0c153bc7e6d261bcfddf5c5e391c36bfc8b4c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|