Quick-Start Guide

This guide will help you get started with Microgen quickly. We’ll cover the basics of creating shapes, TPMS structures, and exporting your results.

First Steps

Import microgen:

import microgen

Creating a Basic TPMS Shape

Let’s create a Gyroid TPMS structure, one of the most common triply periodic minimal surfaces:

gyroid = microgen.Tpms(
    surface_function=microgen.surface_functions.gyroid,
    offset=0.3,
    cell_size=1.0,
    repeat_cell=2,
    resolution=20
)

# Get the sheet geometry as a PyVista mesh
sheet = gyroid.sheet
sheet.plot(color='white')
_images/quick_start_2_0.png

TPMS Part Types

Each TPMS can generate different part types:

tpms = microgen.Tpms(
    surface_function=microgen.surface_functions.gyroid,
    offset=0.5,
    resolution=20
)

# Sheet (wall) geometry
sheet = tpms.sheet

# Upper skeletal (network) geometry
upper_skeletal = tpms.upper_skeletal

# Lower skeletal (complementary network) geometry
lower_skeletal = tpms.lower_skeletal

sheet.plot(color='lightblue')
_images/quick_start_3_0.png

Creating Basic Shapes

Microgen provides several basic geometric shapes:

# Create a sphere
sphere = microgen.Sphere(center=(0, 0, 0), radius=0.5)
sphere_vtk = sphere.generate_vtk()
sphere_vtk.plot(color='white')
_images/quick_start_4_0.png
# Create a box
box = microgen.Box(center=(0, 0, 0), dim=(1, 0.5, 0.3))
box_vtk = box.generate_vtk()
box_vtk.plot(color='white')
_images/quick_start_5_0.png
# Create a cylinder
cylinder = microgen.Cylinder(center=(0, 0, 0), height=1.0, radius=0.3)
cylinder_vtk = cylinder.generate_vtk()
cylinder_vtk.plot(color='white')
_images/quick_start_6_0.png

Generating CAD Geometry

To create CAD-compatible solids (for 3D printing or CAD software):

# Generate the CadQuery shape
cad_shape = gyroid.generate(type_part='sheet')

Exporting Results

Export to STL (from PyVista mesh):

sheet.save('gyroid_sheet.stl')

Export to STEP (from CadQuery shape):

import cadquery as cq

cad_shape = gyroid.generate(type_part='sheet')
cq.exporters.export(cq.Workplane().add(cad_shape), 'gyroid_sheet.step')

Export to VTK:

sheet.save('gyroid_sheet.vtk')

Next Steps