machineblock

Requires: OpenSCAD 2021.01+

Generates 3D-printable LEGO®-compatible building blocks. Supports classic bricks, plates, round bricks, slopes, liftarms, etc. Output is controlled by many parameters; complex parts can be composed by nesting modules. Defaults are pre-calibrated for good fit; fine-tune with calibration parameters. Some parameters accept multiple types or the keyword "auto" to derive suitable values.

Units

Notes

Examples

Minimal (1x1 Plate)

machineblock();

2x4 Brick

machineblock(size = [2, 4, 3]);

2x2 Plate

machineblock(size = [2, 2, 1]);

8x2 Plate with Pin Holes and Hollow Studs

machineblock(size = [8, 2, 1], holeZ = true, studType = "hollow");

Custom composite Brick

machineblock(size = [6, 2, 3]){
  machineblock(size = [2, 2, 3], offset = [2, 0, 3]);
}

Parameters

unitMbu

Base unit conversion to mm (1 mbu).

Typ
number
Unit
mm
Default
1.6
Possible Values
> 0
Examples
  • 1.6

unitGrid

Grid step size in mbu (XY and Z).

Typ
vector2<number>
Unit
mbu ([xy, z])
Default
[5, 2]
Possible Values
> 0 per axis
Examples
  • [5, 2]

scale

Scales mbu/grid-based values; mm values are absolute.

Typ
number
Unit
Default
1.0
Possible Values
> 0
Examples
  • 1
  • 0.5
  • 2

rotation

Rotation around x, y, z.

Typ
vector3<number>
Unit
deg
Default
[0, 0, 0]
Possible Values
any angles
Examples
  • [0, 0, 90]

rotationOffset

Origin for rotation relative to brick origin.

Typ
vector3<number>
Unit
grid
Default
[0, 0, 0]
Possible Values
grid coords
Examples
  • [0, 0, 0]
  • [0.5, 0.5, 0]

size

Brick size in grid steps [x,y,z]. For LEGO®: z=1=plate, z=3=brick.

Typ
vector3<number>
Unit
grid
Default
[1, 1, 1]
Possible Values
>= 1 per axis typically
Examples
  • [2, 4, 3]
  • [2, 2, 1]

offset

Position relative to scene origin.

Typ
vector3<number>
Unit
grid
Default
[0, 0, 0]
Possible Values
any grid coords
Examples
  • [2, 0, 3]

base

Render main body.

Typ
boolean
Unit
Default
true
Possible Values
true|false
Examples
  • true

baseColor

Body color for preview.

Typ
color
Unit
Default
#EAC645
Possible Values
CSS hex/color
Examples
  • #EAC645
  • #ff0000

baseHeight

Override body height in mm; auto derives from size.z.

Typ
number|string
Unit
mm | "auto"
Default
auto
Possible Values
>= 0 or "auto"
Examples
  • auto
  • 9.6

baseTopPlateHeight

Minimum top plate thickness; final may change due to cutouts/pits.

Typ
number
Unit
mbu
Default
1
Possible Values
>= 0
Examples
  • 1

baseTopPlateHeightAdjustment

Fine adjustment to top plate height (tuning fit).

Typ
number
Unit
mm
Default
-0.6
Possible Values
any
Examples
  • -0.6

baseCutoutType

Underside style.

Typ
string
Unit
Default
classic
Possible Values
[classic, groove, none]
Examples
  • classic

baseCutoutMaxDepth

Max underside cut depth.

Typ
number
Unit
mbu
Default
5
Possible Values
>= 0
Examples
  • 5

baseClampOffset

Offset of internal clamps.

Typ
number
Unit
mbu
Default
0.25
Possible Values
>= 0
Examples
  • 0.25

baseClampHeight

Clamp height.

Typ
number
Unit
mbu
Default
0.5
Possible Values
>= 0
Examples
  • 0.5

baseClampThickness

Clamp thickness in mm (printable wall tuning).

