Objects (.objects)

Contents

Objects (.objects)#

bookcase#

class infinigen2.objects.bookcase.BookcaseResult(mesh)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
infinigen2.objects.bookcase.bookcase(...) BookcaseResult[source]#
Parameters:
  • dimensions (pf.Vector | None) -- (default: None)

  • side_board_thickness (float) -- (default: 0.0175)

  • division_board_thickness (float) -- (default: 0.015)

  • bottom_gap (float) -- (default: 0.1)

  • backboard_thickness (float) -- (default: 0.015)

  • screw_head_depth (float) -- (default: 0.005)

  • screw_head_radius (float) -- (default: 0.0055)

  • screw_head_dist (float) -- (default: 0.065)

  • attach_thickness (float) -- (default: 0.0035)

  • attach_width (float) -- (default: 0.025)

  • attach_top_length (float) -- (default: 0.065)

  • attach_back_length (float) -- (default: 0.035)

  • frame_material (pf.Material | None) -- (default: None)

  • metal_material (pf.Material | None) -- (default: None)

infinigen2.objects.bookcase.bookcase_rand(...) BookcaseResult[source]#

Example renders

infinigen2.objects.bookcase.bookcase_rand seed 0
infinigen2 bookcase_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.bookcase.bookcase_rand seed 1
infinigen2 bookcase_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.bookcase.bookcase_rand seed 2
infinigen2 bookcase_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.bookcase.bookcase_rand seed 3
infinigen2 bookcase_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.bookcase.bookcase_rand seed 4
infinigen2 bookcase_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.bookcase.bookcase_rand seed 5
infinigen2 bookcase_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

ceiling_light#

class infinigen2.objects.ceiling_light.CeilingLightResult(mesh, light)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
light: LightObject | None#
infinigen2.objects.ceiling_light.black_for_reflections(shader) pf.Material[source]#

Wrap a shader to appear black for reflected/glossy rays.

Parameters:

shader (pf.ProcNode[Shader])

infinigen2.objects.ceiling_light.ceiling_light(...) CeilingLightResult[source]#
Parameters:
  • radius (float) -- (default: 0.12)

  • thickness (float) -- (default: 0.0275)

  • inner_radius (float) -- (default: 0.078)

  • height (float) -- (default: 0.063)

  • inner_height (float) -- (default: 0.0504)

  • curvature (float) -- (default: 0.3)

  • energy (float) -- (default: 75.0)

  • temperature (float) -- (default: 4500.0)

  • shadow_soft_size (float) -- (default: 0.025)

  • turned_on (bool) -- (default: True)

  • frame_material (pf.Material | None) -- (default: None)

  • bulb_material (pf.Material | None) -- (default: None)

infinigen2.objects.ceiling_light.ceiling_light_rand(...) CeilingLightResult[source]#

Example renders

infinigen2.objects.ceiling_light.ceiling_light_rand seed 0
infinigen2 ceiling_light_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.ceiling_light.ceiling_light_rand seed 1
infinigen2 ceiling_light_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.ceiling_light.ceiling_light_rand seed 2
infinigen2 ceiling_light_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.ceiling_light.ceiling_light_rand seed 3
infinigen2 ceiling_light_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.ceiling_light.ceiling_light_rand seed 4
infinigen2 ceiling_light_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.ceiling_light.ceiling_light_rand seed 5
infinigen2 ceiling_light_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • energy (float | None) -- (default: None)

  • shadow_soft_size (float | None) -- (default: None)

  • temperature (float | None) -- (default: None)

  • turned_on (bool) -- (default: True)

chair#

class infinigen2.objects.chair.ChairResult(mesh)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
class infinigen2.objects.chair.DiningSeatResult(seat, back_edge)[source]#

Bases: NamedTuple

seat: pf.ProcNode[pf.MeshObject]#
back_edge: pf.ProcNode[CurveObject]#
infinigen2.objects.chair.chair_back(...) ChairResult[source]#

Flat slatted back panel: vertical slats arrayed along a straight line in Y, capped by a corner-box top rail. Reusable as a bed headboard.

Parameters:
infinigen2.objects.chair.chair_back_rand(
rng,
dimensions=None,
material=None,
) ChairResult[source]#

Slatted wooden back. aspect runs the slat cross-section from flat (wide in Y) to near-square; the support-loop offset then rounds it toward a spindle once the subdivision modifier is applied.

Example renders

infinigen2.objects.chair.chair_back_rand seed 0
infinigen2 chair_back_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_back_rand seed 1
infinigen2 chair_back_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_back_rand seed 2
infinigen2 chair_back_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_back_rand seed 3
infinigen2 chair_back_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_back_rand seed 4
infinigen2 chair_back_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_back_rand seed 5
infinigen2 chair_back_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.chair.chair_back_solid(
dimensions,
top_rise=0.0,
n_points=24,
) pf.ProcNode[pf.MeshObject][source]#

Solid back: panel filled between a flat bottom edge and a top edge that bows up by top_rise (0 = square), then extruded for depth. The many fill points give it geometry to bend. dimensions = (depth, width, height).

Parameters:
infinigen2.objects.chair.chair_rand(rng, dimensions=None) ChairResult[source]#

Any chair: randomly an office chair (curvy/round seat on a wheeled/pedestal/ leg base) or a wooden dining chair (bezier seat + slat back).

Example renders

infinigen2.objects.chair.chair_rand seed 0
infinigen2 chair_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_rand seed 1
infinigen2 chair_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_rand seed 2
infinigen2 chair_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_rand seed 3
infinigen2 chair_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_rand seed 4
infinigen2 chair_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_rand seed 5
infinigen2 chair_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.chair.curvy_seat(...) ChairResult[source]#

