Catalog PyPI
PACKAGE EXPLORERView in registry

age3d

PyPI

Aging 3D models

Versions collected1
Direct dependencies0From release 0.4.0
Last observed20 Oct, 21:21 UTC

README

Version 0.4.0 documentation

age3d

A Python Library to age 3d models by simulating the effects of weather

Build Status codecov GitHub PyPI Documentation Status

Documentation

Overview

Age3D is a Python Library that allows for eroding of 3d models. It uses the .stl file format and incorporates Open3D functionality, allowing users to simulate material removal.

Features:

  • Simplified Workflow for .stl $\rightarrow$ TriangleMesh $\rightarrow$ PointCloud & BitMask
  • Visualization of TriangleMesh & PointCloud
  • Calculate Metric of TriangleMesh
  • Erosion Method for Aging
    • Customizable Number of Passes of Simulated Erosion Particles
    • Customizable lifetime of Simulated Erosion Particles

Dependencies

age3d requires the open3d Python Library which is installed during libray installation.

Installation

The recommended way to install age3d is through pip.

pip install age3d

Usage

Import the library:

import age3d

Import a .stl model where file_path points to the location:

mesh = age3d.import_mesh(file_path)

Erosion

If the mesh is low-poly, run with number_of_subdivisions > 0:

mesh = age3d.mesh_subdivision(mesh, iterations = number_of_subdivisions)

Erode the mesh:

eroded_mesh = age3d.erode(mesh)

If Erosion with customized Passes and Max Particle Lifetime:

updated_vertices, eroded_mesh = age3d.erode(mesh, iterations = 2, erosion_lifetime = 10)

Point Cloud Creation

Make a PointCloud with Red Color Points:

point_cloud = age3d.make_point_cloud(mesh, color = [255, 0, 0])

Visualization

Visualize Eroded Mesh:

eroded_mesh.compute_vertex_normals()
age3d.visualize(mesh)

or

eroded_mesh.compute_vertex_normals()
age3d.visualize([mesh])

Visualize Mesh & Point Cloud:

eroded_mesh.compute_vertex_normals()
age3d.visualize([mesh, point_cloud])

Visualize Mesh & Point Cloud with Wireframe:

eroded_mesh.compute_vertex_normals()
age3d.visualize([mesh, point_cloud], show_wireframe = True)

Contributing

If you encounter an issue, please feel free to raise it by opening an issue. Likewise, if you have resolved an issue, you are welcome to open a pull request.

See more at CONTRIBUTING.md

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.4.06 May 20230

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
a-chaudhary/age3d

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 21:21 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:0230d9e8478499ba57d848534ef798f28b24062692332476be3d966b09ce3696