Typ
number
Unit
mm
Default
0.1
Possible Values
>= 0
Examples
  • 0.1

baseClampOuter

Place clamps on outer wall if true.

Typ
boolean
Unit
Default
false
Possible Values
true|false
Examples
  • false

baseRoundingRadius

Corner rounding; supports per-axis/per-corner detail.

Typ
number|vector3<number>|vector3<vector4<number>>
Unit
grid
Default
0.0
Possible Values
>= 0
Examples
  • 0.5
  • [1, 2, 3]

baseCutoutRoundingRadius

Underside rounding.

Typ
number|vector4<number>|string
Unit
mm | "auto"
Default
auto
Possible Values
>= 0 or "auto"
Examples
  • auto
  • 2.7
  • [2.7, 2.7, 2.7, 2.7]

baseRoundingResolution

Facet resolution for roundings.

Typ
integer
Unit
Default
64
Possible Values
>= 3
Examples
  • 64

baseReliefCut

Enable relief cuts in base.

Typ
boolean
Unit
Default
false
Possible Values
true|false
Examples
  • false

baseReliefCutHeight

Relief cut height.

Typ
number
Unit
mbu
Default
0.375
Possible Values
>= 0
Examples
  • 0.375

baseReliefCutThickness

Relief cut thickness.

Typ
number
Unit
mbu
Default
0.375
Possible Values
>= 0
Examples
  • 0.375

baseSideAdjustment

XY shrink/expand for fit (mm).

Typ
number
Unit
mm
Default
-0.1
Possible Values
any
Examples
  • -0.1

baseHeightAdjustment

Z fine adjustment (mm).

Typ
number
Unit
mm
Default
0.0
Possible Values
any
Examples
  • 0

baseWallThickness

Wall thickness of shell.

Typ
number|string
Unit
mbu | "auto"
Default
auto
Possible Values
>= 0 or "auto"
Examples
  • auto
  • 0.5

baseWallThicknessAdjustment

Fine wall compensation (printer/flow).

Typ
number
Unit
mm
Default
-0.1
Possible Values
any
Examples
  • -0.1

baseWallGapsX

Remove internal walls along X at indices.

Typ
vector<number>
Unit
grid index list
Default
[]
Possible Values
indices
Examples
  • [2, 5]

baseWallGapsY

Remove internal walls along Y at indices.

Typ
vector<number>
Unit
grid index list
Default
[]
Possible Values
indices
Examples
  • [1]

topPlateHelpers

Add printability helpers to the top plate.

Typ
boolean
Unit
Default
true
Possible Values
true|false
Examples
  • true

topPlateHelperHeight

Helper feature height.

Typ
number
Unit
mm
Default
0.2
Possible Values
>= 0
Examples
  • 0.2

topPlateHelperThickness

Helper feature thickness.

Typ
number
Unit
mm
Default
0.4
Possible Values
>= 0
Examples
  • 0.4

stabilizerGrid

Enable a stabilizing grid inside the body.

Typ
boolean
Unit
Default
true
Possible Values
true|false
Examples
  • true

stabilizerGridOffset

Z offset of stabilizer grid.

Typ
number
Unit
mm
Default
0.2
Possible Values
>= 0
Examples
  • 0.2

stabilizerGridHeight

Stabilizer height.

Typ
number
Unit
mbu
Default
0.5
Possible Values
>= 0
Examples
  • 0.5

stabilizerGridThickness

Stabilizer thickness.

Typ
number
Unit
mbu
Default
0.5
Possible Values
>= 0
Examples
  • 0.5

stabilizerExpansion

Insert expansion relief every N bricks.

Typ
integer
Unit
Default
2
Possible Values
>= 1
Examples
  • 2

stabilizerExpansionOffset

Expansion relief offset.

Typ
number
Unit
mbu
Default
1
Possible Values
>= 0
Examples
  • 1

pillars

