Add the actual loft command

This commit is contained in:
Jonathan Tran
2025-02-07 12:40:51 -05:00
parent 794722739d
commit e4c94dbc3d
7 changed files with 280 additions and 10 deletions

View File

@ -625,6 +625,134 @@ description: Artifact commands loft_graph.kcl
"type": "sketch_mode_disable" "type": "sketch_mode_disable"
} }
}, },
{
"cmdId": "[uuid]",
"range": [
455,
485,
0
],
"command": {
"type": "loft",
"section_ids": [
"[uuid]",
"[uuid]"
],
"v_degree": 2,
"bez_approximate_rational": false,
"base_curve_index": null,
"tolerance": 0.0000001
}
},
{
"cmdId": "[uuid]",
"range": [
455,
485,
0
],
"command": {
"type": "object_bring_to_front",
"object_id": "[uuid]"
}
},
{
"cmdId": "[uuid]",
"range": [
455,
485,
0
],
"command": {
"type": "solid3d_get_extrusion_face_info",
"object_id": "[uuid]",
"edge_id": "[uuid]"
}
},
{
"cmdId": "[uuid]",
"range": [
455,
485,
0
],
"command": {
"type": "solid3d_get_opposite_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"face_id": "[uuid]"
}
},
{
"cmdId": "[uuid]",
"range": [
455,
485,
0
],
"command": {
"type": "solid3d_get_next_adjacent_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"face_id": "[uuid]"
}
},
{
"cmdId": "[uuid]",
"range": [
455,
485,
0
],
"command": {
"type": "solid3d_get_opposite_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"face_id": "[uuid]"
}
},
{
"cmdId": "[uuid]",
"range": [
455,
485,
0
],
"command": {
"type": "solid3d_get_next_adjacent_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"face_id": "[uuid]"
}
},
{
"cmdId": "[uuid]",
"range": [
455,
485,
0
],
"command": {
"type": "solid3d_get_opposite_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"face_id": "[uuid]"
}
},
{
"cmdId": "[uuid]",
"range": [
455,
485,
0
],
"command": {
"type": "solid3d_get_next_adjacent_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"face_id": "[uuid]"
}
},
{ {
"cmdId": "[uuid]", "cmdId": "[uuid]",
"range": [ "range": [

View File

@ -10,24 +10,55 @@ flowchart LR
end end
subgraph path9 [Path] subgraph path9 [Path]
9["Path<br>[294, 330, 0]"] 9["Path<br>[294, 330, 0]"]
10["Segment<br>[336, 349, 0]"]
11["Segment<br>[355, 378, 0]"]
12["Segment<br>[384, 440, 0]"]
13["Segment<br>[446, 453, 0]"] 13["Segment<br>[446, 453, 0]"]
14[Solid2d] 14[Solid2d]
end end
1["Plane<br>[12, 31, 0]"] 1["Plane<br>[12, 31, 0]"]
8["Plane<br>[223, 244, 0]"] 8["Plane<br>[223, 244, 0]"]
10["SweepEdge Opposite"]
11["SweepEdge Opposite"]
12["SweepEdge Opposite"]
15["Sweep Loft<br>[455, 485, 0]"]
16[Wall]
17[Wall]
18[Wall]
19["Cap Start"]
20["Cap End"]
21["SweepEdge Adjacent"]
22["SweepEdge Adjacent"]
23["SweepEdge Adjacent"]
1 --- 2 1 --- 2
2 --- 3 2 --- 3
2 --- 4 2 --- 4
2 --- 5 2 --- 5
2 --- 6 2 --- 6
2 ---- 15
2 --- 7 2 --- 7
3 --- 16
3 --- 10
3 --- 21
4 --- 17
4 --- 11
4 --- 22
5 --- 18
5 --- 12
5 --- 23
8 --- 9 8 --- 9
9 --- 10 9 x--> 10
9 --- 11 9 x--> 11
9 --- 12 9 x--> 12
9 --- 13 9 --- 13
9 x---> 15
9 --- 14 9 --- 14
15 --- 10
15 --- 11
15 --- 12
15 --- 16
15 --- 17
15 --- 18
15 --- 19
15 --- 20
15 --- 21
15 --- 22
15 --- 23
``` ```

View File

@ -4,15 +4,48 @@ mindmap
Plane Plane
Path Path
Segment Segment
Wall
SweepEdge Opposite
SweepEdge Adjacent
Segment Segment
Wall
SweepEdge Opposite
SweepEdge Adjacent
Segment Segment
Wall
SweepEdge Opposite
SweepEdge Adjacent
Segment Segment
Sweep Loft
Wall
Wall
Wall
Cap Start
Cap End
SweepEdge Opposite
SweepEdge Adjacent
SweepEdge Opposite
SweepEdge Adjacent
SweepEdge Opposite
SweepEdge Adjacent
Solid2d Solid2d
Plane Plane
Path Path
SweepEdge Opposite
SweepEdge Opposite
SweepEdge Opposite
Segment Segment
Segment Sweep Loft
Segment Wall
Segment Wall
Wall
Cap Start
Cap End
SweepEdge Opposite
SweepEdge Adjacent
SweepEdge Opposite
SweepEdge Adjacent
SweepEdge Opposite
SweepEdge Adjacent
Solid2d Solid2d
``` ```

View File

@ -662,9 +662,66 @@ description: Result of parsing loft_graph.kcl
"start": 281, "start": 281,
"type": "VariableDeclaration", "type": "VariableDeclaration",
"type": "VariableDeclaration" "type": "VariableDeclaration"
},
{
"end": 485,
"expression": {
"arguments": [
{
"elements": [
{
"end": 471,
"name": "profile001",
"start": 461,
"type": "Identifier",
"type": "Identifier"
},
{
"end": 483,
"name": "profile002",
"start": 473,
"type": "Identifier",
"type": "Identifier"
}
],
"end": 484,
"start": 460,
"type": "ArrayExpression",
"type": "ArrayExpression"
}
],
"callee": {
"end": 459,
"name": "loft",
"start": 455,
"type": "Identifier"
},
"end": 485,
"start": 455,
"type": "CallExpression",
"type": "CallExpression"
},
"start": 455,
"type": "ExpressionStatement",
"type": "ExpressionStatement"
} }
], ],
"end": 454, "end": 486,
"nonCodeMeta": {
"nonCodeNodes": {
"4": [
{
"end": 455,
"start": 453,
"type": "NonCodeNode",
"value": {
"type": "newLine"
}
}
]
},
"startNodes": []
},
"start": 0 "start": 0
} }
} }

View File

@ -11,3 +11,5 @@ profile002 = startProfileAt([39, 172], sketch002)
|> line(end = [-78, -145]) |> line(end = [-78, -145])
|> line(endAbsolute = [profileStartX(%), profileStartY(%)]) |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|> close() |> close()
loft([profile001, profile002])

View File

@ -66,5 +66,24 @@ description: Operations executed loft_graph.kcl
], ],
"type": "StdLibCall", "type": "StdLibCall",
"unlabeledArg": null "unlabeledArg": null
},
{
"labeledArgs": {
"sketches": {
"sourceRange": [
460,
484,
0
]
}
},
"name": "loft",
"sourceRange": [
455,
485,
0
],
"type": "StdLibCall",
"unlabeledArg": null
} }
] ]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 92 KiB