#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')
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')