Enable internal pillars (tubes/pins) or specify pattern.

Typ
boolean|vector
Unit
Default
true
Possible Values
true|false|indices
Examples
  • true

pillarRoundingResolution

Round pillar facet count.

Typ
integer
Unit
Default
64
Possible Values
>= 3
Examples
  • 64

pillarGapCornerLength

Gap length near corners.

Typ
integer
Unit
Default
2
Possible Values
>= 0
Examples
  • 2

pillarGapMiddle

Gap length in middle spans.

Typ
integer
Unit
Default
10
Possible Values
>= 0
Examples
  • 10

pinDiameter

For 1-stud-side blocks.

Typ
number|string
Unit
mbu | "auto"
Default
auto
Possible Values
>= 0 or "auto"
Examples
  • auto

pinDiameterAdjustment

Pin diameter compensation.

Typ
number
Unit
mm
Default
0.0
Possible Values
any
Examples
  • 0

tubeWallThickness

Constant tube wall; rarely changed.

Typ
number
Unit
mbu
Default
0.53125
Possible Values
>= 0
Examples
  • 0.53125

tubeXDiameter

Tube diameter for X spans.

Typ
number|string
Unit
mbu | "auto"
Default
auto
Possible Values
>= 0 or "auto"
Examples
  • auto

tubeXDiameterAdjustment

Compensation (X tubes).

Typ
number
Unit
mm
Default
-0.1
Possible Values
any
Examples
  • -0.1

tubeYDiameter

Tube diameter for Y spans.

Typ
number|string
Unit
mbu | "auto"
Default
auto
Possible Values
>= 0 or "auto"
Examples
  • auto

tubeYDiameterAdjustment

Compensation (Y tubes).

Typ
number
Unit
mm
Default
-0.1
Possible Values
any
Examples
  • -0.1

tubeZDiameter

Tube diameter along Z.

Typ
number|string
Unit
mbu | "auto"
Default
auto
Possible Values
>= 0 or "auto"
Examples
  • auto

tubeZDiameterAdjustment

Compensation (Z tubes).

Typ
number
Unit
mm
Default
-0.1
Possible Values
any
Examples
  • -0.1

tubeInnerClampThickness

Inner clamp thickness for tube friction.

Typ
number
Unit
mm
Default
0.1
Possible Values
>= 0
Examples
  • 0.1

slope

Enable beveled slope; vector defines sides.

Typ
boolean|vector4<number>
Unit
Default
false
Possible Values
false or per-side slope
Examples
  • false

slopeBaseHeightLower

Lower slope base height.

Typ
number
Unit
mbu
Default
1.333
Possible Values
>= 0
Examples
  • 1.333

slopeBaseHeightUpper

Upper slope base height.

Typ
number
Unit
mbu
Default
1
Possible Values
>= 0
Examples
  • 1

bevel

Per-edge bevel size.

Typ
vector4<vector2<number>>
Unit
grid
Default
[[0, 0], [0, 0], [0, 0], [0, 0]]
Possible Values
>= 0
Examples
  • [[0.5, 0.5], [0, 0], [0, 0], [0, 0]]

holeX

Enable X-axis through-holes.

Typ
boolean|vector
Unit
Default
false
Possible Values
true|false|grid indices
Examples
  • false

holeXType

Hole profile.

Typ
string
Unit
Default
pin
Possible Values
[pin, axle]
Examples
  • pin

holeXCentered

Center hole on face.

Typ
boolean
Unit
Default
true
Possible Values
true|false
Examples
  • true

holeXDiameter

Hole diameter.

Typ
number|string
Unit
mbu | "auto"
Default
auto
Possible Values
>= 0 or "auto"
Examples
  • auto

holeXDiameterAdjustment

Fit compensation.

Typ
number
Unit
mm
Default
0.3
Possible Values
any
Examples
  • 0.3

holeXInsetThickness

Inset ring thickness.

