Existing Parts

A couple of commands can create whole parts like walls. Typically the sizes given are the inner dimension not including additional space needed for burn compensation or joints.

Currently there are the following parts:

Boxes.rectangularWall(x, y, edges='eeee', ignore_widths=[], holesMargin=None, holesSettings=None, bedBolts=None, bedBoltSettings=None, callback=None, move=None)[source]

Rectangular wall for all kind of box like objects

Parameters
  • x – width

  • y – height

  • edges – (Default value = “eeee”) bottom, right, top, left

  • ignore_widths – list of edge_widths added to adjacent edge

  • holesMargin – (Default value = None)

  • holesSettings – (Default value = None)

  • bedBolts – (Default value = None)

  • bedBoltSettings – (Default value = None)

  • callback – (Default value = None)

  • move – (Default value = None)

Boxes.flangedWall(x, y, edges='FFFF', flanges=None, r=0.0, callback=None, move=None)[source]

Rectangular wall with flanges extending the regular size

This is similar to the rectangularWall but it may extend to either side replacing the F edge with fingerHoles. Use with E and F for edges only.

Parameters
  • x – width

  • y – height

  • edges – (Default value = “FFFF”) bottom, right, top, left

  • flanges – (Default value = None) list of width of the flanges

  • r – radius of the corners of the flange

  • callback – (Default value = None)

  • move – (Default value = None)

Boxes.rectangularTriangle(x, y, edges='eee', r=0.0, num=1, bedBolts=None, bedBoltSettings=None, callback=None, move=None)[source]

Rectangular triangular wall

Parameters
  • x – width

  • y – height

  • edges – (Default value = “eee”) bottom, right[, diagonal]

  • r – radius towards the hypothenuse

  • num – (Default value = 1) number of triangles

  • bedBolts – (Default value = None)

  • bedBoltSettings – (Default value = None)

  • callback – (Default value = None)

  • move – (Default value = None)

Boxes.regularPolygonWall(corners=3, r=None, h=None, side=None, edges='e', hole=None, callback=None, move=None)[source]

Create regular polygone as a wall

Parameters
  • corners – number of corners of the polygone

  • radius – distance center to one of the corners

  • h – distance center to one of the sides (height of sector)

  • side – length of one side

  • edges – (Default value = “e”, may be string/list of length corners)

  • hole – diameter of central hole (Default value = 0)

  • callback – (Default value = None, middle=0, then sides=1..)

  • move – (Default value = None)

Boxes.roundedPlate(x, y, r, edge='f', callback=None, holesMargin=None, holesSettings=None, bedBolts=None, bedBoltSettings=None, wallpieces=1, extend_corners=True, move=None)[source]

Plate with rounded corner fitting to .surroundingWall()

For the callbacks the sides are counted depending on wallpieces

Parameters
  • x – width

  • y – hight

  • r – radius of the corners

  • callback – (Default value = None)

  • holesMargin – (Default value = None) set to get hex holes

  • holesSettings – (Default value = None)

  • bedBolts – (Default value = None)

  • bedBoltSettings – (Default value = None)

  • wallpieces – (Default value = 1) # of separate surrounding walls

  • extend_corners – (Default value = True) have corners outset with teh edges

  • move – (Default value = None)

Boxes.surroundingWall(x, y, r, h, bottom='e', top='e', left='D', right='d', pieces=1, extend_corners=True, callback=None, move=None)[source]

Wall(s) with flex fiting around a roundedPlate()

For the callbacks the sides are counted depending on pieces

Parameters
  • x – width of matching roundedPlate

  • y – height of matching roundedPlate

  • r – corner radius of matching roundedPlate

  • h – inner height of the wall (without edges)

  • bottom – (Default value = ‘e’) Edge type

  • top – (Default value = ‘e’) Edge type

  • left – (Default value = ‘D’) left edge(s)

  • right – (Default value = ‘d’) right edge(s)

  • pieces – (Default value = 1) number of separate pieces

  • callback – (Default value = None)

  • move – (Default value = None)

Parts Class

More parts are available in a separete class. An instance is available as Boxes.parts

Parts.disc(diameter, hole=0, callback=None, move='')[source]

Simple disc

Parameters
  • diameter – diameter of the disc

  • hole – (Default value = 0)

  • callback – (Default value = None) called in the center

  • move – (Defaultvalue = None)

Parts.waivyKnob(diameter, n=20, angle=45, hole=0, callback=None, move='')[source]

Disc with a waivy edge to be easier to be gripped

Parameters
  • diameter – diameter of the knob

  • n – (Default value = 20) number of waves

  • angle – (Default value = 45) maximum angle of the wave

  • hole – (Default value = 0)

  • callback – (Default value = None) called in the center

  • move – (Defaultvalue = None)

Parts.concaveKnob(diameter, n=3, rounded=0.2, angle=70, hole=0, callback=None, move='')[source]

Knob with dents to be easier to be gripped

Parameters
  • diameter – diameter of the knob

  • n – (Default value = 3) number of dents

  • rounded – (Default value = 0.2) proportion of circumferen remaining

  • angle – (Default value = 70) angle the dents meet the circumference

  • hole – (Default value = 0)

  • callback – (Default value = None) called in the center

  • move – (Defaultvalue = None)

Parts.ringSegment(r_outside, r_inside, angle, n=1, move=None)[source]

Ring Segment

Parameters
  • r_outside – outer radius

  • r_inside – inner radius

  • angle – anlge the segment is spanning

  • n – (Default value = 1) number of segments

  • move – (Defaultvalue = None)