
[
{
"features": [
{
"id": "profile",
"on": {
"plane": "XY"
},
"pen": [
{
"id": "floor",
"length": 72,
"type": "hLine"
},
{
"id": "toe",
"length": 7,
"type": "vLine"
},
{
"radius": 2,
"type": "filletCorner"
},
{
"id": "ledge",
"length": -14,
"type": "hLine"
},
{
"radius": 3,
"type": "filletCorner"
},
{
"id": "flank",
"sagitta": 5,
"to": [
44,
34
],
"type": "sagittaArc"
},
{
"id": "collar",
"length": 8,
"type": "vLine"
},
{
"radius": 3,
"type": "filletCorner"
},
{
"id": "top",
"length": -44,
"type": "hLine"
},
{
"id": "axis",
"type": "close"
}
],
"start": [
0,
0
],
"type": "sketch"
},
{
"angle": 360,
"axis": {
"direction": [
0,
1,
0
],
"origin": [
0,
0,
0
]
},
"id": "base",
"profile": "profile",
"type": "revolve"
},
{
"at": [
{
"id": "m1",
"x": 46,
"y": 46
},
{
"id": "m2",
"x": -46,
"y": 46
},
{
"id": "m3",
"x": -46,
"y": -46
},
{
"id": "m4",
"x": 46,
"y": -46
}
],
"body": "base",
"counterbore": {
"depth": 2,
"diameter": 9
},
"depth": 0,
"diameter": 5,
"id": "mounts",
"on": {
"from": "profile.ledge",
"of": "base",
"role": "side"
},
"type": "hole"
}
],
"id": "3caa3532-a05d-437b-adb8-4855d83ecbe1",
"materials": [
{
"appearance": {
"color": "#c7ccd1"
},
"density": 2700,
"id": "aluminium-6061",
"name": "Aluminium 6061",
"standard": "EN AW-6061"
}
],
"meta": {
"name": "Base"
},
"parameters": {},
"parts": [
{
"appearance": {
"color": "#2a2d31",
"metallic": 0.6,
"roughness": 0.3
},
"body": "base",
"connectors": [
{
"id": "top",
"on": {
"from": "profile.top",
"of": "base",
"role": "side"
}
},
{
"axis": {
"of": "mounts",
"role": "wall"
},
"id": "bolts",
"on": {
"from": "profile.ledge",
"of": "base",
"role": "side"
}
}
],
"id": "base",
"material": "aluminium-6061",
"name": "Base"
}
],
"schemaVersion": 1,
"units": {
"length": "mm"
}
},
{
"features": [
{
"id": "lug",
"on": {
"offset": -20,
"plane": "XY"
},
"pen": [
{
"id": "foot",
"length": 64,
"type": "hLine"
},
{
"id": "rise",
"length": 8,
"type": "vLine"
},
{
"id": "flareFront",
"sagitta": 3.5,
"to": [
20,
26
],
"type": "sagittaArc"
},
{
"id": "front",
"length": 34,
"type": "vLine"
},
{
"id": "crown",
"to": [
-20,
60
],
"type": "tangentArc"
},
{
"id": "back",
"length": -34,
"type": "vLine"
},
{
"id": "flareBack",
"sagitta": 3.5,
"to": [
-32,
10
],
"type": "sagittaArc"
},
{
"id": "drop",
"type": "close"
}
],
"start": [
-32,
2
],
"type": "sketch"
},
{
"distance": 9,
"id": "lugA",
"profile": "lug",
"type": "extrude"
},
{
"id": "hub",
"on": {
"face": {
"count": 1,
"of": "lugA",
"role": "start"
}
},
"pen": [
{
"centre": [
0,
-60
],
"id": "rim",
"radius": 14,
"type": "circle"
}
],
"type": "sketch"
},
{
"body": "lugA",
"distance": 3,
"id": "hubA",
"profile": "hub",
"type": "boss"
},
{
"body": "lugA",
"edges": {
"between": [
{
"of": "lugA",
"role": "start"
},
{
"of": "lugA",
"role": "side"
}
],
"count": 8
},
"id": "lugOuter",
"radius": 2,
"type": "fillet"
},
{
"body": "lugA",
"edges": {
"between": [
{
"of": "lugA",
"role": "end"
},
{
"of": "lugA",
"role": "side"
}
],
"count": 8
},
"id": "lugInner",
"radius": 2,
"type": "fillet"
},
{
"body": "lugA",
"edges": {
"between": [
{
"of": "hubA",
"role": "end"
},
{
"of": "hubA",
"role": "side"
}
],
"count": 1
},
"id": "hubRound",
"radius": 1,
"type": "fillet"
},
{
"body": "lugA",
"id": "fork",
"plane": {
"normal": [
0,
0,
1
],
"origin": [
0,
0,
0
]
},
"type": "mirror"
},
{
"id": "drum",
"on": {
"plane": "XY"
},
"pen": [
{
"id": "seat",
"length": 44,
"type": "hLine"
},
{
"id": "wall",
"length": 14,
"type": "vLine"
},
{
"radius": 4,
"type": "filletCorner"
},
{
"id": "deck",
"length": -44,
"type": "hLine"
},
{
"id": "axis",
"type": "close"
}
],
"start": [
0,
0
],
"type": "sketch"
},
{
"angle": 360,
"axis": {
"direction": [
0,
1,
0
],
"origin": [
0,
0,
0
]
},
"id": "turntable",
"profile": "drum",
"type": "revolve"
},
{
"body": "turntable",
"id": "seat",
"operation": "union",
"tools": [
"lugA"
],
"type": "boolean"
},
{
"at": [
{
"id": "p",
"x": 0,
"y": -60
}
],
"body": "turntable",
"depth": 0,
"diameter": 8,
"id": "pivot",
"on": {
"of": "hubA",
"role": "end"
},
"type": "hole"
}
],
"id": "6e83338d-98a5-4077-8153-8396d1dbf440",
"materials": [
{
"appearance": {
"color": "#e9e4d8"
},
"density": 1040,
"id": "abs",
"name": "ABS"
}
],
"meta": {
"name": "Shoulder"
},
"parameters": {},
"parts": [
{
"appearance": {
"color": "#eceef1",
"metallic": 0,
"roughness": 0.4
},
"body": "turntable",
"connectors": [
{
"id": "bottom",
"on": {
"from": "drum.seat",
"of": "turntable",
"role": "side"
}
},
{
"axis": {
"from": "p",
"of": "pivot",
"role": "wall"
},
"id": "pivot",
"on": {
"count": 1,
"of": "lugA",
"role": "end"
}
},
{
"axis": {
"from": "p",
"of": "pivot",
"role": "wall"
},
"id": "boltFace",
"on": {
"copy": {
"index": 1,
"of": "fork"
},
"of": "hubA",
"role": "end"
}
},
{
"axis": {
"from": "p",
"of": "pivot",
"role": "wall"
},
"id": "nutFace",
"on": {
"count": 1,
"of": "hubA",
"role": "end"
}
}
],
"id": "turntable",
"material": "abs",
"name": "Shoulder"
}
],
"schemaVersion": 1,
"units": {
"length": "mm"
}
},
{
"features": [
{
"id": "side",
"on": {
"offset": "-width / 2",
"plane": "XY"
},
"pen": [
{
"id": "belly",
"sagitta": "tip / 4",
"to": [
"length",
"-tip"
],
"type": "sagittaArc"
},
{
"id": "nose",
"through": [
"length + tip",
0
],
"to": [
"length",
"tip"
],
"type": "threePointArc"
},
{
"id": "spine",
"sagitta": "tip / 4",
"to": [
0,
"hub"
],
"type": "sagittaArc"
},
{
"id": "heel",
"through": [
"-hub",
0
],
"to": [
0,
"-hub"
],
"type": "threePointArc"
}
],
"start": [
0,
"-hub"
],
"type": "sketch"
},
{
"distance": "width",
"id": "link",
"profile": "side",
"type": "extrude"
},
{
"body": "link",
"edges": {
"between": [
{
"count": 1,
"of": "link",
"role": "end"
},
{
"of": "link",
"role": "side"
}
],
"count": 4
},
"id": "frontRim",
"radius": 2,
"type": "fillet"
},
{
"body": "link",
"edges": {
"between": [
{
"count": 1,
"of": "link",
"role": "start"
},
{
"of": "link",
"role": "side"
}
],
"count": 4
},
"id": "backRim",
"radius": 2,
"type": "fillet"
},
{
"id": "boss",
"on": {
"offset": "-(gap + 10) / 2",
"plane": "XY"
},
"pen": [
{
"centre": [
"length",
0
],
"id": "rim",
"radius": "tip",
"type": "circle"
}
],
"type": "sketch"
},
{
"body": "link",
"distance": "gap + 10",
"id": "hubs",
"profile": "boss",
"type": "extrude"
},
{
"body": "link",
"edges": {
"between": [
{
"count": 1,
"of": "hubs",
"role": "end"
},
{
"of": "hubs",
"role": "side"
}
],
"count": 1
},
"id": "hubFront",
"radius": 1.5,
"type": "fillet"
},
{
"body": "link",
"edges": {
"between": [
{
"count": 1,
"of": "hubs",
"role": "start"
},
{
"of": "hubs",
"role": "side"
}
],
"count": 1
},
"id": "hubBack",
"radius": 1.5,
"type": "fillet"
},
{
"id": "slot",
"on": {
"offset": "-gap / 2",
"plane": "XY"
},
"pen": [
{
"id": "under",
"length": "tip + 8",
"type": "hLine"
},
{
"id": "mouth",
"length": "2 * tip + 2",
"type": "vLine"
},
{
"id": "over",
"length": "-(tip + 8)",
"type": "hLine"
},
{
"id": "seat",
"through": [
"length - tip - 1",
0
],
"to": [
"length",
"-(tip + 1)"
],
"type": "threePointArc"
}
],
"start": [
"length",
"-(tip + 1)"
],
"type": "sketch"
},
{
"body": "link",
"distance": "gap",
"id": "fork",
"join": "cut",
"profile": "slot",
"type": "extrude"
},
{
"id": "window",
"on": {
"face": {
"count": 1,
"of": "link",
"role": "end"
}
},
"pen": [
{
"id": "lower",
"length": "length - hub - tip - 24",
"type": "hLine"
},
{
"id": "far",
"to": [
"length - tip - 12",
"tip / 2 - 1"
],
"type": "tangentArc"
},
{
"id": "upper",
"length": "-(length - hub - tip - 24)",
"type": "hLine"
},
{
"id": "near",
"to": [
"hub + 12",
"1 - tip / 2"
],
"type": "tangentArc"
}
],
"start": [
"hub + 12",
"1 - tip / 2"
],
"type": "sketch"
},
{
"body": "link",
"id": "lighten",
"profile": "window",
"through": true,
"type": "pocket"
},
{
"body": "link",
"edges": {
"between": [
{
"count": 1,
"of": "link",
"role": "end"
},
{
"of": "lighten",
"role": "side"
}
],
"count": 4
},
"id": "windowFront",
"radius": 1.5,
"type": "fillet"
},
{
"body": "link",
"edges": {
"between": [
{
"count": 1,
"of": "link",
"role": "start"
},
{
"of": "lighten",
"role": "side"
}
],
"count": 4
},
"id": "windowBack",
"radius": 1.5,
"type": "fillet"
},
{
"at": [
{
"id": "a",
"x": 0,
"y": 0
}
],
"body": "link",
"depth": 0,
"diameter": 8,
"id": "root",
"on": {
"count": 1,
"of": "link",
"role": "end"
},
"type": "hole"
},
{
"at": [
{
"id": "b",
"x": "length",
"y": 0
}
],
"body": "link",
"depth": 0,
"diameter": 8,
"id": "end",
"on": {
"count": 1,
"of": "hubs",
"role": "end"
},
"type": "hole"
}
],
"id": "68cb53ab-b943-4060-97df-046d598d91f2",
"materials": [
{
"appearance": {
"color": "#c7ccd1"
},
"density": 2700,
"id": "aluminium-6061",
"name": "Aluminium 6061",
"standard": "EN AW-6061"
}
],
"meta": {
"name": "Link"
},
"parameters": {
"gap": {
"max": 30,
"min": 6,
"unit": "mm",
"value": 14
},
"hub": {
"max": 30,
"min": 8,
"unit": "mm",
"value": 16
},
"length": {
"max": 300,
"min": 80,
"unit": "mm",
"value": 160
},
"tip": {
"max": 30,
"min": 8,
"unit": "mm",
"value": 13
},
"width": {
"max": 40,
"min": 10,
"unit": "mm",
"value": 22
}
},
"parts": [
{
"appearance": {
"color": "#eceef1",
"metallic": 0,
"roughness": 0.4
},
"body": "link",
"connectors": [
{
"axis": {
"from": "a",
"of": "root",
"role": "wall"
},
"id": "proximal",
"on": {
"count": 1,
"of": "link",
"role": "start"
}
},
{
"axis": {
"from": "b",
"of": "end",
"role": "wall"
},
"id": "distal",
"on": {
"count": 1,
"of": "fork",
"role": "start"
}
},
{
"axis": {
"from": "b",
"of": "end",
"role": "wall"
},
"id": "boltFace",
"on": {
"count": 1,
"of": "hubs",
"role": "end"
}
},
{
"axis": {
"from": "b",
"of": "end",
"role": "wall"
},
"id": "nutFace",
"on": {
"count": 1,
"of": "hubs",
"role": "start"
}
}
],
"id": "link",
"material": "aluminium-6061",
"name": "Link"
}
],
"schemaVersion": 1,
"units": {
"length": "mm"
}
},
{
"features": [
{
"id": "knuckle",
"on": {
"offset": -5,
"plane": "XY"
},
"pen": [
{
"id": "chin",
"to": [
22,
-9
],
"type": "line"
},
{
"id": "face",
"length": 18,
"type": "vLine"
},
{
"id": "brow",
"to": [
0,
11
],
"type": "line"
},
{
"id": "heel",
"through": [
-11,
0
],
"to": [
0,
-11
],
"type": "threePointArc"
}
],
"start": [
0,
-11
],
"type": "sketch"
},
{
"distance": 10,
"id": "wrist",
"profile": "knuckle",
"type": "extrude"
},
{
"id": "plate",
"on": {
"face": {
"count": 1,
"from": "knuckle.face",
"of": "wrist",
"role": "side"
}
},
"pen": [
{
"centre": [
0,
0
],
"id": "rim",
"radius": 12,
"type": "circle"
}
],
"type": "sketch"
},
{
"body": "wrist",
"distance": 6,
"id": "flange",
"profile": "plate",
"type": "boss"
},
{
"body": "wrist",
"edges": {
"between": [
{
"count": 1,
"of": "wrist",
"role": "end"
},
{
"of": "wrist",
"role": "side"
}
],
"count": 3
},
"id": "frontRim",
"radius": 1.5,
"type": "fillet"
},
{
"body": "wrist",
"edges": {
"between": [
{
"count": 1,
"of": "wrist",
"role": "start"
},
{
"of": "wrist",
"role": "side"
}
],
"count": 3
},
"id": "backRim",
"radius": 1.5,
"type": "fillet"
},
{
"body": "wrist",
"edges": {
"between": [
{
"count": 1,
"of": "flange",
"role": "end"
},
{
"of": "flange",
"role": "side"
}
],
"count": 1
},
"id": "flangeRim",
"radius": 1.5,
"type": "fillet"
},
{
"at": [
{
"id": "c",
"x": 0,
"y": 0
}
],
"body": "wrist",
"depth": 0,
"diameter": 8,
"id": "pin",
"on": {
"count": 1,
"of": "wrist",
"role": "end"
},
"type": "hole"
}
],
"id": "c54522fa-3677-461b-aa58-f6671402a2d4",
"materials": [
{
"appearance": {
"color": "#c7ccd1"
},
"density": 2700,
"id": "aluminium-6061",
"name": "Aluminium 6061",
"standard": "EN AW-6061"
}
],
"meta": {
"name": "Wrist"
},
"parameters": {},
"parts": [
{
"appearance": {
"color": "#2a2d31",
"metallic": 0.6,
"roughness": 0.3
},
"body": "wrist",
"connectors": [
{
"axis": {
"from": "c",
"of": "pin",
"role": "wall"
},
"id": "pin",
"on": {
"count": 1,
"of": "wrist",
"role": "start"
}
},
{
"id": "tool",
"on": {
"count": 1,
"of": "flange",
"role": "end"
}
}
],
"id": "wrist",
"material": "aluminium-6061",
"name": "Wrist"
}
],
"schemaVersion": 1,
"units": {
"length": "mm"
}
},
{
"features": [
{
"id": "outline",
"on": {
"plane": "XZ"
},
"pen": [
{
"id": "south",
"length": 58,
"type": "hLine"
},
{
"id": "southEast",
"to": [
35,
-10
],
"type": "tangentArc"
},
{
"id": "east",
"length": 20,
"type": "vLine"
},
{
"id": "northEast",
"to": [
29,
16
],
"type": "tangentArc"
},
{
"id": "north",
"length": -58,
"type": "hLine"
},
{
"id": "northWest",
"to": [
-35,
10
],
"type": "tangentArc"
},
{
"id": "west",
"length": -20,
"type": "vLine"
},
{
"id": "southWest",
"to": [
-29,
-16
],
"type": "tangentArc"
}
],
"start": [
-29,
-16
],
"type": "sketch"
},
{
"distance": 16,
"id": "palm",
"profile": "outline",
"type": "extrude"
},
{
"body": "palm",
"edges": {
"between": [
{
"count": 1,
"of": "palm",
"role": "end"
},
{
"of": "palm",
"role": "side"
}
],
"count": 8
},
"id": "frontRim",
"radius": 2,
"type": "fillet"
},
{
"body": "palm",
"edges": {
"between": [
{
"count": 1,
"of": "palm",
"role": "start"
},
{
"of": "palm",
"role": "side"
}
],
"count": 8
},
"id": "backRim",
"radius": 2,
"type": "fillet"
},
{
"id": "guideA",
"on": {
"face": {
"count": 1,
"of": "palm",
"role": "end"
}
},
"pen": [
{
"id": "inner",
"length": 25,
"type": "hLine"
},
{
"id": "end",
"length": 8,
"type": "vLine"
},
{
"id": "outer",
"length": -25,
"type": "hLine"
},
{
"id": "stop",
"type": "close"
}
],
"start": [
-31,
-4
],
"type": "sketch"
},
{
"body": "palm",
"distance": 5,
"id": "railA",
"profile": "guideA",
"type": "pocket"
},
{
"id": "guideB",
"on": {
"face": {
"count": 1,
"of": "palm",
"role": "end"
}
},
"pen": [
{
"id": "inner",
"length": 25,
"type": "hLine"
},
{
"id": "end",
"length": 8,
"type": "vLine"
},
{
"id": "outer",
"length": -25,
"type": "hLine"
},
{
"id": "stop",
"type": "close"
}
],
"start": [
6,
-4
],
"type": "sketch"
},
{
"body": "palm",
"distance": 5,
"id": "railB",
"profile": "guideB",
"type": "pocket"
},
{
"at": [
{
"id": "s1",
"x": 30,
"y": 11
},
{
"id": "s2",
"x": -30,
"y": 11
},
{
"id": "s3",
"x": -30,
"y": -11
},
{
"id": "s4",
"x": 30,
"y": -11
}
],
"body": "palm",
"counterbore": {
"depth": 1.5,
"diameter": 5.5
},
"depth": 0,
"diameter": 3,
"id": "screws",
"on": {
"count": 1,
"of": "palm",
"role": "end"
},
"type": "hole"
},
{
"id": "mount",
"on": {
"face": {
"count": 1,
"of": "palm",
"role": "start"
}
},
"pen": [
{
"centre": [
0,
0
],
"id": "rim",
"radius": 12,
"type": "circle"
}
],
"type": "sketch"
},
{
"body": "palm",
"distance": 6,
"id": "neck",
"profile": "mount",
"type": "boss"
},
{
"body": "palm",
"edges": {
"between": [
{
"count": 1,
"of": "palm",
"role": "start"
},
{
"of": "neck",
"role": "side"
}
],
"count": 1
},
"id": "neckBlend",
"radius": 3,
"type": "fillet"
}
],
"id": "be490518-ef47-4a5d-ab12-8e38cf58d7ec",
"materials": [
{
"appearance": {
"color": "#e9e4d8"
},
"density": 1040,
"id": "abs",
"name": "ABS"
}
],
"meta": {
"name": "Gripper"
},
"parameters": {},
"parts": [
{
"appearance": {
"color": "#eceef1",
"metallic": 0,
"roughness": 0.4
},
"body": "palm",
"connectors": [
{
"id": "mount",
"on": {
"count": 1,
"of": "neck",
"role": "end"
}
},
{
"id": "jawA",
"on": {
"from": "guideA.end",
"of": "railA",
"role": "side"
},
"origin": [
-6,
13.5,
0
]
},
{
"id": "jawB",
"on": {
"from": "guideB.stop",
"of": "railB",
"role": "side"
},
"origin": [
6,
13.5,
0
]
},
{
"axis": {
"of": "screws",
"role": "wall"
},
"id": "screws",
"on": {
"count": 1,
"of": "palm",
"role": "end"
}
}
],
"id": "palm",
"material": "abs",
"name": "Gripper"
}
],
"schemaVersion": 1,
"units": {
"length": "mm"
}
},
{
"features": [
{
"id": "profile",
"on": {
"offset": -7,
"plane": "XY"
},
"pen": [
{
"id": "base",
"length": 10,
"type": "hLine"
},
{
"id": "back",
"length": 18,
"type": "vLine"
},
{
"id": "taper",
"to": [
6,
36
],
"type": "line"
},
{
"id": "top",
"length": -6,
"type": "hLine"
},
{
"id": "t1",
"to": [
-1.2,
34
],
"type": "line"
},
{
"id": "t2",
"to": [
0,
32
],
"type": "line"
},
{
"id": "t3",
"to": [
-1.2,
30
],
"type": "line"
},
{
"id": "t4",
"to": [
0,
28
],
"type": "line"
},
{
"id": "t5",
"to": [
-1.2,
26
],
"type": "line"
},
{
"id": "t6",
"to": [
0,
24
],
"type": "line"
},
{
"id": "t7",
"to": [
-1.2,
22
],
"type": "line"
},
{
"id": "t8",
"to": [
0,
20
],
"type": "line"
},
{
"id": "face",
"type": "close"
}
],
"start": [
0,
0
],
"type": "sketch"
},
{
"distance": 14,
"id": "jaw",
"profile": "profile",
"type": "extrude"
},
{
"id": "carriage",
"on": {
"offset": -4,
"plane": "XY"
},
"pen": [
{
"id": "sole",
"length": 13.5,
"type": "hLine"
},
{
"id": "end",
"length": 7,
"type": "vLine"
},
{
"id": "top",
"length": -13.5,
"type": "hLine"
},
{
"id": "toe",
"type": "close"
}
],
"start": [
0.5,
-5
],
"type": "sketch"
},
{
"body": "jaw",
"distance": 8,
"id": "foot",
"profile": "carriage",
"type": "extrude"
},
{
"at": [
{
"id": "s1",
"x": 5,
"y": 5
},
{
"id": "s2",
"x": 5,
"y": 13
}
],
"body": "jaw",
"counterbore": {
"depth": 1.5,
"diameter": 5.5
},
"depth": 0,
"diameter": 3,
"id": "screws",
"on": {
"count": 1,
"of": "jaw",
"role": "end"
},
"type": "hole"
}
],
"id": "f7714e95-5ddd-46d6-b4d9-a2bdacab96a7",
"materials": [
{
"appearance": {
"color": "#c7ccd1"
},
"density": 2700,
"id": "aluminium-6061",
"name": "Aluminium 6061",
"standard": "EN AW-6061"
}
],
"meta": {
"name": "Jaw"
},
"parameters": {},
"parts": [
{
"appearance": {
"color": "#2a2d31",
"metallic": 0.6,
"roughness": 0.3
},
"body": "jaw",
"connectors": [
{
"id": "slide",
"on": {
"from": "carriage.toe",
"of": "foot",
"role": "side"
}
},
{
"axis": {
"of": "screws",
"role": "wall"
},
"id": "screws",
"on": {
"count": 1,
"of": "jaw",
"role": "end"
}
}
],
"id": "jaw",
"material": "aluminium-6061",
"name": "Jaw"
}
],
"schemaVersion": 1,
"units": {
"length": "mm"
}
},
{
"features": [
{
"id": "shank",
"on": {
"plane": "XZ"
},
"pen": [
{
"centre": [
0,
0
],
"id": "rim",
"radius": "d / 2",
"type": "circle"
}
],
"type": "sketch"
},
{
"distance": "length",
"id": "screw",
"profile": "shank",
"type": "extrude"
},
{
"id": "crown",
"on": {
"offset": "length",
"plane": "XZ"
},
"pen": [
{
"centre": [
0,
0
],
"id": "rim",
"radius": "0.8 * d",
"type": "circle"
}
],
"type": "sketch"
},
{
"body": "screw",
"distance": "0.7 * d",
"id": "head",
"profile": "crown",
"type": "extrude"
},
{
"id": "hex",
"on": {
"face": {
"count": 1,
"of": "head",
"role": "end"
}
},
"pen": [
{
"id": "h1",
"to": [
"0.15 * d",
"0.26 * d"
],
"type": "line"
},
{
"id": "h2",
"to": [
"-0.15 * d",
"0.26 * d"
],
"type": "line"
},
{
"id": "h3",
"to": [
"-0.3 * d",
0
],
"type": "line"
},
{
"id": "h4",
"to": [
"-0.15 * d",
"-0.26 * d"
],
"type": "line"
},
{
"id": "h5",
"to": [
"0.15 * d",
"-0.26 * d"
],
"type": "line"
},
{
"id": "h6",
"type": "close"
}
],
"start": [
"0.3 * d",
0
],
"type": "sketch"
},
{
"body": "screw",
"distance": "0.4 * d",
"id": "drive",
"profile": "hex",
"type": "pocket"
},
{
"body": "screw",
"edges": {
"between": [
{
"count": 1,
"of": "head",
"role": "end"
},
{
"of": "head",
"role": "side"
}
],
"count": 1
},
"id": "round",
"radius": "0.08 * d",
"type": "fillet"
},
{
"body": "screw",
"distance": "0.1 * d",
"edges": {
"between": [
{
"count": 1,
"of": "screw",
"role": "start"
},
{
"of": "screw",
"role": "side"
}
],
"count": 1
},
"id": "lead",
"type": "chamfer"
}
],
"id": "aaedf3fd-c9e8-4774-ba6e-c42a2d73dc44",
"materials": [
{
"appearance": {
"color": "#8a9099"
},
"density": 7850,
"id": "steel",
"name": "Steel",
"standard": "S235"
}
],
"meta": {
"name": "Screw"
},
"parameters": {
"d": {
"max": 20,
"min": 2,
"unit": "mm",
"value": 8
},
"length": {
"max": 120,
"min": 4,
"unit": "mm",
"value": 40
}
},
"parts": [
{
"appearance": {
"color": "#1d1f22",
"metallic": 0.85,
"roughness": 0.35
},
"body": "screw",
"connectors": [
{
"axis": {
"from": "shank.rim",
"of": "screw",
"role": "side"
},
"id": "seat",
"on": {
"count": 1,
"of": "head",
"role": "start"
}
}
],
"id": "screw",
"material": "steel",
"name": "Screw"
}
],
"schemaVersion": 1,
"units": {
"length": "mm"
}
},
{
"features": [
{
"id": "hex",
"on": {
"plane": "XZ"
},
"pen": [
{
"id": "f1",
"to": [
"0.46 * d",
"0.8 * d"
],
"type": "line"
},
{
"id": "f2",
"to": [
"-0.46 * d",
"0.8 * d"
],
"type": "line"
},
{
"id": "f3",
"to": [
"-0.92 * d",
0
],
"type": "line"
},
{
"id": "f4",
"to": [
"-0.46 * d",
"-0.8 * d"
],
"type": "line"
},
{
"id": "f5",
"to": [
"0.46 * d",
"-0.8 * d"
],
"type": "line"
},
{
"id": "f6",
"type": "close"
}
],
"start": [
"0.92 * d",
0
],
"type": "sketch"
},
{
"distance": "0.8 * d",
"id": "nut",
"profile": "hex",
"type": "extrude"
},
{
"body": "nut",
"distance": "0.08 * d",
"edges": {
"between": [
{
"count": 1,
"of": "nut",
"role": "end"
},
{
"of": "nut",
"role": "side"
}
],
"count": 6
},
"id": "topBevel",
"type": "chamfer"
},
{
"body": "nut",
"distance": "0.08 * d",
"edges": {
"between": [
{
"count": 1,
"of": "nut",
"role": "start"
},
{
"of": "nut",
"role": "side"
}
],
"count": 6
},
"id": "underBevel",
"type": "chamfer"
},
{
"at": [
{
"id": "c",
"x": 0,
"y": 0
}
],
"body": "nut",
"depth": 0,
"diameter": "d",
"id": "bore",
"on": {
"count": 1,
"of": "nut",
"role": "end"
},
"type": "hole"
}
],
"id": "a2d1fb0a-f013-4b4e-b5fd-ea0f479308c0",
"materials": [
{
"appearance": {
"color": "#8a9099"
},
"density": 7850,
"id": "steel",
"name": "Steel",
"standard": "S235"
}
],
"meta": {
"name": "Nut"
},
"parameters": {
"d": {
"max": 20,
"min": 2,
"unit": "mm",
"value": 8
}
},
"parts": [
{
"appearance": {
"color": "#1d1f22",
"metallic": 0.85,
"roughness": 0.35
},
"body": "nut",
"connectors": [
{
"axis": {
"from": "c",
"of": "bore",
"role": "wall"
},
"id": "seat",
"on": {
"count": 1,
"of": "nut",
"role": "start"
}
}
],
"id": "nut",
"material": "steel",
"name": "Nut"
}
],
"schemaVersion": 1,
"units": {
"length": "mm"
}
},
{
"components": [
{
"at": {
"direction": [
1,
0,
0
],
"normal": [
0,
0,
1
],
"origin": [
0,
0,
0
]
},
"id": "base",
"source": {
"document": "3caa3532-a05d-437b-adb8-4855d83ecbe1",
"part": "base"
}
},
{
"id": "turntable",
"source": {
"document": "6e83338d-98a5-4077-8153-8396d1dbf440",
"part": "turntable"
}
},
{
"id": "upper",
"source": {
"document": "68cb53ab-b943-4060-97df-046d598d91f2",
"parameters": {
"length": 160
},
"part": "link"
}
},
{
"id": "fore",
"source": {
"document": "68cb53ab-b943-4060-97df-046d598d91f2",
"parameters": {
"gap": 10,
"hub": 13,
"length": 130,
"tip": 11,
"width": 14
},
"part": "link"
}
},
{
"id": "wrist",
"source": {
"document": "c54522fa-3677-461b-aa58-f6671402a2d4",
"part": "wrist"
}
},
{
"id": "gripper",
"source": {
"document": "be490518-ef47-4a5d-ab12-8e38cf58d7ec",
"part": "palm"
}
},
{
"id": "jawA",
"source": {
"document": "f7714e95-5ddd-46d6-b4d9-a2bdacab96a7",
"part": "jaw"
}
},
{
"id": "jawB",
"source": {
"document": "f7714e95-5ddd-46d6-b4d9-a2bdacab96a7",
"part": "jaw"
}
},
{
"id": "shoulderBolt",
"replicate": {
"connector": "seat",
"to": {
"component": "turntable",
"connector": "boltFace"
}
},
"source": {
"document": "aaedf3fd-c9e8-4774-ba6e-c42a2d73dc44",
"parameters": {
"d": 8,
"length": 55
},
"part": "screw"
}
},
{
"id": "shoulderNut",
"replicate": {
"connector": "seat",
"to": {
"component": "turntable",
"connector": "nutFace"
}
},
"source": {
"document": "a2d1fb0a-f013-4b4e-b5fd-ea0f479308c0",
"parameters": {
"d": 8
},
"part": "nut"
}
},
{
"id": "elbowBolt",
"replicate": {
"connector": "seat",
"to": {
"component": "upper",
"connector": "boltFace"
}
},
"source": {
"document": "aaedf3fd-c9e8-4774-ba6e-c42a2d73dc44",
"parameters": {
"d": 8,
"length": 34
},
"part": "screw"
}
},
{
"id": "elbowNut",
"replicate": {
"connector": "seat",
"to": {
"component": "upper",
"connector": "nutFace"
}
},
"source": {
"document": "a2d1fb0a-f013-4b4e-b5fd-ea0f479308c0",
"parameters": {
"d": 8
},
"part": "nut"
}
},
{
"id": "wristBolt",
"replicate": {
"connector": "seat",
"to": {
"component": "fore",
"connector": "boltFace"
}
},
"source": {
"document": "aaedf3fd-c9e8-4774-ba6e-c42a2d73dc44",
"parameters": {
"d": 8,
"length": 30
},
"part": "screw"
}
},
{
"id": "wristNut",
"replicate": {
"connector": "seat",
"to": {
"component": "fore",
"connector": "nutFace"
}
},
"source": {
"document": "a2d1fb0a-f013-4b4e-b5fd-ea0f479308c0",
"parameters": {
"d": 8
},
"part": "nut"
}
},
{
"id": "baseScrews",
"replicate": {
"connector": "seat",
"offset": -2,
"to": {
"component": "base",
"connector": "bolts"
}
},
"source": {
"document": "aaedf3fd-c9e8-4774-ba6e-c42a2d73dc44",
"parameters": {
"d": 5,
"length": 9
},
"part": "screw"
}
},
{
"id": "palmScrews",
"replicate": {
"connector": "seat",
"offset": -1.5,
"to": {
"component": "gripper",
"connector": "screws"
}
},
"source": {
"document": "aaedf3fd-c9e8-4774-ba6e-c42a2d73dc44",
"parameters": {
"d": 3,
"length": 8
},
"part": "screw"
}
},
{
"id": "jawScrewsA",
"replicate": {
"connector": "seat",
"offset": -1.5,
"to": {
"component": "jawA",
"connector": "screws"
}
},
"source": {
"document": "aaedf3fd-c9e8-4774-ba6e-c42a2d73dc44",
"parameters": {
"d": 3,
"length": 10
},
"part": "screw"
}
},
{
"id": "jawScrewsB",
"replicate": {
"connector": "seat",
"offset": -1.5,
"to": {
"component": "jawB",
"connector": "screws"
}
},
"source": {
"document": "aaedf3fd-c9e8-4774-ba6e-c42a2d73dc44",
"parameters": {
"d": 3,
"length": 10
},
"part": "screw"
}
}
],
"id": "b248251e-418e-4914-be69-769e7df2690a",
"joints": [
{
"angle": "yaw",
"component": "turntable",
"connector": "bottom",
"id": "yaw",
"limits": {
"angle": [
-170,
170
]
},
"to": {
"component": "base",
"connector": "top"
},
"type": "revolute"
},
{
"angle": "shoulder",
"component": "upper",
"connector": "proximal",
"id": "shoulder",
"limits": {
"angle": [
-10,
120
]
},
"to": {
"component": "turntable",
"connector": "pivot"
},
"type": "revolute"
},
{
"angle": "elbow",
"component": "fore",
"connector": "proximal",
"id": "elbow",
"limits": {
"angle": [
-150,
150
]
},
"to": {
"component": "upper",
"connector": "distal"
},
"type": "revolute"
},
{
"angle": "wrist",
"component": "wrist",
"connector": "pin",
"id": "wristJoint",
"limits": {
"angle": [
-90,
90
]
},
"to": {
"component": "fore",
"connector": "distal"
},
"type": "revolute"
},
{
"component": "gripper",
"connector": "mount",
"id": "mount",
"to": {
"component": "wrist",
"connector": "tool"
},
"type": "fastened"
},
{
"component": "jawA",
"connector": "slide",
"id": "gripA",
"limits": {
"offset": [
0,
11
]
},
"offset": "grip",
"to": {
"component": "gripper",
"connector": "jawA"
},
"type": "slider"
},
{
"component": "jawB",
"connector": "slide",
"id": "gripB",
"limits": {
"offset": [
0,
11
]
},
"offset": "grip",
"to": {
"component": "gripper",
"connector": "jawB"
},
"type": "slider"
}
],
"kind": "assembly",
"meta": {
"name": "Desk arm"
},
"parameters": {
"elbow": {
"max": 150,
"min": -150,
"unit": "deg",
"value": -80
},
"grip": {
"max": 11,
"min": 0,
"unit": "mm",
"value": 4
},
"shoulder": {
"max": 120,
"min": -10,
"unit": "deg",
"value": 60
},
"wrist": {
"max": 90,
"min": -90,
"unit": "deg",
"value": -40
},
"yaw": {
"max": 170,
"min": -170,
"unit": "deg",
"value": -35
}
},
"schemaVersion": 1,
"units": {
"length": "mm"
}
}
]Editor plans for 3D development, API keys for server-side CAD algorithms
Cloud storage, private projects & 3D tools for Bitbybit editors
* "Unlimited" means high limits that most users won't reach. Compare the plans
Run CAD algorithms on managed cloud servers from your own backend applications
Custom software development, dedicated servers & CAD automation at scale.