Typ
number
Unit
mbu
Default
0.375
Possible Values
>= 0
Examples
  • 0.375

holeXInsetDepth

Inset depth.

Typ
number
Unit
mbu
Default
0.25
Possible Values
>= 0
Examples
  • 0.25

holeXGridOffsetZ

Vertical offset in mbu.

Typ
number
Unit
mbu
Default
3.5
Possible Values
>= 0
Examples
  • 3.5

holeXGridSizeZ

Vertical span (mbu).

Typ
number
Unit
mbu
Default
6
Possible Values
>= 0
Examples
  • 6

holeXMinTopMargin

Min material above hole.

Typ
number
Unit
mbu
Default
0.5
Possible Values
>= 0
Examples
  • 0.5

holeY

Enable Y-axis through-holes.

Typ
boolean|vector
Unit
Default
false
Possible Values
true|false|grid indices
Examples
  • false

holeYType

Hole profile.

Typ
string
Unit
Default
pin
Possible Values
[pin, axle]
Examples
  • pin

holeYCentered

Center hole on face.

Typ
boolean
Unit
Default
true
Possible Values
true|false
Examples
  • true

holeYDiameter

Hole diameter.

Typ
number|string
Unit
mbu | "auto"
Default
auto
Possible Values
>= 0 or "auto"
Examples
  • auto

holeYDiameterAdjustment

Fit compensation.

Typ
number
Unit
mm
Default
0.3
Possible Values
any
Examples
  • 0.3

holeYInsetThickness

Inset ring thickness.

Typ
number
Unit
mbu
Default
0.375
Possible Values
>= 0
Examples
  • 0.375

holeYInsetDepth

Inset depth.

Typ
number
Unit
mbu
Default
0.25
Possible Values
>= 0
Examples
  • 0.25

holeYGridOffsetZ

Vertical offset in mbu.

Typ
number
Unit
mbu
Default
3.5
Possible Values
>= 0
Examples
  • 3.5

holeYGridSizeZ

Vertical span (mbu).

Typ
number
Unit
mbu
Default
6
Possible Values
>= 0
Examples
  • 6

holeYMinTopMargin

Min material above hole.

Typ
number
Unit
mbu
Default
0.5
Possible Values
>= 0
Examples
  • 0.5

holeZ

Enable Z-axis (top/bottom) pin/axle holes.

Typ
boolean|vector
Unit
Default
false
Possible Values
true|false|grid indices
Examples
  • true

holeZType

Hole profile.

Typ
string
Unit
Default
pin
Possible Values
[pin, axle]
Examples
  • pin

holeZCenteredX

Center in X.

Typ
boolean
Unit
Default
true
Possible Values
true|false
Examples
  • true

holeZCenteredY

Center in Y.

Typ
boolean
Unit
Default
true
Possible Values
true|false
Examples
  • true

holeZDiameter

Hole diameter.

Typ
number|string
Unit
mbu | "auto"
Default
auto
Possible Values
>= 0 or "auto"
Examples
  • auto

holeZDiameterAdjustment

Fit compensation.

Typ
number
Unit
mm
Default
0.3
Possible Values
any
Examples
  • 0.3

holeRoundingResolution

Facet resolution for round holes.

Typ
integer
Unit
Default
64
Possible Values
>= 3
Examples
  • 64

holeAxleThickness

Axle wall thickness.

Typ
number
Unit
mbu
Default
1
Possible Values
>= 0
Examples
  • 1

studs

Enable top studs; vector to select positions.

Typ
boolean|vector
Unit
Default
true
Possible Values
true|false|indices
Examples
  • true

studType

Stud style.

Typ
string
Unit
Default
solid
Possible Values
[solid, hollow]
Examples
  • hollow

studCenteredX

Center studs in X, ignoring grid alignment.

Typ
boolean
Unit
Default
false
Possible Values
true|false
Examples
  • false

studCenteredY

Center studs in Y.

