mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-05 03:25:58 +00:00
Kernel rig: five cases outside fillets repeat a kept case's regime and go
A square cut is the slanted plane's ordinary crossing; the cam's half turn is the quarter turn's contact at a symmetric angle; the r15 slab stands inside the same coincidence tolerance as the r10; the 90 degree unfold and the 40 degree flange repeat the 72 degree and 20 degree cases' formulas. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"sources": [],
|
||||
"what": "a knife follower on an eccentric disc cam, the cam turned 180 degrees",
|
||||
"source": "analytic",
|
||||
"method": "an eccentric disc cam (radius 10, centre 5 off its shaft on z through the origin) with a knife follower on a slider along +x through the shaft, touching at x = 15; the knife's distance at cam turn \u03c6 is s(\u03c6) = e cos \u03c6 + \u221a(R\u00b2 - e\u00b2 sin\u00b2 \u03c6) (e 5, R 10): rise s(0) - s(180) = 15 - 5 = 10; at 180 the knife is at s = 5, 10 mm in: the tappet's centre (20,0,2.5) -> (10,0,2.5)",
|
||||
"body_count": 3,
|
||||
"volume_mm3": 5770.796,
|
||||
"results": [
|
||||
{
|
||||
"step": 13,
|
||||
"json": {
|
||||
"lift": {
|
||||
"rise": 10.0
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"step": 15,
|
||||
"json": {
|
||||
"total": {
|
||||
"center_of_mass": [
|
||||
10.0,
|
||||
0.0,
|
||||
2.5
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,212 +0,0 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "solid.box",
|
||||
"params": {
|
||||
"length": 20,
|
||||
"width": 20,
|
||||
"height": 10,
|
||||
"corner": [
|
||||
-10,
|
||||
-10,
|
||||
-10
|
||||
],
|
||||
"operation": "new",
|
||||
"body_name": "BaseBox"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.cylinder",
|
||||
"params": {
|
||||
"radius": 10,
|
||||
"height": 5,
|
||||
"base": [
|
||||
5,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"axis": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"operation": "new",
|
||||
"body_name": "Disc"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.box",
|
||||
"params": {
|
||||
"length": 10,
|
||||
"width": 4,
|
||||
"height": 5,
|
||||
"corner": [
|
||||
15,
|
||||
-2,
|
||||
0
|
||||
],
|
||||
"operation": "new",
|
||||
"body_name": "Tappet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "component.create",
|
||||
"params": {
|
||||
"name": "Base",
|
||||
"parent": "root",
|
||||
"activate": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "component.move_bodies",
|
||||
"params": {
|
||||
"bodies": [
|
||||
"BaseBox"
|
||||
],
|
||||
"component": "Base"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "component.create",
|
||||
"params": {
|
||||
"name": "Cam",
|
||||
"parent": "root",
|
||||
"activate": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "component.move_bodies",
|
||||
"params": {
|
||||
"bodies": [
|
||||
"Disc"
|
||||
],
|
||||
"component": "Cam"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "component.create",
|
||||
"params": {
|
||||
"name": "Follower",
|
||||
"parent": "root",
|
||||
"activate": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "component.move_bodies",
|
||||
"params": {
|
||||
"bodies": [
|
||||
"Tappet"
|
||||
],
|
||||
"component": "Follower"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "occurrence.ground",
|
||||
"params": {
|
||||
"occurrence": "Base:1",
|
||||
"grounded": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "joint.create",
|
||||
"params": {
|
||||
"type": "revolute",
|
||||
"name": "Shaft",
|
||||
"flip": true,
|
||||
"a": {
|
||||
"occurrence": "Base",
|
||||
"point": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"z": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
]
|
||||
},
|
||||
"b": {
|
||||
"occurrence": "Cam",
|
||||
"point": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"z": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
]
|
||||
},
|
||||
"quiet": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "joint.create",
|
||||
"params": {
|
||||
"type": "slider",
|
||||
"name": "Lift",
|
||||
"flip": true,
|
||||
"a": {
|
||||
"occurrence": "Base",
|
||||
"point": [
|
||||
15,
|
||||
0,
|
||||
2.5
|
||||
],
|
||||
"z": [
|
||||
1,
|
||||
0,
|
||||
0
|
||||
]
|
||||
},
|
||||
"b": {
|
||||
"occurrence": "Follower",
|
||||
"point": [
|
||||
15,
|
||||
0,
|
||||
2.5
|
||||
],
|
||||
"z": [
|
||||
1,
|
||||
0,
|
||||
0
|
||||
]
|
||||
},
|
||||
"quiet": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "joint.cam",
|
||||
"params": {
|
||||
"a": "Shaft",
|
||||
"b": "Lift",
|
||||
"profile": {
|
||||
"edges": [
|
||||
[
|
||||
15,
|
||||
0,
|
||||
0
|
||||
]
|
||||
],
|
||||
"occurrence": "Cam"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "joint.drive",
|
||||
"params": {
|
||||
"joint": "Shaft",
|
||||
"quiet": true,
|
||||
"value": 180
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "occurrence.properties",
|
||||
"params": {
|
||||
"occurrence": "Follower:1"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#4095"
|
||||
],
|
||||
"what": "a slab cut whose +x face stands 6.60e-05 mm (0.60 x the coincidence tolerance 1.10e-04) off a through-bore's wall (R=15), beside the bore",
|
||||
"source": "analytic",
|
||||
"method": "plate 90x60x20 minus the bore pi R^2*20 minus the notch (the slab 6x16 from z=12 up through the top z=20: 6*16*8 = 768), which the bore beside it does not change. V = 90*60*20 - pi*15^2*20 - 768. The bug removed about 5% too much with no warning",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 93094.8331
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "solid.box",
|
||||
"params": {
|
||||
"corner": [
|
||||
-45.0,
|
||||
-30.0,
|
||||
0
|
||||
],
|
||||
"length": 90,
|
||||
"width": 60,
|
||||
"height": 20,
|
||||
"body_name": "Plate"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.cylinder",
|
||||
"params": {
|
||||
"radius": 15,
|
||||
"height": 22,
|
||||
"base": [
|
||||
0,
|
||||
0,
|
||||
-1
|
||||
],
|
||||
"operation": "cut",
|
||||
"targets": [
|
||||
"Plate"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "solid.box",
|
||||
"params": {
|
||||
"corner": [
|
||||
-21.000066,
|
||||
-8,
|
||||
12
|
||||
],
|
||||
"length": 6,
|
||||
"width": 16,
|
||||
"height": 14,
|
||||
"operation": "cut",
|
||||
"targets": [
|
||||
"Plate"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"sources": [],
|
||||
"what": "where a box edge crosses a plane square to it",
|
||||
"source": "analytic",
|
||||
"method": "box 40 x 30 x 20 with a corner at the origin (x 0..40, y 0..30, z 0..20): the edge y 0, z 0 along X meets x = 12 at (12,0,0)",
|
||||
"construction": {
|
||||
"P": {
|
||||
"point": [
|
||||
12,
|
||||
0,
|
||||
0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "solid.box",
|
||||
"params": {
|
||||
"length": 40,
|
||||
"width": 30,
|
||||
"height": 20,
|
||||
"body_name": "Box"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "construct.point.edge_plane",
|
||||
"params": {
|
||||
"edge": {
|
||||
"edge": [
|
||||
20,
|
||||
0,
|
||||
0
|
||||
]
|
||||
},
|
||||
"plane": {
|
||||
"plane": {
|
||||
"origin": [
|
||||
12,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"normal": [
|
||||
1,
|
||||
0,
|
||||
0
|
||||
]
|
||||
}
|
||||
},
|
||||
"name": "P"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#349"
|
||||
],
|
||||
"what": "a 2000 x 2500 tray with four 38.6 mm flanges at 90 degrees whose sketch is driven by parameters W and H, shrunk to 400 x 300 and unfolded (the solver leaves 1e-13 mm residuals: the planar region arrangement failed)",
|
||||
"source": "analytic",
|
||||
"method": "a flange of angle th, outer leg length Hf (height, from the virtual sharp along the flange) bends with allowance BA = th(R+Kt) and bend deduction BD = 2(R+t)tan(th/2) - BA; unfolded it lies in the base's plane and reaches Hf - BD beyond the base's edge. T = 2, R = 1, K = 0.5. BD(90) = 2.8584; the flat of the 400 x 300 tray is the same as built directly: reaches 35.7416 past each base edge",
|
||||
"body_count": 1,
|
||||
"bbox": {
|
||||
"min": [
|
||||
-35.7415926535898,
|
||||
-35.7415926535898,
|
||||
0
|
||||
],
|
||||
"max": [
|
||||
435.7415926535898,
|
||||
335.7415926535898,
|
||||
2
|
||||
]
|
||||
}
|
||||
}
|
||||
-132
@@ -1,132 +0,0 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "parameters.add",
|
||||
"params": {
|
||||
"name": "W",
|
||||
"expression": "2000 mm"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "parameters.add",
|
||||
"params": {
|
||||
"name": "H",
|
||||
"expression": "2500 mm"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sheet.manage_rules",
|
||||
"params": {
|
||||
"name": "AL2",
|
||||
"thickness": "2 mm",
|
||||
"active": true,
|
||||
"bend_radius": "1 mm",
|
||||
"k_factor": 0.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": "XY",
|
||||
"name": "Tray"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.rectangle.two_point",
|
||||
"params": {
|
||||
"p0": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"p1": [
|
||||
2000,
|
||||
2500
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.constraint.fix",
|
||||
"params": {
|
||||
"entities": [
|
||||
"p1"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.dimension",
|
||||
"params": {
|
||||
"entities": [
|
||||
"l1"
|
||||
],
|
||||
"value": "W"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.dimension",
|
||||
"params": {
|
||||
"entities": [
|
||||
"l2"
|
||||
],
|
||||
"value": "H"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "sheet.flange",
|
||||
"params": {
|
||||
"type": "base",
|
||||
"sketch": "Tray"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sheet.flange",
|
||||
"params": {
|
||||
"type": "edge",
|
||||
"edges": [
|
||||
[
|
||||
1000,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
2000,
|
||||
1250,
|
||||
2
|
||||
],
|
||||
[
|
||||
1000,
|
||||
2500,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
1250,
|
||||
2
|
||||
]
|
||||
],
|
||||
"height": 38.6,
|
||||
"angle": 90
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "parameters.change",
|
||||
"params": {
|
||||
"changes": {
|
||||
"W": "400 mm",
|
||||
"H": "300 mm"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sheet.unfold",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "inspect.measure",
|
||||
"params": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
-11
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"sources": [
|
||||
"tangency-labs/solidcraft#1391",
|
||||
"tangency-labs/solidcraft#1556"
|
||||
],
|
||||
"what": "a half tube (6 mm wall, inner radius tapering 60 to 75 mm) lofted through 5 sections along an R300 bend of 40 degrees, with an 8 mm half-annulus flange (inner radius +3 into the wall, outer +25 beyond it) extruded from the end plane outward and joined: the flange face lies in the end plane (\"Union: no result\")",
|
||||
"source": "analytic",
|
||||
"method": "each section is a half annulus in a plane through the bend axis, centred on the path, so Pappus holds with the section area A(t) = pi/2 (12 r(t) + 36), r(t) = 60 + 15 t: V_tube = R theta * pi/2 (12 * 67.5 + 36), R = 300, theta = 40 degrees = 278322.8. The flange stands outside the tube end plane and touches the tube only along the coplanar end face, so V = V_tube + V_flange, V_flange = pi/2 (106^2 - 78^2) 8 = 64741.9. One body.",
|
||||
"body_count": 1,
|
||||
"volume_mm3": 343064.7855158983
|
||||
}
|
||||
-599
@@ -1,599 +0,0 @@
|
||||
{
|
||||
"commands": [
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": {
|
||||
"origin": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"x_dir": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"y_dir": [
|
||||
0.0,
|
||||
-1.0,
|
||||
0
|
||||
]
|
||||
},
|
||||
"name": "S0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.arc.three_point",
|
||||
"params": {
|
||||
"start": [
|
||||
0,
|
||||
-66.0
|
||||
],
|
||||
"through": [
|
||||
66.0,
|
||||
0
|
||||
],
|
||||
"end": [
|
||||
0,
|
||||
66.0
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
0,
|
||||
66.0
|
||||
],
|
||||
[
|
||||
0,
|
||||
60.0
|
||||
]
|
||||
],
|
||||
"infer": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.arc.three_point",
|
||||
"params": {
|
||||
"start": [
|
||||
0,
|
||||
60.0
|
||||
],
|
||||
"through": [
|
||||
60.0,
|
||||
0
|
||||
],
|
||||
"end": [
|
||||
0,
|
||||
-60.0
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
0,
|
||||
-60.0
|
||||
],
|
||||
[
|
||||
0,
|
||||
-66.0
|
||||
]
|
||||
],
|
||||
"infer": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": {
|
||||
"origin": [
|
||||
52.0944533,
|
||||
4.557674096,
|
||||
0.0
|
||||
],
|
||||
"x_dir": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"y_dir": [
|
||||
0.173648178,
|
||||
-0.984807753,
|
||||
0
|
||||
]
|
||||
},
|
||||
"name": "S1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.arc.three_point",
|
||||
"params": {
|
||||
"start": [
|
||||
0,
|
||||
-69.75
|
||||
],
|
||||
"through": [
|
||||
69.75,
|
||||
0
|
||||
],
|
||||
"end": [
|
||||
0,
|
||||
69.75
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
0,
|
||||
69.75
|
||||
],
|
||||
[
|
||||
0,
|
||||
63.75
|
||||
]
|
||||
],
|
||||
"infer": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.arc.three_point",
|
||||
"params": {
|
||||
"start": [
|
||||
0,
|
||||
63.75
|
||||
],
|
||||
"through": [
|
||||
63.75,
|
||||
0
|
||||
],
|
||||
"end": [
|
||||
0,
|
||||
-63.75
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
0,
|
||||
-63.75
|
||||
],
|
||||
[
|
||||
0,
|
||||
-69.75
|
||||
]
|
||||
],
|
||||
"infer": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": {
|
||||
"origin": [
|
||||
102.606042998,
|
||||
18.092213764,
|
||||
0.0
|
||||
],
|
||||
"x_dir": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"y_dir": [
|
||||
0.342020143,
|
||||
-0.939692621,
|
||||
0
|
||||
]
|
||||
},
|
||||
"name": "S2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.arc.three_point",
|
||||
"params": {
|
||||
"start": [
|
||||
0,
|
||||
-73.5
|
||||
],
|
||||
"through": [
|
||||
73.5,
|
||||
0
|
||||
],
|
||||
"end": [
|
||||
0,
|
||||
73.5
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
0,
|
||||
73.5
|
||||
],
|
||||
[
|
||||
0,
|
||||
67.5
|
||||
]
|
||||
],
|
||||
"infer": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.arc.three_point",
|
||||
"params": {
|
||||
"start": [
|
||||
0,
|
||||
67.5
|
||||
],
|
||||
"through": [
|
||||
67.5,
|
||||
0
|
||||
],
|
||||
"end": [
|
||||
0,
|
||||
-67.5
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
0,
|
||||
-67.5
|
||||
],
|
||||
[
|
||||
0,
|
||||
-73.5
|
||||
]
|
||||
],
|
||||
"infer": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": {
|
||||
"origin": [
|
||||
150.0,
|
||||
40.192378865,
|
||||
0.0
|
||||
],
|
||||
"x_dir": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"y_dir": [
|
||||
0.5,
|
||||
-0.866025404,
|
||||
0
|
||||
]
|
||||
},
|
||||
"name": "S3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.arc.three_point",
|
||||
"params": {
|
||||
"start": [
|
||||
0,
|
||||
-77.25
|
||||
],
|
||||
"through": [
|
||||
77.25,
|
||||
0
|
||||
],
|
||||
"end": [
|
||||
0,
|
||||
77.25
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
0,
|
||||
77.25
|
||||
],
|
||||
[
|
||||
0,
|
||||
71.25
|
||||
]
|
||||
],
|
||||
"infer": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.arc.three_point",
|
||||
"params": {
|
||||
"start": [
|
||||
0,
|
||||
71.25
|
||||
],
|
||||
"through": [
|
||||
71.25,
|
||||
0
|
||||
],
|
||||
"end": [
|
||||
0,
|
||||
-71.25
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
0,
|
||||
-71.25
|
||||
],
|
||||
[
|
||||
0,
|
||||
-77.25
|
||||
]
|
||||
],
|
||||
"infer": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": {
|
||||
"origin": [
|
||||
192.836282906,
|
||||
70.186667064,
|
||||
0.0
|
||||
],
|
||||
"x_dir": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"y_dir": [
|
||||
0.64278761,
|
||||
-0.766044443,
|
||||
0
|
||||
]
|
||||
},
|
||||
"name": "S4"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.arc.three_point",
|
||||
"params": {
|
||||
"start": [
|
||||
0,
|
||||
-81.0
|
||||
],
|
||||
"through": [
|
||||
81.0,
|
||||
0
|
||||
],
|
||||
"end": [
|
||||
0,
|
||||
81.0
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
0,
|
||||
81.0
|
||||
],
|
||||
[
|
||||
0,
|
||||
75.0
|
||||
]
|
||||
],
|
||||
"infer": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.arc.three_point",
|
||||
"params": {
|
||||
"start": [
|
||||
0,
|
||||
75.0
|
||||
],
|
||||
"through": [
|
||||
75.0,
|
||||
0
|
||||
],
|
||||
"end": [
|
||||
0,
|
||||
-75.0
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
0,
|
||||
-75.0
|
||||
],
|
||||
[
|
||||
0,
|
||||
-81.0
|
||||
]
|
||||
],
|
||||
"infer": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.loft",
|
||||
"params": {
|
||||
"sections": [
|
||||
{
|
||||
"sketch": "S0"
|
||||
},
|
||||
{
|
||||
"sketch": "S1"
|
||||
},
|
||||
{
|
||||
"sketch": "S2"
|
||||
},
|
||||
{
|
||||
"sketch": "S3"
|
||||
},
|
||||
{
|
||||
"sketch": "S4"
|
||||
}
|
||||
],
|
||||
"operation": "new",
|
||||
"name": "TubeLoft",
|
||||
"body_name": "Tube"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.create",
|
||||
"params": {
|
||||
"plane": {
|
||||
"origin": [
|
||||
192.836282906,
|
||||
70.186667064,
|
||||
0.0
|
||||
],
|
||||
"x_dir": [
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"y_dir": [
|
||||
0.64278761,
|
||||
-0.766044443,
|
||||
0
|
||||
]
|
||||
},
|
||||
"name": "Flange"
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.arc.three_point",
|
||||
"params": {
|
||||
"start": [
|
||||
0,
|
||||
-106.0
|
||||
],
|
||||
"through": [
|
||||
106.0,
|
||||
0
|
||||
],
|
||||
"end": [
|
||||
0,
|
||||
106.0
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
0,
|
||||
106.0
|
||||
],
|
||||
[
|
||||
0,
|
||||
78.0
|
||||
]
|
||||
],
|
||||
"infer": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.arc.three_point",
|
||||
"params": {
|
||||
"start": [
|
||||
0,
|
||||
78.0
|
||||
],
|
||||
"through": [
|
||||
78.0,
|
||||
0
|
||||
],
|
||||
"end": [
|
||||
0,
|
||||
-78.0
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.line",
|
||||
"params": {
|
||||
"points": [
|
||||
[
|
||||
0,
|
||||
-78.0
|
||||
],
|
||||
[
|
||||
0,
|
||||
-106.0
|
||||
]
|
||||
],
|
||||
"infer": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"command": "sketch.finish",
|
||||
"params": {}
|
||||
},
|
||||
{
|
||||
"command": "solid.extrude",
|
||||
"params": {
|
||||
"sketch": "Flange",
|
||||
"distance": 8.0,
|
||||
"operation": "join",
|
||||
"targets": [
|
||||
"Tube"
|
||||
],
|
||||
"name": "JoinFlange"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user