Curved shell seat with an integrated backrest (v1 curvy_seats).

Parameters:
  • u_resolution (int) -- (default: 256)

  • v_resolution (int) -- (default: 128)

  • width (float) -- (default: 0.5)

  • thickness (float) -- (default: 0.03)

  • front_relative_width (float) -- (default: 0.5)

  • front_bent (float) -- (default: -0.38)

  • seat_bent (float) -- (default: -0.56)

  • mid_relative_width (float) -- (default: 0.5)

  • mid_bent (float) -- (default: -0.7)

  • back_relative_width (float) -- (default: 0.5)

  • back_bent (float) -- (default: -0.2)

  • top_relative_width (float) -- (default: 0.5)

  • top_bent (float) -- (default: -0.2)

  • seat_height (float) -- (default: 0.6)

  • mid_pos (float) -- (default: 0.5)

infinigen2.objects.chair.curvy_seat_rand(
rng,
dimensions=None,
material=None,
) ChairResult[source]#

Curved shell seat with an integrated backrest (v1 curvy_seats).

Example renders

infinigen2.objects.chair.curvy_seat_rand seed 0
infinigen2 curvy_seat_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.curvy_seat_rand seed 1
infinigen2 curvy_seat_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.curvy_seat_rand seed 2
infinigen2 curvy_seat_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.curvy_seat_rand seed 3
infinigen2 curvy_seat_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.curvy_seat_rand seed 4
infinigen2 curvy_seat_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.curvy_seat_rand seed 5
infinigen2 curvy_seat_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.chair.dining_chair_dimensions_rand(rng) pf.Vector[source]#

Real dining-chair footprint (m): seat depth 0.41-0.46, width 0.40-0.50, seat height 0.45-0.50 (standard 45-50cm, tables 71-76cm).

Parameters:

rng (Generator)

infinigen2.objects.chair.dining_chair_rand(rng, dimensions=None) ChairResult[source]#

Wooden dining chair: bezier-outline seat pan + slat or solid back bent to follow the seat’s rear edge, on straight legs. Real chair dimensions.

Example renders

infinigen2.objects.chair.dining_chair_rand seed 0
infinigen2 dining_chair_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.dining_chair_rand seed 1
infinigen2 dining_chair_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.dining_chair_rand seed 2
infinigen2 dining_chair_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.dining_chair_rand seed 3
infinigen2 dining_chair_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.dining_chair_rand seed 4
infinigen2 dining_chair_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.dining_chair_rand seed 5
infinigen2 dining_chair_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.chair.dining_seat(...) DiningSeatResult[source]#

Seat pan bridged between a rear edge and a front edge and extruded down by thickness. Both edges are bezier curves spanning the width at x = -/+depth/2; front_bow/back_bow bow each edge forward in x, front_dip scoops the front edge center down. Returns the pan mesh plus the rear edge curve (so the back can be bent to match it).

Parameters:
infinigen2.objects.chair.office_chair_dimensions_rand(rng, width=None, seat_elevation=None) pf.Vector[source]#

Footprint + seat elevation. v1 derived elevation as total(1.0-1.4) minus shell(0.5-0.7), whose independent tails gave bar-height 0.9m seats; sample the real-world seat elevation directly instead.

Parameters:
  • rng (Generator)

  • width (float | None) -- (default: None)

  • seat_elevation (float | None) -- (default: None)

infinigen2.objects.chair.office_chair_rand(...) ChairResult[source]#

Example renders

infinigen2.objects.chair.office_chair_rand seed 0
infinigen2 office_chair_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.office_chair_rand seed 1
infinigen2 office_chair_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.office_chair_rand seed 2
infinigen2 office_chair_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.office_chair_rand seed 3
infinigen2 office_chair_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.office_chair_rand seed 4
infinigen2 office_chair_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.office_chair_rand seed 5
infinigen2 office_chair_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.chair.round_seat(...) ChairResult[source]#

Backless round pad seat (v1 round_seats).

Parameters:
  • thickness (float) -- (default: 0.1)

  • radius (float) -- (default: 0.37)

  • cap_radius (float) -- (default: 2.8)

  • bevel_factor (float) -- (default: 0.028)

infinigen2.objects.chair.round_seat_rand(
rng,
dimensions=None,
material=None,
) ChairResult[source]#

Backless round pad seat (v1 round_seats).

Example renders

infinigen2.objects.chair.round_seat_rand seed 0
infinigen2 round_seat_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.round_seat_rand seed 1
infinigen2 round_seat_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.round_seat_rand seed 2
infinigen2 round_seat_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.round_seat_rand seed 3
infinigen2 round_seat_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.round_seat_rand seed 4
infinigen2 round_seat_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.round_seat_rand seed 5
infinigen2 round_seat_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.chair.wheeled_base(...) ChairResult[source]#

Five-star caster base with a central gas-lift pole (v1 wheeled leg).

Parameters:
  • joint_height (float) -- (default: 0.0)

  • leg_diameter (float) -- (default: 0.0)

  • top_height (float) -- (default: 0.0)

  • arc_sweep_angle (float) -- (default: 240.0)

  • wheel_width (float) -- (default: 0.13)

  • wheel_rotation (float) -- (default: 0.5)

  • pole_length (float) -- (default: 1.8)

  • leg_number (int) -- (default: 5)

  • material (pf.Material | None) -- (default: None)

  • wheel_material (pf.Material | None) -- (default: None)