Typ
boolean
Unit
Default
false
Possible Values
true|false
Examples
  • false

studMaxOverhang

Printing overhang limit for studs.

Typ
number
Unit
mm
Default
0.3
Possible Values
>= 0
Examples
  • 0.3

studPadding

Stud ring padding from edges.

Typ
number
Unit
grid
Default
0
Possible Values
>= 0
Examples
  • 0

studClampHeight

Clamp height below stud for clutch.

Typ
number
Unit
mbu
Default
0.5
Possible Values
>= 0
Examples
  • 0.5

studClampThickness

Clamp thickness in mm.

Typ
number
Unit
mm
Default
0.0
Possible Values
>= 0
Examples
  • 0

studHoleDiameter

Hole in stud top (for hollow studs).

Typ
number|string
Unit
mbu | "auto"
Default
auto
Possible Values
>= 0 or "auto"
Examples
  • auto

studHoleDiameterAdjustment

Fit compensation.

Typ
number
Unit
mm
Default
0.3
Possible Values
any
Examples
  • 0.3

studHoleClampThickness

Clamp thickness around stud hole.

Typ
number
Unit
mm
Default
0.1
Possible Values
>= 0
Examples
  • 0.1

studRounding

Top edge rounding of studs.

Typ
number
Unit
mbu
Default
0.0625
Possible Values
>= 0
Examples
  • 0.0625

studRoundingResolution

Facet resolution for stud rounding.

Typ
integer
Unit
Default
64
Possible Values
>= 3
Examples
  • 64

studDiameter

Stud outer diameter (constant; keep default).

Typ
number
Unit
mbu
Default
3
Possible Values
>= 0
Examples
  • 3

studDiameterAdjustment

Stud diameter fit tuning.

Typ
number
Unit
mm
Default
0.2
Possible Values
any
Examples
  • 0.2

studHeight

Stud height (constant; keep default).

Typ
number
Unit
mbu
Default
1
Possible Values
>= 0
Examples
  • 1

studCutoutAdjustment

Top cut sizing compensation.

Typ
vector2<number>
Unit
mm [diameter,height]
Default
[0, 0.2]
Possible Values
any
Examples
  • [0, 0.2]

studIcon

Emboss/deboss icon on studs.

Typ
boolean
Unit
Default
true
Possible Values
true|false
Examples
  • true

studIconSvg

SVG file for stud icon.

Typ
string
Unit
path
Default
../pattern/bolt.svg
Possible Values
SVG path
Examples
  • ../pattern/bolt.svg

studIconDimensions

Original SVG width/height.

Typ
vector2<number>
Unit
SVG units
Default
[169.333, 169.333]
Possible Values
> 0
Examples
  • [169.333, 169.333]

studIconScale

Scale factor applied to icon.

Typ
number
Unit
Default
0.024
Possible Values
>= 0
Examples
  • 0.024

studIconDepth

Positive = emboss, negative = deboss.

Typ
number
Unit
mm
Default
-0.2
Possible Values
any
Examples
  • -0.2

studIconColor

Preview color of icon.

Typ
color|string
Unit
Default
inherit
Possible Values
CSS color or 'inherit'
Examples
  • inherit
  • #000

tongue

Enable tongue feature for sliding connections.

Typ
boolean
Unit
Default
false
Possible Values
true|false
Examples
  • false

tongueHeight

Tongue height.

Typ
number
Unit
mbu
Default
1.25
Possible Values
>= 0
Examples
  • 1.25

tongueGrooveDepth

Groove depth for mating.

Typ
number
Unit
mbu
Default
1.5
Possible Values
>= 0
Examples
  • 1.5

tongueRoundingRadius

Outer rounding of tongue.

Typ
number|vector4<number>|string
Unit
grid | "auto"
Default
auto
Possible Values
>= 0 or "auto"
Examples
  • auto
  • 1
  • [1, 2, 3, 4]

tongueInnerRoundingRadius

