Compare commits
2 Commits
jtran/fix-
...
kurt-plane
Author | SHA1 | Date | |
---|---|---|---|
327cea7d73 | |||
3b7f301961 |
@ -74,7 +74,7 @@ layout: manual
|
|||||||
* [`map`](kcl/map)
|
* [`map`](kcl/map)
|
||||||
* [`max`](kcl/max)
|
* [`max`](kcl/max)
|
||||||
* [`min`](kcl/min)
|
* [`min`](kcl/min)
|
||||||
* [`offsetPlane`](kcl/offsetPlane)
|
* [`offsetPlane`](kcl/std-offsetPlane)
|
||||||
* [`patternCircular2d`](kcl/patternCircular2d)
|
* [`patternCircular2d`](kcl/patternCircular2d)
|
||||||
* [`patternCircular3d`](kcl/patternCircular3d)
|
* [`patternCircular3d`](kcl/patternCircular3d)
|
||||||
* [`patternLinear2d`](kcl/patternLinear2d)
|
* [`patternLinear2d`](kcl/patternLinear2d)
|
||||||
|
122
docs/kcl/std-offsetPlane.md
Normal file
@ -161521,643 +161521,6 @@
|
|||||||
"exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> angledLine(angle = 70, length = min(15, 31, 4, 13, 22))\n |> line(end = [20, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)"
|
"exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> angledLine(angle = 70, length = min(15, 31, 4, 13, 22))\n |> line(end = [20, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "offsetPlane",
|
|
||||||
"summary": "Offset a plane by a distance along its normal.",
|
|
||||||
"description": "For example, if you offset the 'XZ' plane by 10, the new plane will be parallel to the 'XZ' plane and 10 units away from it.",
|
|
||||||
"tags": [],
|
|
||||||
"keywordArguments": true,
|
|
||||||
"args": [
|
|
||||||
{
|
|
||||||
"name": "plane",
|
|
||||||
"type": "PlaneData",
|
|
||||||
"schema": {
|
|
||||||
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
|
|
||||||
"title": "PlaneData",
|
|
||||||
"description": "Orientation data that can be used to construct a plane, not a plane in itself.",
|
|
||||||
"oneOf": [
|
|
||||||
{
|
|
||||||
"description": "The XY plane.",
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"XY"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "The opposite side of the XY plane.",
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"-XY"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "The XZ plane.",
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"XZ"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "The opposite side of the XZ plane.",
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"-XZ"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "The YZ plane.",
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"YZ"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "The opposite side of the YZ plane.",
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"-YZ"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "A defined plane.",
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"plane"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"plane": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"origin",
|
|
||||||
"xAxis",
|
|
||||||
"yAxis",
|
|
||||||
"zAxis"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"origin": {
|
|
||||||
"description": "Origin of the plane.",
|
|
||||||
"allOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/Point3d"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"xAxis": {
|
|
||||||
"description": "What should the plane’s X axis be?",
|
|
||||||
"allOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/Point3d"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"yAxis": {
|
|
||||||
"description": "What should the plane’s Y axis be?",
|
|
||||||
"allOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/Point3d"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"zAxis": {
|
|
||||||
"description": "The z-axis (normal).",
|
|
||||||
"allOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/Point3d"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": false
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"definitions": {
|
|
||||||
"Point3d": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"units",
|
|
||||||
"x",
|
|
||||||
"y",
|
|
||||||
"z"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"x": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "double"
|
|
||||||
},
|
|
||||||
"y": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "double"
|
|
||||||
},
|
|
||||||
"z": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "double"
|
|
||||||
},
|
|
||||||
"units": {
|
|
||||||
"$ref": "#/components/schemas/UnitLen"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"UnitLen": {
|
|
||||||
"description": "A unit of length.",
|
|
||||||
"oneOf": [
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Mm"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Cm"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"M"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Inches"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Feet"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Yards"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Unknown"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": true,
|
|
||||||
"includeInSnippet": true,
|
|
||||||
"description": "The plane (e.g. XY) which this new plane is created from.",
|
|
||||||
"labelRequired": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "offset",
|
|
||||||
"type": "number",
|
|
||||||
"schema": {
|
|
||||||
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
|
|
||||||
"title": "TyF64",
|
|
||||||
"type": "number",
|
|
||||||
"format": "double",
|
|
||||||
"definitions": {
|
|
||||||
"Point3d": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"units",
|
|
||||||
"x",
|
|
||||||
"y",
|
|
||||||
"z"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"x": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "double"
|
|
||||||
},
|
|
||||||
"y": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "double"
|
|
||||||
},
|
|
||||||
"z": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "double"
|
|
||||||
},
|
|
||||||
"units": {
|
|
||||||
"$ref": "#/components/schemas/UnitLen"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"UnitLen": {
|
|
||||||
"description": "A unit of length.",
|
|
||||||
"oneOf": [
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Mm"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Cm"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"M"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Inches"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Feet"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Yards"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Unknown"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": true,
|
|
||||||
"includeInSnippet": true,
|
|
||||||
"description": "Distance from the standard plane this new plane will be created at.",
|
|
||||||
"labelRequired": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"returnValue": {
|
|
||||||
"name": "",
|
|
||||||
"type": "Plane",
|
|
||||||
"schema": {
|
|
||||||
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
|
|
||||||
"title": "Plane",
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"artifactId",
|
|
||||||
"id",
|
|
||||||
"origin",
|
|
||||||
"value",
|
|
||||||
"xAxis",
|
|
||||||
"yAxis",
|
|
||||||
"zAxis"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"id": {
|
|
||||||
"description": "The id of the plane.",
|
|
||||||
"type": "string",
|
|
||||||
"format": "uuid"
|
|
||||||
},
|
|
||||||
"artifactId": {
|
|
||||||
"description": "The artifact ID.",
|
|
||||||
"allOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/ArtifactId"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"value": {
|
|
||||||
"$ref": "#/components/schemas/PlaneType"
|
|
||||||
},
|
|
||||||
"origin": {
|
|
||||||
"description": "Origin of the plane.",
|
|
||||||
"allOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/Point3d"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"xAxis": {
|
|
||||||
"description": "What should the plane's X axis be?",
|
|
||||||
"allOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/Point3d"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"yAxis": {
|
|
||||||
"description": "What should the plane's Y axis be?",
|
|
||||||
"allOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/Point3d"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"zAxis": {
|
|
||||||
"description": "The z-axis (normal).",
|
|
||||||
"allOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/Point3d"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"definitions": {
|
|
||||||
"ArtifactId": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "uuid"
|
|
||||||
},
|
|
||||||
"PlaneType": {
|
|
||||||
"description": "Type for a plane.",
|
|
||||||
"oneOf": [
|
|
||||||
{
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"XY",
|
|
||||||
"XZ",
|
|
||||||
"YZ"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "A custom plane.",
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Custom"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Uninit"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Point3d": {
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"units",
|
|
||||||
"x",
|
|
||||||
"y",
|
|
||||||
"z"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"x": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "double"
|
|
||||||
},
|
|
||||||
"y": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "double"
|
|
||||||
},
|
|
||||||
"z": {
|
|
||||||
"type": "number",
|
|
||||||
"format": "double"
|
|
||||||
},
|
|
||||||
"units": {
|
|
||||||
"$ref": "#/components/schemas/UnitLen"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"UnitLen": {
|
|
||||||
"description": "A unit of length.",
|
|
||||||
"oneOf": [
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Mm"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Cm"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"M"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Inches"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Feet"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Yards"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "object",
|
|
||||||
"required": [
|
|
||||||
"type"
|
|
||||||
],
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"enum": [
|
|
||||||
"Unknown"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": true,
|
|
||||||
"includeInSnippet": true,
|
|
||||||
"labelRequired": true
|
|
||||||
},
|
|
||||||
"unpublished": false,
|
|
||||||
"deprecated": false,
|
|
||||||
"examples": [
|
|
||||||
"// Loft a square and a circle on the `XY` plane using offset.\nsquareSketch = startSketchOn(XY)\n |> startProfileAt([-100, 200], %)\n |> line(end = [200, 0])\n |> line(end = [0, -200])\n |> line(end = [-200, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = startSketchOn(offsetPlane(XY, offset = 150))\n |> circle(center = [0, 100], radius = 50)\n\nloft([squareSketch, circleSketch])",
|
|
||||||
"// Loft a square and a circle on the `XZ` plane using offset.\nsquareSketch = startSketchOn(XZ)\n |> startProfileAt([-100, 200], %)\n |> line(end = [200, 0])\n |> line(end = [0, -200])\n |> line(end = [-200, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = startSketchOn(offsetPlane(XZ, offset = 150))\n |> circle(center = [0, 100], radius = 50)\n\nloft([squareSketch, circleSketch])",
|
|
||||||
"// Loft a square and a circle on the `YZ` plane using offset.\nsquareSketch = startSketchOn(YZ)\n |> startProfileAt([-100, 200], %)\n |> line(end = [200, 0])\n |> line(end = [0, -200])\n |> line(end = [-200, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = startSketchOn(offsetPlane(YZ, offset = 150))\n |> circle(center = [0, 100], radius = 50)\n\nloft([squareSketch, circleSketch])",
|
|
||||||
"// Loft a square and a circle on the `-XZ` plane using offset.\nsquareSketch = startSketchOn(-XZ)\n |> startProfileAt([-100, 200], %)\n |> line(end = [200, 0])\n |> line(end = [0, -200])\n |> line(end = [-200, 0])\n |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n |> close()\n\ncircleSketch = startSketchOn(offsetPlane(-XZ, offset = -150))\n |> circle(center = [0, 100], radius = 50)\n\nloft([squareSketch, circleSketch])",
|
|
||||||
"// A circle on the XY plane\nstartSketchOn(XY)\n |> startProfileAt([0, 0], %)\n |> circle(radius = 10, center = [0, 0])\n\n// Triangle on the plane 4 units above\nstartSketchOn(offsetPlane(XY, offset = 4))\n |> startProfileAt([0, 0], %)\n |> line(end = [10, 0])\n |> line(end = [0, 10])\n |> close()"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "patternCircular2d",
|
"name": "patternCircular2d",
|
||||||
"summary": "Repeat a 2-dimensional sketch some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orentation of the solid with respect to the center of the circle is maintained.",
|
"summary": "Repeat a 2-dimensional sketch some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orentation of the solid with respect to the center of the circle is maintained.",
|
||||||
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
@ -6,7 +6,7 @@ uses-engine = { max-threads = 4 }
|
|||||||
after-engine = { max-threads = 12 }
|
after-engine = { max-threads = 12 }
|
||||||
|
|
||||||
[profile.default]
|
[profile.default]
|
||||||
slow-timeout = { period = "90s", terminate-after = 1 }
|
slow-timeout = { period = "180s", terminate-after = 1 }
|
||||||
|
|
||||||
[profile.ci]
|
[profile.ci]
|
||||||
slow-timeout = { period = "50s", terminate-after = 5 }
|
slow-timeout = { period = "50s", terminate-after = 5 }
|
||||||
|
@ -6,11 +6,12 @@
|
|||||||
mod tests;
|
mod tests;
|
||||||
mod unbox;
|
mod unbox;
|
||||||
|
|
||||||
use std::collections::HashMap;
|
use std::{collections::HashMap, fs};
|
||||||
|
|
||||||
use convert_case::Casing;
|
use convert_case::Casing;
|
||||||
use inflector::{cases::camelcase::to_camel_case, Inflector};
|
use inflector::{cases::camelcase::to_camel_case, Inflector};
|
||||||
use once_cell::sync::Lazy;
|
use once_cell::sync::Lazy;
|
||||||
|
use proc_macro2::Span;
|
||||||
use quote::{format_ident, quote, quote_spanned, ToTokens};
|
use quote::{format_ident, quote, quote_spanned, ToTokens};
|
||||||
use regex::Regex;
|
use regex::Regex;
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
@ -21,6 +22,16 @@ use syn::{
|
|||||||
};
|
};
|
||||||
use unbox::unbox;
|
use unbox::unbox;
|
||||||
|
|
||||||
|
#[proc_macro_attribute]
|
||||||
|
pub fn stdlib(attr: proc_macro::TokenStream, item: proc_macro::TokenStream) -> proc_macro::TokenStream {
|
||||||
|
do_output(do_stdlib(attr.into(), item.into()))
|
||||||
|
}
|
||||||
|
|
||||||
|
#[proc_macro_attribute]
|
||||||
|
pub fn for_each_std_mod(_attr: proc_macro::TokenStream, item: proc_macro::TokenStream) -> proc_macro::TokenStream {
|
||||||
|
do_for_each_std_mod(item.into()).into()
|
||||||
|
}
|
||||||
|
|
||||||
/// Describes an argument of a stdlib function.
|
/// Describes an argument of a stdlib function.
|
||||||
#[derive(Deserialize, Debug)]
|
#[derive(Deserialize, Debug)]
|
||||||
struct ArgMetadata {
|
struct ArgMetadata {
|
||||||
@ -73,11 +84,6 @@ struct StdlibMetadata {
|
|||||||
args: HashMap<String, ArgMetadata>,
|
args: HashMap<String, ArgMetadata>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[proc_macro_attribute]
|
|
||||||
pub fn stdlib(attr: proc_macro::TokenStream, item: proc_macro::TokenStream) -> proc_macro::TokenStream {
|
|
||||||
do_output(do_stdlib(attr.into(), item.into()))
|
|
||||||
}
|
|
||||||
|
|
||||||
fn do_stdlib(
|
fn do_stdlib(
|
||||||
attr: proc_macro2::TokenStream,
|
attr: proc_macro2::TokenStream,
|
||||||
item: proc_macro2::TokenStream,
|
item: proc_macro2::TokenStream,
|
||||||
@ -86,6 +92,31 @@ fn do_stdlib(
|
|||||||
do_stdlib_inner(metadata, attr, item)
|
do_stdlib_inner(metadata, attr, item)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn do_for_each_std_mod(item: proc_macro2::TokenStream) -> proc_macro2::TokenStream {
|
||||||
|
let item: syn::ItemFn = syn::parse2(item.clone()).unwrap();
|
||||||
|
let mut result = proc_macro2::TokenStream::new();
|
||||||
|
for name in fs::read_dir("kcl-lib/std").unwrap().filter_map(|e| {
|
||||||
|
let e = e.unwrap();
|
||||||
|
let filename = e.file_name();
|
||||||
|
filename.to_str().unwrap().strip_suffix(".kcl").map(str::to_owned)
|
||||||
|
}) {
|
||||||
|
let mut item = item.clone();
|
||||||
|
item.sig.ident = syn::Ident::new(&format!("{}_{}", item.sig.ident, name), Span::call_site());
|
||||||
|
let stmts = &item.block.stmts;
|
||||||
|
//let name = format!("\"{name}\"");
|
||||||
|
let block = quote! {
|
||||||
|
{
|
||||||
|
const STD_MOD_NAME: &str = #name;
|
||||||
|
#(#stmts)*
|
||||||
|
}
|
||||||
|
};
|
||||||
|
item.block = Box::new(syn::parse2(block).unwrap());
|
||||||
|
result.extend(Some(item.into_token_stream()));
|
||||||
|
}
|
||||||
|
|
||||||
|
result
|
||||||
|
}
|
||||||
|
|
||||||
fn do_output(res: Result<(proc_macro2::TokenStream, Vec<Error>), Error>) -> proc_macro::TokenStream {
|
fn do_output(res: Result<(proc_macro2::TokenStream, Vec<Error>), Error>) -> proc_macro::TokenStream {
|
||||||
match res {
|
match res {
|
||||||
Err(err) => err.to_compile_error().into(),
|
Err(err) => err.to_compile_error().into(),
|
||||||
@ -671,6 +702,7 @@ fn normalize_comment_string(s: String) -> Vec<String> {
|
|||||||
|
|
||||||
/// Represent an item without concern for its body which may (or may not)
|
/// Represent an item without concern for its body which may (or may not)
|
||||||
/// contain syntax errors.
|
/// contain syntax errors.
|
||||||
|
#[derive(Clone)]
|
||||||
struct ItemFnForSignature {
|
struct ItemFnForSignature {
|
||||||
pub attrs: Vec<Attribute>,
|
pub attrs: Vec<Attribute>,
|
||||||
pub vis: Visibility,
|
pub vis: Visibility,
|
||||||
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 46 KiB |
@ -61,8 +61,10 @@ impl CollectionVisitor {
|
|||||||
format!("std::{}::", self.name)
|
format!("std::{}::", self.name)
|
||||||
};
|
};
|
||||||
let mut dd = match var.kind {
|
let mut dd = match var.kind {
|
||||||
VariableKind::Fn => DocData::Fn(FnData::from_ast(var, qual_name, preferred_prefix)),
|
VariableKind::Fn => DocData::Fn(FnData::from_ast(var, qual_name, preferred_prefix, name)),
|
||||||
VariableKind::Const => DocData::Const(ConstData::from_ast(var, qual_name, preferred_prefix)),
|
VariableKind::Const => {
|
||||||
|
DocData::Const(ConstData::from_ast(var, qual_name, preferred_prefix, name))
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
dd.with_meta(&var.outer_attrs);
|
dd.with_meta(&var.outer_attrs);
|
||||||
@ -79,7 +81,7 @@ impl CollectionVisitor {
|
|||||||
} else {
|
} else {
|
||||||
format!("std::{}::", self.name)
|
format!("std::{}::", self.name)
|
||||||
};
|
};
|
||||||
let mut dd = DocData::Ty(TyData::from_ast(ty, qual_name, preferred_prefix));
|
let mut dd = DocData::Ty(TyData::from_ast(ty, qual_name, preferred_prefix, name));
|
||||||
|
|
||||||
dd.with_meta(&ty.outer_attrs);
|
dd.with_meta(&ty.outer_attrs);
|
||||||
for a in &ty.outer_attrs {
|
for a in &ty.outer_attrs {
|
||||||
@ -114,6 +116,16 @@ impl DocData {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// The name of the module in which the item is declared, e.g., `sketch`
|
||||||
|
#[allow(dead_code)]
|
||||||
|
pub fn module_name(&self) -> &str {
|
||||||
|
match self {
|
||||||
|
DocData::Fn(f) => &f.module_name,
|
||||||
|
DocData::Const(c) => &c.module_name,
|
||||||
|
DocData::Ty(t) => &t.module_name,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
pub fn file_name(&self) -> String {
|
pub fn file_name(&self) -> String {
|
||||||
match self {
|
match self {
|
||||||
@ -132,6 +144,7 @@ impl DocData {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// The path to the module through which the item is accessed, e.g., `std::sketch`
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
pub fn mod_name(&self) -> String {
|
pub fn mod_name(&self) -> String {
|
||||||
let q = match self {
|
let q = match self {
|
||||||
@ -217,6 +230,8 @@ pub struct ConstData {
|
|||||||
/// Code examples.
|
/// Code examples.
|
||||||
/// These are tested and we know they compile and execute.
|
/// These are tested and we know they compile and execute.
|
||||||
pub examples: Vec<(String, ExampleProperties)>,
|
pub examples: Vec<(String, ExampleProperties)>,
|
||||||
|
|
||||||
|
pub module_name: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ConstData {
|
impl ConstData {
|
||||||
@ -224,6 +239,7 @@ impl ConstData {
|
|||||||
var: &crate::parsing::ast::types::VariableDeclaration,
|
var: &crate::parsing::ast::types::VariableDeclaration,
|
||||||
mut qual_name: String,
|
mut qual_name: String,
|
||||||
preferred_prefix: &str,
|
preferred_prefix: &str,
|
||||||
|
module_name: &str,
|
||||||
) -> Self {
|
) -> Self {
|
||||||
assert_eq!(var.kind, crate::parsing::ast::types::VariableKind::Const);
|
assert_eq!(var.kind, crate::parsing::ast::types::VariableKind::Const);
|
||||||
|
|
||||||
@ -263,6 +279,7 @@ impl ConstData {
|
|||||||
summary: None,
|
summary: None,
|
||||||
description: None,
|
description: None,
|
||||||
examples: Vec::new(),
|
examples: Vec::new(),
|
||||||
|
module_name: module_name.to_owned(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -334,6 +351,8 @@ pub struct FnData {
|
|||||||
pub examples: Vec<(String, ExampleProperties)>,
|
pub examples: Vec<(String, ExampleProperties)>,
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
pub referenced_types: Vec<String>,
|
pub referenced_types: Vec<String>,
|
||||||
|
|
||||||
|
pub module_name: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl FnData {
|
impl FnData {
|
||||||
@ -341,6 +360,7 @@ impl FnData {
|
|||||||
var: &crate::parsing::ast::types::VariableDeclaration,
|
var: &crate::parsing::ast::types::VariableDeclaration,
|
||||||
mut qual_name: String,
|
mut qual_name: String,
|
||||||
preferred_prefix: &str,
|
preferred_prefix: &str,
|
||||||
|
module_name: &str,
|
||||||
) -> Self {
|
) -> Self {
|
||||||
assert_eq!(var.kind, crate::parsing::ast::types::VariableKind::Fn);
|
assert_eq!(var.kind, crate::parsing::ast::types::VariableKind::Fn);
|
||||||
let crate::parsing::ast::types::Expr::FunctionExpression(expr) = &var.declaration.init else {
|
let crate::parsing::ast::types::Expr::FunctionExpression(expr) = &var.declaration.init else {
|
||||||
@ -375,6 +395,7 @@ impl FnData {
|
|||||||
description: None,
|
description: None,
|
||||||
examples: Vec::new(),
|
examples: Vec::new(),
|
||||||
referenced_types: referenced_types.into_iter().collect(),
|
referenced_types: referenced_types.into_iter().collect(),
|
||||||
|
module_name: module_name.to_owned(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -654,6 +675,8 @@ pub struct TyData {
|
|||||||
pub examples: Vec<(String, ExampleProperties)>,
|
pub examples: Vec<(String, ExampleProperties)>,
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
pub referenced_types: Vec<String>,
|
pub referenced_types: Vec<String>,
|
||||||
|
|
||||||
|
pub module_name: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl TyData {
|
impl TyData {
|
||||||
@ -661,6 +684,7 @@ impl TyData {
|
|||||||
ty: &crate::parsing::ast::types::TypeDeclaration,
|
ty: &crate::parsing::ast::types::TypeDeclaration,
|
||||||
mut qual_name: String,
|
mut qual_name: String,
|
||||||
preferred_prefix: &str,
|
preferred_prefix: &str,
|
||||||
|
module_name: &str,
|
||||||
) -> Self {
|
) -> Self {
|
||||||
let name = ty.name.name.clone();
|
let name = ty.name.name.clone();
|
||||||
qual_name.push_str(&name);
|
qual_name.push_str(&name);
|
||||||
@ -684,6 +708,7 @@ impl TyData {
|
|||||||
description: None,
|
description: None,
|
||||||
examples: Vec::new(),
|
examples: Vec::new(),
|
||||||
referenced_types: referenced_types.into_iter().collect(),
|
referenced_types: referenced_types.into_iter().collect(),
|
||||||
|
module_name: module_name.to_owned(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1009,6 +1034,8 @@ fn collect_type_names_from_primitive(ty: &PrimitiveType) -> String {
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod test {
|
mod test {
|
||||||
|
use kcl_derive_docs::for_each_std_mod;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -1047,18 +1074,28 @@ mod test {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test(flavor = "multi_thread", worker_threads = 5)]
|
#[for_each_std_mod]
|
||||||
async fn test_examples() -> miette::Result<()> {
|
#[tokio::test(flavor = "multi_thread")]
|
||||||
|
async fn test_examples() {
|
||||||
let std = walk_prelude();
|
let std = walk_prelude();
|
||||||
|
let mut errs = Vec::new();
|
||||||
for d in std {
|
for d in std {
|
||||||
|
if d.module_name() != STD_MOD_NAME {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
for (i, eg) in d.examples().enumerate() {
|
for (i, eg) in d.examples().enumerate() {
|
||||||
let result = match crate::test_server::execute_and_snapshot(eg, None).await {
|
let result = match crate::test_server::execute_and_snapshot(eg, None).await {
|
||||||
Err(crate::errors::ExecError::Kcl(e)) => {
|
Err(crate::errors::ExecError::Kcl(e)) => {
|
||||||
return Err(miette::Report::new(crate::errors::Report {
|
errs.push(
|
||||||
error: e.error,
|
miette::Report::new(crate::errors::Report {
|
||||||
filename: format!("{}{i}", d.name()),
|
error: e.error,
|
||||||
kcl_source: eg.to_string(),
|
filename: format!("{}{i}", d.name()),
|
||||||
}));
|
kcl_source: eg.to_string(),
|
||||||
|
})
|
||||||
|
.to_string(),
|
||||||
|
);
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
Err(other_err) => panic!("{}", other_err),
|
Err(other_err) => panic!("{}", other_err),
|
||||||
Ok(img) => img,
|
Ok(img) => img,
|
||||||
@ -1071,6 +1108,8 @@ mod test {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(())
|
if !errs.is_empty() {
|
||||||
|
panic!("{}", errs.join("\n\n"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1142,9 +1142,6 @@ impl Node<UnaryExpression> {
|
|||||||
}
|
}
|
||||||
KclValue::Plane { value } => {
|
KclValue::Plane { value } => {
|
||||||
let mut plane = value.clone();
|
let mut plane = value.clone();
|
||||||
plane.z_axis.x *= -1.0;
|
|
||||||
plane.z_axis.y *= -1.0;
|
|
||||||
plane.z_axis.z *= -1.0;
|
|
||||||
|
|
||||||
plane.value = PlaneType::Uninit;
|
plane.value = PlaneType::Uninit;
|
||||||
plane.id = exec_state.next_uuid();
|
plane.id = exec_state.next_uuid();
|
||||||
@ -2649,7 +2646,15 @@ p2 = -p
|
|||||||
.get_from("p2", result.mem_env, SourceRange::default(), 0)
|
.get_from("p2", result.mem_env, SourceRange::default(), 0)
|
||||||
.unwrap()
|
.unwrap()
|
||||||
{
|
{
|
||||||
KclValue::Plane { value } => assert_eq!(value.z_axis.z, -1.0),
|
KclValue::Plane { value } => {
|
||||||
|
// The negation implementation only changes the plane type to Uninit
|
||||||
|
// and updates the id, but doesn't actually negate any vectors
|
||||||
|
assert_eq!(value.value, PlaneType::Uninit);
|
||||||
|
|
||||||
|
// Calculate z-axis as cross product to verify it's still the same direction
|
||||||
|
let z_axis = value.x_axis.cross(&value.y_axis);
|
||||||
|
assert_eq!(z_axis.z, 1.0)
|
||||||
|
},
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -262,14 +262,15 @@ pub struct Plane {
|
|||||||
pub x_axis: Point3d,
|
pub x_axis: Point3d,
|
||||||
/// What should the plane's Y axis be?
|
/// What should the plane's Y axis be?
|
||||||
pub y_axis: Point3d,
|
pub y_axis: Point3d,
|
||||||
/// The z-axis (normal).
|
|
||||||
pub z_axis: Point3d,
|
|
||||||
#[serde(skip)]
|
#[serde(skip)]
|
||||||
pub meta: Vec<Metadata>,
|
pub meta: Vec<Metadata>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Plane {
|
impl Plane {
|
||||||
pub(crate) fn into_plane_data(self) -> PlaneData {
|
pub(crate) fn into_plane_data(self) -> PlaneData {
|
||||||
|
crate::log::log(format!("planeTEST!!"));
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("foo=").into());
|
||||||
if self.origin.is_zero() {
|
if self.origin.is_zero() {
|
||||||
match self {
|
match self {
|
||||||
Self {
|
Self {
|
||||||
@ -296,13 +297,6 @@ impl Plane {
|
|||||||
z: 0.0,
|
z: 0.0,
|
||||||
units: UnitLen::Mm,
|
units: UnitLen::Mm,
|
||||||
},
|
},
|
||||||
z_axis:
|
|
||||||
Point3d {
|
|
||||||
x: 0.0,
|
|
||||||
y: 0.0,
|
|
||||||
z: 1.0,
|
|
||||||
units: UnitLen::Mm,
|
|
||||||
},
|
|
||||||
..
|
..
|
||||||
} => return PlaneData::XY,
|
} => return PlaneData::XY,
|
||||||
Self {
|
Self {
|
||||||
@ -315,7 +309,7 @@ impl Plane {
|
|||||||
},
|
},
|
||||||
x_axis:
|
x_axis:
|
||||||
Point3d {
|
Point3d {
|
||||||
x: 1.0,
|
x: -1.0,
|
||||||
y: 0.0,
|
y: 0.0,
|
||||||
z: 0.0,
|
z: 0.0,
|
||||||
units: UnitLen::Mm,
|
units: UnitLen::Mm,
|
||||||
@ -327,13 +321,6 @@ impl Plane {
|
|||||||
z: 0.0,
|
z: 0.0,
|
||||||
units: UnitLen::Mm,
|
units: UnitLen::Mm,
|
||||||
},
|
},
|
||||||
z_axis:
|
|
||||||
Point3d {
|
|
||||||
x: 0.0,
|
|
||||||
y: 0.0,
|
|
||||||
z: -1.0,
|
|
||||||
units: UnitLen::Mm,
|
|
||||||
},
|
|
||||||
..
|
..
|
||||||
} => return PlaneData::NegXY,
|
} => return PlaneData::NegXY,
|
||||||
Self {
|
Self {
|
||||||
@ -358,13 +345,6 @@ impl Plane {
|
|||||||
z: 1.0,
|
z: 1.0,
|
||||||
units: UnitLen::Mm,
|
units: UnitLen::Mm,
|
||||||
},
|
},
|
||||||
z_axis:
|
|
||||||
Point3d {
|
|
||||||
x: 0.0,
|
|
||||||
y: -1.0,
|
|
||||||
z: 0.0,
|
|
||||||
units: UnitLen::Mm,
|
|
||||||
},
|
|
||||||
..
|
..
|
||||||
} => return PlaneData::XZ,
|
} => return PlaneData::XZ,
|
||||||
Self {
|
Self {
|
||||||
@ -377,7 +357,7 @@ impl Plane {
|
|||||||
},
|
},
|
||||||
x_axis:
|
x_axis:
|
||||||
Point3d {
|
Point3d {
|
||||||
x: 1.0,
|
x: -1.0,
|
||||||
y: 0.0,
|
y: 0.0,
|
||||||
z: 0.0,
|
z: 0.0,
|
||||||
units: UnitLen::Mm,
|
units: UnitLen::Mm,
|
||||||
@ -389,13 +369,6 @@ impl Plane {
|
|||||||
z: 1.0,
|
z: 1.0,
|
||||||
units: UnitLen::Mm,
|
units: UnitLen::Mm,
|
||||||
},
|
},
|
||||||
z_axis:
|
|
||||||
Point3d {
|
|
||||||
x: 0.0,
|
|
||||||
y: 1.0,
|
|
||||||
z: 0.0,
|
|
||||||
units: UnitLen::Mm,
|
|
||||||
},
|
|
||||||
..
|
..
|
||||||
} => return PlaneData::NegXZ,
|
} => return PlaneData::NegXZ,
|
||||||
Self {
|
Self {
|
||||||
@ -420,13 +393,6 @@ impl Plane {
|
|||||||
z: 1.0,
|
z: 1.0,
|
||||||
units: UnitLen::Mm,
|
units: UnitLen::Mm,
|
||||||
},
|
},
|
||||||
z_axis:
|
|
||||||
Point3d {
|
|
||||||
x: 1.0,
|
|
||||||
y: 0.0,
|
|
||||||
z: 0.0,
|
|
||||||
units: UnitLen::Mm,
|
|
||||||
},
|
|
||||||
..
|
..
|
||||||
} => return PlaneData::YZ,
|
} => return PlaneData::YZ,
|
||||||
Self {
|
Self {
|
||||||
@ -440,7 +406,7 @@ impl Plane {
|
|||||||
x_axis:
|
x_axis:
|
||||||
Point3d {
|
Point3d {
|
||||||
x: 0.0,
|
x: 0.0,
|
||||||
y: 1.0,
|
y: -1.0,
|
||||||
z: 0.0,
|
z: 0.0,
|
||||||
units: UnitLen::Mm,
|
units: UnitLen::Mm,
|
||||||
},
|
},
|
||||||
@ -451,13 +417,6 @@ impl Plane {
|
|||||||
z: 1.0,
|
z: 1.0,
|
||||||
units: UnitLen::Mm,
|
units: UnitLen::Mm,
|
||||||
},
|
},
|
||||||
z_axis:
|
|
||||||
Point3d {
|
|
||||||
x: -1.0,
|
|
||||||
y: 0.0,
|
|
||||||
z: 0.0,
|
|
||||||
units: UnitLen::Mm,
|
|
||||||
},
|
|
||||||
..
|
..
|
||||||
} => return PlaneData::NegYZ,
|
} => return PlaneData::NegYZ,
|
||||||
_ => {}
|
_ => {}
|
||||||
@ -468,12 +427,13 @@ impl Plane {
|
|||||||
origin: self.origin,
|
origin: self.origin,
|
||||||
x_axis: self.x_axis,
|
x_axis: self.x_axis,
|
||||||
y_axis: self.y_axis,
|
y_axis: self.y_axis,
|
||||||
z_axis: self.z_axis,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) fn from_plane_data(value: PlaneData, exec_state: &mut ExecState) -> Self {
|
pub(crate) fn from_plane_data(value: PlaneData, exec_state: &mut ExecState) -> Self {
|
||||||
let id = exec_state.next_uuid();
|
let id = exec_state.next_uuid();
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("value: {:?}", value).into());
|
||||||
match value {
|
match value {
|
||||||
PlaneData::XY => Plane {
|
PlaneData::XY => Plane {
|
||||||
id,
|
id,
|
||||||
@ -481,7 +441,6 @@ impl Plane {
|
|||||||
origin: Point3d::new(0.0, 0.0, 0.0, UnitLen::Mm),
|
origin: Point3d::new(0.0, 0.0, 0.0, UnitLen::Mm),
|
||||||
x_axis: Point3d::new(1.0, 0.0, 0.0, UnitLen::Mm),
|
x_axis: Point3d::new(1.0, 0.0, 0.0, UnitLen::Mm),
|
||||||
y_axis: Point3d::new(0.0, 1.0, 0.0, UnitLen::Mm),
|
y_axis: Point3d::new(0.0, 1.0, 0.0, UnitLen::Mm),
|
||||||
z_axis: Point3d::new(0.0, 0.0, 1.0, UnitLen::Mm),
|
|
||||||
value: PlaneType::XY,
|
value: PlaneType::XY,
|
||||||
meta: vec![],
|
meta: vec![],
|
||||||
},
|
},
|
||||||
@ -489,10 +448,9 @@ impl Plane {
|
|||||||
id,
|
id,
|
||||||
artifact_id: id.into(),
|
artifact_id: id.into(),
|
||||||
origin: Point3d::new(0.0, 0.0, 0.0, UnitLen::Mm),
|
origin: Point3d::new(0.0, 0.0, 0.0, UnitLen::Mm),
|
||||||
x_axis: Point3d::new(1.0, 0.0, 0.0, UnitLen::Mm),
|
x_axis: Point3d::new(-1.0, 0.0, 0.0, UnitLen::Mm),
|
||||||
y_axis: Point3d::new(0.0, 1.0, 0.0, UnitLen::Mm),
|
y_axis: Point3d::new(0.0, 1.0, 0.0, UnitLen::Mm),
|
||||||
z_axis: Point3d::new(0.0, 0.0, -1.0, UnitLen::Mm),
|
value: PlaneType::NegXY,
|
||||||
value: PlaneType::XY,
|
|
||||||
meta: vec![],
|
meta: vec![],
|
||||||
},
|
},
|
||||||
PlaneData::XZ => Plane {
|
PlaneData::XZ => Plane {
|
||||||
@ -501,7 +459,6 @@ impl Plane {
|
|||||||
origin: Point3d::new(0.0, 0.0, 0.0, UnitLen::Mm),
|
origin: Point3d::new(0.0, 0.0, 0.0, UnitLen::Mm),
|
||||||
x_axis: Point3d::new(1.0, 0.0, 0.0, UnitLen::Mm),
|
x_axis: Point3d::new(1.0, 0.0, 0.0, UnitLen::Mm),
|
||||||
y_axis: Point3d::new(0.0, 0.0, 1.0, UnitLen::Mm),
|
y_axis: Point3d::new(0.0, 0.0, 1.0, UnitLen::Mm),
|
||||||
z_axis: Point3d::new(0.0, -1.0, 0.0, UnitLen::Mm),
|
|
||||||
value: PlaneType::XZ,
|
value: PlaneType::XZ,
|
||||||
meta: vec![],
|
meta: vec![],
|
||||||
},
|
},
|
||||||
@ -511,8 +468,7 @@ impl Plane {
|
|||||||
origin: Point3d::new(0.0, 0.0, 0.0, UnitLen::Mm),
|
origin: Point3d::new(0.0, 0.0, 0.0, UnitLen::Mm),
|
||||||
x_axis: Point3d::new(-1.0, 0.0, 0.0, UnitLen::Mm),
|
x_axis: Point3d::new(-1.0, 0.0, 0.0, UnitLen::Mm),
|
||||||
y_axis: Point3d::new(0.0, 0.0, 1.0, UnitLen::Mm),
|
y_axis: Point3d::new(0.0, 0.0, 1.0, UnitLen::Mm),
|
||||||
z_axis: Point3d::new(0.0, 1.0, 0.0, UnitLen::Mm),
|
value: PlaneType::NegXZ,
|
||||||
value: PlaneType::XZ,
|
|
||||||
meta: vec![],
|
meta: vec![],
|
||||||
},
|
},
|
||||||
PlaneData::YZ => Plane {
|
PlaneData::YZ => Plane {
|
||||||
@ -521,7 +477,6 @@ impl Plane {
|
|||||||
origin: Point3d::new(0.0, 0.0, 0.0, UnitLen::Mm),
|
origin: Point3d::new(0.0, 0.0, 0.0, UnitLen::Mm),
|
||||||
x_axis: Point3d::new(0.0, 1.0, 0.0, UnitLen::Mm),
|
x_axis: Point3d::new(0.0, 1.0, 0.0, UnitLen::Mm),
|
||||||
y_axis: Point3d::new(0.0, 0.0, 1.0, UnitLen::Mm),
|
y_axis: Point3d::new(0.0, 0.0, 1.0, UnitLen::Mm),
|
||||||
z_axis: Point3d::new(1.0, 0.0, 0.0, UnitLen::Mm),
|
|
||||||
value: PlaneType::YZ,
|
value: PlaneType::YZ,
|
||||||
meta: vec![],
|
meta: vec![],
|
||||||
},
|
},
|
||||||
@ -529,17 +484,15 @@ impl Plane {
|
|||||||
id,
|
id,
|
||||||
artifact_id: id.into(),
|
artifact_id: id.into(),
|
||||||
origin: Point3d::new(0.0, 0.0, 0.0, UnitLen::Mm),
|
origin: Point3d::new(0.0, 0.0, 0.0, UnitLen::Mm),
|
||||||
x_axis: Point3d::new(0.0, 1.0, 0.0, UnitLen::Mm),
|
x_axis: Point3d::new(0.0, -1.0, 0.0, UnitLen::Mm),
|
||||||
y_axis: Point3d::new(0.0, 0.0, 1.0, UnitLen::Mm),
|
y_axis: Point3d::new(0.0, 0.0, 1.0, UnitLen::Mm),
|
||||||
z_axis: Point3d::new(-1.0, 0.0, 0.0, UnitLen::Mm),
|
value: PlaneType::NegYZ,
|
||||||
value: PlaneType::YZ,
|
|
||||||
meta: vec![],
|
meta: vec![],
|
||||||
},
|
},
|
||||||
PlaneData::Plane {
|
PlaneData::Plane {
|
||||||
origin,
|
origin,
|
||||||
x_axis,
|
x_axis,
|
||||||
y_axis,
|
y_axis,
|
||||||
z_axis,
|
|
||||||
} => {
|
} => {
|
||||||
let id = exec_state.next_uuid();
|
let id = exec_state.next_uuid();
|
||||||
Plane {
|
Plane {
|
||||||
@ -548,7 +501,6 @@ impl Plane {
|
|||||||
origin,
|
origin,
|
||||||
x_axis,
|
x_axis,
|
||||||
y_axis,
|
y_axis,
|
||||||
z_axis,
|
|
||||||
value: PlaneType::Custom,
|
value: PlaneType::Custom,
|
||||||
meta: vec![],
|
meta: vec![],
|
||||||
}
|
}
|
||||||
@ -594,12 +546,21 @@ pub enum PlaneType {
|
|||||||
#[serde(rename = "XY", alias = "xy")]
|
#[serde(rename = "XY", alias = "xy")]
|
||||||
#[display("XY")]
|
#[display("XY")]
|
||||||
XY,
|
XY,
|
||||||
|
#[serde(rename = "-XY", alias = "-xy")]
|
||||||
|
#[display("-XY")]
|
||||||
|
NegXY,
|
||||||
#[serde(rename = "XZ", alias = "xz")]
|
#[serde(rename = "XZ", alias = "xz")]
|
||||||
#[display("XZ")]
|
#[display("XZ")]
|
||||||
XZ,
|
XZ,
|
||||||
|
#[serde(rename = "-XZ", alias = "-xz")]
|
||||||
|
#[display("-XZ")]
|
||||||
|
NegXZ,
|
||||||
#[serde(rename = "YZ", alias = "yz")]
|
#[serde(rename = "YZ", alias = "yz")]
|
||||||
#[display("YZ")]
|
#[display("YZ")]
|
||||||
YZ,
|
YZ,
|
||||||
|
#[serde(rename = "-YZ", alias = "-yz")]
|
||||||
|
#[display("-YZ")]
|
||||||
|
NegYZ,
|
||||||
/// A custom plane.
|
/// A custom plane.
|
||||||
#[display("Custom")]
|
#[display("Custom")]
|
||||||
Custom,
|
Custom,
|
||||||
@ -656,8 +617,12 @@ impl Sketch {
|
|||||||
adjust_camera: false,
|
adjust_camera: false,
|
||||||
planar_normal: if let SketchSurface::Plane(plane) = &self.on {
|
planar_normal: if let SketchSurface::Plane(plane) = &self.on {
|
||||||
// We pass in the normal for the plane here.
|
// We pass in the normal for the plane here.
|
||||||
Some(plane.z_axis.into())
|
let z_axis = Some(plane.x_axis.cross(&plane.y_axis).into());
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("plane normal geo: {:?}, x_axis: {:?}, y_axis: {:?}", z_axis, plane.x_axis, plane.y_axis).into());
|
||||||
|
z_axis
|
||||||
} else {
|
} else {
|
||||||
|
crate::log::log(format!("no Plane normal"));
|
||||||
None
|
None
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
@ -702,7 +667,7 @@ impl SketchSurface {
|
|||||||
}
|
}
|
||||||
pub(crate) fn z_axis(&self) -> Point3d {
|
pub(crate) fn z_axis(&self) -> Point3d {
|
||||||
match self {
|
match self {
|
||||||
SketchSurface::Plane(plane) => plane.z_axis,
|
SketchSurface::Plane(plane) => plane.x_axis.cross(&plane.y_axis),
|
||||||
SketchSurface::Face(face) => face.z_axis,
|
SketchSurface::Face(face) => face.z_axis,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -929,6 +894,16 @@ impl Point3d {
|
|||||||
pub const fn is_zero(&self) -> bool {
|
pub const fn is_zero(&self) -> bool {
|
||||||
self.x == 0.0 && self.y == 0.0 && self.z == 0.0
|
self.x == 0.0 && self.y == 0.0 && self.z == 0.0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Calculate the cross product of this vector with another
|
||||||
|
pub fn cross(&self, other: &Self) -> Self {
|
||||||
|
Self {
|
||||||
|
x: self.y * other.z - self.z * other.y,
|
||||||
|
y: self.z * other.x - self.x * other.z,
|
||||||
|
z: self.x * other.y - self.y * other.x,
|
||||||
|
units: self.units,
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<[TyF64; 3]> for Point3d {
|
impl From<[TyF64; 3]> for Point3d {
|
||||||
|
@ -1043,10 +1043,6 @@ impl KclValue {
|
|||||||
.get("yAxis")
|
.get("yAxis")
|
||||||
.and_then(Point3d::from_kcl_val)
|
.and_then(Point3d::from_kcl_val)
|
||||||
.ok_or(CoercionError::from(self))?;
|
.ok_or(CoercionError::from(self))?;
|
||||||
let z_axis = value
|
|
||||||
.get("zAxis")
|
|
||||||
.and_then(Point3d::from_kcl_val)
|
|
||||||
.ok_or(CoercionError::from(self))?;
|
|
||||||
|
|
||||||
let id = exec_state.mod_local.id_generator.next_uuid();
|
let id = exec_state.mod_local.id_generator.next_uuid();
|
||||||
let plane = Plane {
|
let plane = Plane {
|
||||||
@ -1055,7 +1051,6 @@ impl KclValue {
|
|||||||
origin,
|
origin,
|
||||||
x_axis,
|
x_axis,
|
||||||
y_axis,
|
y_axis,
|
||||||
z_axis,
|
|
||||||
value: super::PlaneType::Uninit,
|
value: super::PlaneType::Uninit,
|
||||||
meta: meta.clone(),
|
meta: meta.clone(),
|
||||||
};
|
};
|
||||||
|
@ -43,5 +43,5 @@ async fn main() {
|
|||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
let mut exec_state = ExecState::new(&ctx);
|
let mut exec_state = ExecState::new(&ctx);
|
||||||
ctx.run(&program, &mut exec_state).await.unwrap();
|
ctx.run(&program, &mut exec_state).await.map_err(|e| e.error).unwrap();
|
||||||
}
|
}
|
||||||
|
@ -1032,7 +1032,26 @@ impl<'a> FromKclValue<'a> for crate::execution::PlaneType {
|
|||||||
"Custom" => Self::Custom,
|
"Custom" => Self::Custom,
|
||||||
_ => return None,
|
_ => return None,
|
||||||
};
|
};
|
||||||
Some(plane_type)
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("PlaneData::from_kcl_val with string: {}", arg.as_str()?).into());
|
||||||
|
|
||||||
|
return match plane_type {
|
||||||
|
Self::XY => {
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("PlaneData::from_kcl_val matching XY").into());
|
||||||
|
Some(Self::XY)
|
||||||
|
},
|
||||||
|
Self::NegXY => {
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("PlaneData::from_kcl_val matching -XY").into());
|
||||||
|
Some(Self::NegXY)
|
||||||
|
},
|
||||||
|
Self::XZ => Some(Self::XZ),
|
||||||
|
Self::NegXZ => Some(Self::NegXZ),
|
||||||
|
Self::YZ => Some(Self::YZ),
|
||||||
|
Self::NegYZ => Some(Self::NegYZ),
|
||||||
|
_ => None,
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1148,18 +1167,30 @@ impl<'a> FromKclValue<'a> for super::sketch::PlaneData {
|
|||||||
fn from_kcl_val(arg: &'a KclValue) -> Option<Self> {
|
fn from_kcl_val(arg: &'a KclValue) -> Option<Self> {
|
||||||
// Case 0: actual plane
|
// Case 0: actual plane
|
||||||
if let KclValue::Plane { value } = arg {
|
if let KclValue::Plane { value } = arg {
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("PlaneData::from_kcl_val with plane: {:?}", value).into());
|
||||||
return Some(Self::Plane {
|
return Some(Self::Plane {
|
||||||
origin: value.origin,
|
origin: value.origin,
|
||||||
x_axis: value.x_axis,
|
x_axis: value.x_axis,
|
||||||
y_axis: value.y_axis,
|
y_axis: value.y_axis,
|
||||||
z_axis: value.z_axis,
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// Case 1: predefined plane
|
// Case 1: predefined plane
|
||||||
if let Some(s) = arg.as_str() {
|
if let Some(s) = arg.as_str() {
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("PlaneData::from_kcl_val with string: {}", s).into());
|
||||||
|
|
||||||
return match s {
|
return match s {
|
||||||
"XY" | "xy" => Some(Self::XY),
|
"XY" | "xy" => {
|
||||||
"-XY" | "-xy" => Some(Self::NegXY),
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("PlaneData::from_kcl_val matching XY").into());
|
||||||
|
Some(Self::XY)
|
||||||
|
},
|
||||||
|
"-XY" | "-xy" => {
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("PlaneData::from_kcl_val matching -XY").into());
|
||||||
|
Some(Self::NegXY)
|
||||||
|
},
|
||||||
"XZ" | "xz" => Some(Self::XZ),
|
"XZ" | "xz" => Some(Self::XZ),
|
||||||
"-XZ" | "-xz" => Some(Self::NegXZ),
|
"-XZ" | "-xz" => Some(Self::NegXZ),
|
||||||
"YZ" | "yz" => Some(Self::YZ),
|
"YZ" | "yz" => Some(Self::YZ),
|
||||||
@ -1167,18 +1198,18 @@ impl<'a> FromKclValue<'a> for super::sketch::PlaneData {
|
|||||||
_ => None,
|
_ => None,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("PlaneData::from_kcl_val with object: {:?}", arg).into());
|
||||||
// Case 2: custom plane
|
// Case 2: custom plane
|
||||||
let obj = arg.as_object()?;
|
let obj = arg.as_object()?;
|
||||||
let_field_of!(obj, plane, &KclObjectFields);
|
let_field_of!(obj, plane, &KclObjectFields);
|
||||||
let origin = plane.get("origin").and_then(FromKclValue::from_kcl_val)?;
|
let origin = plane.get("origin").and_then(FromKclValue::from_kcl_val)?;
|
||||||
let x_axis = plane.get("xAxis").and_then(FromKclValue::from_kcl_val)?;
|
let x_axis = plane.get("xAxis").and_then(FromKclValue::from_kcl_val)?;
|
||||||
let y_axis = plane.get("yAxis").and_then(FromKclValue::from_kcl_val)?;
|
let y_axis = plane.get("yAxis").and_then(FromKclValue::from_kcl_val)?;
|
||||||
let z_axis = plane.get("zAxis").and_then(FromKclValue::from_kcl_val)?;
|
|
||||||
Some(Self::Plane {
|
Some(Self::Plane {
|
||||||
origin,
|
origin,
|
||||||
x_axis,
|
x_axis,
|
||||||
y_axis,
|
y_axis,
|
||||||
z_axis,
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -107,7 +107,6 @@ lazy_static! {
|
|||||||
Box::new(crate::std::shell::Hollow),
|
Box::new(crate::std::shell::Hollow),
|
||||||
Box::new(crate::std::sweep::Sweep),
|
Box::new(crate::std::sweep::Sweep),
|
||||||
Box::new(crate::std::loft::Loft),
|
Box::new(crate::std::loft::Loft),
|
||||||
Box::new(crate::std::planes::OffsetPlane),
|
|
||||||
Box::new(crate::std::math::Acos),
|
Box::new(crate::std::math::Acos),
|
||||||
Box::new(crate::std::math::Asin),
|
Box::new(crate::std::math::Asin),
|
||||||
Box::new(crate::std::math::Atan),
|
Box::new(crate::std::math::Atan),
|
||||||
@ -205,6 +204,10 @@ pub(crate) fn std_fn(path: &str, fn_name: &str) -> (crate::std::StdFn, StdFnProp
|
|||||||
|e, a| Box::pin(crate::std::revolve::revolve(e, a)),
|
|e, a| Box::pin(crate::std::revolve::revolve(e, a)),
|
||||||
StdFnProps::default("std::revolve").include_in_feature_tree(),
|
StdFnProps::default("std::revolve").include_in_feature_tree(),
|
||||||
),
|
),
|
||||||
|
("prelude", "offsetPlane") => (
|
||||||
|
|e, a| Box::pin(crate::std::planes::offset_plane(e, a)),
|
||||||
|
StdFnProps::default("std::offsetPlane").include_in_feature_tree(),
|
||||||
|
),
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
//! Standard library plane helpers.
|
//! Standard library plane helpers.
|
||||||
|
|
||||||
use kcl_derive_docs::stdlib;
|
|
||||||
use kcmc::{each_cmd as mcmd, length_unit::LengthUnit, shared::Color, ModelingCmd};
|
use kcmc::{each_cmd as mcmd, length_unit::LengthUnit, shared::Color, ModelingCmd};
|
||||||
use kittycad_modeling_cmds as kcmc;
|
use kittycad_modeling_cmds as kcmc;
|
||||||
|
|
||||||
@ -19,98 +18,6 @@ pub async fn offset_plane(exec_state: &mut ExecState, args: Args) -> Result<KclV
|
|||||||
Ok(KclValue::Plane { value: Box::new(plane) })
|
Ok(KclValue::Plane { value: Box::new(plane) })
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Offset a plane by a distance along its normal.
|
|
||||||
///
|
|
||||||
/// For example, if you offset the 'XZ' plane by 10, the new plane will be parallel to the 'XZ'
|
|
||||||
/// plane and 10 units away from it.
|
|
||||||
///
|
|
||||||
/// ```no_run
|
|
||||||
/// // Loft a square and a circle on the `XY` plane using offset.
|
|
||||||
/// squareSketch = startSketchOn('XY')
|
|
||||||
/// |> startProfileAt([-100, 200], %)
|
|
||||||
/// |> line(end = [200, 0])
|
|
||||||
/// |> line(end = [0, -200])
|
|
||||||
/// |> line(end = [-200, 0])
|
|
||||||
/// |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|
||||||
/// |> close()
|
|
||||||
///
|
|
||||||
/// circleSketch = startSketchOn(offsetPlane('XY', offset = 150))
|
|
||||||
/// |> circle( center = [0, 100], radius = 50 )
|
|
||||||
///
|
|
||||||
/// loft([squareSketch, circleSketch])
|
|
||||||
/// ```
|
|
||||||
///
|
|
||||||
/// ```no_run
|
|
||||||
/// // Loft a square and a circle on the `XZ` plane using offset.
|
|
||||||
/// squareSketch = startSketchOn('XZ')
|
|
||||||
/// |> startProfileAt([-100, 200], %)
|
|
||||||
/// |> line(end = [200, 0])
|
|
||||||
/// |> line(end = [0, -200])
|
|
||||||
/// |> line(end = [-200, 0])
|
|
||||||
/// |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|
||||||
/// |> close()
|
|
||||||
///
|
|
||||||
/// circleSketch = startSketchOn(offsetPlane('XZ', offset = 150))
|
|
||||||
/// |> circle( center = [0, 100], radius = 50 )
|
|
||||||
///
|
|
||||||
/// loft([squareSketch, circleSketch])
|
|
||||||
/// ```
|
|
||||||
///
|
|
||||||
/// ```no_run
|
|
||||||
/// // Loft a square and a circle on the `YZ` plane using offset.
|
|
||||||
/// squareSketch = startSketchOn('YZ')
|
|
||||||
/// |> startProfileAt([-100, 200], %)
|
|
||||||
/// |> line(end = [200, 0])
|
|
||||||
/// |> line(end = [0, -200])
|
|
||||||
/// |> line(end = [-200, 0])
|
|
||||||
/// |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|
||||||
/// |> close()
|
|
||||||
///
|
|
||||||
/// circleSketch = startSketchOn(offsetPlane('YZ', offset = 150))
|
|
||||||
/// |> circle( center = [0, 100], radius = 50 )
|
|
||||||
///
|
|
||||||
/// loft([squareSketch, circleSketch])
|
|
||||||
/// ```
|
|
||||||
///
|
|
||||||
/// ```no_run
|
|
||||||
/// // Loft a square and a circle on the `-XZ` plane using offset.
|
|
||||||
/// squareSketch = startSketchOn('-XZ')
|
|
||||||
/// |> startProfileAt([-100, 200], %)
|
|
||||||
/// |> line(end = [200, 0])
|
|
||||||
/// |> line(end = [0, -200])
|
|
||||||
/// |> line(end = [-200, 0])
|
|
||||||
/// |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
|
||||||
/// |> close()
|
|
||||||
///
|
|
||||||
/// circleSketch = startSketchOn(offsetPlane('-XZ', offset = -150))
|
|
||||||
/// |> circle( center = [0, 100], radius = 50 )
|
|
||||||
///
|
|
||||||
/// loft([squareSketch, circleSketch])
|
|
||||||
/// ```
|
|
||||||
/// ```no_run
|
|
||||||
/// // A circle on the XY plane
|
|
||||||
/// startSketchOn("XY")
|
|
||||||
/// |> startProfileAt([0, 0], %)
|
|
||||||
/// |> circle( radius = 10, center = [0, 0] )
|
|
||||||
///
|
|
||||||
/// // Triangle on the plane 4 units above
|
|
||||||
/// startSketchOn(offsetPlane("XY", offset = 4))
|
|
||||||
/// |> startProfileAt([0, 0], %)
|
|
||||||
/// |> line(end = [10, 0])
|
|
||||||
/// |> line(end = [0, 10])
|
|
||||||
/// |> close()
|
|
||||||
/// ```
|
|
||||||
|
|
||||||
#[stdlib {
|
|
||||||
name = "offsetPlane",
|
|
||||||
feature_tree_operation = true,
|
|
||||||
keywords = true,
|
|
||||||
unlabeled_first = true,
|
|
||||||
args = {
|
|
||||||
plane = { docs = "The plane (e.g. XY) which this new plane is created from." },
|
|
||||||
offset = { docs = "Distance from the standard plane this new plane will be created at." },
|
|
||||||
}
|
|
||||||
}]
|
|
||||||
async fn inner_offset_plane(
|
async fn inner_offset_plane(
|
||||||
plane: PlaneData,
|
plane: PlaneData,
|
||||||
offset: TyF64,
|
offset: TyF64,
|
||||||
@ -122,7 +29,10 @@ async fn inner_offset_plane(
|
|||||||
// standard planes themselves.
|
// standard planes themselves.
|
||||||
plane.value = PlaneType::Custom;
|
plane.value = PlaneType::Custom;
|
||||||
|
|
||||||
plane.origin += plane.z_axis * offset.to_length_units(plane.origin.units);
|
// Calculate z_axis as the cross product of x_axis and y_axis
|
||||||
|
let z_axis = plane.x_axis.cross(&plane.y_axis);
|
||||||
|
|
||||||
|
plane.origin += z_axis * offset.to_length_units(plane.origin.units);
|
||||||
make_offset_plane_in_engine(&plane, exec_state, args).await?;
|
make_offset_plane_in_engine(&plane, exec_state, args).await?;
|
||||||
|
|
||||||
Ok(plane)
|
Ok(plane)
|
||||||
|
@ -13,6 +13,7 @@ use schemars::JsonSchema;
|
|||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
use super::utils::{point_to_len_unit, point_to_mm, untype_point, untyped_point_to_mm};
|
use super::utils::{point_to_len_unit, point_to_mm, untype_point, untyped_point_to_mm};
|
||||||
|
use crate::log;
|
||||||
use crate::{
|
use crate::{
|
||||||
errors::{KclError, KclErrorDetails},
|
errors::{KclError, KclErrorDetails},
|
||||||
execution::{
|
execution::{
|
||||||
@ -960,9 +961,6 @@ pub enum PlaneData {
|
|||||||
/// What should the plane’s Y axis be?
|
/// What should the plane’s Y axis be?
|
||||||
#[serde(rename = "yAxis")]
|
#[serde(rename = "yAxis")]
|
||||||
y_axis: Point3d,
|
y_axis: Point3d,
|
||||||
/// The z-axis (normal).
|
|
||||||
#[serde(rename = "zAxis")]
|
|
||||||
z_axis: Point3d,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -973,6 +971,15 @@ pub async fn start_sketch_on(exec_state: &mut ExecState, args: Args) -> Result<K
|
|||||||
&RuntimeType::Union(vec![RuntimeType::solid(), RuntimeType::plane()]),
|
&RuntimeType::Union(vec![RuntimeType::solid(), RuntimeType::plane()]),
|
||||||
exec_state,
|
exec_state,
|
||||||
)?;
|
)?;
|
||||||
|
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
if let SketchData::PlaneOrientation(plane_data) = &data {
|
||||||
|
web_sys::console::log_1(&format!("start_sketch_on called with plane_data={:?}", plane_data).into());
|
||||||
|
}
|
||||||
|
// log out args
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("start_sketch_on called with args={:?}", args).into());
|
||||||
|
|
||||||
let face = args.get_kw_arg_opt("face")?;
|
let face = args.get_kw_arg_opt("face")?;
|
||||||
|
|
||||||
match inner_start_sketch_on(data, face, exec_state, &args).await? {
|
match inner_start_sketch_on(data, face, exec_state, &args).await? {
|
||||||
@ -1171,8 +1178,13 @@ async fn inner_start_sketch_on(
|
|||||||
exec_state: &mut ExecState,
|
exec_state: &mut ExecState,
|
||||||
args: &Args,
|
args: &Args,
|
||||||
) -> Result<SketchSurface, KclError> {
|
) -> Result<SketchSurface, KclError> {
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("inner_start_sketch_on with plane_or_solid={:?}", plane_or_solid).into());
|
||||||
|
|
||||||
match plane_or_solid {
|
match plane_or_solid {
|
||||||
SketchData::PlaneOrientation(plane_data) => {
|
SketchData::PlaneOrientation(plane_data) => {
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("inner_start_sketch_on PlaneOrientation case with plane_data={:?}", plane_data).into());
|
||||||
let plane = make_sketch_plane_from_orientation(plane_data, exec_state, args).await?;
|
let plane = make_sketch_plane_from_orientation(plane_data, exec_state, args).await?;
|
||||||
Ok(SketchSurface::Plane(plane))
|
Ok(SketchSurface::Plane(plane))
|
||||||
}
|
}
|
||||||
@ -1241,40 +1253,46 @@ async fn make_sketch_plane_from_orientation(
|
|||||||
exec_state: &mut ExecState,
|
exec_state: &mut ExecState,
|
||||||
args: &Args,
|
args: &Args,
|
||||||
) -> Result<Box<Plane>, KclError> {
|
) -> Result<Box<Plane>, KclError> {
|
||||||
let plane = Plane::from_plane_data(data.clone(), exec_state);
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("make_sketch_plane_from_orientation called with data={:?}", data).into());
|
||||||
|
|
||||||
|
let mut plane = Plane::from_plane_data(data.clone(), exec_state);
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("After from_plane_data: plane.x_axis={:?}, plane type={:?}", plane.x_axis, plane.value).into());
|
||||||
|
|
||||||
// Create the plane on the fly.
|
// Create the plane on the fly.
|
||||||
let clobber = false;
|
let clobber = false;
|
||||||
let size = LengthUnit(60.0);
|
let size = LengthUnit(60.0);
|
||||||
let hide = Some(true);
|
let hide = Some(true);
|
||||||
|
|
||||||
match data {
|
match data {
|
||||||
PlaneData::XY | PlaneData::NegXY | PlaneData::XZ | PlaneData::NegXZ | PlaneData::YZ | PlaneData::NegYZ => {
|
PlaneData::XY | PlaneData::NegXY | PlaneData::XZ | PlaneData::NegXZ | PlaneData::YZ | PlaneData::NegYZ => {
|
||||||
// TODO: ignoring the default planes here since we already created them, breaks the
|
// Use the x_axis directly from the plane object created by from_plane_data
|
||||||
// front end for the feature tree which is stupid and we should fix it.
|
// No need to recompute it here as it's already correctly set based on the plane type
|
||||||
let x_axis = match data {
|
|
||||||
PlaneData::NegXY => Point3d::new(-1.0, 0.0, 0.0, UnitLen::Mm),
|
#[cfg(target_arch = "wasm32")]
|
||||||
PlaneData::NegXZ => Point3d::new(-1.0, 0.0, 0.0, UnitLen::Mm),
|
web_sys::console::log_1(&format!("Before modeling cmd: data={:?}, plane.x_axis={:?}", data, plane.x_axis).into());
|
||||||
PlaneData::NegYZ => Point3d::new(0.0, -1.0, 0.0, UnitLen::Mm),
|
|
||||||
_ => plane.x_axis,
|
|
||||||
};
|
|
||||||
args.batch_modeling_cmd(
|
args.batch_modeling_cmd(
|
||||||
plane.id,
|
plane.id,
|
||||||
ModelingCmd::from(mcmd::MakePlane {
|
ModelingCmd::from(mcmd::MakePlane {
|
||||||
clobber,
|
clobber,
|
||||||
origin: plane.origin.into(),
|
origin: plane.origin.into(),
|
||||||
size,
|
size,
|
||||||
x_axis: x_axis.into(),
|
x_axis: plane.x_axis.into(),
|
||||||
y_axis: plane.y_axis.into(),
|
y_axis: plane.y_axis.into(),
|
||||||
hide,
|
hide,
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("After modeling cmd: plane.x_axis={:?}", plane.x_axis).into());
|
||||||
}
|
}
|
||||||
PlaneData::Plane {
|
PlaneData::Plane {
|
||||||
origin,
|
origin,
|
||||||
x_axis,
|
x_axis,
|
||||||
y_axis,
|
y_axis,
|
||||||
z_axis: _,
|
|
||||||
} => {
|
} => {
|
||||||
args.batch_modeling_cmd(
|
args.batch_modeling_cmd(
|
||||||
plane.id,
|
plane.id,
|
||||||
@ -1291,6 +1309,8 @@ async fn make_sketch_plane_from_orientation(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("Returning plane with x_axis={:?}", plane.x_axis).into());
|
||||||
Ok(Box::new(plane))
|
Ok(Box::new(plane))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1384,8 +1404,16 @@ pub(crate) async fn inner_start_profile_at(
|
|||||||
adjust_camera: false,
|
adjust_camera: false,
|
||||||
planar_normal: if let SketchSurface::Plane(plane) = &sketch_surface {
|
planar_normal: if let SketchSurface::Plane(plane) = &sketch_surface {
|
||||||
// We pass in the normal for the plane here.
|
// We pass in the normal for the plane here.
|
||||||
Some(plane.z_axis.into())
|
let z_axis = Some(plane.x_axis.cross(&plane.y_axis).into());
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("Calculating planar_normal: plane.x_axis={:?}, plane.y_axis={:?}, z_axis={:?}",
|
||||||
|
plane.x_axis, plane.y_axis, z_axis).into());
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("plane normal sketch: {:?}, x_axis: {:?}, y_axis: {:?}", z_axis, plane.x_axis, plane.y_axis).into());
|
||||||
|
z_axis
|
||||||
} else {
|
} else {
|
||||||
|
#[cfg(target_arch = "wasm32")]
|
||||||
|
web_sys::console::log_1(&format!("no Plane normal").into());
|
||||||
None
|
None
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
|
@ -449,3 +449,93 @@ export fn toRadians(@num: number(rad)): number(rad) {
|
|||||||
export fn toDegrees(@num: number(deg)): number(deg) {
|
export fn toDegrees(@num: number(deg)): number(deg) {
|
||||||
return num
|
return num
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Offset a plane by a distance along its normal.
|
||||||
|
///
|
||||||
|
/// For example, if you offset the `XZ` plane by 10, the new plane will be parallel to the `XZ`
|
||||||
|
/// plane and 10 units away from it.
|
||||||
|
///
|
||||||
|
/// ```
|
||||||
|
/// // Loft a square and a circle on the `XY` plane using offset.
|
||||||
|
/// squareSketch = startSketchOn(XY)
|
||||||
|
/// |> startProfileAt([-100, 200], %)
|
||||||
|
/// |> line(end = [200, 0])
|
||||||
|
/// |> line(end = [0, -200])
|
||||||
|
/// |> line(end = [-200, 0])
|
||||||
|
/// |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|
/// |> close()
|
||||||
|
///
|
||||||
|
/// circleSketch = startSketchOn(offsetPlane(XY, offset = 150))
|
||||||
|
/// |> circle( center = [0, 100], radius = 50 )
|
||||||
|
///
|
||||||
|
/// loft([squareSketch, circleSketch])
|
||||||
|
/// ```
|
||||||
|
///
|
||||||
|
/// ```
|
||||||
|
/// // Loft a square and a circle on the `XZ` plane using offset.
|
||||||
|
/// squareSketch = startSketchOn(XZ)
|
||||||
|
/// |> startProfileAt([-100, 200], %)
|
||||||
|
/// |> line(end = [200, 0])
|
||||||
|
/// |> line(end = [0, -200])
|
||||||
|
/// |> line(end = [-200, 0])
|
||||||
|
/// |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|
/// |> close()
|
||||||
|
///
|
||||||
|
/// circleSketch = startSketchOn(offsetPlane(XZ, offset = 150))
|
||||||
|
/// |> circle( center = [0, 100], radius = 50 )
|
||||||
|
///
|
||||||
|
/// loft([squareSketch, circleSketch])
|
||||||
|
/// ```
|
||||||
|
///
|
||||||
|
/// ```
|
||||||
|
/// // Loft a square and a circle on the `YZ` plane using offset.
|
||||||
|
/// squareSketch = startSketchOn(YZ)
|
||||||
|
/// |> startProfileAt([-100, 200], %)
|
||||||
|
/// |> line(end = [200, 0])
|
||||||
|
/// |> line(end = [0, -200])
|
||||||
|
/// |> line(end = [-200, 0])
|
||||||
|
/// |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|
/// |> close()
|
||||||
|
///
|
||||||
|
/// circleSketch = startSketchOn(offsetPlane(YZ, offset = 150))
|
||||||
|
/// |> circle( center = [0, 100], radius = 50 )
|
||||||
|
///
|
||||||
|
/// loft([squareSketch, circleSketch])
|
||||||
|
/// ```
|
||||||
|
///
|
||||||
|
/// ```
|
||||||
|
/// // Loft a square and a circle on the `-XZ` plane using offset.
|
||||||
|
/// squareSketch = startSketchOn(-XZ)
|
||||||
|
/// |> startProfileAt([-100, 200], %)
|
||||||
|
/// |> line(end = [200, 0])
|
||||||
|
/// |> line(end = [0, -200])
|
||||||
|
/// |> line(end = [-200, 0])
|
||||||
|
/// |> line(endAbsolute = [profileStartX(%), profileStartY(%)])
|
||||||
|
/// |> close()
|
||||||
|
///
|
||||||
|
/// circleSketch = startSketchOn(offsetPlane(-XZ, offset = 150))
|
||||||
|
/// |> circle(center = [0, 100], radius = 50)
|
||||||
|
///
|
||||||
|
/// loft([squareSketch, circleSketch])
|
||||||
|
/// ```
|
||||||
|
///
|
||||||
|
/// ```
|
||||||
|
/// // A circle on the XY plane
|
||||||
|
/// startSketchOn(XY)
|
||||||
|
/// |> startProfileAt([0, 0], %)
|
||||||
|
/// |> circle( radius = 10, center = [0, 0] )
|
||||||
|
///
|
||||||
|
/// // Triangle on the plane 4 units above
|
||||||
|
/// startSketchOn(offsetPlane(XY, offset = 4))
|
||||||
|
/// |> startProfileAt([0, 0], %)
|
||||||
|
/// |> line(end = [10, 0])
|
||||||
|
/// |> line(end = [0, 10])
|
||||||
|
/// |> close()
|
||||||
|
/// ```
|
||||||
|
@(impl = std_rust)
|
||||||
|
export fn offsetPlane(
|
||||||
|
/// The plane (e.g. `XY`) which this new plane is created from.
|
||||||
|
@plane: Plane,
|
||||||
|
/// Distance from the standard plane this new plane will be created at.
|
||||||
|
offset: number(Length),
|
||||||
|
): Plane {}
|
||||||
|
@ -184,7 +184,7 @@ description: Artifact commands artifact_graph_example_code_no_3d.kcl
|
|||||||
"z": 0.0
|
"z": 0.0
|
||||||
},
|
},
|
||||||
"x_axis": {
|
"x_axis": {
|
||||||
"x": -1.0,
|
"x": 1.0,
|
||||||
"y": 0.0,
|
"y": 0.0,
|
||||||
"z": 0.0
|
"z": 0.0
|
||||||
},
|
},
|
||||||
|
@ -303,7 +303,7 @@ description: Variables in memory after executing artifact_graph_example_code_no_
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xAxis": {
|
"xAxis": {
|
||||||
"x": -1.0,
|
"x": 1.0,
|
||||||
"y": 0.0,
|
"y": 0.0,
|
||||||
"z": 0.0,
|
"z": 0.0,
|
||||||
"units": {
|
"units": {
|
||||||
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 38 KiB |
@ -4,6 +4,15 @@ description: Operations executed artifact_graph_example_code_offset_planes.kcl
|
|||||||
---
|
---
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "String",
|
||||||
|
"value": "XY"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -22,18 +31,18 @@ description: Operations executed artifact_graph_example_code_offset_planes.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
"name": "offsetPlane",
|
"name": "offsetPlane",
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
"unlabeledArg": {
|
||||||
"value": {
|
"value": {
|
||||||
"type": "String",
|
"type": "String",
|
||||||
"value": "XY"
|
"value": "XZ"
|
||||||
},
|
},
|
||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
},
|
||||||
},
|
|
||||||
{
|
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -52,18 +61,18 @@ description: Operations executed artifact_graph_example_code_offset_planes.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
"name": "offsetPlane",
|
"name": "offsetPlane",
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
"unlabeledArg": {
|
||||||
"value": {
|
"value": {
|
||||||
"type": "String",
|
"type": "String",
|
||||||
"value": "XZ"
|
"value": "YZ"
|
||||||
},
|
},
|
||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
},
|
||||||
},
|
|
||||||
{
|
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -82,16 +91,7 @@ description: Operations executed artifact_graph_example_code_offset_planes.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "String",
|
|
||||||
"value": "YZ"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
|
@ -20,13 +20,20 @@ description: Result of parsing crazy_multi_profile.kcl
|
|||||||
"init": {
|
"init": {
|
||||||
"arguments": [
|
"arguments": [
|
||||||
{
|
{
|
||||||
|
"abs_path": false,
|
||||||
"commentStart": 0,
|
"commentStart": 0,
|
||||||
"end": 0,
|
"end": 0,
|
||||||
"raw": "'XZ'",
|
"name": {
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"name": "XZ",
|
||||||
|
"start": 0,
|
||||||
|
"type": "Identifier"
|
||||||
|
},
|
||||||
|
"path": [],
|
||||||
"start": 0,
|
"start": 0,
|
||||||
"type": "Literal",
|
"type": "Name",
|
||||||
"type": "Literal",
|
"type": "Name"
|
||||||
"value": "XZ"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"callee": {
|
"callee": {
|
||||||
@ -2561,13 +2568,28 @@ description: Result of parsing crazy_multi_profile.kcl
|
|||||||
"init": {
|
"init": {
|
||||||
"arguments": [
|
"arguments": [
|
||||||
{
|
{
|
||||||
|
"argument": {
|
||||||
|
"abs_path": false,
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"name": {
|
||||||
|
"commentStart": 0,
|
||||||
|
"end": 0,
|
||||||
|
"name": "XZ",
|
||||||
|
"start": 0,
|
||||||
|
"type": "Identifier"
|
||||||
|
},
|
||||||
|
"path": [],
|
||||||
|
"start": 0,
|
||||||
|
"type": "Name",
|
||||||
|
"type": "Name"
|
||||||
|
},
|
||||||
"commentStart": 0,
|
"commentStart": 0,
|
||||||
"end": 0,
|
"end": 0,
|
||||||
"raw": "'-XZ'",
|
"operator": "-",
|
||||||
"start": 0,
|
"start": 0,
|
||||||
"type": "Literal",
|
"type": "UnaryExpression",
|
||||||
"type": "Literal",
|
"type": "UnaryExpression"
|
||||||
"value": "-XZ"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"callee": {
|
"callee": {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
sketch001 = startSketchOn('XZ')
|
sketch001 = startSketchOn(XZ)
|
||||||
profile001 = startProfileAt([6.71, -3.66], sketch001)
|
profile001 = startProfileAt([6.71, -3.66], sketch001)
|
||||||
|> line(end = [2.65, 9.02], tag = $seg02)
|
|> line(end = [2.65, 9.02], tag = $seg02)
|
||||||
|> line(end = [3.73, -9.36], tag = $seg01)
|
|> line(end = [3.73, -9.36], tag = $seg01)
|
||||||
@ -28,7 +28,7 @@ profile006 = startProfileAt([9.65, 3.82], sketch002)
|
|||||||
|> close()
|
|> close()
|
||||||
revolve001 = revolve(profile004, angle = 45, axis = getNextAdjacentEdge(seg01))
|
revolve001 = revolve(profile004, angle = 45, axis = getNextAdjacentEdge(seg01))
|
||||||
extrude002 = extrude(profile006, length = 4)
|
extrude002 = extrude(profile006, length = 4)
|
||||||
sketch003 = startSketchOn('-XZ')
|
sketch003 = startSketchOn(-XZ)
|
||||||
profile007 = startProfileAt([4.8, 7.55], sketch003)
|
profile007 = startProfileAt([4.8, 7.55], sketch003)
|
||||||
|> line(end = [7.39, 2.58])
|
|> line(end = [7.39, 2.58])
|
||||||
|> line(end = [7.02, -2.85])
|
|> line(end = [7.02, -2.85])
|
||||||
|
@ -765,7 +765,7 @@ description: Variables in memory after executing crazy_multi_profile.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xAxis": {
|
"xAxis": {
|
||||||
"x": -1.0,
|
"x": 1.0,
|
||||||
"y": 0.0,
|
"y": 0.0,
|
||||||
"z": 0.0,
|
"z": 0.0,
|
||||||
"units": {
|
"units": {
|
||||||
@ -2756,7 +2756,7 @@ description: Variables in memory after executing crazy_multi_profile.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xAxis": {
|
"xAxis": {
|
||||||
"x": -1.0,
|
"x": 1.0,
|
||||||
"y": 0.0,
|
"y": 0.0,
|
||||||
"z": 0.0,
|
"z": 0.0,
|
||||||
"units": {
|
"units": {
|
||||||
@ -2902,7 +2902,7 @@ description: Variables in memory after executing crazy_multi_profile.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xAxis": {
|
"xAxis": {
|
||||||
"x": -1.0,
|
"x": 1.0,
|
||||||
"y": 0.0,
|
"y": 0.0,
|
||||||
"z": 0.0,
|
"z": 0.0,
|
||||||
"units": {
|
"units": {
|
||||||
@ -3048,7 +3048,7 @@ description: Variables in memory after executing crazy_multi_profile.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xAxis": {
|
"xAxis": {
|
||||||
"x": -1.0,
|
"x": 1.0,
|
||||||
"y": 0.0,
|
"y": 0.0,
|
||||||
"z": 0.0,
|
"z": 0.0,
|
||||||
"units": {
|
"units": {
|
||||||
@ -3143,7 +3143,7 @@ description: Variables in memory after executing crazy_multi_profile.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xAxis": {
|
"xAxis": {
|
||||||
"x": -1.0,
|
"x": 1.0,
|
||||||
"y": 0.0,
|
"y": 0.0,
|
||||||
"z": 0.0,
|
"z": 0.0,
|
||||||
"units": {
|
"units": {
|
||||||
@ -3314,7 +3314,7 @@ description: Variables in memory after executing crazy_multi_profile.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xAxis": {
|
"xAxis": {
|
||||||
"x": -1.0,
|
"x": 1.0,
|
||||||
"y": 0.0,
|
"y": 0.0,
|
||||||
"z": 0.0,
|
"z": 0.0,
|
||||||
"units": {
|
"units": {
|
||||||
@ -3867,7 +3867,7 @@ description: Variables in memory after executing crazy_multi_profile.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xAxis": {
|
"xAxis": {
|
||||||
"x": -1.0,
|
"x": 1.0,
|
||||||
"y": 0.0,
|
"y": 0.0,
|
||||||
"z": 0.0,
|
"z": 0.0,
|
||||||
"units": {
|
"units": {
|
||||||
@ -4234,7 +4234,7 @@ description: Variables in memory after executing crazy_multi_profile.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xAxis": {
|
"xAxis": {
|
||||||
"x": -1.0,
|
"x": 1.0,
|
||||||
"y": 0.0,
|
"y": 0.0,
|
||||||
"z": 0.0,
|
"z": 0.0,
|
||||||
"units": {
|
"units": {
|
||||||
|
@ -40,7 +40,7 @@ description: Artifact commands 80-20-rail.kcl
|
|||||||
"z": 0.0
|
"z": 0.0
|
||||||
},
|
},
|
||||||
"x_axis": {
|
"x_axis": {
|
||||||
"x": -1.0,
|
"x": 1.0,
|
||||||
"y": 0.0,
|
"y": 0.0,
|
||||||
"z": 0.0
|
"z": 0.0
|
||||||
},
|
},
|
||||||
|
@ -371,198 +371,198 @@ flowchart LR
|
|||||||
2 --- 67
|
2 --- 67
|
||||||
2 ---- 72
|
2 ---- 72
|
||||||
2 --- 68
|
2 --- 68
|
||||||
3 --- 73
|
3 --- 136
|
||||||
3 --- 139
|
3 --- 265
|
||||||
3 --- 140
|
3 --- 266
|
||||||
4 --- 74
|
4 --- 135
|
||||||
4 --- 141
|
4 --- 263
|
||||||
4 --- 142
|
4 --- 264
|
||||||
5 --- 75
|
5 --- 134
|
||||||
5 --- 143
|
5 --- 261
|
||||||
5 --- 144
|
5 --- 262
|
||||||
6 --- 76
|
6 --- 133
|
||||||
6 --- 145
|
6 --- 259
|
||||||
6 --- 146
|
6 --- 260
|
||||||
7 --- 77
|
7 --- 132
|
||||||
7 --- 147
|
7 --- 257
|
||||||
7 --- 148
|
7 --- 258
|
||||||
8 --- 78
|
8 --- 131
|
||||||
8 --- 149
|
8 --- 255
|
||||||
8 --- 150
|
8 --- 256
|
||||||
9 --- 79
|
9 --- 130
|
||||||
9 --- 151
|
9 --- 253
|
||||||
9 --- 152
|
9 --- 254
|
||||||
10 --- 80
|
10 --- 129
|
||||||
10 --- 153
|
10 --- 251
|
||||||
10 --- 154
|
10 --- 252
|
||||||
11 --- 81
|
11 --- 128
|
||||||
11 --- 155
|
11 --- 249
|
||||||
11 --- 156
|
11 --- 250
|
||||||
12 --- 82
|
12 --- 127
|
||||||
12 --- 157
|
12 --- 247
|
||||||
12 --- 158
|
12 --- 248
|
||||||
13 --- 83
|
13 --- 126
|
||||||
13 --- 159
|
13 --- 245
|
||||||
13 --- 160
|
13 --- 246
|
||||||
14 --- 84
|
14 --- 125
|
||||||
14 --- 161
|
14 --- 243
|
||||||
14 --- 162
|
14 --- 244
|
||||||
15 --- 85
|
15 --- 124
|
||||||
15 --- 163
|
15 --- 241
|
||||||
15 --- 164
|
15 --- 242
|
||||||
16 --- 86
|
16 --- 123
|
||||||
16 --- 165
|
16 --- 239
|
||||||
16 --- 166
|
16 --- 240
|
||||||
17 --- 87
|
17 --- 122
|
||||||
17 --- 167
|
17 --- 237
|
||||||
17 --- 168
|
17 --- 238
|
||||||
18 --- 88
|
18 --- 121
|
||||||
18 --- 169
|
18 --- 235
|
||||||
18 --- 170
|
18 --- 236
|
||||||
19 --- 89
|
19 --- 120
|
||||||
19 --- 171
|
19 --- 233
|
||||||
19 --- 172
|
19 --- 234
|
||||||
20 --- 90
|
20 --- 119
|
||||||
20 --- 173
|
20 --- 231
|
||||||
20 --- 174
|
20 --- 232
|
||||||
21 --- 91
|
21 --- 118
|
||||||
21 --- 175
|
21 --- 229
|
||||||
21 --- 176
|
21 --- 230
|
||||||
22 --- 92
|
22 --- 117
|
||||||
22 --- 177
|
22 --- 227
|
||||||
22 --- 178
|
22 --- 228
|
||||||
23 --- 93
|
23 --- 116
|
||||||
23 --- 179
|
23 --- 225
|
||||||
23 --- 180
|
23 --- 226
|
||||||
24 --- 94
|
24 --- 115
|
||||||
24 --- 181
|
24 --- 223
|
||||||
24 --- 182
|
24 --- 224
|
||||||
25 --- 95
|
25 --- 114
|
||||||
25 --- 183
|
25 --- 221
|
||||||
25 --- 184
|
25 --- 222
|
||||||
26 --- 96
|
26 --- 113
|
||||||
26 --- 185
|
26 --- 219
|
||||||
26 --- 186
|
26 --- 220
|
||||||
27 --- 97
|
27 --- 112
|
||||||
27 --- 187
|
27 --- 217
|
||||||
27 --- 188
|
27 --- 218
|
||||||
28 --- 98
|
28 --- 111
|
||||||
28 --- 189
|
28 --- 215
|
||||||
28 --- 190
|
28 --- 216
|
||||||
29 --- 99
|
29 --- 110
|
||||||
29 --- 191
|
29 --- 213
|
||||||
29 --- 192
|
29 --- 214
|
||||||
30 --- 100
|
30 --- 109
|
||||||
30 --- 193
|
30 --- 211
|
||||||
30 --- 194
|
30 --- 212
|
||||||
31 --- 101
|
31 --- 108
|
||||||
31 --- 195
|
31 --- 209
|
||||||
31 --- 196
|
31 --- 210
|
||||||
32 --- 102
|
32 --- 107
|
||||||
32 --- 197
|
32 --- 207
|
||||||
32 --- 198
|
32 --- 208
|
||||||
33 --- 103
|
33 --- 106
|
||||||
33 --- 199
|
33 --- 205
|
||||||
33 --- 200
|
33 --- 206
|
||||||
34 --- 104
|
34 --- 105
|
||||||
34 --- 201
|
34 --- 203
|
||||||
34 --- 202
|
34 --- 204
|
||||||
35 --- 105
|
35 --- 104
|
||||||
35 --- 203
|
35 --- 201
|
||||||
35 --- 204
|
35 --- 202
|
||||||
36 --- 106
|
36 --- 103
|
||||||
36 --- 205
|
36 --- 199
|
||||||
36 --- 206
|
36 --- 200
|
||||||
37 --- 107
|
37 --- 102
|
||||||
37 --- 207
|
37 --- 197
|
||||||
37 --- 208
|
37 --- 198
|
||||||
38 --- 108
|
38 --- 101
|
||||||
38 --- 209
|
38 --- 195
|
||||||
38 --- 210
|
38 --- 196
|
||||||
39 --- 109
|
39 --- 100
|
||||||
39 --- 211
|
39 --- 193
|
||||||
39 --- 212
|
39 --- 194
|
||||||
40 --- 110
|
40 --- 99
|
||||||
40 --- 213
|
40 --- 191
|
||||||
40 --- 214
|
40 --- 192
|
||||||
41 --- 111
|
41 --- 98
|
||||||
41 --- 215
|
41 --- 189
|
||||||
41 --- 216
|
41 --- 190
|
||||||
42 --- 112
|
42 --- 97
|
||||||
42 --- 217
|
42 --- 187
|
||||||
42 --- 218
|
42 --- 188
|
||||||
43 --- 113
|
43 --- 96
|
||||||
43 --- 219
|
43 --- 185
|
||||||
43 --- 220
|
43 --- 186
|
||||||
44 --- 114
|
44 --- 95
|
||||||
44 --- 221
|
44 --- 183
|
||||||
44 --- 222
|
44 --- 184
|
||||||
45 --- 115
|
45 --- 94
|
||||||
45 --- 223
|
45 --- 181
|
||||||
45 --- 224
|
45 --- 182
|
||||||
46 --- 116
|
46 --- 93
|
||||||
46 --- 225
|
46 --- 179
|
||||||
46 --- 226
|
46 --- 180
|
||||||
47 --- 117
|
47 --- 92
|
||||||
47 --- 227
|
47 --- 177
|
||||||
47 --- 228
|
47 --- 178
|
||||||
48 --- 118
|
48 --- 91
|
||||||
48 --- 229
|
48 --- 175
|
||||||
48 --- 230
|
48 --- 176
|
||||||
49 --- 119
|
49 --- 90
|
||||||
49 --- 231
|
49 --- 173
|
||||||
49 --- 232
|
49 --- 174
|
||||||
50 --- 120
|
50 --- 89
|
||||||
50 --- 233
|
50 --- 171
|
||||||
50 --- 234
|
50 --- 172
|
||||||
51 --- 121
|
51 --- 88
|
||||||
51 --- 235
|
51 --- 169
|
||||||
51 --- 236
|
51 --- 170
|
||||||
52 --- 122
|
52 --- 87
|
||||||
52 --- 237
|
52 --- 167
|
||||||
52 --- 238
|
52 --- 168
|
||||||
53 --- 123
|
53 --- 86
|
||||||
53 --- 239
|
53 --- 165
|
||||||
53 --- 240
|
53 --- 166
|
||||||
54 --- 124
|
54 --- 85
|
||||||
54 --- 241
|
54 --- 163
|
||||||
54 --- 242
|
54 --- 164
|
||||||
55 --- 125
|
55 --- 84
|
||||||
55 --- 243
|
55 --- 161
|
||||||
55 --- 244
|
55 --- 162
|
||||||
56 --- 126
|
56 --- 83
|
||||||
56 --- 245
|
56 --- 159
|
||||||
56 --- 246
|
56 --- 160
|
||||||
57 --- 127
|
57 --- 82
|
||||||
57 --- 247
|
57 --- 157
|
||||||
57 --- 248
|
57 --- 158
|
||||||
58 --- 128
|
58 --- 81
|
||||||
58 --- 249
|
58 --- 155
|
||||||
58 --- 250
|
58 --- 156
|
||||||
59 --- 129
|
59 --- 80
|
||||||
59 --- 251
|
59 --- 153
|
||||||
59 --- 252
|
59 --- 154
|
||||||
60 --- 130
|
60 --- 79
|
||||||
60 --- 253
|
60 --- 151
|
||||||
60 --- 254
|
60 --- 152
|
||||||
61 --- 131
|
61 --- 78
|
||||||
61 --- 255
|
61 --- 149
|
||||||
61 --- 256
|
61 --- 150
|
||||||
62 --- 132
|
62 --- 77
|
||||||
62 --- 257
|
62 --- 147
|
||||||
62 --- 258
|
62 --- 148
|
||||||
63 --- 133
|
63 --- 76
|
||||||
63 --- 259
|
63 --- 145
|
||||||
63 --- 260
|
63 --- 146
|
||||||
64 --- 134
|
64 --- 75
|
||||||
64 --- 261
|
64 --- 143
|
||||||
64 --- 262
|
64 --- 144
|
||||||
65 --- 135
|
65 --- 74
|
||||||
65 --- 263
|
65 --- 141
|
||||||
65 --- 264
|
65 --- 142
|
||||||
66 --- 136
|
66 --- 73
|
||||||
66 --- 265
|
66 --- 139
|
||||||
66 --- 266
|
66 --- 140
|
||||||
69 --- 70
|
69 --- 70
|
||||||
69 --- 71
|
69 --- 71
|
||||||
72 --- 73
|
72 --- 73
|
||||||
@ -759,36 +759,36 @@ flowchart LR
|
|||||||
72 --- 264
|
72 --- 264
|
||||||
72 --- 265
|
72 --- 265
|
||||||
72 --- 266
|
72 --- 266
|
||||||
152 <--x 267
|
254 <--x 267
|
||||||
154 <--x 268
|
252 <--x 268
|
||||||
156 <--x 269
|
250 <--x 269
|
||||||
158 <--x 270
|
248 <--x 270
|
||||||
184 <--x 271
|
222 <--x 271
|
||||||
186 <--x 272
|
220 <--x 272
|
||||||
188 <--x 273
|
218 <--x 273
|
||||||
190 <--x 274
|
216 <--x 274
|
||||||
216 <--x 275
|
190 <--x 275
|
||||||
218 <--x 276
|
188 <--x 276
|
||||||
220 <--x 277
|
186 <--x 277
|
||||||
222 <--x 278
|
184 <--x 278
|
||||||
248 <--x 279
|
158 <--x 279
|
||||||
250 <--x 280
|
156 <--x 280
|
||||||
252 <--x 281
|
154 <--x 281
|
||||||
254 <--x 282
|
152 <--x 282
|
||||||
148 <--x 283
|
258 <--x 283
|
||||||
150 <--x 284
|
256 <--x 284
|
||||||
160 <--x 285
|
246 <--x 285
|
||||||
162 <--x 286
|
244 <--x 286
|
||||||
180 <--x 287
|
226 <--x 287
|
||||||
182 <--x 288
|
224 <--x 288
|
||||||
192 <--x 289
|
214 <--x 289
|
||||||
194 <--x 290
|
212 <--x 290
|
||||||
212 <--x 291
|
194 <--x 291
|
||||||
214 <--x 292
|
192 <--x 292
|
||||||
224 <--x 293
|
182 <--x 293
|
||||||
226 <--x 294
|
180 <--x 294
|
||||||
244 <--x 295
|
162 <--x 295
|
||||||
246 <--x 296
|
160 <--x 296
|
||||||
256 <--x 297
|
150 <--x 297
|
||||||
258 <--x 298
|
148 <--x 298
|
||||||
```
|
```
|
||||||
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
@ -757,6 +757,15 @@ description: Operations executed axial-fan.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -775,16 +784,7 @@ description: Operations executed axial-fan.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -883,6 +883,15 @@ description: Operations executed axial-fan.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -901,16 +910,7 @@ description: Operations executed axial-fan.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -1088,6 +1088,15 @@ description: Operations executed axial-fan.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -1106,16 +1115,7 @@ description: Operations executed axial-fan.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -1583,6 +1583,15 @@ description: Operations executed axial-fan.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -1601,16 +1610,7 @@ description: Operations executed axial-fan.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -2078,6 +2078,15 @@ description: Operations executed axial-fan.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -2096,16 +2105,7 @@ description: Operations executed axial-fan.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
|
@ -4,6 +4,15 @@ description: Operations executed ball-bearing.kcl
|
|||||||
---
|
---
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -22,16 +31,7 @@ description: Operations executed ball-bearing.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -924,6 +924,15 @@ description: Operations executed ball-bearing.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -942,16 +951,7 @@ description: Operations executed ball-bearing.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
|
@ -1995,8 +1995,8 @@ description: Artifact commands bench.kcl
|
|||||||
"adjust_camera": false,
|
"adjust_camera": false,
|
||||||
"planar_normal": {
|
"planar_normal": {
|
||||||
"x": -1.0,
|
"x": -1.0,
|
||||||
"y": -0.0,
|
"y": 0.0,
|
||||||
"z": -0.0
|
"z": 0.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -2386,8 +2386,8 @@ description: Artifact commands bench.kcl
|
|||||||
"adjust_camera": false,
|
"adjust_camera": false,
|
||||||
"planar_normal": {
|
"planar_normal": {
|
||||||
"x": -1.0,
|
"x": -1.0,
|
||||||
"y": -0.0,
|
"y": 0.0,
|
||||||
"z": -0.0
|
"z": 0.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -2837,8 +2837,8 @@ description: Artifact commands bench.kcl
|
|||||||
"adjust_camera": false,
|
"adjust_camera": false,
|
||||||
"planar_normal": {
|
"planar_normal": {
|
||||||
"x": -1.0,
|
"x": -1.0,
|
||||||
"y": -0.0,
|
"y": 0.0,
|
||||||
"z": -0.0
|
"z": 0.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -3228,8 +3228,8 @@ description: Artifact commands bench.kcl
|
|||||||
"adjust_camera": false,
|
"adjust_camera": false,
|
||||||
"planar_normal": {
|
"planar_normal": {
|
||||||
"x": -1.0,
|
"x": -1.0,
|
||||||
"y": -0.0,
|
"y": 0.0,
|
||||||
"z": -0.0
|
"z": 0.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -7458,8 +7458,8 @@ description: Artifact commands bench.kcl
|
|||||||
"adjust_camera": false,
|
"adjust_camera": false,
|
||||||
"planar_normal": {
|
"planar_normal": {
|
||||||
"x": -1.0,
|
"x": -1.0,
|
||||||
"y": -0.0,
|
"y": 0.0,
|
||||||
"z": -0.0
|
"z": 0.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -7581,9 +7581,9 @@ description: Artifact commands bench.kcl
|
|||||||
"animated": false,
|
"animated": false,
|
||||||
"adjust_camera": false,
|
"adjust_camera": false,
|
||||||
"planar_normal": {
|
"planar_normal": {
|
||||||
"x": -0.0,
|
"x": 0.0,
|
||||||
"y": 1.0,
|
"y": 1.0,
|
||||||
"z": -0.0
|
"z": 0.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -7951,8 +7951,8 @@ description: Artifact commands bench.kcl
|
|||||||
"adjust_camera": false,
|
"adjust_camera": false,
|
||||||
"planar_normal": {
|
"planar_normal": {
|
||||||
"x": -1.0,
|
"x": -1.0,
|
||||||
"y": -0.0,
|
"y": 0.0,
|
||||||
"z": -0.0
|
"z": 0.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -8074,9 +8074,9 @@ description: Artifact commands bench.kcl
|
|||||||
"animated": false,
|
"animated": false,
|
||||||
"adjust_camera": false,
|
"adjust_camera": false,
|
||||||
"planar_normal": {
|
"planar_normal": {
|
||||||
"x": -0.0,
|
"x": 0.0,
|
||||||
"y": 1.0,
|
"y": 1.0,
|
||||||
"z": -0.0
|
"z": 0.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -240,6 +240,15 @@ description: Operations executed bench.kcl
|
|||||||
"type": "GroupEnd"
|
"type": "GroupEnd"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -258,16 +267,7 @@ description: Operations executed bench.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "GroupBegin",
|
"type": "GroupBegin",
|
||||||
@ -506,6 +506,15 @@ description: Operations executed bench.kcl
|
|||||||
"type": "GroupEnd"
|
"type": "GroupEnd"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -524,16 +533,7 @@ description: Operations executed bench.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "GroupBegin",
|
"type": "GroupBegin",
|
||||||
@ -772,6 +772,15 @@ description: Operations executed bench.kcl
|
|||||||
"type": "GroupEnd"
|
"type": "GroupEnd"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -790,16 +799,7 @@ description: Operations executed bench.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "GroupBegin",
|
"type": "GroupBegin",
|
||||||
@ -950,6 +950,15 @@ description: Operations executed bench.kcl
|
|||||||
"type": "GroupEnd"
|
"type": "GroupEnd"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -968,16 +977,7 @@ description: Operations executed bench.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "GroupBegin",
|
"type": "GroupBegin",
|
||||||
@ -1080,6 +1080,15 @@ description: Operations executed bench.kcl
|
|||||||
"type": "GroupEnd"
|
"type": "GroupEnd"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -1098,16 +1107,7 @@ description: Operations executed bench.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "GroupBegin",
|
"type": "GroupBegin",
|
||||||
@ -1219,6 +1219,15 @@ description: Operations executed bench.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -1237,16 +1246,7 @@ description: Operations executed bench.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "GroupBegin",
|
"type": "GroupBegin",
|
||||||
@ -1282,6 +1282,15 @@ description: Operations executed bench.kcl
|
|||||||
"type": "GroupEnd"
|
"type": "GroupEnd"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -1300,16 +1309,7 @@ description: Operations executed bench.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "GroupBegin",
|
"type": "GroupBegin",
|
||||||
@ -1388,6 +1388,15 @@ description: Operations executed bench.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -1406,16 +1415,7 @@ description: Operations executed bench.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "GroupBegin",
|
"type": "GroupBegin",
|
||||||
@ -1451,6 +1451,15 @@ description: Operations executed bench.kcl
|
|||||||
"type": "GroupEnd"
|
"type": "GroupEnd"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -1469,16 +1478,7 @@ description: Operations executed bench.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "GroupBegin",
|
"type": "GroupBegin",
|
||||||
|
@ -1608,9 +1608,9 @@ description: Artifact commands color-cube.kcl
|
|||||||
"animated": false,
|
"animated": false,
|
||||||
"adjust_camera": false,
|
"adjust_camera": false,
|
||||||
"planar_normal": {
|
"planar_normal": {
|
||||||
"x": -0.0,
|
"x": 0.0,
|
||||||
"y": 1.0,
|
"y": 1.0,
|
||||||
"z": -0.0
|
"z": 0.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1727,9 +1727,9 @@ description: Artifact commands color-cube.kcl
|
|||||||
"animated": false,
|
"animated": false,
|
||||||
"adjust_camera": false,
|
"adjust_camera": false,
|
||||||
"planar_normal": {
|
"planar_normal": {
|
||||||
"x": -0.0,
|
"x": 0.0,
|
||||||
"y": 1.0,
|
"y": 1.0,
|
||||||
"z": -0.0
|
"z": 0.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -4,6 +4,15 @@ description: Operations executed color-cube.kcl
|
|||||||
---
|
---
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -22,18 +31,18 @@ description: Operations executed color-cube.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
"name": "offsetPlane",
|
"name": "offsetPlane",
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
"unlabeledArg": {
|
||||||
"value": {
|
"value": {
|
||||||
"type": "Plane",
|
"type": "Plane",
|
||||||
"artifact_id": "[uuid]"
|
"artifact_id": "[uuid]"
|
||||||
},
|
},
|
||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
},
|
||||||
},
|
|
||||||
{
|
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -52,18 +61,18 @@ description: Operations executed color-cube.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
"name": "offsetPlane",
|
"name": "offsetPlane",
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
"unlabeledArg": {
|
||||||
"value": {
|
"value": {
|
||||||
"type": "Plane",
|
"type": "Plane",
|
||||||
"artifact_id": "[uuid]"
|
"artifact_id": "[uuid]"
|
||||||
},
|
},
|
||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
},
|
||||||
},
|
|
||||||
{
|
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -82,18 +91,18 @@ description: Operations executed color-cube.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
"name": "offsetPlane",
|
"name": "offsetPlane",
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
"unlabeledArg": {
|
||||||
"value": {
|
"value": {
|
||||||
"type": "Plane",
|
"type": "Plane",
|
||||||
"artifact_id": "[uuid]"
|
"artifact_id": "[uuid]"
|
||||||
},
|
},
|
||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
},
|
||||||
},
|
|
||||||
{
|
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -112,18 +121,18 @@ description: Operations executed color-cube.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
"name": "offsetPlane",
|
"name": "offsetPlane",
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
"unlabeledArg": {
|
||||||
"value": {
|
"value": {
|
||||||
"type": "Plane",
|
"type": "Plane",
|
||||||
"artifact_id": "[uuid]"
|
"artifact_id": "[uuid]"
|
||||||
},
|
},
|
||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
},
|
||||||
},
|
|
||||||
{
|
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -142,18 +151,18 @@ description: Operations executed color-cube.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
"name": "offsetPlane",
|
"name": "offsetPlane",
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
"unlabeledArg": {
|
||||||
"value": {
|
"value": {
|
||||||
"type": "Plane",
|
"type": "Plane",
|
||||||
"artifact_id": "[uuid]"
|
"artifact_id": "[uuid]"
|
||||||
},
|
},
|
||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
},
|
||||||
},
|
|
||||||
{
|
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -172,16 +181,7 @@ description: Operations executed color-cube.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "GroupBegin",
|
"type": "GroupBegin",
|
||||||
|
@ -153,9 +153,9 @@ description: Variables in memory after executing color-cube.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"zAxis": {
|
"zAxis": {
|
||||||
"x": -0.0,
|
"x": 0.0,
|
||||||
"y": 1.0,
|
"y": 1.0,
|
||||||
"z": -0.0,
|
"z": 0.0,
|
||||||
"units": {
|
"units": {
|
||||||
"type": "Mm"
|
"type": "Mm"
|
||||||
}
|
}
|
||||||
|
@ -34,6 +34,15 @@ description: Operations executed cycloidal-gear.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -52,16 +61,7 @@ description: Operations executed cycloidal-gear.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -267,6 +267,15 @@ description: Operations executed cycloidal-gear.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -285,16 +294,7 @@ description: Operations executed cycloidal-gear.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -500,6 +500,15 @@ description: Operations executed cycloidal-gear.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -518,16 +527,7 @@ description: Operations executed cycloidal-gear.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
|
@ -98,6 +98,15 @@ description: Operations executed dual-basin-utility-sink.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -116,16 +125,7 @@ description: Operations executed dual-basin-utility-sink.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -253,6 +253,15 @@ description: Operations executed dual-basin-utility-sink.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -271,16 +280,7 @@ description: Operations executed dual-basin-utility-sink.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -365,6 +365,15 @@ description: Operations executed dual-basin-utility-sink.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -383,16 +392,7 @@ description: Operations executed dual-basin-utility-sink.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -496,6 +496,15 @@ description: Operations executed dual-basin-utility-sink.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -514,16 +523,7 @@ description: Operations executed dual-basin-utility-sink.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -705,6 +705,15 @@ description: Operations executed dual-basin-utility-sink.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -723,16 +732,7 @@ description: Operations executed dual-basin-utility-sink.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -860,6 +860,15 @@ description: Operations executed dual-basin-utility-sink.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -878,16 +887,7 @@ description: Operations executed dual-basin-utility-sink.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
|
@ -501,6 +501,15 @@ description: Operations executed food-service-spatula.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -519,16 +528,7 @@ description: Operations executed food-service-spatula.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
|
@ -494,6 +494,15 @@ description: Operations executed french-press.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -512,16 +521,7 @@ description: Operations executed french-press.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -845,6 +845,15 @@ description: Operations executed french-press.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -863,16 +872,7 @@ description: Operations executed french-press.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -1320,6 +1320,15 @@ description: Operations executed french-press.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -1338,16 +1347,7 @@ description: Operations executed french-press.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
|
@ -4,6 +4,15 @@ description: Operations executed gridfinity-baseplate-magnets.kcl
|
|||||||
---
|
---
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -22,16 +31,7 @@ description: Operations executed gridfinity-baseplate-magnets.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "GroupBegin",
|
"type": "GroupBegin",
|
||||||
@ -248,6 +248,15 @@ description: Operations executed gridfinity-baseplate-magnets.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -266,16 +275,7 @@ description: Operations executed gridfinity-baseplate-magnets.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "GroupBegin",
|
"type": "GroupBegin",
|
||||||
@ -1331,6 +1331,15 @@ description: Operations executed gridfinity-baseplate-magnets.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -1349,16 +1358,7 @@ description: Operations executed gridfinity-baseplate-magnets.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "GroupBegin",
|
"type": "GroupBegin",
|
||||||
|
@ -4,6 +4,15 @@ description: Operations executed gridfinity-baseplate.kcl
|
|||||||
---
|
---
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -22,16 +31,7 @@ description: Operations executed gridfinity-baseplate.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "GroupBegin",
|
"type": "GroupBegin",
|
||||||
@ -248,6 +248,15 @@ description: Operations executed gridfinity-baseplate.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -266,16 +275,7 @@ description: Operations executed gridfinity-baseplate.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "GroupBegin",
|
"type": "GroupBegin",
|
||||||
|
@ -4,6 +4,15 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
|
|||||||
---
|
---
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -22,16 +31,7 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "GroupBegin",
|
"type": "GroupBegin",
|
||||||
@ -248,6 +248,15 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -266,16 +275,7 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "GroupBegin",
|
"type": "GroupBegin",
|
||||||
@ -1469,6 +1469,15 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -1487,16 +1496,7 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
|
@ -4,6 +4,15 @@ description: Operations executed gridfinity-bins.kcl
|
|||||||
---
|
---
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -22,16 +31,7 @@ description: Operations executed gridfinity-bins.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "GroupBegin",
|
"type": "GroupBegin",
|
||||||
@ -248,6 +248,15 @@ description: Operations executed gridfinity-bins.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -266,16 +275,7 @@ description: Operations executed gridfinity-bins.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "GroupBegin",
|
"type": "GroupBegin",
|
||||||
@ -1469,6 +1469,15 @@ description: Operations executed gridfinity-bins.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -1487,16 +1496,7 @@ description: Operations executed gridfinity-bins.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
|
@ -40,7 +40,7 @@ description: Artifact commands hex-nut.kcl
|
|||||||
"z": 0.0
|
"z": 0.0
|
||||||
},
|
},
|
||||||
"x_axis": {
|
"x_axis": {
|
||||||
"x": -1.0,
|
"x": 1.0,
|
||||||
"y": 0.0,
|
"y": 0.0,
|
||||||
"z": 0.0
|
"z": 0.0
|
||||||
},
|
},
|
||||||
|
@ -47,24 +47,24 @@ flowchart LR
|
|||||||
2 --- 8
|
2 --- 8
|
||||||
2 ---- 13
|
2 ---- 13
|
||||||
2 --- 9
|
2 --- 9
|
||||||
3 --- 19
|
3 --- 14
|
||||||
3 --- 32
|
3 --- 22
|
||||||
3 --- 33
|
3 --- 23
|
||||||
4 --- 18
|
4 --- 15
|
||||||
4 --- 30
|
4 --- 24
|
||||||
4 --- 31
|
4 --- 25
|
||||||
5 --- 17
|
5 --- 16
|
||||||
5 --- 28
|
5 --- 26
|
||||||
5 --- 29
|
5 --- 27
|
||||||
6 --- 16
|
6 --- 17
|
||||||
6 --- 26
|
6 --- 28
|
||||||
6 --- 27
|
6 --- 29
|
||||||
7 --- 15
|
7 --- 18
|
||||||
7 --- 24
|
7 --- 30
|
||||||
7 --- 25
|
7 --- 31
|
||||||
8 --- 14
|
8 --- 19
|
||||||
8 --- 22
|
8 --- 32
|
||||||
8 --- 23
|
8 --- 33
|
||||||
10 --- 11
|
10 --- 11
|
||||||
10 --- 12
|
10 --- 12
|
||||||
13 --- 14
|
13 --- 14
|
||||||
|
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 84 KiB |
@ -40,7 +40,7 @@ description: Artifact commands i-beam.kcl
|
|||||||
"z": 0.0
|
"z": 0.0
|
||||||
},
|
},
|
||||||
"x_axis": {
|
"x_axis": {
|
||||||
"x": -1.0,
|
"x": 1.0,
|
||||||
"y": 0.0,
|
"y": 0.0,
|
||||||
"z": 0.0
|
"z": 0.0
|
||||||
},
|
},
|
||||||
|
@ -177,7 +177,7 @@ description: Variables in memory after executing i-beam.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xAxis": {
|
"xAxis": {
|
||||||
"x": -1.0,
|
"x": 1.0,
|
||||||
"y": 0.0,
|
"y": 0.0,
|
||||||
"z": 0.0,
|
"z": 0.0,
|
||||||
"units": {
|
"units": {
|
||||||
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
@ -19,6 +19,15 @@ description: Operations executed makeup-mirror.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -37,16 +46,7 @@ description: Operations executed makeup-mirror.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -114,6 +114,15 @@ description: Operations executed makeup-mirror.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -132,16 +141,7 @@ description: Operations executed makeup-mirror.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -209,6 +209,15 @@ description: Operations executed makeup-mirror.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -227,16 +236,7 @@ description: Operations executed makeup-mirror.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -304,6 +304,15 @@ description: Operations executed makeup-mirror.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -322,16 +331,7 @@ description: Operations executed makeup-mirror.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -399,6 +399,15 @@ description: Operations executed makeup-mirror.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -417,16 +426,7 @@ description: Operations executed makeup-mirror.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -494,6 +494,15 @@ description: Operations executed makeup-mirror.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -512,16 +521,7 @@ description: Operations executed makeup-mirror.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -589,6 +589,15 @@ description: Operations executed makeup-mirror.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -607,16 +616,7 @@ description: Operations executed makeup-mirror.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
@ -814,6 +814,15 @@ description: Operations executed makeup-mirror.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -832,16 +841,7 @@ description: Operations executed makeup-mirror.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
|
@ -452,6 +452,15 @@ description: Operations executed walkie-talkie.kcl
|
|||||||
"unlabeledArg": null
|
"unlabeledArg": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"type": "KclStdLibCall",
|
||||||
|
"name": "offsetPlane",
|
||||||
|
"unlabeledArg": {
|
||||||
|
"value": {
|
||||||
|
"type": "Plane",
|
||||||
|
"artifact_id": "[uuid]"
|
||||||
|
},
|
||||||
|
"sourceRange": []
|
||||||
|
},
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
"offset": {
|
"offset": {
|
||||||
"value": {
|
"value": {
|
||||||
@ -470,16 +479,7 @@ description: Operations executed walkie-talkie.kcl
|
|||||||
"sourceRange": []
|
"sourceRange": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "offsetPlane",
|
"sourceRange": []
|
||||||
"sourceRange": [],
|
|
||||||
"type": "StdLibCall",
|
|
||||||
"unlabeledArg": {
|
|
||||||
"value": {
|
|
||||||
"type": "Plane",
|
|
||||||
"artifact_id": "[uuid]"
|
|
||||||
},
|
|
||||||
"sourceRange": []
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"labeledArgs": {
|
"labeledArgs": {
|
||||||
|
@ -40,7 +40,7 @@ description: Artifact commands neg_xz_plane.kcl
|
|||||||
"z": 0.0
|
"z": 0.0
|
||||||
},
|
},
|
||||||
"x_axis": {
|
"x_axis": {
|
||||||
"x": -1.0,
|
"x": 1.0,
|
||||||
"y": 0.0,
|
"y": 0.0,
|
||||||
"z": 0.0
|
"z": 0.0
|
||||||
},
|
},
|
||||||
|
@ -26,15 +26,15 @@ flowchart LR
|
|||||||
2 --- 5
|
2 --- 5
|
||||||
2 ---- 7
|
2 ---- 7
|
||||||
2 --- 6
|
2 --- 6
|
||||||
3 --- 10
|
3 --- 8
|
||||||
3 --- 17
|
3 --- 13
|
||||||
3 --- 18
|
3 --- 14
|
||||||
4 --- 9
|
4 --- 9
|
||||||
4 --- 15
|
4 --- 15
|
||||||
4 --- 16
|
4 --- 16
|
||||||
5 --- 8
|
5 --- 10
|
||||||
5 --- 13
|
5 --- 17
|
||||||
5 --- 14
|
5 --- 18
|
||||||
7 --- 8
|
7 --- 8
|
||||||
7 --- 9
|
7 --- 9
|
||||||
7 --- 10
|
7 --- 10
|
||||||
|
@ -108,7 +108,7 @@ description: Variables in memory after executing neg_xz_plane.kcl
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xAxis": {
|
"xAxis": {
|
||||||
"x": -1.0,
|
"x": 1.0,
|
||||||
"y": 0.0,
|
"y": 0.0,
|
||||||
"z": 0.0,
|
"z": 0.0,
|
||||||
"units": {
|
"units": {
|
||||||
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 65 KiB |
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 91 KiB |
After Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 81 KiB |