infinigen2.objects.chair.wheeled_base_rand(...) ChairResult[source]#

Five-star caster base with a central gas-lift pole (v1 wheeled leg).

Example renders

infinigen2.objects.chair.wheeled_base_rand seed 0
infinigen2 wheeled_base_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.wheeled_base_rand seed 1
infinigen2 wheeled_base_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.wheeled_base_rand seed 2
infinigen2 wheeled_base_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.wheeled_base_rand seed 3
infinigen2 wheeled_base_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.wheeled_base_rand seed 4
infinigen2 wheeled_base_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.wheeled_base_rand seed 5
infinigen2 wheeled_base_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

desk#

class infinigen2.objects.desk.DeskResult(mesh)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
infinigen2.objects.desk.desk(...) DeskResult[source]#
Parameters:
  • dimensions (pf.Vector | None) -- (default: None)

  • thickness (float) -- (default: 0.02)

  • leg_radius (float) -- (default: 0.0175)

  • leg_dist (float) -- (default: 0.0525)

  • top_material (pf.Material | None) -- (default: None)

  • leg_material (pf.Material | None) -- (default: None)

infinigen2.objects.desk.desk_rand(...) DeskResult[source]#

Example renders

infinigen2.objects.desk.desk_rand seed 0
infinigen2 desk_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.desk.desk_rand seed 1
infinigen2 desk_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.desk.desk_rand seed 2
infinigen2 desk_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.desk.desk_rand seed 3
infinigen2 desk_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.desk.desk_rand seed 4
infinigen2 desk_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.desk.desk_rand seed 5
infinigen2 desk_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

dev#

infinigen2.objects.dev.banana() pf.MeshObject[source]#

door#

class infinigen2.objects.door.DoorResult(mesh)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
infinigen2.objects.door.door_body(
dimensions=None,
frame_material=None,
panel_material=None,
) DoorResult[source]#
Parameters:
  • dimensions (pf.Vector | None) -- (default: None)

  • frame_material (pf.Material | None) -- (default: None)

  • panel_material (pf.Material | None) -- (default: None)

infinigen2.objects.door.door_body_rand(...) DoorResult[source]#

Example renders

infinigen2.objects.door.door_body_rand seed 0
infinigen2 door_body_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_body_rand seed 1
infinigen2 door_body_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_body_rand seed 2
infinigen2 door_body_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_body_rand seed 3
infinigen2 door_body_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_body_rand seed 4
infinigen2 door_body_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_body_rand seed 5
infinigen2 door_body_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.door.door_with_handle(dimensions=None, material=None) DoorResult[source]#
Parameters:
infinigen2.objects.door.door_with_handle_rand(...) DoorResult[source]#

Example renders

infinigen2.objects.door.door_with_handle_rand seed 0
infinigen2 door_with_handle_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_with_handle_rand seed 1
infinigen2 door_with_handle_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_with_handle_rand seed 2
infinigen2 door_with_handle_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_with_handle_rand seed 3
infinigen2 door_with_handle_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_with_handle_rand seed 4
infinigen2 door_with_handle_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_with_handle_rand seed 5
infinigen2 door_with_handle_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

drawers#

class infinigen2.objects.drawers.DrawersResult(mesh)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
infinigen2.objects.drawers.drawers(...) DrawersResult[source]#
Parameters:
  • dimensions (pf.Vector | None) -- (default: None)

  • drawer_board_thickness (float) -- (default: 0.0075)

  • drawer_side_height (float) -- (default: 0.125)

  • drawer_width_gap (float) -- (default: 0.02)

  • knob_radius (float) -- (default: 0.0045)

  • knob_length (float) -- (default: 0.0265)

  • frame_material (pf.Material | None) -- (default: None)

infinigen2.objects.drawers.drawers_rand(
rng,
dimensions=None,
frame_material=None,
) DrawersResult[source]#

Example renders

infinigen2.objects.drawers.drawers_rand seed 0
infinigen2 drawers_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.drawers.drawers_rand seed 1
infinigen2 drawers_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.drawers.drawers_rand seed 2
infinigen2 drawers_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.drawers.drawers_rand seed 3
infinigen2 drawers_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.drawers.drawers_rand seed 4
infinigen2 drawers_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.drawers.drawers_rand seed 5
infinigen2 drawers_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

flower#

class infinigen2.objects.flower.FlowerMaterials(petal, center)[source]#

Bases: NamedTuple

petal: pf.Material#
center: pf.Material#
class infinigen2.objects.flower.FlowerResult(mesh)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
infinigen2.objects.flower.center_material() pf.Material[source]#
infinigen2.objects.flower.flower(...) FlowerResult[source]#
Parameters:
  • center_rad (float) -- (default: 0.0156)

  • petal_dims (pf.Vector) -- (default: (0.109, 0.0049, 0.0875))

  • seed_size (float) -- (default: 0.001)

  • min_petal_angle (float) -- (default: 0.35)

  • max_petal_angle (float) -- (default: 1.4)

  • wrinkle (float) -- (default: 0.01)

  • curl (float) -- (default: 0.524)

  • petal_material (pf.Material | None) -- (default: None)

  • center_material (pf.Material | None) -- (default: None)

infinigen2.objects.flower.flower_rand(rng, materials=None) FlowerResult[source]#

Example renders

infinigen2.objects.flower.flower_rand seed 0
infinigen2 flower_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.flower.flower_rand seed 1
infinigen2 flower_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.flower.flower_rand seed 2
infinigen2 flower_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.flower.flower_rand seed 3
infinigen2 flower_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.flower.flower_rand seed 4
infinigen2 flower_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.flower.flower_rand seed 5
infinigen2 flower_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

