Compare commits
2 Commits
adjust-seg
...
kurt-plane
Author | SHA1 | Date | |
---|---|---|---|
327cea7d73 | |||
3b7f301961 |
@ -74,7 +74,7 @@ layout: manual
|
||||
* [`map`](kcl/map)
|
||||
* [`max`](kcl/max)
|
||||
* [`min`](kcl/min)
|
||||
* [`offsetPlane`](kcl/offsetPlane)
|
||||
* [`offsetPlane`](kcl/std-offsetPlane)
|
||||
* [`patternCircular2d`](kcl/patternCircular2d)
|
||||
* [`patternCircular3d`](kcl/patternCircular3d)
|
||||
* [`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)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"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 }
|
||||
|
||||
[profile.default]
|
||||
slow-timeout = { period = "90s", terminate-after = 1 }
|
||||
slow-timeout = { period = "180s", terminate-after = 1 }
|
||||
|
||||
[profile.ci]
|
||||
slow-timeout = { period = "50s", terminate-after = 5 }
|
||||
|
@ -6,11 +6,12 @@
|
||||
mod tests;
|
||||
mod unbox;
|
||||
|
||||
use std::collections::HashMap;
|
||||
use std::{collections::HashMap, fs};
|
||||
|
||||
use convert_case::Casing;
|
||||
use inflector::{cases::camelcase::to_camel_case, Inflector};
|
||||
use once_cell::sync::Lazy;
|
||||
use proc_macro2::Span;
|
||||
use quote::{format_ident, quote, quote_spanned, ToTokens};
|
||||
use regex::Regex;
|
||||
use serde::Deserialize;
|
||||
@ -21,6 +22,16 @@ use syn::{
|
||||
};
|
||||
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.
|
||||
#[derive(Deserialize, Debug)]
|
||||
struct ArgMetadata {
|
||||
@ -73,11 +84,6 @@ struct StdlibMetadata {
|
||||
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(
|
||||
attr: proc_macro2::TokenStream,
|
||||
item: proc_macro2::TokenStream,
|
||||
@ -86,6 +92,31 @@ fn do_stdlib(
|
||||
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 {
|
||||
match res {
|
||||
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)
|
||||
/// contain syntax errors.
|
||||
#[derive(Clone)]
|
||||
struct ItemFnForSignature {
|
||||
pub attrs: Vec<Attribute>,
|
||||
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)
|
||||
};
|
||||
let mut dd = match var.kind {
|
||||
VariableKind::Fn => DocData::Fn(FnData::from_ast(var, qual_name, preferred_prefix)),
|
||||
VariableKind::Const => DocData::Const(ConstData::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, name))
|
||||
}
|
||||
};
|
||||
|
||||
dd.with_meta(&var.outer_attrs);
|
||||
@ -79,7 +81,7 @@ impl CollectionVisitor {
|
||||
} else {
|
||||
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);
|
||||
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)]
|
||||
pub fn file_name(&self) -> String {
|
||||
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)]
|
||||
pub fn mod_name(&self) -> String {
|
||||
let q = match self {
|
||||
@ -217,6 +230,8 @@ pub struct ConstData {
|
||||
/// Code examples.
|
||||
/// These are tested and we know they compile and execute.
|
||||
pub examples: Vec<(String, ExampleProperties)>,
|
||||
|
||||
pub module_name: String,
|
||||
}
|
||||
|
||||
impl ConstData {
|
||||
@ -224,6 +239,7 @@ impl ConstData {
|
||||
var: &crate::parsing::ast::types::VariableDeclaration,
|
||||
mut qual_name: String,
|
||||
preferred_prefix: &str,
|
||||
module_name: &str,
|
||||
) -> Self {
|
||||
assert_eq!(var.kind, crate::parsing::ast::types::VariableKind::Const);
|
||||
|
||||
@ -263,6 +279,7 @@ impl ConstData {
|
||||
summary: None,
|
||||
description: None,
|
||||
examples: Vec::new(),
|
||||
module_name: module_name.to_owned(),
|
||||
}
|
||||
}
|
||||
|
||||
@ -334,6 +351,8 @@ pub struct FnData {
|
||||
pub examples: Vec<(String, ExampleProperties)>,
|
||||
#[allow(dead_code)]
|
||||
pub referenced_types: Vec<String>,
|
||||
|
||||
pub module_name: String,
|
||||
}
|
||||
|
||||
impl FnData {
|
||||
@ -341,6 +360,7 @@ impl FnData {
|
||||
var: &crate::parsing::ast::types::VariableDeclaration,
|
||||
mut qual_name: String,
|
||||
preferred_prefix: &str,
|
||||
module_name: &str,
|
||||
) -> Self {
|
||||
assert_eq!(var.kind, crate::parsing::ast::types::VariableKind::Fn);
|
||||
let crate::parsing::ast::types::Expr::FunctionExpression(expr) = &var.declaration.init else {
|
||||
@ -375,6 +395,7 @@ impl FnData {
|
||||
description: None,
|
||||
examples: Vec::new(),
|
||||
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)>,
|
||||
#[allow(dead_code)]
|
||||
pub referenced_types: Vec<String>,
|
||||
|
||||
pub module_name: String,
|
||||
}
|
||||
|
||||
impl TyData {
|
||||
@ -661,6 +684,7 @@ impl TyData {
|
||||
ty: &crate::parsing::ast::types::TypeDeclaration,
|
||||
mut qual_name: String,
|
||||
preferred_prefix: &str,
|
||||
module_name: &str,
|
||||
) -> Self {
|
||||
let name = ty.name.name.clone();
|
||||
qual_name.push_str(&name);
|
||||
@ -684,6 +708,7 @@ impl TyData {
|
||||
description: None,
|
||||
examples: Vec::new(),
|
||||
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)]
|
||||
mod test {
|
||||
use kcl_derive_docs::for_each_std_mod;
|
||||
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
@ -1047,18 +1074,28 @@ mod test {
|
||||
);
|
||||
}
|
||||
|
||||
#[tokio::test(flavor = "multi_thread", worker_threads = 5)]
|
||||
async fn test_examples() -> miette::Result<()> {
|
||||
#[for_each_std_mod]
|
||||
#[tokio::test(flavor = "multi_thread")]
|
||||
async fn test_examples() {
|
||||
let std = walk_prelude();
|
||||
let mut errs = Vec::new();
|
||||
for d in std {
|
||||
if d.module_name() != STD_MOD_NAME {
|
||||
continue;
|
||||
}
|
||||
|
||||
for (i, eg) in d.examples().enumerate() {
|
||||
let result = match crate::test_server::execute_and_snapshot(eg, None).await {
|
||||
Err(crate::errors::ExecError::Kcl(e)) => {
|
||||
return Err(miette::Report::new(crate::errors::Report {
|
||||
error: e.error,
|
||||
filename: format!("{}{i}", d.name()),
|
||||
kcl_source: eg.to_string(),
|
||||
}));
|
||||
errs.push(
|
||||
miette::Report::new(crate::errors::Report {
|
||||
error: e.error,
|
||||
filename: format!("{}{i}", d.name()),
|
||||
kcl_source: eg.to_string(),
|
||||
})
|
||||
.to_string(),
|
||||
);
|
||||
continue;
|
||||
}
|
||||
Err(other_err) => panic!("{}", other_err),
|
||||
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 } => {
|
||||
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.id = exec_state.next_uuid();
|
||||
@ -2649,7 +2646,15 @@ p2 = -p
|
||||
.get_from("p2", result.mem_env, SourceRange::default(), 0)
|
||||
.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!(),
|
||||
}
|
||||
}
|
||||
|
@ -262,14 +262,15 @@ pub struct Plane {
|
||||
pub x_axis: Point3d,
|
||||
/// What should the plane's Y axis be?
|
||||
pub y_axis: Point3d,
|
||||
/// The z-axis (normal).
|
||||
pub z_axis: Point3d,
|
||||
#[serde(skip)]
|
||||
pub meta: Vec<Metadata>,
|
||||
}
|
||||
|
||||
impl Plane {
|
||||
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() {
|
||||
match self {
|
||||
Self {
|
||||
@ -296,13 +297,6 @@ impl Plane {
|
||||
z: 0.0,
|
||||
units: UnitLen::Mm,
|
||||
},
|
||||
z_axis:
|
||||
Point3d {
|
||||
x: 0.0,
|
||||
y: 0.0,
|
||||
z: 1.0,
|
||||
units: UnitLen::Mm,
|
||||
},
|
||||
..
|
||||
} => return PlaneData::XY,
|
||||
Self {
|
||||
@ -315,7 +309,7 @@ impl Plane {
|
||||
},
|
||||
x_axis:
|
||||
Point3d {
|
||||
x: 1.0,
|
||||
x: -1.0,
|
||||
y: 0.0,
|
||||
z: 0.0,
|
||||
units: UnitLen::Mm,
|
||||
@ -327,13 +321,6 @@ impl Plane {
|
||||
z: 0.0,
|
||||
units: UnitLen::Mm,
|
||||
},
|
||||
z_axis:
|
||||
Point3d {
|
||||
x: 0.0,
|
||||
y: 0.0,
|
||||
z: -1.0,
|
||||
units: UnitLen::Mm,
|
||||
},
|
||||
..
|
||||
} => return PlaneData::NegXY,
|
||||
Self {
|
||||
@ -358,13 +345,6 @@ impl Plane {
|
||||
z: 1.0,
|
||||
units: UnitLen::Mm,
|
||||
},
|
||||
z_axis:
|
||||
Point3d {
|
||||
x: 0.0,
|
||||
y: -1.0,
|
||||
z: 0.0,
|
||||
units: UnitLen::Mm,
|
||||
},
|
||||
..
|
||||
} => return PlaneData::XZ,
|
||||
Self {
|
||||
@ -377,7 +357,7 @@ impl Plane {
|
||||
},
|
||||
x_axis:
|
||||
Point3d {
|
||||
x: 1.0,
|
||||
x: -1.0,
|
||||
y: 0.0,
|
||||
z: 0.0,
|
||||
units: UnitLen::Mm,
|
||||
@ -389,13 +369,6 @@ impl Plane {
|
||||
z: 1.0,
|
||||
units: UnitLen::Mm,
|
||||
},
|
||||
z_axis:
|
||||
Point3d {
|
||||
x: 0.0,
|
||||
y: 1.0,
|
||||
z: 0.0,
|
||||
units: UnitLen::Mm,
|
||||
},
|
||||
..
|
||||
} => return PlaneData::NegXZ,
|
||||
Self {
|
||||
@ -420,13 +393,6 @@ impl Plane {
|
||||
z: 1.0,
|
||||
units: UnitLen::Mm,
|
||||
},
|
||||
z_axis:
|
||||
Point3d {
|
||||
x: 1.0,
|
||||
y: 0.0,
|
||||
z: 0.0,
|
||||
units: UnitLen::Mm,
|
||||
},
|
||||
..
|
||||
} => return PlaneData::YZ,
|
||||
Self {
|
||||
@ -440,7 +406,7 @@ impl Plane {
|
||||
x_axis:
|
||||
Point3d {
|
||||
x: 0.0,
|
||||
y: 1.0,
|
||||
y: -1.0,
|
||||
z: 0.0,
|
||||
units: UnitLen::Mm,
|
||||
},
|
||||
@ -451,13 +417,6 @@ impl Plane {
|
||||
z: 1.0,
|
||||
units: UnitLen::Mm,
|
||||
},
|
||||
z_axis:
|
||||
Point3d {
|
||||
x: -1.0,
|
||||
y: 0.0,
|
||||
z: 0.0,
|
||||
units: UnitLen::Mm,
|
||||
},
|
||||
..
|
||||
} => return PlaneData::NegYZ,
|
||||
_ => {}
|
||||
@ -468,12 +427,13 @@ impl Plane {
|
||||
origin: self.origin,
|
||||
x_axis: self.x_axis,
|
||||
y_axis: self.y_axis,
|
||||
z_axis: self.z_axis,
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) fn from_plane_data(value: PlaneData, exec_state: &mut ExecState) -> Self {
|
||||
let id = exec_state.next_uuid();
|
||||
#[cfg(target_arch = "wasm32")]
|
||||
web_sys::console::log_1(&format!("value: {:?}", value).into());
|
||||
match value {
|
||||
PlaneData::XY => Plane {
|
||||
id,
|
||||
@ -481,7 +441,6 @@ impl Plane {
|
||||
origin: Point3d::new(0.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),
|
||||
z_axis: Point3d::new(0.0, 0.0, 1.0, UnitLen::Mm),
|
||||
value: PlaneType::XY,
|
||||
meta: vec![],
|
||||
},
|
||||
@ -489,10 +448,9 @@ impl Plane {
|
||||
id,
|
||||
artifact_id: id.into(),
|
||||
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),
|
||||
z_axis: Point3d::new(0.0, 0.0, -1.0, UnitLen::Mm),
|
||||
value: PlaneType::XY,
|
||||
value: PlaneType::NegXY,
|
||||
meta: vec![],
|
||||
},
|
||||
PlaneData::XZ => Plane {
|
||||
@ -501,7 +459,6 @@ impl Plane {
|
||||
origin: Point3d::new(0.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),
|
||||
z_axis: Point3d::new(0.0, -1.0, 0.0, UnitLen::Mm),
|
||||
value: PlaneType::XZ,
|
||||
meta: vec![],
|
||||
},
|
||||
@ -511,8 +468,7 @@ impl Plane {
|
||||
origin: Point3d::new(0.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),
|
||||
z_axis: Point3d::new(0.0, 1.0, 0.0, UnitLen::Mm),
|
||||
value: PlaneType::XZ,
|
||||
value: PlaneType::NegXZ,
|
||||
meta: vec![],
|
||||
},
|
||||
PlaneData::YZ => Plane {
|
||||
@ -521,7 +477,6 @@ impl Plane {
|
||||
origin: Point3d::new(0.0, 0.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),
|
||||
z_axis: Point3d::new(1.0, 0.0, 0.0, UnitLen::Mm),
|
||||
value: PlaneType::YZ,
|
||||
meta: vec![],
|
||||
},
|
||||
@ -529,17 +484,15 @@ impl Plane {
|
||||
id,
|
||||
artifact_id: id.into(),
|
||||
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),
|
||||
z_axis: Point3d::new(-1.0, 0.0, 0.0, UnitLen::Mm),
|
||||
value: PlaneType::YZ,
|
||||
value: PlaneType::NegYZ,
|
||||
meta: vec![],
|
||||
},
|
||||
PlaneData::Plane {
|
||||
origin,
|
||||
x_axis,
|
||||
y_axis,
|
||||
z_axis,
|
||||
} => {
|
||||
let id = exec_state.next_uuid();
|
||||
Plane {
|
||||
@ -548,7 +501,6 @@ impl Plane {
|
||||
origin,
|
||||
x_axis,
|
||||
y_axis,
|
||||
z_axis,
|
||||
value: PlaneType::Custom,
|
||||
meta: vec![],
|
||||
}
|
||||
@ -594,12 +546,21 @@ pub enum PlaneType {
|
||||
#[serde(rename = "XY", alias = "xy")]
|
||||
#[display("XY")]
|
||||
XY,
|
||||
#[serde(rename = "-XY", alias = "-xy")]
|
||||
#[display("-XY")]
|
||||
NegXY,
|
||||
#[serde(rename = "XZ", alias = "xz")]
|
||||
#[display("XZ")]
|
||||
XZ,
|
||||
#[serde(rename = "-XZ", alias = "-xz")]
|
||||
#[display("-XZ")]
|
||||
NegXZ,
|
||||
#[serde(rename = "YZ", alias = "yz")]
|
||||
#[display("YZ")]
|
||||
YZ,
|
||||
#[serde(rename = "-YZ", alias = "-yz")]
|
||||
#[display("-YZ")]
|
||||
NegYZ,
|
||||
/// A custom plane.
|
||||
#[display("Custom")]
|
||||
Custom,
|
||||
@ -656,8 +617,12 @@ impl Sketch {
|
||||
adjust_camera: false,
|
||||
planar_normal: if let SketchSurface::Plane(plane) = &self.on {
|
||||
// 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 {
|
||||
crate::log::log(format!("no Plane normal"));
|
||||
None
|
||||
},
|
||||
}),
|
||||
@ -702,7 +667,7 @@ impl SketchSurface {
|
||||
}
|
||||
pub(crate) fn z_axis(&self) -> Point3d {
|
||||
match self {
|
||||
SketchSurface::Plane(plane) => plane.z_axis,
|
||||
SketchSurface::Plane(plane) => plane.x_axis.cross(&plane.y_axis),
|
||||
SketchSurface::Face(face) => face.z_axis,
|
||||
}
|
||||
}
|
||||
@ -929,6 +894,16 @@ impl Point3d {
|
||||
pub const fn is_zero(&self) -> bool {
|
||||
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 {
|
||||
|
@ -1043,10 +1043,6 @@ impl KclValue {
|
||||
.get("yAxis")
|
||||
.and_then(Point3d::from_kcl_val)
|
||||
.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 plane = Plane {
|
||||
@ -1055,7 +1051,6 @@ impl KclValue {
|
||||
origin,
|
||||
x_axis,
|
||||
y_axis,
|
||||
z_axis,
|
||||
value: super::PlaneType::Uninit,
|
||||
meta: meta.clone(),
|
||||
};
|
||||
|
@ -43,5 +43,5 @@ async fn main() {
|
||||
.await
|
||||
.unwrap();
|
||||
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,
|
||||
_ => 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> {
|
||||
// Case 0: actual plane
|
||||
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 {
|
||||
origin: value.origin,
|
||||
x_axis: value.x_axis,
|
||||
y_axis: value.y_axis,
|
||||
z_axis: value.z_axis,
|
||||
});
|
||||
}
|
||||
// Case 1: predefined plane
|
||||
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 {
|
||||
"XY" | "xy" => Some(Self::XY),
|
||||
"-XY" | "-xy" => Some(Self::NegXY),
|
||||
"XY" | "xy" => {
|
||||
#[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::NegXZ),
|
||||
"YZ" | "yz" => Some(Self::YZ),
|
||||
@ -1167,18 +1198,18 @@ impl<'a> FromKclValue<'a> for super::sketch::PlaneData {
|
||||
_ => None,
|
||||
};
|
||||
}
|
||||
#[cfg(target_arch = "wasm32")]
|
||||
web_sys::console::log_1(&format!("PlaneData::from_kcl_val with object: {:?}", arg).into());
|
||||
// Case 2: custom plane
|
||||
let obj = arg.as_object()?;
|
||||
let_field_of!(obj, plane, &KclObjectFields);
|
||||
let origin = plane.get("origin").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 z_axis = plane.get("zAxis").and_then(FromKclValue::from_kcl_val)?;
|
||||
Some(Self::Plane {
|
||||
origin,
|
||||
x_axis,
|
||||
y_axis,
|
||||
z_axis,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -107,7 +107,6 @@ lazy_static! {
|
||||
Box::new(crate::std::shell::Hollow),
|
||||
Box::new(crate::std::sweep::Sweep),
|
||||
Box::new(crate::std::loft::Loft),
|
||||
Box::new(crate::std::planes::OffsetPlane),
|
||||
Box::new(crate::std::math::Acos),
|
||||
Box::new(crate::std::math::Asin),
|
||||
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)),
|
||||
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!(),
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
//! Standard library plane helpers.
|
||||
|
||||
use kcl_derive_docs::stdlib;
|
||||
use kcmc::{each_cmd as mcmd, length_unit::LengthUnit, shared::Color, ModelingCmd};
|
||||
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) })
|
||||
}
|
||||
|
||||
/// 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(
|
||||
plane: PlaneData,
|
||||
offset: TyF64,
|
||||
@ -122,7 +29,10 @@ async fn inner_offset_plane(
|
||||
// standard planes themselves.
|
||||
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?;
|
||||
|
||||
Ok(plane)
|
||||
|
@ -13,6 +13,7 @@ use schemars::JsonSchema;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::utils::{point_to_len_unit, point_to_mm, untype_point, untyped_point_to_mm};
|
||||
use crate::log;
|
||||
use crate::{
|
||||
errors::{KclError, KclErrorDetails},
|
||||
execution::{
|
||||
@ -960,9 +961,6 @@ pub enum PlaneData {
|
||||
/// What should the plane’s Y axis be?
|
||||
#[serde(rename = "yAxis")]
|
||||
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()]),
|
||||
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")?;
|
||||
|
||||
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,
|
||||
args: &Args,
|
||||
) -> 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 {
|
||||
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?;
|
||||
Ok(SketchSurface::Plane(plane))
|
||||
}
|
||||
@ -1241,40 +1253,46 @@ async fn make_sketch_plane_from_orientation(
|
||||
exec_state: &mut ExecState,
|
||||
args: &Args,
|
||||
) -> 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.
|
||||
let clobber = false;
|
||||
let size = LengthUnit(60.0);
|
||||
let hide = Some(true);
|
||||
|
||||
match data {
|
||||
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
|
||||
// front end for the feature tree which is stupid and we should fix it.
|
||||
let x_axis = match data {
|
||||
PlaneData::NegXY => Point3d::new(-1.0, 0.0, 0.0, UnitLen::Mm),
|
||||
PlaneData::NegXZ => Point3d::new(-1.0, 0.0, 0.0, UnitLen::Mm),
|
||||
PlaneData::NegYZ => Point3d::new(0.0, -1.0, 0.0, UnitLen::Mm),
|
||||
_ => plane.x_axis,
|
||||
};
|
||||
// Use the x_axis directly from the plane object created by from_plane_data
|
||||
// No need to recompute it here as it's already correctly set based on the plane type
|
||||
|
||||
#[cfg(target_arch = "wasm32")]
|
||||
web_sys::console::log_1(&format!("Before modeling cmd: data={:?}, plane.x_axis={:?}", data, plane.x_axis).into());
|
||||
|
||||
args.batch_modeling_cmd(
|
||||
plane.id,
|
||||
ModelingCmd::from(mcmd::MakePlane {
|
||||
clobber,
|
||||
origin: plane.origin.into(),
|
||||
size,
|
||||
x_axis: x_axis.into(),
|
||||
x_axis: plane.x_axis.into(),
|
||||
y_axis: plane.y_axis.into(),
|
||||
hide,
|
||||
}),
|
||||
)
|
||||
.await?;
|
||||
|
||||
#[cfg(target_arch = "wasm32")]
|
||||
web_sys::console::log_1(&format!("After modeling cmd: plane.x_axis={:?}", plane.x_axis).into());
|
||||
}
|
||||
PlaneData::Plane {
|
||||
origin,
|
||||
x_axis,
|
||||
y_axis,
|
||||
z_axis: _,
|
||||
} => {
|
||||
args.batch_modeling_cmd(
|
||||
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))
|
||||
}
|
||||
|
||||
@ -1384,8 +1404,16 @@ pub(crate) async fn inner_start_profile_at(
|
||||
adjust_camera: false,
|
||||
planar_normal: if let SketchSurface::Plane(plane) = &sketch_surface {
|
||||
// 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 {
|
||||
#[cfg(target_arch = "wasm32")]
|
||||
web_sys::console::log_1(&format!("no Plane normal").into());
|
||||
None
|
||||
},
|
||||
}),
|
||||
|
@ -449,3 +449,93 @@ export fn toRadians(@num: number(rad)): number(rad) {
|
||||
export fn toDegrees(@num: number(deg)): number(deg) {
|
||||
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
|
||||
},
|
||||
"x_axis": {
|
||||
"x": -1.0,
|
||||
"x": 1.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0
|
||||
},
|
||||
|
@ -303,7 +303,7 @@ description: Variables in memory after executing artifact_graph_example_code_no_
|
||||
}
|
||||
},
|
||||
"xAxis": {
|
||||
"x": -1.0,
|
||||
"x": 1.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0,
|
||||
"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": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -22,18 +31,18 @@ description: Operations executed artifact_graph_example_code_offset_planes.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "String",
|
||||
"value": "XY"
|
||||
"value": "XZ"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
{
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -52,18 +61,18 @@ description: Operations executed artifact_graph_example_code_offset_planes.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "String",
|
||||
"value": "XZ"
|
||||
"value": "YZ"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
{
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -82,16 +91,7 @@ description: Operations executed artifact_graph_example_code_offset_planes.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "String",
|
||||
"value": "YZ"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
|
@ -20,13 +20,20 @@ description: Result of parsing crazy_multi_profile.kcl
|
||||
"init": {
|
||||
"arguments": [
|
||||
{
|
||||
"abs_path": false,
|
||||
"commentStart": 0,
|
||||
"end": 0,
|
||||
"raw": "'XZ'",
|
||||
"name": {
|
||||
"commentStart": 0,
|
||||
"end": 0,
|
||||
"name": "XZ",
|
||||
"start": 0,
|
||||
"type": "Identifier"
|
||||
},
|
||||
"path": [],
|
||||
"start": 0,
|
||||
"type": "Literal",
|
||||
"type": "Literal",
|
||||
"value": "XZ"
|
||||
"type": "Name",
|
||||
"type": "Name"
|
||||
}
|
||||
],
|
||||
"callee": {
|
||||
@ -2561,13 +2568,28 @@ description: Result of parsing crazy_multi_profile.kcl
|
||||
"init": {
|
||||
"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,
|
||||
"end": 0,
|
||||
"raw": "'-XZ'",
|
||||
"operator": "-",
|
||||
"start": 0,
|
||||
"type": "Literal",
|
||||
"type": "Literal",
|
||||
"value": "-XZ"
|
||||
"type": "UnaryExpression",
|
||||
"type": "UnaryExpression"
|
||||
}
|
||||
],
|
||||
"callee": {
|
||||
|
@ -1,4 +1,4 @@
|
||||
sketch001 = startSketchOn('XZ')
|
||||
sketch001 = startSketchOn(XZ)
|
||||
profile001 = startProfileAt([6.71, -3.66], sketch001)
|
||||
|> line(end = [2.65, 9.02], tag = $seg02)
|
||||
|> line(end = [3.73, -9.36], tag = $seg01)
|
||||
@ -28,7 +28,7 @@ profile006 = startProfileAt([9.65, 3.82], sketch002)
|
||||
|> close()
|
||||
revolve001 = revolve(profile004, angle = 45, axis = getNextAdjacentEdge(seg01))
|
||||
extrude002 = extrude(profile006, length = 4)
|
||||
sketch003 = startSketchOn('-XZ')
|
||||
sketch003 = startSketchOn(-XZ)
|
||||
profile007 = startProfileAt([4.8, 7.55], sketch003)
|
||||
|> line(end = [7.39, 2.58])
|
||||
|> line(end = [7.02, -2.85])
|
||||
|
@ -765,7 +765,7 @@ description: Variables in memory after executing crazy_multi_profile.kcl
|
||||
}
|
||||
},
|
||||
"xAxis": {
|
||||
"x": -1.0,
|
||||
"x": 1.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0,
|
||||
"units": {
|
||||
@ -2756,7 +2756,7 @@ description: Variables in memory after executing crazy_multi_profile.kcl
|
||||
}
|
||||
},
|
||||
"xAxis": {
|
||||
"x": -1.0,
|
||||
"x": 1.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0,
|
||||
"units": {
|
||||
@ -2902,7 +2902,7 @@ description: Variables in memory after executing crazy_multi_profile.kcl
|
||||
}
|
||||
},
|
||||
"xAxis": {
|
||||
"x": -1.0,
|
||||
"x": 1.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0,
|
||||
"units": {
|
||||
@ -3048,7 +3048,7 @@ description: Variables in memory after executing crazy_multi_profile.kcl
|
||||
}
|
||||
},
|
||||
"xAxis": {
|
||||
"x": -1.0,
|
||||
"x": 1.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0,
|
||||
"units": {
|
||||
@ -3143,7 +3143,7 @@ description: Variables in memory after executing crazy_multi_profile.kcl
|
||||
}
|
||||
},
|
||||
"xAxis": {
|
||||
"x": -1.0,
|
||||
"x": 1.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0,
|
||||
"units": {
|
||||
@ -3314,7 +3314,7 @@ description: Variables in memory after executing crazy_multi_profile.kcl
|
||||
}
|
||||
},
|
||||
"xAxis": {
|
||||
"x": -1.0,
|
||||
"x": 1.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0,
|
||||
"units": {
|
||||
@ -3867,7 +3867,7 @@ description: Variables in memory after executing crazy_multi_profile.kcl
|
||||
}
|
||||
},
|
||||
"xAxis": {
|
||||
"x": -1.0,
|
||||
"x": 1.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0,
|
||||
"units": {
|
||||
@ -4234,7 +4234,7 @@ description: Variables in memory after executing crazy_multi_profile.kcl
|
||||
}
|
||||
},
|
||||
"xAxis": {
|
||||
"x": -1.0,
|
||||
"x": 1.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0,
|
||||
"units": {
|
||||
|
@ -40,7 +40,7 @@ description: Artifact commands 80-20-rail.kcl
|
||||
"z": 0.0
|
||||
},
|
||||
"x_axis": {
|
||||
"x": -1.0,
|
||||
"x": 1.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0
|
||||
},
|
||||
|
@ -371,198 +371,198 @@ flowchart LR
|
||||
2 --- 67
|
||||
2 ---- 72
|
||||
2 --- 68
|
||||
3 --- 73
|
||||
3 --- 139
|
||||
3 --- 140
|
||||
4 --- 74
|
||||
4 --- 141
|
||||
4 --- 142
|
||||
5 --- 75
|
||||
5 --- 143
|
||||
5 --- 144
|
||||
6 --- 76
|
||||
6 --- 145
|
||||
6 --- 146
|
||||
7 --- 77
|
||||
7 --- 147
|
||||
7 --- 148
|
||||
8 --- 78
|
||||
8 --- 149
|
||||
8 --- 150
|
||||
9 --- 79
|
||||
9 --- 151
|
||||
9 --- 152
|
||||
10 --- 80
|
||||
10 --- 153
|
||||
10 --- 154
|
||||
11 --- 81
|
||||
11 --- 155
|
||||
11 --- 156
|
||||
12 --- 82
|
||||
12 --- 157
|
||||
12 --- 158
|
||||
13 --- 83
|
||||
13 --- 159
|
||||
13 --- 160
|
||||
14 --- 84
|
||||
14 --- 161
|
||||
14 --- 162
|
||||
15 --- 85
|
||||
15 --- 163
|
||||
15 --- 164
|
||||
16 --- 86
|
||||
16 --- 165
|
||||
16 --- 166
|
||||
17 --- 87
|
||||
17 --- 167
|
||||
17 --- 168
|
||||
18 --- 88
|
||||
18 --- 169
|
||||
18 --- 170
|
||||
19 --- 89
|
||||
19 --- 171
|
||||
19 --- 172
|
||||
20 --- 90
|
||||
20 --- 173
|
||||
20 --- 174
|
||||
21 --- 91
|
||||
21 --- 175
|
||||
21 --- 176
|
||||
22 --- 92
|
||||
22 --- 177
|
||||
22 --- 178
|
||||
23 --- 93
|
||||
23 --- 179
|
||||
23 --- 180
|
||||
24 --- 94
|
||||
24 --- 181
|
||||
24 --- 182
|
||||
25 --- 95
|
||||
25 --- 183
|
||||
25 --- 184
|
||||
26 --- 96
|
||||
26 --- 185
|
||||
26 --- 186
|
||||
27 --- 97
|
||||
27 --- 187
|
||||
27 --- 188
|
||||
28 --- 98
|
||||
28 --- 189
|
||||
28 --- 190
|
||||
29 --- 99
|
||||
29 --- 191
|
||||
29 --- 192
|
||||
30 --- 100
|
||||
30 --- 193
|
||||
30 --- 194
|
||||
31 --- 101
|
||||
31 --- 195
|
||||
31 --- 196
|
||||
32 --- 102
|
||||
32 --- 197
|
||||
32 --- 198
|
||||
33 --- 103
|
||||
33 --- 199
|
||||
33 --- 200
|
||||
34 --- 104
|
||||
34 --- 201
|
||||
34 --- 202
|
||||
35 --- 105
|
||||
35 --- 203
|
||||
35 --- 204
|
||||
36 --- 106
|
||||
36 --- 205
|
||||
36 --- 206
|
||||
37 --- 107
|
||||
37 --- 207
|
||||
37 --- 208
|
||||
38 --- 108
|
||||
38 --- 209
|
||||
38 --- 210
|
||||
39 --- 109
|
||||
39 --- 211
|
||||
39 --- 212
|
||||
40 --- 110
|
||||
40 --- 213
|
||||
40 --- 214
|
||||
41 --- 111
|
||||
41 --- 215
|
||||
41 --- 216
|
||||
42 --- 112
|
||||
42 --- 217
|
||||
42 --- 218
|
||||
43 --- 113
|
||||
43 --- 219
|
||||
43 --- 220
|
||||
44 --- 114
|
||||
44 --- 221
|
||||
44 --- 222
|
||||
45 --- 115
|
||||
45 --- 223
|
||||
45 --- 224
|
||||
46 --- 116
|
||||
46 --- 225
|
||||
46 --- 226
|
||||
47 --- 117
|
||||
47 --- 227
|
||||
47 --- 228
|
||||
48 --- 118
|
||||
48 --- 229
|
||||
48 --- 230
|
||||
49 --- 119
|
||||
49 --- 231
|
||||
49 --- 232
|
||||
50 --- 120
|
||||
50 --- 233
|
||||
50 --- 234
|
||||
51 --- 121
|
||||
51 --- 235
|
||||
51 --- 236
|
||||
52 --- 122
|
||||
52 --- 237
|
||||
52 --- 238
|
||||
53 --- 123
|
||||
53 --- 239
|
||||
53 --- 240
|
||||
54 --- 124
|
||||
54 --- 241
|
||||
54 --- 242
|
||||
55 --- 125
|
||||
55 --- 243
|
||||
55 --- 244
|
||||
56 --- 126
|
||||
56 --- 245
|
||||
56 --- 246
|
||||
57 --- 127
|
||||
57 --- 247
|
||||
57 --- 248
|
||||
58 --- 128
|
||||
58 --- 249
|
||||
58 --- 250
|
||||
59 --- 129
|
||||
59 --- 251
|
||||
59 --- 252
|
||||
60 --- 130
|
||||
60 --- 253
|
||||
60 --- 254
|
||||
61 --- 131
|
||||
61 --- 255
|
||||
61 --- 256
|
||||
62 --- 132
|
||||
62 --- 257
|
||||
62 --- 258
|
||||
63 --- 133
|
||||
63 --- 259
|
||||
63 --- 260
|
||||
64 --- 134
|
||||
64 --- 261
|
||||
64 --- 262
|
||||
65 --- 135
|
||||
65 --- 263
|
||||
65 --- 264
|
||||
66 --- 136
|
||||
66 --- 265
|
||||
66 --- 266
|
||||
3 --- 136
|
||||
3 --- 265
|
||||
3 --- 266
|
||||
4 --- 135
|
||||
4 --- 263
|
||||
4 --- 264
|
||||
5 --- 134
|
||||
5 --- 261
|
||||
5 --- 262
|
||||
6 --- 133
|
||||
6 --- 259
|
||||
6 --- 260
|
||||
7 --- 132
|
||||
7 --- 257
|
||||
7 --- 258
|
||||
8 --- 131
|
||||
8 --- 255
|
||||
8 --- 256
|
||||
9 --- 130
|
||||
9 --- 253
|
||||
9 --- 254
|
||||
10 --- 129
|
||||
10 --- 251
|
||||
10 --- 252
|
||||
11 --- 128
|
||||
11 --- 249
|
||||
11 --- 250
|
||||
12 --- 127
|
||||
12 --- 247
|
||||
12 --- 248
|
||||
13 --- 126
|
||||
13 --- 245
|
||||
13 --- 246
|
||||
14 --- 125
|
||||
14 --- 243
|
||||
14 --- 244
|
||||
15 --- 124
|
||||
15 --- 241
|
||||
15 --- 242
|
||||
16 --- 123
|
||||
16 --- 239
|
||||
16 --- 240
|
||||
17 --- 122
|
||||
17 --- 237
|
||||
17 --- 238
|
||||
18 --- 121
|
||||
18 --- 235
|
||||
18 --- 236
|
||||
19 --- 120
|
||||
19 --- 233
|
||||
19 --- 234
|
||||
20 --- 119
|
||||
20 --- 231
|
||||
20 --- 232
|
||||
21 --- 118
|
||||
21 --- 229
|
||||
21 --- 230
|
||||
22 --- 117
|
||||
22 --- 227
|
||||
22 --- 228
|
||||
23 --- 116
|
||||
23 --- 225
|
||||
23 --- 226
|
||||
24 --- 115
|
||||
24 --- 223
|
||||
24 --- 224
|
||||
25 --- 114
|
||||
25 --- 221
|
||||
25 --- 222
|
||||
26 --- 113
|
||||
26 --- 219
|
||||
26 --- 220
|
||||
27 --- 112
|
||||
27 --- 217
|
||||
27 --- 218
|
||||
28 --- 111
|
||||
28 --- 215
|
||||
28 --- 216
|
||||
29 --- 110
|
||||
29 --- 213
|
||||
29 --- 214
|
||||
30 --- 109
|
||||
30 --- 211
|
||||
30 --- 212
|
||||
31 --- 108
|
||||
31 --- 209
|
||||
31 --- 210
|
||||
32 --- 107
|
||||
32 --- 207
|
||||
32 --- 208
|
||||
33 --- 106
|
||||
33 --- 205
|
||||
33 --- 206
|
||||
34 --- 105
|
||||
34 --- 203
|
||||
34 --- 204
|
||||
35 --- 104
|
||||
35 --- 201
|
||||
35 --- 202
|
||||
36 --- 103
|
||||
36 --- 199
|
||||
36 --- 200
|
||||
37 --- 102
|
||||
37 --- 197
|
||||
37 --- 198
|
||||
38 --- 101
|
||||
38 --- 195
|
||||
38 --- 196
|
||||
39 --- 100
|
||||
39 --- 193
|
||||
39 --- 194
|
||||
40 --- 99
|
||||
40 --- 191
|
||||
40 --- 192
|
||||
41 --- 98
|
||||
41 --- 189
|
||||
41 --- 190
|
||||
42 --- 97
|
||||
42 --- 187
|
||||
42 --- 188
|
||||
43 --- 96
|
||||
43 --- 185
|
||||
43 --- 186
|
||||
44 --- 95
|
||||
44 --- 183
|
||||
44 --- 184
|
||||
45 --- 94
|
||||
45 --- 181
|
||||
45 --- 182
|
||||
46 --- 93
|
||||
46 --- 179
|
||||
46 --- 180
|
||||
47 --- 92
|
||||
47 --- 177
|
||||
47 --- 178
|
||||
48 --- 91
|
||||
48 --- 175
|
||||
48 --- 176
|
||||
49 --- 90
|
||||
49 --- 173
|
||||
49 --- 174
|
||||
50 --- 89
|
||||
50 --- 171
|
||||
50 --- 172
|
||||
51 --- 88
|
||||
51 --- 169
|
||||
51 --- 170
|
||||
52 --- 87
|
||||
52 --- 167
|
||||
52 --- 168
|
||||
53 --- 86
|
||||
53 --- 165
|
||||
53 --- 166
|
||||
54 --- 85
|
||||
54 --- 163
|
||||
54 --- 164
|
||||
55 --- 84
|
||||
55 --- 161
|
||||
55 --- 162
|
||||
56 --- 83
|
||||
56 --- 159
|
||||
56 --- 160
|
||||
57 --- 82
|
||||
57 --- 157
|
||||
57 --- 158
|
||||
58 --- 81
|
||||
58 --- 155
|
||||
58 --- 156
|
||||
59 --- 80
|
||||
59 --- 153
|
||||
59 --- 154
|
||||
60 --- 79
|
||||
60 --- 151
|
||||
60 --- 152
|
||||
61 --- 78
|
||||
61 --- 149
|
||||
61 --- 150
|
||||
62 --- 77
|
||||
62 --- 147
|
||||
62 --- 148
|
||||
63 --- 76
|
||||
63 --- 145
|
||||
63 --- 146
|
||||
64 --- 75
|
||||
64 --- 143
|
||||
64 --- 144
|
||||
65 --- 74
|
||||
65 --- 141
|
||||
65 --- 142
|
||||
66 --- 73
|
||||
66 --- 139
|
||||
66 --- 140
|
||||
69 --- 70
|
||||
69 --- 71
|
||||
72 --- 73
|
||||
@ -759,36 +759,36 @@ flowchart LR
|
||||
72 --- 264
|
||||
72 --- 265
|
||||
72 --- 266
|
||||
152 <--x 267
|
||||
154 <--x 268
|
||||
156 <--x 269
|
||||
158 <--x 270
|
||||
184 <--x 271
|
||||
186 <--x 272
|
||||
188 <--x 273
|
||||
190 <--x 274
|
||||
216 <--x 275
|
||||
218 <--x 276
|
||||
220 <--x 277
|
||||
222 <--x 278
|
||||
248 <--x 279
|
||||
250 <--x 280
|
||||
252 <--x 281
|
||||
254 <--x 282
|
||||
148 <--x 283
|
||||
150 <--x 284
|
||||
160 <--x 285
|
||||
162 <--x 286
|
||||
180 <--x 287
|
||||
182 <--x 288
|
||||
192 <--x 289
|
||||
194 <--x 290
|
||||
212 <--x 291
|
||||
214 <--x 292
|
||||
224 <--x 293
|
||||
226 <--x 294
|
||||
244 <--x 295
|
||||
246 <--x 296
|
||||
256 <--x 297
|
||||
258 <--x 298
|
||||
254 <--x 267
|
||||
252 <--x 268
|
||||
250 <--x 269
|
||||
248 <--x 270
|
||||
222 <--x 271
|
||||
220 <--x 272
|
||||
218 <--x 273
|
||||
216 <--x 274
|
||||
190 <--x 275
|
||||
188 <--x 276
|
||||
186 <--x 277
|
||||
184 <--x 278
|
||||
158 <--x 279
|
||||
156 <--x 280
|
||||
154 <--x 281
|
||||
152 <--x 282
|
||||
258 <--x 283
|
||||
256 <--x 284
|
||||
246 <--x 285
|
||||
244 <--x 286
|
||||
226 <--x 287
|
||||
224 <--x 288
|
||||
214 <--x 289
|
||||
212 <--x 290
|
||||
194 <--x 291
|
||||
192 <--x 292
|
||||
182 <--x 293
|
||||
180 <--x 294
|
||||
162 <--x 295
|
||||
160 <--x 296
|
||||
150 <--x 297
|
||||
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": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -775,16 +784,7 @@ description: Operations executed axial-fan.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
@ -883,6 +883,15 @@ description: Operations executed axial-fan.kcl
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -901,16 +910,7 @@ description: Operations executed axial-fan.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
@ -1088,6 +1088,15 @@ description: Operations executed axial-fan.kcl
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -1106,16 +1115,7 @@ description: Operations executed axial-fan.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
@ -1583,6 +1583,15 @@ description: Operations executed axial-fan.kcl
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -1601,16 +1610,7 @@ description: Operations executed axial-fan.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
@ -2078,6 +2078,15 @@ description: Operations executed axial-fan.kcl
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -2096,16 +2105,7 @@ description: Operations executed axial-fan.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
|
@ -4,6 +4,15 @@ description: Operations executed ball-bearing.kcl
|
||||
---
|
||||
[
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -22,16 +31,7 @@ description: Operations executed ball-bearing.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
@ -924,6 +924,15 @@ description: Operations executed ball-bearing.kcl
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -942,16 +951,7 @@ description: Operations executed ball-bearing.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
|
@ -1995,8 +1995,8 @@ description: Artifact commands bench.kcl
|
||||
"adjust_camera": false,
|
||||
"planar_normal": {
|
||||
"x": -1.0,
|
||||
"y": -0.0,
|
||||
"z": -0.0
|
||||
"y": 0.0,
|
||||
"z": 0.0
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -2386,8 +2386,8 @@ description: Artifact commands bench.kcl
|
||||
"adjust_camera": false,
|
||||
"planar_normal": {
|
||||
"x": -1.0,
|
||||
"y": -0.0,
|
||||
"z": -0.0
|
||||
"y": 0.0,
|
||||
"z": 0.0
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -2837,8 +2837,8 @@ description: Artifact commands bench.kcl
|
||||
"adjust_camera": false,
|
||||
"planar_normal": {
|
||||
"x": -1.0,
|
||||
"y": -0.0,
|
||||
"z": -0.0
|
||||
"y": 0.0,
|
||||
"z": 0.0
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -3228,8 +3228,8 @@ description: Artifact commands bench.kcl
|
||||
"adjust_camera": false,
|
||||
"planar_normal": {
|
||||
"x": -1.0,
|
||||
"y": -0.0,
|
||||
"z": -0.0
|
||||
"y": 0.0,
|
||||
"z": 0.0
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -7458,8 +7458,8 @@ description: Artifact commands bench.kcl
|
||||
"adjust_camera": false,
|
||||
"planar_normal": {
|
||||
"x": -1.0,
|
||||
"y": -0.0,
|
||||
"z": -0.0
|
||||
"y": 0.0,
|
||||
"z": 0.0
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -7581,9 +7581,9 @@ description: Artifact commands bench.kcl
|
||||
"animated": false,
|
||||
"adjust_camera": false,
|
||||
"planar_normal": {
|
||||
"x": -0.0,
|
||||
"x": 0.0,
|
||||
"y": 1.0,
|
||||
"z": -0.0
|
||||
"z": 0.0
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -7951,8 +7951,8 @@ description: Artifact commands bench.kcl
|
||||
"adjust_camera": false,
|
||||
"planar_normal": {
|
||||
"x": -1.0,
|
||||
"y": -0.0,
|
||||
"z": -0.0
|
||||
"y": 0.0,
|
||||
"z": 0.0
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -8074,9 +8074,9 @@ description: Artifact commands bench.kcl
|
||||
"animated": false,
|
||||
"adjust_camera": false,
|
||||
"planar_normal": {
|
||||
"x": -0.0,
|
||||
"x": 0.0,
|
||||
"y": 1.0,
|
||||
"z": -0.0
|
||||
"z": 0.0
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -240,6 +240,15 @@ description: Operations executed bench.kcl
|
||||
"type": "GroupEnd"
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -258,16 +267,7 @@ description: Operations executed bench.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "GroupBegin",
|
||||
@ -506,6 +506,15 @@ description: Operations executed bench.kcl
|
||||
"type": "GroupEnd"
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -524,16 +533,7 @@ description: Operations executed bench.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "GroupBegin",
|
||||
@ -772,6 +772,15 @@ description: Operations executed bench.kcl
|
||||
"type": "GroupEnd"
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -790,16 +799,7 @@ description: Operations executed bench.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "GroupBegin",
|
||||
@ -950,6 +950,15 @@ description: Operations executed bench.kcl
|
||||
"type": "GroupEnd"
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -968,16 +977,7 @@ description: Operations executed bench.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "GroupBegin",
|
||||
@ -1080,6 +1080,15 @@ description: Operations executed bench.kcl
|
||||
"type": "GroupEnd"
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -1098,16 +1107,7 @@ description: Operations executed bench.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "GroupBegin",
|
||||
@ -1219,6 +1219,15 @@ description: Operations executed bench.kcl
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -1237,16 +1246,7 @@ description: Operations executed bench.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "GroupBegin",
|
||||
@ -1282,6 +1282,15 @@ description: Operations executed bench.kcl
|
||||
"type": "GroupEnd"
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -1300,16 +1309,7 @@ description: Operations executed bench.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "GroupBegin",
|
||||
@ -1388,6 +1388,15 @@ description: Operations executed bench.kcl
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -1406,16 +1415,7 @@ description: Operations executed bench.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "GroupBegin",
|
||||
@ -1451,6 +1451,15 @@ description: Operations executed bench.kcl
|
||||
"type": "GroupEnd"
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -1469,16 +1478,7 @@ description: Operations executed bench.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "GroupBegin",
|
||||
|
@ -1608,9 +1608,9 @@ description: Artifact commands color-cube.kcl
|
||||
"animated": false,
|
||||
"adjust_camera": false,
|
||||
"planar_normal": {
|
||||
"x": -0.0,
|
||||
"x": 0.0,
|
||||
"y": 1.0,
|
||||
"z": -0.0
|
||||
"z": 0.0
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -1727,9 +1727,9 @@ description: Artifact commands color-cube.kcl
|
||||
"animated": false,
|
||||
"adjust_camera": false,
|
||||
"planar_normal": {
|
||||
"x": -0.0,
|
||||
"x": 0.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": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -22,18 +31,18 @@ description: Operations executed color-cube.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
{
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -52,18 +61,18 @@ description: Operations executed color-cube.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
{
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -82,18 +91,18 @@ description: Operations executed color-cube.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
{
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -112,18 +121,18 @@ description: Operations executed color-cube.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
{
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -142,18 +151,18 @@ description: Operations executed color-cube.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
{
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -172,16 +181,7 @@ description: Operations executed color-cube.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "GroupBegin",
|
||||
|
@ -153,9 +153,9 @@ description: Variables in memory after executing color-cube.kcl
|
||||
}
|
||||
},
|
||||
"zAxis": {
|
||||
"x": -0.0,
|
||||
"x": 0.0,
|
||||
"y": 1.0,
|
||||
"z": -0.0,
|
||||
"z": 0.0,
|
||||
"units": {
|
||||
"type": "Mm"
|
||||
}
|
||||
|
@ -34,6 +34,15 @@ description: Operations executed cycloidal-gear.kcl
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -52,16 +61,7 @@ description: Operations executed cycloidal-gear.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
@ -267,6 +267,15 @@ description: Operations executed cycloidal-gear.kcl
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -285,16 +294,7 @@ description: Operations executed cycloidal-gear.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
@ -500,6 +500,15 @@ description: Operations executed cycloidal-gear.kcl
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -518,16 +527,7 @@ description: Operations executed cycloidal-gear.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"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": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -116,16 +125,7 @@ description: Operations executed dual-basin-utility-sink.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"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": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -271,16 +280,7 @@ description: Operations executed dual-basin-utility-sink.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"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": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -383,16 +392,7 @@ description: Operations executed dual-basin-utility-sink.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"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": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -514,16 +523,7 @@ description: Operations executed dual-basin-utility-sink.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"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": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -723,16 +732,7 @@ description: Operations executed dual-basin-utility-sink.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"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": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -878,16 +887,7 @@ description: Operations executed dual-basin-utility-sink.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"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": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -519,16 +528,7 @@ description: Operations executed food-service-spatula.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
|
@ -494,6 +494,15 @@ description: Operations executed french-press.kcl
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -512,16 +521,7 @@ description: Operations executed french-press.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
@ -845,6 +845,15 @@ description: Operations executed french-press.kcl
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -863,16 +872,7 @@ description: Operations executed french-press.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
@ -1320,6 +1320,15 @@ description: Operations executed french-press.kcl
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -1338,16 +1347,7 @@ description: Operations executed french-press.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"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": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -22,16 +31,7 @@ description: Operations executed gridfinity-baseplate-magnets.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"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": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -266,16 +275,7 @@ description: Operations executed gridfinity-baseplate-magnets.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"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": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -1349,16 +1358,7 @@ description: Operations executed gridfinity-baseplate-magnets.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"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": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -22,16 +31,7 @@ description: Operations executed gridfinity-baseplate.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"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": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -266,16 +275,7 @@ description: Operations executed gridfinity-baseplate.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"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": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -22,16 +31,7 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"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": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -266,16 +275,7 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"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": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -1487,16 +1496,7 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
|
@ -4,6 +4,15 @@ description: Operations executed gridfinity-bins.kcl
|
||||
---
|
||||
[
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -22,16 +31,7 @@ description: Operations executed gridfinity-bins.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"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": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -266,16 +275,7 @@ description: Operations executed gridfinity-bins.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"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": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -1487,16 +1496,7 @@ description: Operations executed gridfinity-bins.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
|
@ -40,7 +40,7 @@ description: Artifact commands hex-nut.kcl
|
||||
"z": 0.0
|
||||
},
|
||||
"x_axis": {
|
||||
"x": -1.0,
|
||||
"x": 1.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0
|
||||
},
|
||||
|
@ -47,24 +47,24 @@ flowchart LR
|
||||
2 --- 8
|
||||
2 ---- 13
|
||||
2 --- 9
|
||||
3 --- 19
|
||||
3 --- 32
|
||||
3 --- 33
|
||||
4 --- 18
|
||||
4 --- 30
|
||||
4 --- 31
|
||||
5 --- 17
|
||||
5 --- 28
|
||||
5 --- 29
|
||||
6 --- 16
|
||||
6 --- 26
|
||||
6 --- 27
|
||||
7 --- 15
|
||||
7 --- 24
|
||||
7 --- 25
|
||||
8 --- 14
|
||||
8 --- 22
|
||||
8 --- 23
|
||||
3 --- 14
|
||||
3 --- 22
|
||||
3 --- 23
|
||||
4 --- 15
|
||||
4 --- 24
|
||||
4 --- 25
|
||||
5 --- 16
|
||||
5 --- 26
|
||||
5 --- 27
|
||||
6 --- 17
|
||||
6 --- 28
|
||||
6 --- 29
|
||||
7 --- 18
|
||||
7 --- 30
|
||||
7 --- 31
|
||||
8 --- 19
|
||||
8 --- 32
|
||||
8 --- 33
|
||||
10 --- 11
|
||||
10 --- 12
|
||||
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
|
||||
},
|
||||
"x_axis": {
|
||||
"x": -1.0,
|
||||
"x": 1.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0
|
||||
},
|
||||
|
@ -177,7 +177,7 @@ description: Variables in memory after executing i-beam.kcl
|
||||
}
|
||||
},
|
||||
"xAxis": {
|
||||
"x": -1.0,
|
||||
"x": 1.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0,
|
||||
"units": {
|
||||
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
@ -19,6 +19,15 @@ description: Operations executed makeup-mirror.kcl
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -37,16 +46,7 @@ description: Operations executed makeup-mirror.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
@ -114,6 +114,15 @@ description: Operations executed makeup-mirror.kcl
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -132,16 +141,7 @@ description: Operations executed makeup-mirror.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
@ -209,6 +209,15 @@ description: Operations executed makeup-mirror.kcl
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -227,16 +236,7 @@ description: Operations executed makeup-mirror.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
@ -304,6 +304,15 @@ description: Operations executed makeup-mirror.kcl
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -322,16 +331,7 @@ description: Operations executed makeup-mirror.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
@ -399,6 +399,15 @@ description: Operations executed makeup-mirror.kcl
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -417,16 +426,7 @@ description: Operations executed makeup-mirror.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
@ -494,6 +494,15 @@ description: Operations executed makeup-mirror.kcl
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -512,16 +521,7 @@ description: Operations executed makeup-mirror.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
@ -589,6 +589,15 @@ description: Operations executed makeup-mirror.kcl
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -607,16 +616,7 @@ description: Operations executed makeup-mirror.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
@ -814,6 +814,15 @@ description: Operations executed makeup-mirror.kcl
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -832,16 +841,7 @@ description: Operations executed makeup-mirror.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
|
@ -452,6 +452,15 @@ description: Operations executed walkie-talkie.kcl
|
||||
"unlabeledArg": null
|
||||
},
|
||||
{
|
||||
"type": "KclStdLibCall",
|
||||
"name": "offsetPlane",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
},
|
||||
"labeledArgs": {
|
||||
"offset": {
|
||||
"value": {
|
||||
@ -470,16 +479,7 @@ description: Operations executed walkie-talkie.kcl
|
||||
"sourceRange": []
|
||||
}
|
||||
},
|
||||
"name": "offsetPlane",
|
||||
"sourceRange": [],
|
||||
"type": "StdLibCall",
|
||||
"unlabeledArg": {
|
||||
"value": {
|
||||
"type": "Plane",
|
||||
"artifact_id": "[uuid]"
|
||||
},
|
||||
"sourceRange": []
|
||||
}
|
||||
"sourceRange": []
|
||||
},
|
||||
{
|
||||
"labeledArgs": {
|
||||
|
@ -40,7 +40,7 @@ description: Artifact commands neg_xz_plane.kcl
|
||||
"z": 0.0
|
||||
},
|
||||
"x_axis": {
|
||||
"x": -1.0,
|
||||
"x": 1.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0
|
||||
},
|
||||
|
@ -26,15 +26,15 @@ flowchart LR
|
||||
2 --- 5
|
||||
2 ---- 7
|
||||
2 --- 6
|
||||
3 --- 10
|
||||
3 --- 17
|
||||
3 --- 18
|
||||
3 --- 8
|
||||
3 --- 13
|
||||
3 --- 14
|
||||
4 --- 9
|
||||
4 --- 15
|
||||
4 --- 16
|
||||
5 --- 8
|
||||
5 --- 13
|
||||
5 --- 14
|
||||
5 --- 10
|
||||
5 --- 17
|
||||
5 --- 18
|
||||
7 --- 8
|
||||
7 --- 9
|
||||
7 --- 10
|
||||
|
@ -108,7 +108,7 @@ description: Variables in memory after executing neg_xz_plane.kcl
|
||||
}
|
||||
},
|
||||
"xAxis": {
|
||||
"x": -1.0,
|
||||
"x": 1.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0,
|
||||
"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 |