#TODO: fix the list of Post() coordinates
#for coords in posts_coords:
#	pf.append(Post(), position=coords)

#TODO: SolidPinball: make it possible to attach a mini-playfield to a main one
# (perhaps the Playfield class could also inherit from the Part class?)
# (Or should we implement a MiniPlayfield class?)

#TODO: SolidPinball: make it possible to construct a Playfield by passing a vector
# curve that defines it's layout shape

upper_pf = Playfield(pf_width, pf_height)
upper_pf.append_parts([
  {'part': LaneGuideAssembly(), 'position': [310, 1076] },
  {'part': LaneGuideAssembly(), 'position': [366, 1066] },
  {'part': LaneGuideAssembly(), 'position': [422, 1076] },
  {'part': Rollover(), 'position': [280,1060] },
  {'part': Rollover(), 'position': [338,1050] },
  {'part': Rollover(), 'position': [394,1050] },
  {'part': Rollover(), 'position': [451,1060] }
])

#This exports the design to a .scad file that you can render with OpenSCAD
#Available for download at www.openscad.org
scad_render_to_file( pf.assembly(), 'outputs/SCAD/partyland_assembly.scad')

# This renders only the playfield wood with the holes you need:
# Exporting it to an STL file you can CNC mill your own pinball playfield! 
scad_render_to_file( pf.wood(), 'outputs/SCAD/partyland_playfield_wood.scad')

Example #2
0
upper_pf.append_parts([{
    'part': LaneGuideAssembly(),
    'position': [310, 1076]
}, {
    'part': LaneGuideAssembly(),
    'position': [366, 1066]
}, {
    'part': LaneGuideAssembly(),
    'position': [422, 1076]
}, {
    'part': Rollover(),
    'position': [280, 1060]
}, {
    'part': Rollover(),
    'position': [338, 1050]
}, {
    'part': Rollover(),
    'position': [394, 1050]
}, {
    'part': Rollover(),
    'position': [451, 1060]
}])

#This exports the design to a .scad file that you can render with OpenSCAD
#Available for download at www.openscad.org
scad_render_to_file(pf.assembly(), 'outputs/SCAD/partyland_assembly.scad')

# This renders only the playfield wood with the holes you need:
# Exporting it to an STL file you can CNC mill your own pinball playfield!
scad_render_to_file(pf.wood(), 'outputs/SCAD/partyland_playfield_wood.scad')