handles#

class infinigen2.objects.handles.HandleResult(mesh)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
infinigen2.objects.handles.bar_pull_handle(material=None) HandleResult[source]#
Parameters:

material (pf.Material | None) -- (default: None)

infinigen2.objects.handles.bar_pull_handle_rand(rng, material=None) HandleResult[source]#

Example renders

infinigen2.objects.handles.bar_pull_handle_rand seed 0
infinigen2 bar_pull_handle_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.bar_pull_handle_rand seed 1
infinigen2 bar_pull_handle_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.bar_pull_handle_rand seed 2
infinigen2 bar_pull_handle_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.bar_pull_handle_rand seed 3
infinigen2 bar_pull_handle_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.bar_pull_handle_rand seed 4
infinigen2 bar_pull_handle_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.bar_pull_handle_rand seed 5
infinigen2 bar_pull_handle_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.handles.curved_pull_handle(material=None) HandleResult[source]#
Parameters:

material (pf.Material | None) -- (default: None)

infinigen2.objects.handles.curved_pull_handle_rand(rng, material=None) HandleResult[source]#

Example renders

infinigen2.objects.handles.curved_pull_handle_rand seed 0
infinigen2 curved_pull_handle_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.curved_pull_handle_rand seed 1
infinigen2 curved_pull_handle_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.curved_pull_handle_rand seed 2
infinigen2 curved_pull_handle_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.curved_pull_handle_rand seed 3
infinigen2 curved_pull_handle_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.curved_pull_handle_rand seed 4
infinigen2 curved_pull_handle_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.curved_pull_handle_rand seed 5
infinigen2 curved_pull_handle_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.handles.handle_rand(rng, material=None) HandleResult[source]#
Parameters:
infinigen2.objects.handles.knob_handle(material=None) HandleResult[source]#
Parameters:

material (pf.Material | None) -- (default: None)

infinigen2.objects.handles.knob_handle_rand(rng, material=None) HandleResult[source]#

Example renders

infinigen2.objects.handles.knob_handle_rand seed 0
infinigen2 knob_handle_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.knob_handle_rand seed 1
infinigen2 knob_handle_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.knob_handle_rand seed 2
infinigen2 knob_handle_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.knob_handle_rand seed 3
infinigen2 knob_handle_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.knob_handle_rand seed 4
infinigen2 knob_handle_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.knob_handle_rand seed 5
infinigen2 knob_handle_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.handles.lever_handle(material=None) HandleResult[source]#
Parameters:

material (pf.Material | None) -- (default: None)

infinigen2.objects.handles.lever_handle_rand(rng, material=None) HandleResult[source]#

Example renders

infinigen2.objects.handles.lever_handle_rand seed 0
infinigen2 lever_handle_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.lever_handle_rand seed 1
infinigen2 lever_handle_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.lever_handle_rand seed 2
infinigen2 lever_handle_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.lever_handle_rand seed 3
infinigen2 lever_handle_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.lever_handle_rand seed 4
infinigen2 lever_handle_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.lever_handle_rand seed 5
infinigen2 lever_handle_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

lamp#

class infinigen2.objects.lamp.LampResult(mesh, light)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
light: LightObject#
class infinigen2.objects.lamp.LampshadeShape(...)[source]#

Bases: NamedTuple

top_radius: float#
bot_radius: float#
mid_radius: float#
profile_resolution: int#
infinigen2.objects.lamp.desk_lamp_rand(rng) LampResult[source]#

Example renders

infinigen2.objects.lamp.desk_lamp_rand seed 0
infinigen2 desk_lamp_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.desk_lamp_rand seed 1
infinigen2 desk_lamp_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.desk_lamp_rand seed 2
infinigen2 desk_lamp_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.desk_lamp_rand seed 3
infinigen2 desk_lamp_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.desk_lamp_rand seed 4
infinigen2 desk_lamp_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.desk_lamp_rand seed 5
infinigen2 desk_lamp_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

rng (Generator)

infinigen2.objects.lamp.hanging_lampshade_shape_rand(rng) LampshadeShape[source]#
Parameters:

rng (Generator)

infinigen2.objects.lamp.point_light_indoor(
energy=10.0,
temperature=4500.0,
shadow_soft_size=0.02,
) LightObject[source]#

Create a point light with blackbody temperature roughly based on indoor lighting. range 3500-6500K. was expanded to 2000-8000

Parameters:
  • energy (float) -- (default: 10.0)

  • temperature (float) -- (default: 4500.0)

  • shadow_soft_size (float) -- (default: 0.02)

infinigen2.objects.lamp.point_light_indoor_rand(...) LightObject[source]#
Parameters:
  • rng (Generator)

  • energy (float | None) -- (default: None)

  • temperature (float | None) -- (default: None)

  • shadow_soft_size (float) -- (default: 0.02)

infinigen2.objects.lamp.lamp(...) LampResult[source]#
Parameters:
  • stand_radius (float) -- (default: 0.01)

  • base_radius (float) -- (default: 0.1)

  • base_height (float) -- (default: 0.02)

  • shade_height (float) -- (default: 0.24)

  • head_top_radius (float) -- (default: 0.16)

  • head_bot_radius (float) -- (default: 0.185)

  • head_mid_radius (float | None) -- (default: None)

  • profile_resolution (int) -- (default: 16)

  • height (float) -- (default: 0.45)

  • rack_thickness (float) -- (default: 0.002)

  • reverse_lamp (bool) -- (default: True)

  • energy (float) -- (default: 7.0)

  • temperature (float) -- (default: 4500.0)

  • black_material (pf.Material | None) -- (default: None)

  • lampshade_material (pf.Material | None) -- (default: None)

  • metal_material (pf.Material | None) -- (default: None)