Inner groove rounding.

Typ
number|vector4<number>|string
Unit
grid | "auto"
Default
auto
Possible Values
>= 0 or "auto"
Examples
  • auto

tongueThickness

Tongue thickness.

Typ
number
Unit
mbu
Default
0.666
Possible Values
>= 0
Examples
  • 0.666

tongueThicknessAdjustment

Fit compensation.

Typ
number
Unit
mm
Default
0
Possible Values
any
Examples
  • 0

tongueOffset

Offset from reference edge.

Typ
number
Unit
mbu
Default
1
Possible Values
any
Examples
  • 1

tongueClampHeight

Clamp height.

Typ
number
Unit
mbu
Default
0.5
Possible Values
>= 0
Examples
  • 0.5

tongueClampOffset

Clamp offset.

Typ
number
Unit
mbu
Default
0.25
Possible Values
>= 0
Examples
  • 0.25

tongueClampThickness

Clamp thickness in mm.

Typ
number
Unit
mm
Default
0.1
Possible Values
>= 0
Examples
  • 0.1

grilleX

Add grille detail along X.

Typ
boolean
Unit
Default
false
Possible Values
true|false
Examples
  • false

grilleY

Add grille detail along Y.

Typ
boolean
Unit
Default
false
Possible Values
true|false
Examples
  • false

grilleDepth

Depth of grooves.

Typ
number
Unit
mbu
Default
1
Possible Values
>= 0
Examples
  • 1

grilleCount

Number of ribs/grooves.

Typ
integer
Unit
Default
5
Possible Values
>= 0
Examples
  • 5

pit

Create a recessed pit on the top surface.

Typ
boolean
Unit
Default
false
Possible Values
true|false
Examples
  • false

pitRoundingRadius

Pit corner rounding.

Typ
number|vector4<number>|string
Unit
grid | "auto"
Default
auto
Possible Values
>= 0 or "auto"
Examples
  • auto
  • 2.7

pitDepth

Pit depth.

Typ
number|string
Unit
mm | "auto"
Default
auto
Possible Values
>= 0 or "auto"
Examples
  • auto
  • 1.2

pitWallThickness

Pit wall thickness.

Typ
number|vector4<number>
Unit
grid
Default
0.333
Possible Values
>= 0
Examples
  • 0.333

pitKnobs

Studs inside pit.

Typ
boolean
Unit
Default
true
Possible Values
true|false
Examples
  • true

pitKnobPadding

Padding from pit walls.

Typ
number
Unit
grid
Default
0.2
Possible Values
>= 0
Examples
  • 0.2

pitKnobType

Stud style inside pit.

Typ
string
Unit
Default
solid
Possible Values
[solid, hollow]
Examples
  • solid

pitKnobCenteredX

Center pit studs in X.

Typ
boolean
Unit
Default
false
Possible Values
true|false
Examples
  • false

pitKnobCenteredY

Center pit studs in Y.

Typ
boolean
Unit
Default
false
Possible Values
true|false
Examples
  • false

pitWallGaps

Openings in pit walls.

Typ
vector<number>
Unit
indices
Default
[]
Possible Values
indices
Examples
  • [1, 3]

text

Emboss/deboss text on a side.

Typ
string
Unit
Default
Possible Values
any
Examples
  • MBRICK

textSide

Target side (0..5; convention: +X, -X, +Y, -Y, +Z, -Z or module-specific).

Typ
integer
Unit
side index
Default
0
Possible Values
0–5 (faces)
Examples
  • 0

textDepth

Positive emboss, negative deboss.

Typ
number
Unit
mm
Default
-0.6
Possible Values
any
Examples
  • -0.6

textFont

Font family.

Typ
string
Unit
font
Default
Liberation Sans
Possible Values
installed fonts
Examples
  • Liberation Sans

textSize

Point size.

Typ
number
Unit
pt
Default
4
Possible Values
>= 0
Examples
  • 4

textSpacing

Letter spacing multiplier.

Typ
integer
Unit
Default
1
Possible Values
>= 0
Examples
  • 1

textVerticalAlign

Vertical text alignment.

Typ
string
Unit
Default
center
Possible Values
[start, center, end]
Examples
  • center

textHorizontalAlign

Horizontal text alignment.

Typ
string
Unit
Default
center
Possible Values
[start, center, end]
Examples
  • center

textOffset

Offset on target face (grid-based multipliers).

Typ
vector2<number>
Unit
grid multipliers
Default
[0, 0]
Possible Values
any
Examples
  • [0.2, -0.1]

textColor

Preview color of text.

Typ
color
Unit
Default
#2c3e50
Possible Values
CSS color
Examples
  • #2c3e50

surfacePattern

Enable top surface SVG pattern.

Typ
boolean
Unit
Default
false
Possible Values
true|false
Examples
  • false

surfacePatternSvg

SVG file for surface.

Typ
string
Unit
path
Default
../pattern/circuit-board.svg
Possible Values
SVG path
Examples
  • ../pattern/circuit-board.svg

surfacePatternDimensions

Original SVG width/height.

Typ
vector2<number>
Unit
SVG units
Default
[160, 160]
Possible Values
> 0
Examples
  • [160, 160]

surfacePatternOffset

Offset of pattern.

Typ
vector2<number>
Unit
Default
[0, 0]
Possible Values
any
Examples
  • [0, 0]

surfacePatternScale

Scale factor of pattern.

Typ
number
Unit
Default
0.25
Possible Values
>= 0
Examples
  • 0.25

surfacePatternDepth

Positive emboss, negative deboss.

Typ
number
Unit
mm
Default
-0.2
Possible Values
any
Examples
  • -0.2

surfacePatternColor

Preview color.

Typ
color|string
Unit
Default
inherit
Possible Values
CSS color or 'inherit'
Examples
  • inherit

svg

General-purpose SVG engraving on a side.

Typ
string
Unit
path
Default
Possible Values
SVG path or empty
Examples
  • ../logo.svg

svgSide

Target side for SVG.

Typ
integer
Unit
side index
Default
5
Possible Values
0–5
Examples
  • 5

svgDepth

Positive emboss, negative deboss.

Typ
number
Unit
mm
Default
0.4
Possible Values
any
Examples
  • 0.4

svgDimensions

Original SVG width/height.

Typ
vector2<number>
Unit
int
Default
[100, 100]
Possible Values
> 0
Examples
  • [100, 100]

svgScale

Scaling applied to SVG.

Typ
number
Unit
Default
1.0
Possible Values
>= 0
Examples
  • 1

svgOffset

Offset on target face.

Typ
vector2<number>
Unit
grid multipliers
Default
[0, 0]
Possible Values
any
Examples
  • [0.1, 0.1]

svgColor

Preview color.

Typ
color
Unit
Default
#2c3e50
Possible Values
CSS color
Examples
  • #2c3e50

connectors

Enable side snap connectors.

Typ
boolean
Unit
Default
false
Possible Values
true|false
Examples
  • false

connectorHeight

Connector height.

Typ
number|string
Unit
mbu | "auto"
Default
auto
Possible Values
>= 0 or "auto"
Examples
  • auto

connectorDepth

Connector penetration depth.

Typ
number
Unit
mbu
Default
0.75
Possible Values
>= 0
Examples
  • 0.75

connectorWidth

Connector width.

Typ
number
Unit
mbu
Default
2.5
Possible Values
>= 0
Examples
  • 2.5

connectorDepthTolerance

Depth tolerance for fit.

Typ
number
Unit
mm
Default
0.2
Possible Values
any
Examples
  • 0.2

connectorSideTolerance

Side tolerance for fit.

Typ
number
Unit
mm
Default
0.1
Possible Values
any
Examples
  • 0.1