infinigen2.objects.lamp.lamp_rand(...) LampResult[source]#

Example renders

infinigen2.objects.lamp.lamp_rand seed 0
infinigen2 lamp_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_rand seed 1
infinigen2 lamp_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_rand seed 2
infinigen2 lamp_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_rand seed 3
infinigen2 lamp_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_rand seed 4
infinigen2 lamp_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_rand seed 5
infinigen2 lamp_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • height (float | None) -- (default: None)

  • temperature (float | None) -- (default: None)

  • energy (float | None) -- (default: None)

  • head_top_radius (float | None) -- (default: None)

  • head_bot_radius (float | None) -- (default: None)

  • head_mid_radius (float | None) -- (default: None)

  • profile_resolution (int | None) -- (default: None)

infinigen2.objects.lamp.lampshade_color_rand(rng) pf.Color[source]#
Parameters:

rng (Generator)

infinigen2.objects.lamp.lampshade_fabric_rand(rng, vector) pf.Material[source]#
Parameters:
infinigen2.objects.lamp.lampshade_shape_rand(rng) LampshadeShape[source]#
Parameters:

rng (Generator)

random_primitives#

class infinigen2.objects.random_primitives.EffectResult(mesh, subsurf_levels)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
subsurf_levels: int#
class infinigen2.objects.random_primitives.PrimitivesResult(mesh)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
infinigen2.objects.random_primitives.circle_rand(rng) pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.cone_rand(rng) pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.cube_rand(rng) pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.cylinder_rand(rng) pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.effect_bevel(rng, obj) EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_decimate(rng, obj) EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_fractal_jitter(rng, obj) EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_noise_warp(rng, obj) EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_none(rng, obj) EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_screw_ring(rng, obj) EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_screw_spiral(rng, obj) EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_solidify(rng, obj) EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_taper(rng, obj) EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_twist(rng, obj) EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_wireframe(rng, obj) EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.end_fill_type_rand(rng) str[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.grid_rand(rng) pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.icosphere_rand(rng) pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.monkey_rand(rng) pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.plane_rand(rng) pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.primitive_rand(rng) pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.primitive_with_effect_rand(
rng,
target_size=None,
max_subsurf_levels=None,
) PrimitivesResult[source]#

Example renders

infinigen2.objects.random_primitives.primitive_with_effect_rand seed 0
infinigen2 primitive_with_effect_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.random_primitives.primitive_with_effect_rand seed 1
infinigen2 primitive_with_effect_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.random_primitives.primitive_with_effect_rand seed 2
infinigen2 primitive_with_effect_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.random_primitives.primitive_with_effect_rand seed 3
infinigen2 primitive_with_effect_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.random_primitives.primitive_with_effect_rand seed 4
infinigen2 primitive_with_effect_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.random_primitives.primitive_with_effect_rand seed 5
infinigen2 primitive_with_effect_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • target_size (float | None) -- (default: None)

  • max_subsurf_levels (int | None) -- (default: None)

infinigen2.objects.random_primitives.torus_rand(rng) pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.uv_sphere_rand(rng) pf.MeshObject[source]#
Parameters:

rng (Generator)

rug#

class infinigen2.objects.rug.RugResult(mesh)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
infinigen2.objects.rug.rug(...) RugResult[source]#
Parameters:
  • width (float) -- (default: 2.5)

  • length (float) -- (default: 3.125)

  • fillet_radius (float) -- (default: 0.625)

  • thickness (float) -- (default: 0.015)

  • material (pf.Material | None) -- (default: None)

infinigen2.objects.rug.rug_rand(rng, dimensions=None) RugResult[source]#

Example renders

infinigen2.objects.rug.rug_rand seed 0
infinigen2 rug_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.rug.rug_rand seed 1
infinigen2 rug_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.rug.rug_rand seed 2
infinigen2 rug_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.rug.rug_rand seed 3
infinigen2 rug_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.rug.rug_rand seed 4
infinigen2 rug_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.rug.rug_rand seed 5
infinigen2 rug_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

sofa#

class infinigen2.objects.sofa.SofaResult(mesh)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
infinigen2.objects.sofa.sofa(...) SofaResult[source]#
Parameters:
  • dimensions (pf.Vector | None) -- (default: None)

  • arm_dimensions (pf.Vector) -- (default: (1.0, 0.105, 0.625))

  • back_dimensions (pf.Vector) -- (default: (0.2, 0.0, 0.625))

  • seat_dimensions (pf.Vector | None) -- (default: None)

  • foot_dimensions (pf.Vector) -- (default: (0.16, 0.06, 0.06))

  • baseboard_height (float) -- (default: 0.07)

  • backrest_width (float) -- (default: 0.15)

  • seat_margin (float) -- (default: 0.985)

  • backrest_angle (float) -- (default: -0.325)

  • arm_width (float) -- (default: 0.75)

  • arm_type (int) -- (default: 0)

  • arm_height (float) -- (default: 0.8)

  • arms_angle (float) -- (default: 0.54)

  • reflection (int) -- (default: 1)

  • leg_type (bool) -- (default: True)

  • leg_dimensions (float) -- (default: 0.65)

  • leg_z (float) -- (default: 1.8)

  • leg_faces (int) -- (default: 4)

  • body_crease (float) -- (default: 0.7)

  • cushion_crease (float) -- (default: 0.15)

  • arm_back_crease (float) -- (default: 0.2)

  • fabric_material (pf.Material | None) -- (default: None)

  • foot_material (pf.Material | None) -- (default: None)

infinigen2.objects.sofa.sofa_rand(...) SofaResult[source]#

Example renders

infinigen2.objects.sofa.sofa_rand seed 0
infinigen2 sofa_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.sofa.sofa_rand seed 1
infinigen2 sofa_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.sofa.sofa_rand seed 2
infinigen2 sofa_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.sofa.sofa_rand seed 3
infinigen2 sofa_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.sofa.sofa_rand seed 4
infinigen2 sofa_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.sofa.sofa_rand seed 5
infinigen2 sofa_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

storage#

class infinigen2.objects.storage.StorageResult(mesh)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
infinigen2.objects.storage.cabinet_with_door(
dimensions=None,
frame_material=None,
) StorageResult[source]#
Parameters:
  • dimensions (pf.Vector | None) -- (default: None)

  • frame_material (pf.Material | None) -- (default: None)

infinigen2.objects.storage.cabinet_with_door_rand(rng, dimensions=None) StorageResult[source]#

Example renders

infinigen2.objects.storage.cabinet_with_door_rand seed 0
infinigen2 cabinet_with_door_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.cabinet_with_door_rand seed 1
infinigen2 cabinet_with_door_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.cabinet_with_door_rand seed 2
infinigen2 cabinet_with_door_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.cabinet_with_door_rand seed 3
infinigen2 cabinet_with_door_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.cabinet_with_door_rand seed 4
infinigen2 cabinet_with_door_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.cabinet_with_door_rand seed 5
infinigen2 cabinet_with_door_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.storage.shelves(...) StorageResult[source]#
Parameters:
  • dimensions (pf.Vector | None) -- (default: None)

  • n_spaces_y (int) -- (default: 3)

  • n_spaces_z (int) -- (default: 4)

  • frame_thickness (float) -- (default: 0.03)

  • row_divider_width (float) -- (default: 0.025)

  • col_divider_width (float) -- (default: 0.02)

  • back_width (float) -- (default: 0.02)

  • frame_material (pf.Material | None) -- (default: None)

infinigen2.objects.storage.shelves_rand(...) StorageResult[source]#

Example renders

infinigen2.objects.storage.shelves_rand seed 0
infinigen2 shelves_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.shelves_rand seed 1
infinigen2 shelves_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.shelves_rand seed 2
infinigen2 shelves_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.shelves_rand seed 3
infinigen2 shelves_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.shelves_rand seed 4
infinigen2 shelves_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.shelves_rand seed 5
infinigen2 shelves_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

table#

class infinigen2.objects.table.TableResult(mesh)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
infinigen2.objects.table.base_square(...) TableResult[source]#

2 box-frame legs.

Parameters:
  • dimensions (pf.Vector | None) -- (default: None)

  • leg_diameter (float) -- (default: 0.085)

  • leg_placement_top_scale (float) -- (default: 0.8)

  • leg_placement_bottom_scale (float) -- (default: 1.0)

  • has_bottom_connector (bool) -- (default: True)

infinigen2.objects.table.base_square_rand(
rng,
dimensions=None,
material=None,
) TableResult[source]#

2 box-frame legs.

Example renders

infinigen2.objects.table.base_square_rand seed 0
infinigen2 base_square_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.base_square_rand seed 1
infinigen2 base_square_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.base_square_rand seed 2
infinigen2 base_square_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.base_square_rand seed 3
infinigen2 base_square_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.base_square_rand seed 4
infinigen2 base_square_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.base_square_rand seed 5
infinigen2 base_square_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.table.base_straight(...) TableResult[source]#

4-leg base with optional stretchers.

Parameters:
  • dimensions (pf.Vector | None) -- (default: None)

  • leg_diameter (float) -- (default: 0.06)

  • leg_placement_top_scale (float) -- (default: 0.8)

  • leg_placement_bottom_scale (float) -- (default: 1.1)

  • stretcher_increment (int) -- (default: 1)

  • stretcher_relative_pos (float) -- (default: 0.4)

infinigen2.objects.table.base_straight_rand(
rng,
dimensions=None,
material=None,
) TableResult[source]#

4-leg base with optional stretchers.

Example renders

infinigen2.objects.table.base_straight_rand seed 0
infinigen2 base_straight_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.base_straight_rand seed 1
infinigen2 base_straight_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.base_straight_rand seed 2
infinigen2 base_straight_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.base_straight_rand seed 3
infinigen2 base_straight_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.base_straight_rand seed 4
infinigen2 base_straight_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.base_straight_rand seed 5
infinigen2 base_straight_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.table.cocktail_table_rand(rng) TableResult[source]#

Tall square cocktail/bar table with single pedestal base.

Example renders

infinigen2.objects.table.cocktail_table_rand seed 0
infinigen2 cocktail_table_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.cocktail_table_rand seed 1
infinigen2 cocktail_table_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.cocktail_table_rand seed 2
infinigen2 cocktail_table_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.cocktail_table_rand seed 3
infinigen2 cocktail_table_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.cocktail_table_rand seed 4
infinigen2 cocktail_table_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.cocktail_table_rand seed 5
infinigen2 cocktail_table_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

rng (Generator)

infinigen2.objects.table.coffee_table_rand(rng) TableResult[source]#

Low rectangular coffee table.

Example renders

infinigen2.objects.table.coffee_table_rand seed 0
infinigen2 coffee_table_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.coffee_table_rand seed 1
infinigen2 coffee_table_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.coffee_table_rand seed 2
infinigen2 coffee_table_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.coffee_table_rand seed 3
infinigen2 coffee_table_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.coffee_table_rand seed 4
infinigen2 coffee_table_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.coffee_table_rand seed 5
infinigen2 coffee_table_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

rng (Generator)

infinigen2.objects.table.dining_table_rand(...) TableResult[source]#

Example renders

infinigen2.objects.table.dining_table_rand seed 0
infinigen2 dining_table_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.dining_table_rand seed 1
infinigen2 dining_table_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.dining_table_rand seed 2
infinigen2 dining_table_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.dining_table_rand seed 3
infinigen2 dining_table_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.dining_table_rand seed 4
infinigen2 dining_table_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.dining_table_rand seed 5
infinigen2 dining_table_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.table.pedestal_base(...) TableResult[source]#

Rotationally symmetric pedestal: stays skinny then flares out low (flare/concavity); neck_scale bulges or waists the upper column.

Parameters:
  • height (float)

  • top_radius (float) -- (default: 0.03)

  • bottom_radius (float) -- (default: 0.2)

  • flare (float) -- (default: 0.75)

  • concavity (float) -- (default: 0.0)

  • neck_scale (float) -- (default: 1.0)

  • resolution (int) -- (default: 64)

infinigen2.objects.table.pedestal_base_rand(...) TableResult[source]#

Rotationally symmetric pedestal spanning z in [0, dimensions.z]: a low-flare silhouette with random concavity and a bulged/waisted upper column. Radius ranges default from the footprint; callers override them.

Example renders

infinigen2.objects.table.pedestal_base_rand seed 0
infinigen2 pedestal_base_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.pedestal_base_rand seed 1
infinigen2 pedestal_base_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.pedestal_base_rand seed 2
infinigen2 pedestal_base_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.pedestal_base_rand seed 3
infinigen2 pedestal_base_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.pedestal_base_rand seed 4
infinigen2 pedestal_base_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.pedestal_base_rand seed 5
infinigen2 pedestal_base_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.table.side_table_dimensions_rand(rng) pf.Vector[source]#

Side table dimensions.

Parameters:

rng (Generator)

infinigen2.objects.table.side_table_rand(rng) TableResult[source]#

Side table.

Example renders

infinigen2.objects.table.side_table_rand seed 0
infinigen2 side_table_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.side_table_rand seed 1
infinigen2 side_table_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.side_table_rand seed 2
infinigen2 side_table_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.side_table_rand seed 3
infinigen2 side_table_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.side_table_rand seed 4
infinigen2 side_table_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.side_table_rand seed 5
infinigen2 side_table_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

rng (Generator)

infinigen2.objects.table.table_dimensions_rand(rng, width=None, height=None) pf.Vector[source]#

Default dining table dimensions.

Parameters:
  • rng (Generator)

  • width (float | None) -- (default: None)

  • height (float | None) -- (default: None)

infinigen2.objects.table.table_top(
size=(1.4, 0.8, 0.05),
support_loop_offset=(0.02, 0.02, 0.01),
) pf.ProcNode[pf.MeshObject][source]#

Slab spanning z in [0, size.z]; support_loop_offset sets edge roundness. Subdivision is left to an unapplied modifier on the final object.

Parameters:

triangle_shelf#

class infinigen2.objects.triangle_shelf.TriangleShelfResult(mesh)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
infinigen2.objects.triangle_shelf.triangle_shelf(...) TriangleShelfResult[source]#
Parameters:
  • dimensions (pf.Vector | None) -- (default: None)

  • leg_board_gap (float) -- (default: 0.0035)

  • leg_width (float) -- (default: 0.02)

  • leg_depth (float) -- (default: 0.015)

  • leg_curvature_ratio (float) -- (default: 0.01)

  • board_thickness (float) -- (default: 0.0175)

  • board_extrude_length (float) -- (default: 0.05)

  • side_board_height (float) -- (default: 0.03)

  • bottom_layer_height (float) -- (default: 0.075)

  • mid_layer_height (float | None) -- (default: None)

  • top_layer_height (float | None) -- (default: None)

  • leg_material (pf.Material | None) -- (default: None)

  • board_material (pf.Material | None) -- (default: None)

  • screw_material (pf.Material | None) -- (default: None)

infinigen2.objects.triangle_shelf.triangle_shelf_rand(...) TriangleShelfResult[source]#

Example renders

infinigen2.objects.triangle_shelf.triangle_shelf_rand seed 0
infinigen2 triangle_shelf_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.triangle_shelf.triangle_shelf_rand seed 1
infinigen2 triangle_shelf_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.triangle_shelf.triangle_shelf_rand seed 2
infinigen2 triangle_shelf_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.triangle_shelf.triangle_shelf_rand seed 3
infinigen2 triangle_shelf_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.triangle_shelf.triangle_shelf_rand seed 4
infinigen2 triangle_shelf_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.triangle_shelf.triangle_shelf_rand seed 5
infinigen2 triangle_shelf_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

vase#

class infinigen2.objects.vase.VaseResult(mesh)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
infinigen2.objects.vase.vase(...) VaseResult[source]#
Parameters:
  • u_resolution (int) -- (default: 64)

  • v_resolution (int) -- (default: 64)

  • height (float) -- (default: 0.33)

  • diameter (float) -- (default: 0.15)

  • profile_inner_radius (float) -- (default: 1.0)

  • profile_star_points (int) -- (default: 24)

  • top_scale (float) -- (default: 0.5)

  • neck_mid_position (float) -- (default: 0.85)

  • neck_position (float) -- (default: 0.75)

  • neck_scale (float) -- (default: 0.5)

  • shoulder_position (float) -- (default: 0.5)

  • shoulder_thickness (float) -- (default: 0.175)

  • foot_scale (float) -- (default: 0.5)

  • foot_height (float) -- (default: 0.05)

  • material (pf.Material | None) -- (default: None)

  • thickness (float) -- (default: 0.0075)

infinigen2.objects.vase.vase_material_rand(rng, vec) pf.Material[source]#
Parameters:
infinigen2.objects.vase.vase_rand(rng) VaseResult[source]#

Example renders

infinigen2.objects.vase.vase_rand seed 0
infinigen2 vase_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.vase.vase_rand seed 1
infinigen2 vase_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.vase.vase_rand seed 2
infinigen2 vase_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.vase.vase_rand seed 3
infinigen2 vase_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.vase.vase_rand seed 4
infinigen2 vase_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.vase.vase_rand seed 5
infinigen2 vase_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

rng (Generator)

wall_art#

class infinigen2.objects.wall_art.WallArtResult(mesh)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
infinigen2.objects.wall_art.art_frame(...) pf.ProcNode[source]#
Parameters:
infinigen2.objects.wall_art.art_frame_swept(...) pf.ProcNode[source]#

Like art_frame, but sweeps a moulding profile around the border centerline.

frame_profile follows the trim convention (symmetric about y=0 with height matching frame_width, relief in -X); with the centerline normal set to -Z the relief protrudes out the panel front.

Parameters:
infinigen2.objects.wall_art.mirror_rand(rng, dimensions=None) WallArtResult[source]#

Example renders

infinigen2.objects.wall_art.mirror_rand seed 0
infinigen2 mirror_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.mirror_rand seed 1
infinigen2 mirror_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.mirror_rand seed 2
infinigen2 mirror_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.mirror_rand seed 3
infinigen2 mirror_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.mirror_rand seed 4
infinigen2 mirror_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.mirror_rand seed 5
infinigen2 mirror_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.wall_art.mirror_surface_material_rand(rng, vector) pf.Material[source]#
Parameters:
infinigen2.objects.wall_art.wall_art_rand(...) WallArtResult[source]#

Example renders

infinigen2.objects.wall_art.wall_art_rand seed 0
infinigen2 wall_art_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.wall_art_rand seed 1
infinigen2 wall_art_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.wall_art_rand seed 2
infinigen2 wall_art_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.wall_art_rand seed 3
infinigen2 wall_art_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.wall_art_rand seed 4
infinigen2 wall_art_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.wall_art_rand seed 5
infinigen2 wall_art_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

window#

class infinigen2.objects.window.CurtainResult(mesh)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
class infinigen2.objects.window.WindowResult(mesh, light)[source]#

Bases: NamedTuple

mesh: pf.MeshObject#
light: LightObject#
infinigen2.objects.window.curtain(...) CurtainResult[source]#
Parameters:
  • width (float) -- (default: 2.5)

  • depth (float) -- (default: 0.049)

  • height (float) -- (default: 2.5)

  • interval_number (float) -- (default: 22)

  • radius (float) -- (default: 0.015)

  • l1 (float) -- (default: -1.25)

  • r1 (float) -- (default: -0.4375)

  • l2 (float) -- (default: 0.4375)

  • r2 (float) -- (default: 1.25)

  • frame_depth (float) -- (default: -0.075)

  • curtain_frame_material (pf.Material | None) -- (default: None)

  • curtain_material (pf.Material | None) -- (default: None)

infinigen2.objects.window.curtain_rand(...) CurtainResult[source]#

Example renders

infinigen2.objects.window.curtain_rand seed 0
infinigen2 curtain_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.curtain_rand seed 1
infinigen2 curtain_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.curtain_rand seed 2
infinigen2 curtain_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.curtain_rand seed 3
infinigen2 curtain_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.curtain_rand seed 4
infinigen2 curtain_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.curtain_rand seed 5
infinigen2 curtain_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.window.window(...) WindowResult[source]#
Parameters:
  • dimensions (pf.Vector | None) -- (default: None)

  • frame_width (float) -- (default: 0.035)

  • panel_h_amount (int) -- (default: 2)

  • panel_v_amount (int) -- (default: 2)

  • sub_frame_width (float) -- (default: 0.0225)

  • sub_frame_thickness (float) -- (default: 0.0525)

  • sub_panel_h_amount (int) -- (default: 1)

  • sub_panel_v_amount (int) -- (default: 1)

  • shutter (bool) -- (default: False)

  • shutter_panel_radius (float) -- (default: 0.002)

  • shutter_width (float) -- (default: 0.04)

  • shutter_thickness (float) -- (default: 0.005)

  • shutter_rotation (float) -- (default: 0.707)

  • shutter_interval (float) -- (default: 0.0424)

  • frame_material (pf.Material | None) -- (default: None)

  • glass_material (pf.Material | None) -- (default: None)

  • include_glass_pane (bool) -- (default: True)

infinigen2.objects.window.window_dimensions_rand(rng, width=None, height=None) pf.Vector[source]#
Parameters:
  • rng (Generator)

  • width (float | None) -- (default: None)

  • height (float | None) -- (default: None)

infinigen2.objects.window.window_rand(...) WindowResult[source]#

Example renders

infinigen2.objects.window.window_rand seed 0
infinigen2 window_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_rand seed 1
infinigen2 window_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_rand seed 2
infinigen2 window_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_rand seed 3
infinigen2 window_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_rand seed 4
infinigen2 window_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_rand seed 5
infinigen2 window_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

Module contents#