screwHolesZ

Array of Z-oriented screw holes.

Typ
vector<number>
Unit
indices/coords
Default
[]
Possible Values
indices
Examples
  • [0, 1]

screwHoleZSize

Screw hole diameter (Z).

Typ
number
Unit
mm
Default
2.3
Possible Values
>= 0
Examples
  • 2.3

screwHoleZHelperThickness

Helper disc thickness.

Typ
number
Unit
mm
Default
0.8
Possible Values
>= 0
Examples
  • 0.8

screwHoleZHelperOffset

Helper offset from face.

Typ
number
Unit
mm
Default
0.2
Possible Values
>= 0
Examples
  • 0.2

screwHoleZHelperHeight

Helper height.

Typ
number
Unit
mm
Default
0.2
Possible Values
>= 0
Examples
  • 0.2

screwHolesX

Array of X-oriented screw holes.

Typ
vector<number>
Unit
indices/coords
Default
[]
Possible Values
indices
Examples
  • [1, 3]

screwHoleXSize

Diameter.

Typ
number
Unit
mm
Default
2.1
Possible Values
>= 0
Examples
  • 2.1

screwHoleXDepth

Depth.

Typ
number
Unit
mm
Default
4
Possible Values
>= 0
Examples
  • 4

screwHolesY

Array of Y-oriented screw holes.

Typ
vector<number>
Unit
indices/coords
Default
[]
Possible Values
indices
Examples
  • [2]

screwHoleYSize

Diameter.

Typ
number
Unit
mm
Default
2.1
Possible Values
>= 0
Examples
  • 2.1

screwHoleYDepth

Depth.

Typ
number
Unit
mm
Default
4
Possible Values
>= 0
Examples
  • 4

pcb

Enable PCB mounting features.

Typ
boolean
Unit
Default
false
Possible Values
true|false
Examples
  • false

pcbMountingType

How the PCB is held (inferred options).

Typ
string
Unit
Default
clips
Possible Values
[clips, screws, mixed]
Examples
  • clips

pcbDimensions

PCB size in mm.

Typ
vector3<number>
Unit
mm [x,y,z]
Default
[20, 30, 3]
Possible Values
> 0
Examples
  • [20, 30, 1.6]

pcbOffset

PCB XY offset in grid units.

Typ
vector2<number>
Unit
grid
Default
[0, 0]
Possible Values
any
Examples
  • [0, 0]

pcbScrewSocketSize

Outer diameter of screw socket.

Typ
number
Unit
mm
Default
5
Possible Values
>= 0
Examples
  • 5

pcbScrewSocketHoleSize

Inner hole diameter for screw.

Typ
number
Unit
mm
Default
2.2
Possible Values
>= 0
Examples
  • 2.2

pcbScrewSocketHeight

Socket height.

Typ
number
Unit
mm
Default
3
Possible Values
>= 0
Examples
  • 3

pcbScrewSockets

Placement of screw sockets.

Typ
vector<number>
Unit
indices/coords
Default
[]
Possible Values
indices
Examples
  • [0, 1, 2, 3]

align

Align the brick in scene per axis.

Typ
string|vector3<string>
Unit
Default
start
Possible Values
[start, center, end]
Examples
  • start

alignChildren

Align nested machineblocks.

Typ
string|vector3<string>
Unit
Default
start
Possible Values
[start, center, end]
Examples
  • start

previewQuality

Detail/performance trade-off in preview.

Typ
number
Unit
0..1
Default
0.5
Possible Values
0..1
Examples
  • 0.5

previewRender

Force render() in preview.

Typ
boolean
Unit
Default
false
Possible Values
true|false
Examples
  • false

previewRenderConvexity

Convexity for preview.

Typ
integer
Unit
Default
15
Possible Values
>= 1
Examples
  • 15
LEGO is a registered trademark of the LEGO Group. MachineBlocks is not affiliated with or sponsored by the LEGO Group.