Treat singletons and arrays as subtypes rather than coercible (#7181)

Signed-off-by: Nick Cameron <nrc@ncameron.org>
This commit is contained in:
Nick Cameron
2025-05-28 16:29:23 +12:00
committed by GitHub
parent 9dfb67cf61
commit 783b6ed76c
71 changed files with 5119 additions and 6067 deletions

View File

@ -944,6 +944,9 @@ impl Node<MemberExpression> {
))) )))
} }
} }
// Singletons and single-element arrays should be interchangeable, but only indexing by 0 should work.
// This is kind of a silly property, but it's possible it occurs in generic code or something.
(obj, Property::UInt(0), _) => Ok(obj),
(KclValue::HomArray { .. }, p, _) => { (KclValue::HomArray { .. }, p, _) => {
let t = p.type_name(); let t = p.type_name();
let article = article_for(t); let article = article_for(t);
@ -1981,6 +1984,38 @@ startSketchOn(XY)
assert!(e.message().contains("sqrt"), "Error message: '{}'", e.message()); assert!(e.message().contains("sqrt"), "Error message: '{}'", e.message());
} }
#[tokio::test(flavor = "multi_thread")]
async fn non_array_fns() {
let ast = r#"push(1, item = 2)
pop(1)
map(1, f = fn(@x) { return x + 1 })
reduce(1, f = fn(@x, accum) { return accum + x}, initial = 0)"#;
parse_execute(ast).await.unwrap();
}
#[tokio::test(flavor = "multi_thread")]
async fn non_array_indexing() {
let good = r#"a = 42
good = a[0]
"#;
let result = parse_execute(good).await.unwrap();
let mem = result.exec_state.stack();
let num = mem
.memory
.get_from("good", result.mem_env, SourceRange::default(), 0)
.unwrap()
.as_ty_f64()
.unwrap();
assert_eq!(num.n, 42.0);
let bad = r#"a = 42
bad = a[1]
"#;
parse_execute(bad).await.unwrap_err();
}
#[tokio::test(flavor = "multi_thread")] #[tokio::test(flavor = "multi_thread")]
async fn coerce_unknown_to_length() { async fn coerce_unknown_to_length() {
let ast = r#"x = 2mm * 2mm let ast = r#"x = 2mm * 2mm

View File

@ -1,7 +1,6 @@
use async_recursion::async_recursion; use async_recursion::async_recursion;
use indexmap::IndexMap; use indexmap::IndexMap;
use super::{types::ArrayLen, EnvironmentRef};
use crate::{ use crate::{
docs::StdLibFn, docs::StdLibFn,
errors::{KclError, KclErrorDetails}, errors::{KclError, KclErrorDetails},
@ -10,7 +9,8 @@ use crate::{
kcl_value::FunctionSource, kcl_value::FunctionSource,
memory, memory,
types::RuntimeType, types::RuntimeType,
BodyType, ExecState, ExecutorContext, KclValue, Metadata, StatementKind, TagEngineInfo, TagIdentifier, BodyType, EnvironmentRef, ExecState, ExecutorContext, KclValue, Metadata, StatementKind, TagEngineInfo,
TagIdentifier,
}, },
parsing::ast::types::{CallExpressionKw, DefaultParamVal, FunctionExpression, Node, Program, Type}, parsing::ast::types::{CallExpressionKw, DefaultParamVal, FunctionExpression, Node, Program, Type},
source_range::SourceRange, source_range::SourceRange,
@ -294,7 +294,7 @@ impl Node<CallExpressionKw> {
// exec_state. // exec_state.
let func = fn_name.get_result(exec_state, ctx).await?.clone(); let func = fn_name.get_result(exec_state, ctx).await?.clone();
let Some(fn_src) = func.as_fn() else { let Some(fn_src) = func.as_function() else {
return Err(KclError::Semantic(KclErrorDetails::new( return Err(KclError::Semantic(KclErrorDetails::new(
"cannot call this because it isn't a function".to_string(), "cannot call this because it isn't a function".to_string(),
vec![callsite], vec![callsite],
@ -787,18 +787,8 @@ fn coerce_result_type(
) -> Result<Option<KclValue>, KclError> { ) -> Result<Option<KclValue>, KclError> {
if let Ok(Some(val)) = result { if let Ok(Some(val)) = result {
if let Some(ret_ty) = &fn_def.return_type { if let Some(ret_ty) = &fn_def.return_type {
let mut ty = RuntimeType::from_parsed(ret_ty.inner.clone(), exec_state, ret_ty.as_source_range()) let ty = RuntimeType::from_parsed(ret_ty.inner.clone(), exec_state, ret_ty.as_source_range())
.map_err(|e| KclError::Semantic(e.into()))?; .map_err(|e| KclError::Semantic(e.into()))?;
// Treat `[T; 1+]` as `T | [T; 1+]` (which can't yet be expressed in our syntax of types).
// This is a very specific hack which exists because some std functions can produce arrays
// but usually only make a singleton and the frontend expects the singleton.
// If we can make the frontend work on arrays (or at least arrays of length 1), then this
// can be removed.
// I believe this is safe, since anywhere which requires an array should coerce the singleton
// to an array and we only do this hack for return values.
if let RuntimeType::Array(inner, ArrayLen::Minimum(1)) = &ty {
ty = RuntimeType::Union(vec![(**inner).clone(), ty]);
}
let val = val.coerce(&ty, true, exec_state).map_err(|_| { let val = val.coerce(&ty, true, exec_state).map_err(|_| {
KclError::Semantic(KclErrorDetails::new( KclError::Semantic(KclErrorDetails::new(
format!( format!(

View File

@ -290,15 +290,15 @@ impl KclValue {
// The principal type of an array uses the array's element type, // The principal type of an array uses the array's element type,
// which is oftentimes `any`, and that's not a helpful message. So // which is oftentimes `any`, and that's not a helpful message. So
// we show the actual elements. // we show the actual elements.
if let Some(elements) = self.as_array() { if let KclValue::Tuple { value, .. } | KclValue::HomArray { value, .. } = self {
// If it's empty, we want to show the type of the array. // If it's empty, we want to show the type of the array.
if !elements.is_empty() { if !value.is_empty() {
// A max of 3 is good because it's common to use 3D points. // A max of 3 is good because it's common to use 3D points.
let max = 3; let max = 3;
let len = elements.len(); let len = value.len();
let ellipsis = if len > max { ", ..." } else { "" }; let ellipsis = if len > max { ", ..." } else { "" };
let element_label = if len == 1 { "value" } else { "values" }; let element_label = if len == 1 { "value" } else { "values" };
let element_tys = elements let element_tys = value
.iter() .iter()
.take(max) .take(max)
.map(|elem| elem.inner_human_friendly_type(max_depth - 1)) .map(|elem| elem.inner_human_friendly_type(max_depth - 1))
@ -442,144 +442,128 @@ impl KclValue {
} }
pub fn as_object(&self) -> Option<&KclObjectFields> { pub fn as_object(&self) -> Option<&KclObjectFields> {
if let KclValue::Object { value, meta: _ } = &self {
Some(value)
} else {
None
}
}
pub fn into_object(self) -> Option<KclObjectFields> {
if let KclValue::Object { value, meta: _ } = self {
Some(value)
} else {
None
}
}
pub fn as_str(&self) -> Option<&str> {
if let KclValue::String { value, meta: _ } = &self {
Some(value)
} else {
None
}
}
pub fn as_array(&self) -> Option<&[KclValue]> {
match self { match self {
KclValue::Tuple { value, .. } | KclValue::HomArray { value, .. } => Some(value), KclValue::Object { value, .. } => Some(value),
_ => None, _ => None,
} }
} }
pub fn into_object(self) -> Option<KclObjectFields> {
match self {
KclValue::Object { value, .. } => Some(value),
_ => None,
}
}
pub fn as_str(&self) -> Option<&str> {
match self {
KclValue::String { value, .. } => Some(value),
_ => None,
}
}
pub fn into_array(self) -> Vec<KclValue> {
match self {
KclValue::Tuple { value, .. } | KclValue::HomArray { value, .. } => value,
_ => vec![self],
}
}
pub fn as_point2d(&self) -> Option<[TyF64; 2]> { pub fn as_point2d(&self) -> Option<[TyF64; 2]> {
let arr = self.as_array()?; let value = match self {
if arr.len() != 2 { KclValue::Tuple { value, .. } | KclValue::HomArray { value, .. } => value,
_ => return None,
};
if value.len() != 2 {
return None; return None;
} }
let x = arr[0].as_ty_f64()?; let x = value[0].as_ty_f64()?;
let y = arr[1].as_ty_f64()?; let y = value[1].as_ty_f64()?;
Some([x, y]) Some([x, y])
} }
pub fn as_point3d(&self) -> Option<[TyF64; 3]> { pub fn as_point3d(&self) -> Option<[TyF64; 3]> {
let arr = self.as_array()?; let value = match self {
if arr.len() != 3 { KclValue::Tuple { value, .. } | KclValue::HomArray { value, .. } => value,
_ => return None,
};
if value.len() != 3 {
return None; return None;
} }
let x = arr[0].as_ty_f64()?; let x = value[0].as_ty_f64()?;
let y = arr[1].as_ty_f64()?; let y = value[1].as_ty_f64()?;
let z = arr[2].as_ty_f64()?; let z = value[2].as_ty_f64()?;
Some([x, y, z]) Some([x, y, z])
} }
pub fn as_uuid(&self) -> Option<uuid::Uuid> { pub fn as_uuid(&self) -> Option<uuid::Uuid> {
if let KclValue::Uuid { value, meta: _ } = &self { match self {
Some(*value) KclValue::Uuid { value, .. } => Some(*value),
} else { _ => None,
None
} }
} }
pub fn as_plane(&self) -> Option<&Plane> { pub fn as_plane(&self) -> Option<&Plane> {
if let KclValue::Plane { value } = &self { match self {
Some(value) KclValue::Plane { value, .. } => Some(value),
} else { _ => None,
None
} }
} }
pub fn as_solid(&self) -> Option<&Solid> { pub fn as_solid(&self) -> Option<&Solid> {
if let KclValue::Solid { value } = &self { match self {
Some(value) KclValue::Solid { value, .. } => Some(value),
} else { _ => None,
None
} }
} }
pub fn as_sketch(&self) -> Option<&Sketch> { pub fn as_sketch(&self) -> Option<&Sketch> {
if let KclValue::Sketch { value } = self { match self {
Some(value) KclValue::Sketch { value, .. } => Some(value),
} else { _ => None,
None
} }
} }
pub fn as_mut_sketch(&mut self) -> Option<&mut Sketch> { pub fn as_mut_sketch(&mut self) -> Option<&mut Sketch> {
if let KclValue::Sketch { value } = self { match self {
Some(value) KclValue::Sketch { value } => Some(value),
} else { _ => None,
None
} }
} }
pub fn as_mut_tag(&mut self) -> Option<&mut TagIdentifier> { pub fn as_mut_tag(&mut self) -> Option<&mut TagIdentifier> {
if let KclValue::TagIdentifier(value) = self { match self {
Some(value) KclValue::TagIdentifier(value) => Some(value),
} else { _ => None,
None
} }
} }
#[cfg(test)] #[cfg(test)]
pub fn as_f64(&self) -> Option<f64> { pub fn as_f64(&self) -> Option<f64> {
if let KclValue::Number { value, .. } = &self { match self {
Some(*value) KclValue::Number { value, .. } => Some(*value),
} else { _ => None,
None
} }
} }
pub fn as_ty_f64(&self) -> Option<TyF64> { pub fn as_ty_f64(&self) -> Option<TyF64> {
if let KclValue::Number { value, ty, .. } = &self { match self {
Some(TyF64::new(*value, ty.clone())) KclValue::Number { value, ty, .. } => Some(TyF64::new(*value, ty.clone())),
} else { _ => None,
None
} }
} }
pub fn as_bool(&self) -> Option<bool> { pub fn as_bool(&self) -> Option<bool> {
if let KclValue::Bool { value, meta: _ } = &self { match self {
Some(*value) KclValue::Bool { value, .. } => Some(*value),
} else { _ => None,
None
} }
} }
/// If this value fits in a u32, return it.
pub fn get_u32(&self, source_ranges: Vec<SourceRange>) -> Result<u32, KclError> {
let u = self.as_int().and_then(|n| u64::try_from(n).ok()).ok_or_else(|| {
KclError::Semantic(KclErrorDetails::new(
"Expected an integer >= 0".to_owned(),
source_ranges.clone(),
))
})?;
u32::try_from(u)
.map_err(|_| KclError::Semantic(KclErrorDetails::new("Number was too big".to_owned(), source_ranges)))
}
/// If this value is of type function, return it. /// If this value is of type function, return it.
pub fn get_function(&self) -> Option<&FunctionSource> { pub fn as_function(&self) -> Option<&FunctionSource> {
match self { match self {
KclValue::Function { value, .. } => Some(value), KclValue::Function { value, .. } => Some(value),
_ => None, _ => None,
@ -610,20 +594,12 @@ impl KclValue {
/// If this KCL value is a bool, retrieve it. /// If this KCL value is a bool, retrieve it.
pub fn get_bool(&self) -> Result<bool, KclError> { pub fn get_bool(&self) -> Result<bool, KclError> {
let Self::Bool { value: b, .. } = self else { self.as_bool().ok_or_else(|| {
return Err(KclError::Type(KclErrorDetails::new( KclError::Type(KclErrorDetails::new(
format!("Expected bool, found {}", self.human_friendly_type()), format!("Expected bool, found {}", self.human_friendly_type()),
self.into(), self.into(),
))); ))
}; })
Ok(*b)
}
pub fn as_fn(&self) -> Option<&FunctionSource> {
match self {
KclValue::Function { value, .. } => Some(value),
_ => None,
}
} }
pub fn value_str(&self) -> Option<String> { pub fn value_str(&self) -> Option<String> {

View File

@ -32,6 +32,10 @@ impl RuntimeType {
RuntimeType::Primitive(PrimitiveType::Any) RuntimeType::Primitive(PrimitiveType::Any)
} }
pub fn any_array() -> Self {
RuntimeType::Array(Box::new(RuntimeType::Primitive(PrimitiveType::Any)), ArrayLen::None)
}
pub fn edge() -> Self { pub fn edge() -> Self {
RuntimeType::Primitive(PrimitiveType::Edge) RuntimeType::Primitive(PrimitiveType::Edge)
} }
@ -238,12 +242,21 @@ impl RuntimeType {
(Primitive(t1), Primitive(t2)) => t1.subtype(t2), (Primitive(t1), Primitive(t2)) => t1.subtype(t2),
(Array(t1, l1), Array(t2, l2)) => t1.subtype(t2) && l1.subtype(*l2), (Array(t1, l1), Array(t2, l2)) => t1.subtype(t2) && l1.subtype(*l2),
(Tuple(t1), Tuple(t2)) => t1.len() == t2.len() && t1.iter().zip(t2).all(|(t1, t2)| t1.subtype(t2)), (Tuple(t1), Tuple(t2)) => t1.len() == t2.len() && t1.iter().zip(t2).all(|(t1, t2)| t1.subtype(t2)),
(Union(ts1), Union(ts2)) => ts1.iter().all(|t| ts2.contains(t)), (Union(ts1), Union(ts2)) => ts1.iter().all(|t| ts2.contains(t)),
(t1, Union(ts2)) => ts2.iter().any(|t| t1.subtype(t)), (t1, Union(ts2)) => ts2.iter().any(|t| t1.subtype(t)),
(Object(t1), Object(t2)) => t2 (Object(t1), Object(t2)) => t2
.iter() .iter()
.all(|(f, t)| t1.iter().any(|(ff, tt)| f == ff && tt.subtype(t))), .all(|(f, t)| t1.iter().any(|(ff, tt)| f == ff && tt.subtype(t))),
// Equality between Axis types and their object representation.
// Equivalence between singleton types and single-item arrays/tuples of the same type (plus transitivity with the array subtyping).
(t1, RuntimeType::Array(t2, l)) if t1.subtype(t2) && ArrayLen::Known(1).subtype(*l) => true,
(RuntimeType::Array(t1, ArrayLen::Known(1)), t2) if t1.subtype(t2) => true,
(t1, RuntimeType::Tuple(t2)) if !t2.is_empty() && t1.subtype(&t2[0]) => true,
(RuntimeType::Tuple(t1), t2) if t1.len() == 1 && t1[0].subtype(t2) => true,
// Equivalence between Axis types and their object representation.
(Object(t1), Primitive(PrimitiveType::Axis2d)) => { (Object(t1), Primitive(PrimitiveType::Axis2d)) => {
t1.iter() t1.iter()
.any(|(n, t)| n == "origin" && t.subtype(&RuntimeType::point2d())) .any(|(n, t)| n == "origin" && t.subtype(&RuntimeType::point2d()))
@ -1051,6 +1064,20 @@ impl KclValue {
convert_units: bool, convert_units: bool,
exec_state: &mut ExecState, exec_state: &mut ExecState,
) -> Result<KclValue, CoercionError> { ) -> Result<KclValue, CoercionError> {
match self {
KclValue::Tuple { value, .. } if value.len() == 1 && !matches!(ty, RuntimeType::Tuple(..)) => {
if let Ok(coerced) = value[0].coerce(ty, convert_units, exec_state) {
return Ok(coerced);
}
}
KclValue::HomArray { value, .. } if value.len() == 1 && !matches!(ty, RuntimeType::Array(..)) => {
if let Ok(coerced) = value[0].coerce(ty, convert_units, exec_state) {
return Ok(coerced);
}
}
_ => {}
}
match ty { match ty {
RuntimeType::Primitive(ty) => self.coerce_to_primitive_type(ty, convert_units, exec_state), RuntimeType::Primitive(ty) => self.coerce_to_primitive_type(ty, convert_units, exec_state),
RuntimeType::Array(ty, len) => self.coerce_to_array_type(ty, convert_units, *len, exec_state, false), RuntimeType::Array(ty, len) => self.coerce_to_array_type(ty, convert_units, *len, exec_state, false),
@ -1066,15 +1093,11 @@ impl KclValue {
convert_units: bool, convert_units: bool,
exec_state: &mut ExecState, exec_state: &mut ExecState,
) -> Result<KclValue, CoercionError> { ) -> Result<KclValue, CoercionError> {
let value = match self {
KclValue::Tuple { value, .. } | KclValue::HomArray { value, .. } if value.len() == 1 => &value[0],
_ => self,
};
match ty { match ty {
PrimitiveType::Any => Ok(value.clone()), PrimitiveType::Any => Ok(self.clone()),
PrimitiveType::Number(ty) => { PrimitiveType::Number(ty) => {
if convert_units { if convert_units {
return ty.coerce(value); return ty.coerce(self);
} }
// Instead of converting units, reinterpret the number as having // Instead of converting units, reinterpret the number as having
@ -1083,7 +1106,7 @@ impl KclValue {
// If the user is explicitly specifying units, treat the value // If the user is explicitly specifying units, treat the value
// as having had its units erased, rather than forcing the user // as having had its units erased, rather than forcing the user
// to explicitly erase them. // to explicitly erase them.
if let KclValue::Number { value: n, meta, .. } = &value { if let KclValue::Number { value: n, meta, .. } = &self {
if ty.is_fully_specified() { if ty.is_fully_specified() {
let value = KclValue::Number { let value = KclValue::Number {
ty: NumericType::Any, ty: NumericType::Any,
@ -1093,34 +1116,34 @@ impl KclValue {
return ty.coerce(&value); return ty.coerce(&value);
} }
} }
ty.coerce(value) ty.coerce(self)
} }
PrimitiveType::String => match value { PrimitiveType::String => match self {
KclValue::String { .. } => Ok(value.clone()), KclValue::String { .. } => Ok(self.clone()),
_ => Err(self.into()), _ => Err(self.into()),
}, },
PrimitiveType::Boolean => match value { PrimitiveType::Boolean => match self {
KclValue::Bool { .. } => Ok(value.clone()), KclValue::Bool { .. } => Ok(self.clone()),
_ => Err(self.into()), _ => Err(self.into()),
}, },
PrimitiveType::Sketch => match value { PrimitiveType::Sketch => match self {
KclValue::Sketch { .. } => Ok(value.clone()), KclValue::Sketch { .. } => Ok(self.clone()),
_ => Err(self.into()), _ => Err(self.into()),
}, },
PrimitiveType::Solid => match value { PrimitiveType::Solid => match self {
KclValue::Solid { .. } => Ok(value.clone()), KclValue::Solid { .. } => Ok(self.clone()),
_ => Err(self.into()), _ => Err(self.into()),
}, },
PrimitiveType::Plane => match value { PrimitiveType::Plane => match self {
KclValue::String { value: s, .. } KclValue::String { value: s, .. }
if [ if [
"xy", "xz", "yz", "-xy", "-xz", "-yz", "XY", "XZ", "YZ", "-XY", "-XZ", "-YZ", "xy", "xz", "yz", "-xy", "-xz", "-yz", "XY", "XZ", "YZ", "-XY", "-XZ", "-YZ",
] ]
.contains(&&**s) => .contains(&&**s) =>
{ {
Ok(value.clone()) Ok(self.clone())
} }
KclValue::Plane { .. } => Ok(value.clone()), KclValue::Plane { .. } => Ok(self.clone()),
KclValue::Object { value, meta } => { KclValue::Object { value, meta } => {
let origin = value let origin = value
.get("origin") .get("origin")
@ -1159,20 +1182,20 @@ impl KclValue {
} }
_ => Err(self.into()), _ => Err(self.into()),
}, },
PrimitiveType::Face => match value { PrimitiveType::Face => match self {
KclValue::Face { .. } => Ok(value.clone()), KclValue::Face { .. } => Ok(self.clone()),
_ => Err(self.into()), _ => Err(self.into()),
}, },
PrimitiveType::Helix => match value { PrimitiveType::Helix => match self {
KclValue::Helix { .. } => Ok(value.clone()), KclValue::Helix { .. } => Ok(self.clone()),
_ => Err(self.into()), _ => Err(self.into()),
}, },
PrimitiveType::Edge => match value { PrimitiveType::Edge => match self {
KclValue::Uuid { .. } => Ok(value.clone()), KclValue::Uuid { .. } => Ok(self.clone()),
KclValue::TagIdentifier { .. } => Ok(value.clone()), KclValue::TagIdentifier { .. } => Ok(self.clone()),
_ => Err(self.into()), _ => Err(self.into()),
}, },
PrimitiveType::Axis2d => match value { PrimitiveType::Axis2d => match self {
KclValue::Object { value: values, meta } => { KclValue::Object { value: values, meta } => {
if values if values
.get("origin") .get("origin")
@ -1183,7 +1206,7 @@ impl KclValue {
.ok_or(CoercionError::from(self))? .ok_or(CoercionError::from(self))?
.has_type(&RuntimeType::point2d()) .has_type(&RuntimeType::point2d())
{ {
return Ok(value.clone()); return Ok(self.clone());
} }
let origin = values.get("origin").ok_or(self.into()).and_then(|p| { let origin = values.get("origin").ok_or(self.into()).and_then(|p| {
@ -1212,7 +1235,7 @@ impl KclValue {
} }
_ => Err(self.into()), _ => Err(self.into()),
}, },
PrimitiveType::Axis3d => match value { PrimitiveType::Axis3d => match self {
KclValue::Object { value: values, meta } => { KclValue::Object { value: values, meta } => {
if values if values
.get("origin") .get("origin")
@ -1223,7 +1246,7 @@ impl KclValue {
.ok_or(CoercionError::from(self))? .ok_or(CoercionError::from(self))?
.has_type(&RuntimeType::point3d()) .has_type(&RuntimeType::point3d())
{ {
return Ok(value.clone()); return Ok(self.clone());
} }
let origin = values.get("origin").ok_or(self.into()).and_then(|p| { let origin = values.get("origin").ok_or(self.into()).and_then(|p| {
@ -1252,21 +1275,21 @@ impl KclValue {
} }
_ => Err(self.into()), _ => Err(self.into()),
}, },
PrimitiveType::ImportedGeometry => match value { PrimitiveType::ImportedGeometry => match self {
KclValue::ImportedGeometry { .. } => Ok(value.clone()), KclValue::ImportedGeometry { .. } => Ok(self.clone()),
_ => Err(self.into()), _ => Err(self.into()),
}, },
PrimitiveType::Function => match value { PrimitiveType::Function => match self {
KclValue::Function { .. } => Ok(value.clone()), KclValue::Function { .. } => Ok(self.clone()),
_ => Err(self.into()), _ => Err(self.into()),
}, },
PrimitiveType::TagId => match value { PrimitiveType::TagId => match self {
KclValue::TagIdentifier { .. } => Ok(value.clone()), KclValue::TagIdentifier { .. } => Ok(self.clone()),
_ => Err(self.into()), _ => Err(self.into()),
}, },
PrimitiveType::Tag => match value { PrimitiveType::Tag => match self {
KclValue::TagDeclarator { .. } | KclValue::TagIdentifier { .. } | KclValue::Uuid { .. } => { KclValue::TagDeclarator { .. } | KclValue::TagIdentifier { .. } | KclValue::Uuid { .. } => {
Ok(value.clone()) Ok(self.clone())
} }
s @ KclValue::String { value, .. } if ["start", "end", "START", "END"].contains(&&**value) => { s @ KclValue::String { value, .. } if ["start", "end", "START", "END"].contains(&&**value) => {
Ok(s.clone()) Ok(s.clone())
@ -1366,10 +1389,7 @@ impl KclValue {
value: Vec::new(), value: Vec::new(),
ty: ty.clone(), ty: ty.clone(),
}), }),
_ if len.satisfied(1, false).is_some() => Ok(KclValue::HomArray { _ if len.satisfied(1, false).is_some() => self.coerce(ty, convert_units, exec_state),
value: vec![self.coerce(ty, convert_units, exec_state)?],
ty: ty.clone(),
}),
_ => Err(self.into()), _ => Err(self.into()),
} }
} }
@ -1396,10 +1416,7 @@ impl KclValue {
value: Vec::new(), value: Vec::new(),
meta: meta.clone(), meta: meta.clone(),
}), }),
value if tys.len() == 1 && value.has_type(&tys[0]) => Ok(KclValue::Tuple { _ if tys.len() == 1 => self.coerce(&tys[0], convert_units, exec_state),
value: vec![value.clone()],
meta: Vec::new(),
}),
_ => Err(self.into()), _ => Err(self.into()),
} }
} }
@ -1531,7 +1548,8 @@ mod test {
exec_state: &mut ExecState, exec_state: &mut ExecState,
) { ) {
let is_subtype = value == expected_value; let is_subtype = value == expected_value;
assert_eq!(&value.coerce(super_type, true, exec_state).unwrap(), expected_value); let actual = value.coerce(super_type, true, exec_state).unwrap();
assert_eq!(&actual, expected_value);
assert_eq!( assert_eq!(
is_subtype, is_subtype,
value.principal_type().is_some() && value.principal_type().unwrap().subtype(super_type), value.principal_type().is_some() && value.principal_type().unwrap().subtype(super_type),
@ -1566,7 +1584,7 @@ mod test {
let aty0 = RuntimeType::Array(Box::new(ty.clone()), ArrayLen::Minimum(1)); let aty0 = RuntimeType::Array(Box::new(ty.clone()), ArrayLen::Minimum(1));
match v { match v {
KclValue::Tuple { .. } | KclValue::HomArray { .. } => { KclValue::HomArray { .. } => {
// These will not get wrapped if possible. // These will not get wrapped if possible.
assert_coerce_results( assert_coerce_results(
v, v,
@ -1577,53 +1595,22 @@ mod test {
}, },
&mut exec_state, &mut exec_state,
); );
// Coercing an empty tuple or array to an array of length 1 // Coercing an empty array to an array of length 1
// should fail. // should fail.
v.coerce(&aty1, true, &mut exec_state).unwrap_err(); v.coerce(&aty1, true, &mut exec_state).unwrap_err();
// Coercing an empty tuple or array to an array that's // Coercing an empty array to an array that's
// non-empty should fail. // non-empty should fail.
v.coerce(&aty0, true, &mut exec_state).unwrap_err(); v.coerce(&aty0, true, &mut exec_state).unwrap_err();
} }
KclValue::Tuple { .. } => {}
_ => { _ => {
assert_coerce_results( assert_coerce_results(v, &aty, v, &mut exec_state);
v, assert_coerce_results(v, &aty1, v, &mut exec_state);
&aty, assert_coerce_results(v, &aty0, v, &mut exec_state);
&KclValue::HomArray {
value: vec![v.clone()],
ty: ty.clone(),
},
&mut exec_state,
);
assert_coerce_results(
v,
&aty1,
&KclValue::HomArray {
value: vec![v.clone()],
ty: ty.clone(),
},
&mut exec_state,
);
assert_coerce_results(
v,
&aty0,
&KclValue::HomArray {
value: vec![v.clone()],
ty: ty.clone(),
},
&mut exec_state,
);
// Tuple subtype // Tuple subtype
let tty = RuntimeType::Tuple(vec![ty.clone()]); let tty = RuntimeType::Tuple(vec![ty.clone()]);
assert_coerce_results( assert_coerce_results(v, &tty, v, &mut exec_state);
v,
&tty,
&KclValue::Tuple {
value: vec![v.clone()],
meta: Vec::new(),
},
&mut exec_state,
);
} }
} }
} }

View File

@ -214,9 +214,9 @@ impl Args {
/// Get a labelled keyword arg, check it's an array, and return all items in the array /// Get a labelled keyword arg, check it's an array, and return all items in the array
/// plus their source range. /// plus their source range.
pub(crate) fn kw_arg_array_and_source<'a, T>(&'a self, label: &str) -> Result<Vec<(T, SourceRange)>, KclError> pub(crate) fn kw_arg_array_and_source<T>(&self, label: &str) -> Result<Vec<(T, SourceRange)>, KclError>
where where
T: FromKclValue<'a>, T: for<'a> FromKclValue<'a>,
{ {
let Some(arg) = self.kw_args.labeled.get(label) else { let Some(arg) = self.kw_args.labeled.get(label) else {
let err = KclError::Semantic(KclErrorDetails::new( let err = KclError::Semantic(KclErrorDetails::new(
@ -225,18 +225,9 @@ impl Args {
)); ));
return Err(err); return Err(err);
}; };
let Some(array) = arg.value.as_array() else { arg.value
let err = KclError::Semantic(KclErrorDetails::new( .clone()
format!( .into_array()
"Expected an array of {} but found {}",
tynm::type_name::<T>(),
arg.value.human_friendly_type()
),
vec![arg.source_range],
));
return Err(err);
};
array
.iter() .iter()
.map(|item| { .map(|item| {
let source = SourceRange::from(item); let source = SourceRange::from(item);
@ -255,6 +246,19 @@ impl Args {
.collect::<Result<Vec<_>, _>>() .collect::<Result<Vec<_>, _>>()
} }
pub(crate) fn get_unlabeled_kw_arg_array_and_type(
&self,
label: &str,
exec_state: &mut ExecState,
) -> Result<(Vec<KclValue>, RuntimeType), KclError> {
let value = self.get_unlabeled_kw_arg_typed(label, &RuntimeType::any_array(), exec_state)?;
Ok(match value {
KclValue::HomArray { value, ty } => (value, ty),
KclValue::Tuple { value, .. } => (value, RuntimeType::any()),
val => (vec![val], RuntimeType::any()),
})
}
/// Get the unlabeled keyword argument. If not set, returns Err. If it /// Get the unlabeled keyword argument. If not set, returns Err. If it
/// can't be converted to the given type, returns Err. /// can't be converted to the given type, returns Err.
pub(crate) fn get_unlabeled_kw_arg<'a, T>(&'a self, label: &str) -> Result<T, KclError> pub(crate) fn get_unlabeled_kw_arg<'a, T>(&'a self, label: &str) -> Result<T, KclError>
@ -331,7 +335,7 @@ impl Args {
T::from_kcl_val(&arg).ok_or_else(|| { T::from_kcl_val(&arg).ok_or_else(|| {
KclError::Internal(KclErrorDetails::new( KclError::Internal(KclErrorDetails::new(
"Mismatch between type coercion and value extraction (this isn't your fault).\nTo assist in bug-reporting, expected type: {ty:?}; actual value: {arg:?}".to_owned(), format!("Mismatch between type coercion and value extraction (this isn't your fault).\nTo assist in bug-reporting, expected type: {ty:?}; actual value: {arg:?}"),
vec![self.source_range], vec![self.source_range],
)) ))
}) })
@ -728,7 +732,7 @@ impl<'a> FromKclValue<'a> for Vec<TagIdentifier> {
impl<'a> FromKclValue<'a> for Vec<KclValue> { impl<'a> FromKclValue<'a> for Vec<KclValue> {
fn from_kcl_val(arg: &'a KclValue) -> Option<Self> { fn from_kcl_val(arg: &'a KclValue) -> Option<Self> {
arg.as_array().map(|v| v.to_vec()) Some(arg.clone().into_array())
} }
} }
@ -1039,7 +1043,8 @@ macro_rules! impl_from_kcl_for_vec {
($typ:path) => { ($typ:path) => {
impl<'a> FromKclValue<'a> for Vec<$typ> { impl<'a> FromKclValue<'a> for Vec<$typ> {
fn from_kcl_val(arg: &'a KclValue) -> Option<Self> { fn from_kcl_val(arg: &'a KclValue) -> Option<Self> {
arg.as_array()? arg.clone()
.into_array()
.iter() .iter()
.map(|value| FromKclValue::from_kcl_val(value)) .map(|value| FromKclValue::from_kcl_val(value))
.collect::<Option<_>>() .collect::<Option<_>>()
@ -1054,6 +1059,8 @@ impl_from_kcl_for_vec!(crate::execution::Metadata);
impl_from_kcl_for_vec!(super::fillet::EdgeReference); impl_from_kcl_for_vec!(super::fillet::EdgeReference);
impl_from_kcl_for_vec!(ExtrudeSurface); impl_from_kcl_for_vec!(ExtrudeSurface);
impl_from_kcl_for_vec!(TyF64); impl_from_kcl_for_vec!(TyF64);
impl_from_kcl_for_vec!(Solid);
impl_from_kcl_for_vec!(Sketch);
impl<'a> FromKclValue<'a> for SourceRange { impl<'a> FromKclValue<'a> for SourceRange {
fn from_kcl_val(arg: &'a KclValue) -> Option<Self> { fn from_kcl_val(arg: &'a KclValue) -> Option<Self> {
@ -1379,27 +1386,9 @@ impl<'a> FromKclValue<'a> for Box<Solid> {
} }
} }
impl<'a> FromKclValue<'a> for Vec<Solid> {
fn from_kcl_val(arg: &'a KclValue) -> Option<Self> {
let KclValue::HomArray { value, .. } = arg else {
return None;
};
value.iter().map(Solid::from_kcl_val).collect()
}
}
impl<'a> FromKclValue<'a> for Vec<Sketch> {
fn from_kcl_val(arg: &'a KclValue) -> Option<Self> {
let KclValue::HomArray { value, .. } = arg else {
return None;
};
value.iter().map(Sketch::from_kcl_val).collect()
}
}
impl<'a> FromKclValue<'a> for &'a FunctionSource { impl<'a> FromKclValue<'a> for &'a FunctionSource {
fn from_kcl_val(arg: &'a KclValue) -> Option<Self> { fn from_kcl_val(arg: &'a KclValue) -> Option<Self> {
arg.get_function() arg.as_function()
} }
} }

View File

@ -14,7 +14,7 @@ use crate::{
/// Apply a function to each element of an array. /// Apply a function to each element of an array.
pub async fn map(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> { pub async fn map(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
let array: Vec<KclValue> = args.get_unlabeled_kw_arg("array")?; let array: Vec<KclValue> = args.get_unlabeled_kw_arg_typed("array", &RuntimeType::any_array(), exec_state)?;
let f: &FunctionSource = args.get_kw_arg("f")?; let f: &FunctionSource = args.get_kw_arg("f")?;
let new_array = inner_map(array, f, exec_state, &args).await?; let new_array = inner_map(array, f, exec_state, &args).await?;
Ok(KclValue::HomArray { Ok(KclValue::HomArray {
@ -68,7 +68,7 @@ async fn call_map_closure(
/// For each item in an array, update a value. /// For each item in an array, update a value.
pub async fn reduce(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> { pub async fn reduce(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
let array: Vec<KclValue> = args.get_unlabeled_kw_arg("array")?; let array: Vec<KclValue> = args.get_unlabeled_kw_arg_typed("array", &RuntimeType::any_array(), exec_state)?;
let f: &FunctionSource = args.get_kw_arg("f")?; let f: &FunctionSource = args.get_kw_arg("f")?;
let initial: KclValue = args.get_kw_arg("initial")?; let initial: KclValue = args.get_kw_arg("initial")?;
inner_reduce(array, initial, f, exec_state, &args).await inner_reduce(array, initial, f, exec_state, &args).await
@ -126,61 +126,23 @@ async fn call_reduce_closure(
Ok(out) Ok(out)
} }
pub async fn push(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> { pub async fn push(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
let array = args.get_unlabeled_kw_arg("array")?; let (mut array, ty) = args.get_unlabeled_kw_arg_array_and_type("array", exec_state)?;
let item: KclValue = args.get_kw_arg("item")?; let item: KclValue = args.get_kw_arg("item")?;
let KclValue::HomArray { value: values, ty } = array else {
let meta = vec![args.source_range];
let actual_type = array.human_friendly_type();
return Err(KclError::Semantic(KclErrorDetails::new(
format!("You can't push to a value of type {actual_type}, only an array"),
meta,
)));
};
let ty = if item.has_type(&ty) {
ty
} else {
// The user pushed an item with a type that differs from the array's
// element type.
RuntimeType::any()
};
let new_array = inner_push(values, item);
Ok(KclValue::HomArray { value: new_array, ty })
}
fn inner_push(mut array: Vec<KclValue>, item: KclValue) -> Vec<KclValue> {
array.push(item); array.push(item);
array
Ok(KclValue::HomArray { value: array, ty })
} }
pub async fn pop(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> { pub async fn pop(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
let array = args.get_unlabeled_kw_arg("array")?; let (mut array, ty) = args.get_unlabeled_kw_arg_array_and_type("array", exec_state)?;
let KclValue::HomArray { value: values, ty } = array else {
let meta = vec![args.source_range];
let actual_type = array.human_friendly_type();
return Err(KclError::Semantic(KclErrorDetails::new(
format!("You can't pop from a value of type {actual_type}, only an array"),
meta,
)));
};
let new_array = inner_pop(values, &args)?;
Ok(KclValue::HomArray { value: new_array, ty })
}
fn inner_pop(array: Vec<KclValue>, args: &Args) -> Result<Vec<KclValue>, KclError> {
if array.is_empty() { if array.is_empty() {
return Err(KclError::Semantic(KclErrorDetails::new( return Err(KclError::Semantic(KclErrorDetails::new(
"Cannot pop from an empty array".to_string(), "Cannot pop from an empty array".to_string(),
vec![args.source_range], vec![args.source_range],
))); )));
} }
array.pop();
// Create a new array with all elements except the last one Ok(KclValue::HomArray { value: array, ty })
let new_array = array[..array.len() - 1].to_vec();
Ok(new_array)
} }

View File

@ -283,122 +283,38 @@ description: Result of parsing add_lots.kcl
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"left": { "left": {
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "f",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"left": {
"commentStart": 0,
"end": 0,
"left": {
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "f",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"commentStart": 0,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
},
"operator": "+",
"right": {
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "f",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"commentStart": 0,
"end": 0,
"raw": "1",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 1.0,
"suffix": "None"
}
}
},
"start": 0,
"type": "BinaryExpression",
"type": "BinaryExpression"
},
"operator": "+",
"right": {
"callee": {
"abs_path": false,
"commentStart": 0,
"end": 0,
"name": {
"commentStart": 0,
"end": 0,
"name": "f",
"start": 0,
"type": "Identifier"
},
"path": [],
"start": 0,
"type": "Name"
},
"commentStart": 0,
"end": 0,
"start": 0,
"type": "CallExpressionKw",
"type": "CallExpressionKw",
"unlabeled": {
"commentStart": 0,
"end": 0,
"raw": "2",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 2.0,
"suffix": "None"
}
}
},
"start": 0, "start": 0,
"type": "BinaryExpression", "type": "CallExpressionKw",
"type": "BinaryExpression" "type": "CallExpressionKw",
"unlabeled": {
"commentStart": 0,
"end": 0,
"raw": "0",
"start": 0,
"type": "Literal",
"type": "Literal",
"value": {
"value": 0.0,
"suffix": "None"
}
}
}, },
"operator": "+", "operator": "+",
"right": { "right": {
@ -425,12 +341,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "3", "raw": "1",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 3.0, "value": 1.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -464,12 +380,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "4", "raw": "2",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 4.0, "value": 2.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -503,12 +419,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "5", "raw": "3",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 5.0, "value": 3.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -542,12 +458,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "6", "raw": "4",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 6.0, "value": 4.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -581,12 +497,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "7", "raw": "5",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 7.0, "value": 5.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -620,12 +536,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "8", "raw": "6",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 8.0, "value": 6.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -659,12 +575,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "9", "raw": "7",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 9.0, "value": 7.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -698,12 +614,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "10", "raw": "8",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 10.0, "value": 8.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -737,12 +653,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "11", "raw": "9",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 11.0, "value": 9.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -776,12 +692,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "12", "raw": "10",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 12.0, "value": 10.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -815,12 +731,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "13", "raw": "11",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 13.0, "value": 11.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -854,12 +770,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "14", "raw": "12",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 14.0, "value": 12.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -893,12 +809,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "15", "raw": "13",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 15.0, "value": 13.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -932,12 +848,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "16", "raw": "14",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 16.0, "value": 14.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -971,12 +887,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "17", "raw": "15",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 17.0, "value": 15.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1010,12 +926,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "18", "raw": "16",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 18.0, "value": 16.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1049,12 +965,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "19", "raw": "17",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 19.0, "value": 17.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1088,12 +1004,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "20", "raw": "18",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 20.0, "value": 18.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1127,12 +1043,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "21", "raw": "19",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 21.0, "value": 19.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1166,12 +1082,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "22", "raw": "20",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 22.0, "value": 20.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1205,12 +1121,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "23", "raw": "21",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 23.0, "value": 21.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1244,12 +1160,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "24", "raw": "22",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 24.0, "value": 22.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1283,12 +1199,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "25", "raw": "23",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 25.0, "value": 23.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1322,12 +1238,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "26", "raw": "24",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 26.0, "value": 24.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1361,12 +1277,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "27", "raw": "25",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 27.0, "value": 25.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1400,12 +1316,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "28", "raw": "26",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 28.0, "value": 26.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1439,12 +1355,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "29", "raw": "27",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 29.0, "value": 27.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1478,12 +1394,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "30", "raw": "28",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 30.0, "value": 28.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1517,12 +1433,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "31", "raw": "29",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 31.0, "value": 29.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1556,12 +1472,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "32", "raw": "30",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 32.0, "value": 30.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1595,12 +1511,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "33", "raw": "31",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 33.0, "value": 31.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1634,12 +1550,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "34", "raw": "32",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 34.0, "value": 32.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1673,12 +1589,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "35", "raw": "33",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 35.0, "value": 33.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1712,12 +1628,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "36", "raw": "34",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 36.0, "value": 34.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1751,12 +1667,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "37", "raw": "35",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 37.0, "value": 35.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1790,12 +1706,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "38", "raw": "36",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 38.0, "value": 36.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1829,12 +1745,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "39", "raw": "37",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 39.0, "value": 37.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1868,12 +1784,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "40", "raw": "38",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 40.0, "value": 38.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1907,12 +1823,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "41", "raw": "39",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 41.0, "value": 39.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1946,12 +1862,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "42", "raw": "40",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 42.0, "value": 40.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -1985,12 +1901,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "43", "raw": "41",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 43.0, "value": 41.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -2024,12 +1940,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "44", "raw": "42",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 44.0, "value": 42.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -2063,12 +1979,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "45", "raw": "43",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 45.0, "value": 43.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -2102,12 +2018,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "46", "raw": "44",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 46.0, "value": 44.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -2141,12 +2057,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "47", "raw": "45",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 47.0, "value": 45.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -2180,12 +2096,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "48", "raw": "46",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 48.0, "value": 46.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -2219,12 +2135,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "49", "raw": "47",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 49.0, "value": 47.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -2258,12 +2174,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "50", "raw": "48",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 50.0, "value": 48.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -2297,12 +2213,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "51", "raw": "49",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 51.0, "value": 49.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -2336,12 +2252,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "52", "raw": "50",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 52.0, "value": 50.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -2375,12 +2291,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "53", "raw": "51",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 53.0, "value": 51.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -2414,12 +2330,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "54", "raw": "52",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 54.0, "value": 52.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -2453,12 +2369,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "55", "raw": "53",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 55.0, "value": 53.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -2492,12 +2408,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "56", "raw": "54",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 56.0, "value": 54.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -2531,12 +2447,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "57", "raw": "55",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 57.0, "value": 55.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -2570,12 +2486,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "58", "raw": "56",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 58.0, "value": 56.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -2609,12 +2525,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "59", "raw": "57",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 59.0, "value": 57.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -2648,12 +2564,12 @@ description: Result of parsing add_lots.kcl
"unlabeled": { "unlabeled": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "60", "raw": "58",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 60.0, "value": 58.0,
"suffix": "None" "suffix": "None"
} }
} }
@ -2688,12 +2604,12 @@ description: Result of parsing add_lots.kcl
"arg": { "arg": {
"commentStart": 0, "commentStart": 0,
"end": 0, "end": 0,
"raw": "3660", "raw": "3422",
"start": 0, "start": 0,
"type": "Literal", "type": "Literal",
"type": "Literal", "type": "Literal",
"value": { "value": {
"value": 3660.0, "value": 3422.0,
"suffix": "None" "suffix": "None"
} }
} }

View File

@ -2,6 +2,6 @@ fn f(@i) {
return i * 2 return i * 2
} }
x = f(0) + f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + f(7) + f(8) + f(9) + f(10) + f(11) + f(12) + f(13) + f(14) + f(15) + f(16) + f(17) + f(18) + f(19) + f(20) + f(21) + f(22) + f(23) + f(24) + f(25) + f(26) + f(27) + f(28) + f(29) + f(30) + f(31) + f(32) + f(33) + f(34) + f(35) + f(36) + f(37) + f(38) + f(39) + f(40) + f(41) + f(42) + f(43) + f(44) + f(45) + f(46) + f(47) + f(48) + f(49) + f(50) + f(51) + f(52) + f(53) + f(54) + f(55) + f(56) + f(57) + f(58) + f(59) + f(60) x = f(0) + f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + f(7) + f(8) + f(9) + f(10) + f(11) + f(12) + f(13) + f(14) + f(15) + f(16) + f(17) + f(18) + f(19) + f(20) + f(21) + f(22) + f(23) + f(24) + f(25) + f(26) + f(27) + f(28) + f(29) + f(30) + f(31) + f(32) + f(33) + f(34) + f(35) + f(36) + f(37) + f(38) + f(39) + f(40) + f(41) + f(42) + f(43) + f(44) + f(45) + f(46) + f(47) + f(48) + f(49) + f(50) + f(51) + f(52) + f(53) + f(54) + f(55) + f(56) + f(57) + f(58)
assert(x, isEqualTo = 3660, error = "Big sum") assert(x, isEqualTo = 3422, error = "Big sum")

View File

@ -1537,64 +1537,6 @@ description: Operations executed add_lots.kcl
}, },
"sourceRange": [] "sourceRange": []
}, },
{
"type": "GroupBegin",
"group": {
"type": "FunctionCall",
"name": "f",
"functionSourceRange": [],
"unlabeledArg": {
"value": {
"type": "Number",
"value": 59.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
},
"labeledArgs": {}
},
"sourceRange": []
},
{
"type": "GroupBegin",
"group": {
"type": "FunctionCall",
"name": "f",
"functionSourceRange": [],
"unlabeledArg": {
"value": {
"type": "Number",
"value": 60.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"sourceRange": []
},
"labeledArgs": {}
},
"sourceRange": []
},
{
"type": "GroupEnd"
},
{
"type": "GroupEnd"
},
{ {
"type": "GroupEnd" "type": "GroupEnd"
}, },

View File

@ -9,7 +9,7 @@ description: Variables in memory after executing add_lots.kcl
}, },
"x": { "x": {
"type": "Number", "type": "Number",
"value": 3660.0, "value": 3422.0,
"ty": { "ty": {
"type": "Default", "type": "Default",
"len": { "len": {

View File

@ -6,6 +6,6 @@ fn f(@i) {
return i * 2 return i * 2
} }
x = f(0) + f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + f(7) + f(8) + f(9) + f(10) + f(11) + f(12) + f(13) + f(14) + f(15) + f(16) + f(17) + f(18) + f(19) + f(20) + f(21) + f(22) + f(23) + f(24) + f(25) + f(26) + f(27) + f(28) + f(29) + f(30) + f(31) + f(32) + f(33) + f(34) + f(35) + f(36) + f(37) + f(38) + f(39) + f(40) + f(41) + f(42) + f(43) + f(44) + f(45) + f(46) + f(47) + f(48) + f(49) + f(50) + f(51) + f(52) + f(53) + f(54) + f(55) + f(56) + f(57) + f(58) + f(59) + f(60) x = f(0) + f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + f(7) + f(8) + f(9) + f(10) + f(11) + f(12) + f(13) + f(14) + f(15) + f(16) + f(17) + f(18) + f(19) + f(20) + f(21) + f(22) + f(23) + f(24) + f(25) + f(26) + f(27) + f(28) + f(29) + f(30) + f(31) + f(32) + f(33) + f(34) + f(35) + f(36) + f(37) + f(38) + f(39) + f(40) + f(41) + f(42) + f(43) + f(44) + f(45) + f(46) + f(47) + f(48) + f(49) + f(50) + f(51) + f(52) + f(53) + f(54) + f(55) + f(56) + f(57) + f(58)
assert(x, isEqualTo = 3660, error = "Big sum") assert(x, isEqualTo = 3422, error = "Big sum")

View File

@ -53,15 +53,10 @@ description: Operations executed circular_pattern3d_a_pattern.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -77,15 +77,10 @@ description: Operations executed crazy_multi_profile.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -198,15 +193,10 @@ description: Operations executed crazy_multi_profile.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -642,15 +642,10 @@ description: Operations executed fillet-and-shell.kcl
"name": "shell", "name": "shell",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -121,15 +121,10 @@ description: Operations executed ball-bearing.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -365,15 +360,10 @@ description: Operations executed ball-bearing.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -609,15 +599,10 @@ description: Operations executed ball-bearing.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -760,15 +760,10 @@ description: Operations executed bench.kcl
"name": "shell", "name": "shell",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -809,15 +804,10 @@ description: Operations executed bench.kcl
"name": "shell", "name": "shell",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -858,15 +848,10 @@ description: Operations executed bench.kcl
"name": "shell", "name": "shell",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -907,15 +892,10 @@ description: Operations executed bench.kcl
"name": "shell", "name": "shell",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -956,15 +936,10 @@ description: Operations executed bench.kcl
"name": "shell", "name": "shell",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -1005,15 +980,10 @@ description: Operations executed bench.kcl
"name": "shell", "name": "shell",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -414,15 +414,10 @@ description: Operations executed bone-plate.kcl
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }
@ -475,15 +470,10 @@ description: Operations executed bone-plate.kcl
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }
@ -536,15 +526,10 @@ description: Operations executed bone-plate.kcl
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }
@ -597,15 +582,10 @@ description: Operations executed bone-plate.kcl
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }

View File

@ -108,15 +108,10 @@ description: Operations executed bottle.kcl
"name": "shell", "name": "shell",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -456,272 +456,267 @@ description: Variables in memory after executing bottle.kcl
} }
}, },
"bottleShell": { "bottleShell": {
"type": "HomArray", "type": "Solid",
"value": [ "value": {
{ "type": "Solid",
"type": "Solid", "id": "[uuid]",
"value": { "artifactId": "[uuid]",
"type": "Solid", "value": [
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudeArc"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"ccw": true,
"center": [
0.0,
0.0
],
"from": [
22.5,
0.0
],
"radius": 22.5,
"tag": null,
"to": [
22.5,
0.0
],
"type": "Circle",
"units": {
"type": "Mm"
}
}
],
"on": {
"type": "face",
"id": "[uuid]", "id": "[uuid]",
"artifactId": "[uuid]", "artifactId": "[uuid]",
"value": [ "value": "end",
{ "xAxis": {
"faceId": "[uuid]", "x": 1.0,
"id": "[uuid]", "y": 0.0,
"sourceRange": [], "z": 0.0,
"tag": null, "units": {
"type": "extrudeArc" "type": "Unknown"
} }
], },
"sketch": { "yAxis": {
"type": "Sketch", "x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"solid": {
"type": "Solid",
"id": "[uuid]", "id": "[uuid]",
"paths": [ "artifactId": "[uuid]",
{ "value": [],
"__geoMeta": { "sketch": {
"id": "[uuid]", "type": "Sketch",
"sourceRange": []
},
"ccw": true,
"center": [
0.0,
0.0
],
"from": [
22.5,
0.0
],
"radius": 22.5,
"tag": null,
"to": [
22.5,
0.0
],
"type": "Circle",
"units": {
"type": "Mm"
}
}
],
"on": {
"type": "face",
"id": "[uuid]", "id": "[uuid]",
"artifactId": "[uuid]", "paths": [
"value": "end", {
"xAxis": { "__geoMeta": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"solid": {
"type": "Solid",
"id": "[uuid]",
"artifactId": "[uuid]",
"value": [],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
-62.5,
0.0
],
"tag": null,
"to": [
-62.5,
26.667
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
-62.5,
26.667
],
"p1": [
-62.5,
26.666666666666668
],
"p2": [
0.0,
40.0
],
"p3": [
62.5,
26.666666666666668
],
"tag": null,
"to": [
62.5,
26.667
],
"type": "ArcThreePoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
62.5,
26.667
],
"tag": null,
"to": [
62.5,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
62.5,
0.0
],
"tag": null,
"to": [
-62.5,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
}
],
"on": {
"artifactId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"origin": { "sourceRange": []
"x": 0.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "XY",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}
}, },
"start": { "from": [
"from": [ -62.5,
-62.5, 0.0
0.0 ],
], "tag": null,
"to": [ "to": [
-62.5, -62.5,
0.0 26.667
], ],
"units": { "type": "ToPoint",
"type": "Mm"
},
"tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": { "units": {
"type": "Mm" "type": "Mm"
} }
}, },
"height": 202.0, {
"startCapId": "[uuid]", "__geoMeta": {
"endCapId": "[uuid]", "id": "[uuid]",
"sourceRange": []
},
"from": [
-62.5,
26.667
],
"p1": [
-62.5,
26.666666666666668
],
"p2": [
0.0,
40.0
],
"p3": [
62.5,
26.666666666666668
],
"tag": null,
"to": [
62.5,
26.667
],
"type": "ArcThreePoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
62.5,
26.667
],
"tag": null,
"to": [
62.5,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
62.5,
0.0
],
"tag": null,
"to": [
-62.5,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
}
],
"on": {
"artifactId": "[uuid]",
"id": "[uuid]",
"origin": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "XY",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
-62.5,
0.0
],
"to": [
-62.5,
0.0
],
"units": { "units": {
"type": "Mm" "type": "Mm"
}, },
"sectional": false "tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
}, },
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": { "units": {
"type": "Mm" "type": "Mm"
} }
}, },
"start": { "height": 202.0,
"from": [ "startCapId": "[uuid]",
22.5, "endCapId": "[uuid]",
0.0
],
"to": [
22.5,
0.0
],
"units": {
"type": "Mm"
},
"tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": { "units": {
"type": "Mm" "type": "Mm"
} },
"sectional": false
}, },
"height": 18.0, "units": {
"startCapId": null, "type": "Mm"
"endCapId": "[uuid]", }
},
"start": {
"from": [
22.5,
0.0
],
"to": [
22.5,
0.0
],
"units": { "units": {
"type": "Mm" "type": "Mm"
}, },
"sectional": false "tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "Mm"
} }
} },
] "height": 18.0,
"startCapId": null,
"endCapId": "[uuid]",
"units": {
"type": "Mm"
},
"sectional": false
}
}, },
"bottleWidth": { "bottleWidth": {
"type": "Number", "type": "Number",

View File

@ -1036,15 +1036,10 @@ description: Operations executed brake-rotor.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -53,15 +53,10 @@ description: Operations executed car-wheel-assembly.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -1651,117 +1651,112 @@ description: Variables in memory after executing cold-plate.kcl
} }
}, },
"tubeWall": { "tubeWall": {
"type": "HomArray", "type": "Solid",
"value": [ "value": {
{ "type": "Solid",
"type": "Solid", "id": "[uuid]",
"value": { "artifactId": "[uuid]",
"type": "Solid", "value": [
{
"faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"artifactId": "[uuid]", "sourceRange": [],
"value": [ "tag": null,
{ "type": "extrudeArc"
"faceId": "[uuid]", }
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": []
"tag": null, },
"type": "extrudeArc" "ccw": true,
} "center": [
], -3.0,
"sketch": { 0.625
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"ccw": true,
"center": [
-3.0,
0.625
],
"from": [
-2.688,
0.625
],
"radius": 0.3125,
"tag": null,
"to": [
-2.688,
0.625
],
"type": "Circle",
"units": {
"type": "Inches"
}
}
], ],
"on": { "from": [
"artifactId": "[uuid]", -2.688,
"id": "[uuid]", 0.625
"origin": { ],
"x": -186.69, "radius": 0.3125,
"y": 0.0, "tag": null,
"z": 0.0, "to": [
"units": { -2.688,
"type": "Mm" 0.625
} ],
}, "type": "Circle",
"type": "plane",
"value": "Custom",
"xAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
-2.688,
0.625
],
"to": [
-2.688,
0.625
],
"units": {
"type": "Inches"
},
"tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": { "units": {
"type": "Inches" "type": "Inches"
} }
}
],
"on": {
"artifactId": "[uuid]",
"id": "[uuid]",
"origin": {
"x": -186.69,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Mm"
}
}, },
"height": 0.0, "type": "plane",
"startCapId": "[uuid]", "value": "Custom",
"endCapId": null, "xAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
-2.688,
0.625
],
"to": [
-2.688,
0.625
],
"units": { "units": {
"type": "Inches" "type": "Inches"
}, },
"sectional": false "tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "Inches"
} }
} },
] "height": 0.0,
"startCapId": "[uuid]",
"endCapId": null,
"units": {
"type": "Inches"
},
"sectional": false
}
}, },
"wallThickness": { "wallThickness": {
"type": "Number", "type": "Number",

View File

@ -1475,15 +1475,10 @@ description: Operations executed counterdrilled-weldment.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -1620,15 +1615,10 @@ description: Operations executed counterdrilled-weldment.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -71,15 +71,10 @@ description: Operations executed cpu-cooler.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -445,26 +440,16 @@ description: Operations executed cpu-cooler.kcl
"type": "Array", "type": "Array",
"value": [ "value": [
{ {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
{ {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
} }
] ]
}, },

View File

@ -807,15 +807,10 @@ description: Operations executed curtain-wall-anchor-plate.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -4,348 +4,343 @@ description: Variables in memory after executing enclosure.kcl
--- ---
{ {
"extrude001": { "extrude001": {
"type": "HomArray", "type": "Solid",
"value": [ "value": {
{ "type": "Solid",
"type": "Solid", "id": "[uuid]",
"value": { "artifactId": "[uuid]",
"type": "Solid", "value": [
{
"faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"artifactId": "[uuid]", "sourceRange": [],
"value": [ "tag": {
{ "commentStart": 380,
"faceId": "[uuid]", "end": 401,
"start": 380,
"type": "TagDeclarator",
"value": "rectangleSegmentA001"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 476,
"end": 497,
"start": 476,
"type": "TagDeclarator",
"value": "rectangleSegmentB001"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 599,
"end": 620,
"start": 599,
"type": "TagDeclarator",
"value": "rectangleSegmentC001"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 690,
"end": 711,
"start": 690,
"type": "TagDeclarator",
"value": "rectangleSegmentD001"
},
"type": "extrudePlane"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": []
"tag": {
"commentStart": 380,
"end": 401,
"start": 380,
"type": "TagDeclarator",
"value": "rectangleSegmentA001"
},
"type": "extrudePlane"
}, },
{ "from": [
"faceId": "[uuid]", 0.0,
"id": "[uuid]", 0.0
"sourceRange": [],
"tag": {
"commentStart": 476,
"end": 497,
"start": 476,
"type": "TagDeclarator",
"value": "rectangleSegmentB001"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 599,
"end": 620,
"start": 599,
"type": "TagDeclarator",
"value": "rectangleSegmentC001"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 690,
"end": 711,
"start": 690,
"type": "TagDeclarator",
"value": "rectangleSegmentD001"
},
"type": "extrudePlane"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.0,
0.0
],
"tag": {
"commentStart": 380,
"end": 401,
"start": 380,
"type": "TagDeclarator",
"value": "rectangleSegmentA001"
},
"to": [
125.0,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
125.0,
0.0
],
"tag": {
"commentStart": 476,
"end": 497,
"start": 476,
"type": "TagDeclarator",
"value": "rectangleSegmentB001"
},
"to": [
125.0,
175.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
125.0,
175.0
],
"tag": {
"commentStart": 599,
"end": 620,
"start": 599,
"type": "TagDeclarator",
"value": "rectangleSegmentC001"
},
"to": [
0.0,
175.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.0,
175.0
],
"tag": {
"commentStart": 690,
"end": 711,
"start": 690,
"type": "TagDeclarator",
"value": "rectangleSegmentD001"
},
"to": [
0.0,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.0,
0.0
],
"tag": null,
"to": [
0.0,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
}
], ],
"on": { "tag": {
"artifactId": "[uuid]", "commentStart": 380,
"id": "[uuid]", "end": 401,
"origin": { "start": 380,
"x": 0.0, "type": "TagDeclarator",
"y": 0.0, "value": "rectangleSegmentA001"
"z": 0.0,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "XY",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}
}, },
"start": { "to": [
"from": [ 125.0,
0.0, 0.0
0.0 ],
], "type": "ToPoint",
"to": [
0.0,
0.0
],
"units": {
"type": "Mm"
},
"tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"tags": {
"rectangleSegmentA001": {
"type": "TagIdentifier",
"value": "rectangleSegmentA001"
},
"rectangleSegmentB001": {
"type": "TagIdentifier",
"value": "rectangleSegmentB001"
},
"rectangleSegmentC001": {
"type": "TagIdentifier",
"value": "rectangleSegmentC001"
},
"rectangleSegmentD001": {
"type": "TagIdentifier",
"value": "rectangleSegmentD001"
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": { "units": {
"type": "Mm" "type": "Mm"
} }
}, },
"height": 70.0, {
"startCapId": "[uuid]", "__geoMeta": {
"endCapId": "[uuid]",
"edgeCuts": [
{
"type": "fillet",
"id": "[uuid]", "id": "[uuid]",
"radius": { "sourceRange": []
"n": 12.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
}, },
{ "from": [
"type": "fillet", 125.0,
"id": "[uuid]", 0.0
"radius": { ],
"n": 12.0, "tag": {
"ty": { "commentStart": 476,
"type": "Default", "end": 497,
"len": { "start": 476,
"type": "Mm" "type": "TagDeclarator",
}, "value": "rectangleSegmentB001"
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
}, },
{ "to": [
"type": "fillet", 125.0,
"id": "[uuid]", 175.0
"radius": { ],
"n": 12.0, "type": "ToPoint",
"ty": { "units": {
"type": "Default", "type": "Mm"
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 12.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
} }
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
125.0,
175.0
],
"tag": {
"commentStart": 599,
"end": 620,
"start": 599,
"type": "TagDeclarator",
"value": "rectangleSegmentC001"
},
"to": [
0.0,
175.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.0,
175.0
],
"tag": {
"commentStart": 690,
"end": 711,
"start": 690,
"type": "TagDeclarator",
"value": "rectangleSegmentD001"
},
"to": [
0.0,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.0,
0.0
],
"tag": null,
"to": [
0.0,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
}
],
"on": {
"artifactId": "[uuid]",
"id": "[uuid]",
"origin": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "XY",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
0.0,
0.0
],
"to": [
0.0,
0.0
], ],
"units": { "units": {
"type": "Mm" "type": "Mm"
}, },
"sectional": false "tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"tags": {
"rectangleSegmentA001": {
"type": "TagIdentifier",
"value": "rectangleSegmentA001"
},
"rectangleSegmentB001": {
"type": "TagIdentifier",
"value": "rectangleSegmentB001"
},
"rectangleSegmentC001": {
"type": "TagIdentifier",
"value": "rectangleSegmentC001"
},
"rectangleSegmentD001": {
"type": "TagIdentifier",
"value": "rectangleSegmentD001"
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "Mm"
} }
} },
] "height": 70.0,
"startCapId": "[uuid]",
"endCapId": "[uuid]",
"edgeCuts": [
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 12.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 12.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 12.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 12.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
}
],
"units": {
"type": "Mm"
},
"sectional": false
}
}, },
"extrude003": { "extrude003": {
"type": "Solid", "type": "Solid",

View File

@ -21,15 +21,10 @@ description: Operations executed engine-valve.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -3629,117 +3629,112 @@ description: Variables in memory after executing french-press.kcl
] ]
}, },
"extrude006": { "extrude006": {
"type": "HomArray", "type": "Solid",
"value": [ "value": {
{ "type": "Solid",
"type": "Solid", "id": "[uuid]",
"value": { "artifactId": "[uuid]",
"type": "Solid", "value": [
{
"faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"artifactId": "[uuid]", "sourceRange": [],
"value": [ "tag": null,
{ "type": "extrudeArc"
"faceId": "[uuid]", }
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": []
"tag": null, },
"type": "extrudeArc" "ccw": true,
} "center": [
], 0.0,
"sketch": { 0.0
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"ccw": true,
"center": [
0.0,
0.0
],
"from": [
2.205,
0.0
],
"radius": 2.205,
"tag": null,
"to": [
2.205,
0.0
],
"type": "Circle",
"units": {
"type": "Inches"
}
}
], ],
"on": { "from": [
"artifactId": "[uuid]", 2.205,
"id": "[uuid]", 0.0
"origin": { ],
"x": 0.0, "radius": 2.205,
"y": 0.0, "tag": null,
"z": 0.0, "to": [
"units": { 2.205,
"type": "Mm" 0.0
} ],
}, "type": "Circle",
"type": "plane",
"value": "XY",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
2.205,
0.0
],
"to": [
2.205,
0.0
],
"units": {
"type": "Inches"
},
"tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": { "units": {
"type": "Inches" "type": "Inches"
} }
}
],
"on": {
"artifactId": "[uuid]",
"id": "[uuid]",
"origin": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Mm"
}
}, },
"height": 7.32, "type": "plane",
"startCapId": "[uuid]", "value": "XY",
"endCapId": "[uuid]", "xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
2.205,
0.0
],
"to": [
2.205,
0.0
],
"units": { "units": {
"type": "Inches" "type": "Inches"
}, },
"sectional": false "tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "Inches"
} }
} },
] "height": 7.32,
"startCapId": "[uuid]",
"endCapId": "[uuid]",
"units": {
"type": "Inches"
},
"sectional": false
}
}, },
"extrude007": { "extrude007": {
"type": "Solid", "type": "Solid",

View File

@ -113,15 +113,10 @@ description: Operations executed gridfinity-baseplate-magnets.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -258,15 +253,10 @@ description: Operations executed gridfinity-baseplate-magnets.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -412,15 +402,10 @@ description: Operations executed gridfinity-baseplate-magnets.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -1494,15 +1479,10 @@ description: Operations executed gridfinity-baseplate-magnets.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -1690,15 +1670,10 @@ description: Operations executed gridfinity-baseplate-magnets.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -113,15 +113,10 @@ description: Operations executed gridfinity-baseplate.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -258,15 +253,10 @@ description: Operations executed gridfinity-baseplate.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -412,15 +402,10 @@ description: Operations executed gridfinity-baseplate.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -113,15 +113,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -258,15 +253,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -412,15 +402,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -1236,15 +1221,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -2555,15 +2535,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -2700,15 +2675,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -2845,15 +2815,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -3102,15 +3067,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -3359,15 +3319,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -3504,15 +3459,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -12943,329 +12943,324 @@ description: Variables in memory after executing gridfinity-bins-stacking-lip.kc
} }
}, },
"binTop": { "binTop": {
"type": "HomArray", "type": "Solid",
"value": [ "value": {
{ "type": "Solid",
"type": "Solid", "id": "[uuid]",
"value": { "artifactId": "[uuid]",
"type": "Solid", "value": [
{
"faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"artifactId": "[uuid]", "sourceRange": [],
"value": [ "tag": {
{ "commentStart": 4704,
"faceId": "[uuid]", "end": 4712,
"start": 4704,
"type": "TagDeclarator",
"value": "line010"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 4783,
"end": 4791,
"start": 4783,
"type": "TagDeclarator",
"value": "line011"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 4842,
"end": 4850,
"start": 4842,
"type": "TagDeclarator",
"value": "line012"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 4869,
"end": 4877,
"start": 4869,
"type": "TagDeclarator",
"value": "line013"
},
"type": "extrudePlane"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": []
"tag": {
"commentStart": 4704,
"end": 4712,
"start": 4704,
"type": "TagDeclarator",
"value": "line010"
},
"type": "extrudePlane"
}, },
{ "from": [
"faceId": "[uuid]", 0.0,
"id": "[uuid]", 0.0
"sourceRange": [],
"tag": {
"commentStart": 4783,
"end": 4791,
"start": 4783,
"type": "TagDeclarator",
"value": "line011"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 4842,
"end": 4850,
"start": 4842,
"type": "TagDeclarator",
"value": "line012"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 4869,
"end": 4877,
"start": 4869,
"type": "TagDeclarator",
"value": "line013"
},
"type": "extrudePlane"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.0,
0.0
],
"tag": {
"commentStart": 4704,
"end": 4712,
"start": 4704,
"type": "TagDeclarator",
"value": "line010"
},
"to": [
84.0,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
84.0,
0.0
],
"tag": {
"commentStart": 4783,
"end": 4791,
"start": 4783,
"type": "TagDeclarator",
"value": "line011"
},
"to": [
84.0,
126.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
84.0,
126.0
],
"tag": {
"commentStart": 4842,
"end": 4850,
"start": 4842,
"type": "TagDeclarator",
"value": "line012"
},
"to": [
0.0,
126.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.0,
126.0
],
"tag": {
"commentStart": 4869,
"end": 4877,
"start": 4869,
"type": "TagDeclarator",
"value": "line013"
},
"to": [
0.0,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
}
], ],
"on": { "tag": {
"artifactId": "[uuid]", "commentStart": 4704,
"id": "[uuid]", "end": 4712,
"origin": { "start": 4704,
"x": 0.0, "type": "TagDeclarator",
"y": 0.0, "value": "line010"
"z": 4.75,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "Custom",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}
}, },
"start": { "to": [
"from": [ 84.0,
0.0, 0.0
0.0 ],
], "type": "ToPoint",
"to": [
0.0,
0.0
],
"units": {
"type": "Mm"
},
"tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"tags": {
"line010": {
"type": "TagIdentifier",
"value": "line010"
},
"line011": {
"type": "TagIdentifier",
"value": "line011"
},
"line012": {
"type": "TagIdentifier",
"value": "line012"
},
"line013": {
"type": "TagIdentifier",
"value": "line013"
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": { "units": {
"type": "Mm" "type": "Mm"
} }
}, },
"height": 7.0, {
"startCapId": "[uuid]", "__geoMeta": {
"endCapId": "[uuid]",
"edgeCuts": [
{
"type": "fillet",
"id": "[uuid]", "id": "[uuid]",
"radius": { "sourceRange": []
"n": 3.75,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
}, },
{ "from": [
"type": "fillet", 84.0,
"id": "[uuid]", 0.0
"radius": { ],
"n": 3.75, "tag": {
"ty": { "commentStart": 4783,
"type": "Default", "end": 4791,
"len": { "start": 4783,
"type": "Mm" "type": "TagDeclarator",
}, "value": "line011"
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
}, },
{ "to": [
"type": "fillet", 84.0,
"id": "[uuid]", 126.0
"radius": { ],
"n": 3.75, "type": "ToPoint",
"ty": { "units": {
"type": "Default", "type": "Mm"
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 3.75,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
} }
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
84.0,
126.0
],
"tag": {
"commentStart": 4842,
"end": 4850,
"start": 4842,
"type": "TagDeclarator",
"value": "line012"
},
"to": [
0.0,
126.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.0,
126.0
],
"tag": {
"commentStart": 4869,
"end": 4877,
"start": 4869,
"type": "TagDeclarator",
"value": "line013"
},
"to": [
0.0,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
}
],
"on": {
"artifactId": "[uuid]",
"id": "[uuid]",
"origin": {
"x": 0.0,
"y": 0.0,
"z": 4.75,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "Custom",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
0.0,
0.0
],
"to": [
0.0,
0.0
], ],
"units": { "units": {
"type": "Mm" "type": "Mm"
}, },
"sectional": false "tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"tags": {
"line010": {
"type": "TagIdentifier",
"value": "line010"
},
"line011": {
"type": "TagIdentifier",
"value": "line011"
},
"line012": {
"type": "TagIdentifier",
"value": "line012"
},
"line013": {
"type": "TagIdentifier",
"value": "line013"
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "Mm"
} }
} },
] "height": 7.0,
"startCapId": "[uuid]",
"endCapId": "[uuid]",
"edgeCuts": [
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 3.75,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 3.75,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 3.75,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 3.75,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
}
],
"units": {
"type": "Mm"
},
"sectional": false
}
}, },
"cornerRadius": { "cornerRadius": {
"type": "Number", "type": "Number",

View File

@ -113,15 +113,10 @@ description: Operations executed gridfinity-bins.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -258,15 +253,10 @@ description: Operations executed gridfinity-bins.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -412,15 +402,10 @@ description: Operations executed gridfinity-bins.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -1236,15 +1221,10 @@ description: Operations executed gridfinity-bins.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -12871,329 +12871,324 @@ description: Variables in memory after executing gridfinity-bins.kcl
} }
}, },
"binTop": { "binTop": {
"type": "HomArray", "type": "Solid",
"value": [ "value": {
{ "type": "Solid",
"type": "Solid", "id": "[uuid]",
"value": { "artifactId": "[uuid]",
"type": "Solid", "value": [
{
"faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"artifactId": "[uuid]", "sourceRange": [],
"value": [ "tag": {
{ "commentStart": 4474,
"faceId": "[uuid]", "end": 4482,
"start": 4474,
"type": "TagDeclarator",
"value": "line010"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 4553,
"end": 4561,
"start": 4553,
"type": "TagDeclarator",
"value": "line011"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 4612,
"end": 4620,
"start": 4612,
"type": "TagDeclarator",
"value": "line012"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 4639,
"end": 4647,
"start": 4639,
"type": "TagDeclarator",
"value": "line013"
},
"type": "extrudePlane"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": []
"tag": {
"commentStart": 4474,
"end": 4482,
"start": 4474,
"type": "TagDeclarator",
"value": "line010"
},
"type": "extrudePlane"
}, },
{ "from": [
"faceId": "[uuid]", 0.0,
"id": "[uuid]", 0.0
"sourceRange": [],
"tag": {
"commentStart": 4553,
"end": 4561,
"start": 4553,
"type": "TagDeclarator",
"value": "line011"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 4612,
"end": 4620,
"start": 4612,
"type": "TagDeclarator",
"value": "line012"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 4639,
"end": 4647,
"start": 4639,
"type": "TagDeclarator",
"value": "line013"
},
"type": "extrudePlane"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.0,
0.0
],
"tag": {
"commentStart": 4474,
"end": 4482,
"start": 4474,
"type": "TagDeclarator",
"value": "line010"
},
"to": [
84.0,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
84.0,
0.0
],
"tag": {
"commentStart": 4553,
"end": 4561,
"start": 4553,
"type": "TagDeclarator",
"value": "line011"
},
"to": [
84.0,
126.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
84.0,
126.0
],
"tag": {
"commentStart": 4612,
"end": 4620,
"start": 4612,
"type": "TagDeclarator",
"value": "line012"
},
"to": [
0.0,
126.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.0,
126.0
],
"tag": {
"commentStart": 4639,
"end": 4647,
"start": 4639,
"type": "TagDeclarator",
"value": "line013"
},
"to": [
0.0,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
}
], ],
"on": { "tag": {
"artifactId": "[uuid]", "commentStart": 4474,
"id": "[uuid]", "end": 4482,
"origin": { "start": 4474,
"x": 0.0, "type": "TagDeclarator",
"y": 0.0, "value": "line010"
"z": 4.75,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "Custom",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}
}, },
"start": { "to": [
"from": [ 84.0,
0.0, 0.0
0.0 ],
], "type": "ToPoint",
"to": [
0.0,
0.0
],
"units": {
"type": "Mm"
},
"tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"tags": {
"line010": {
"type": "TagIdentifier",
"value": "line010"
},
"line011": {
"type": "TagIdentifier",
"value": "line011"
},
"line012": {
"type": "TagIdentifier",
"value": "line012"
},
"line013": {
"type": "TagIdentifier",
"value": "line013"
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": { "units": {
"type": "Mm" "type": "Mm"
} }
}, },
"height": 14.0, {
"startCapId": "[uuid]", "__geoMeta": {
"endCapId": "[uuid]",
"edgeCuts": [
{
"type": "fillet",
"id": "[uuid]", "id": "[uuid]",
"radius": { "sourceRange": []
"n": 3.75,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
}, },
{ "from": [
"type": "fillet", 84.0,
"id": "[uuid]", 0.0
"radius": { ],
"n": 3.75, "tag": {
"ty": { "commentStart": 4553,
"type": "Default", "end": 4561,
"len": { "start": 4553,
"type": "Mm" "type": "TagDeclarator",
}, "value": "line011"
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
}, },
{ "to": [
"type": "fillet", 84.0,
"id": "[uuid]", 126.0
"radius": { ],
"n": 3.75, "type": "ToPoint",
"ty": { "units": {
"type": "Default", "type": "Mm"
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 3.75,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
} }
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
84.0,
126.0
],
"tag": {
"commentStart": 4612,
"end": 4620,
"start": 4612,
"type": "TagDeclarator",
"value": "line012"
},
"to": [
0.0,
126.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.0,
126.0
],
"tag": {
"commentStart": 4639,
"end": 4647,
"start": 4639,
"type": "TagDeclarator",
"value": "line013"
},
"to": [
0.0,
0.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
}
],
"on": {
"artifactId": "[uuid]",
"id": "[uuid]",
"origin": {
"x": 0.0,
"y": 0.0,
"z": 4.75,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "Custom",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
0.0,
0.0
],
"to": [
0.0,
0.0
], ],
"units": { "units": {
"type": "Mm" "type": "Mm"
}, },
"sectional": false "tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"tags": {
"line010": {
"type": "TagIdentifier",
"value": "line010"
},
"line011": {
"type": "TagIdentifier",
"value": "line011"
},
"line012": {
"type": "TagIdentifier",
"value": "line012"
},
"line013": {
"type": "TagIdentifier",
"value": "line013"
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "Mm"
} }
} },
] "height": 14.0,
"startCapId": "[uuid]",
"endCapId": "[uuid]",
"edgeCuts": [
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 3.75,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 3.75,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 3.75,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 3.75,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
}
],
"units": {
"type": "Mm"
},
"sectional": false
}
}, },
"cornerRadius": { "cornerRadius": {
"type": "Number", "type": "Number",

View File

@ -526,15 +526,10 @@ description: Operations executed hammer.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -1344,275 +1344,270 @@ description: Variables in memory after executing hammer.kcl
} }
}, },
"handle": { "handle": {
"type": "HomArray", "type": "Solid",
"value": [ "value": {
{ "type": "Solid",
"type": "Solid", "id": "[uuid]",
"value": { "artifactId": "[uuid]",
"type": "Solid", "value": [
{
"faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"artifactId": "[uuid]", "sourceRange": [],
"value": [ "tag": null,
{ "type": "extrudePlane"
"faceId": "[uuid]", },
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudeArc"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudeArc"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudeArc"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": []
"tag": null,
"type": "extrudePlane"
}, },
{ "from": [
"faceId": "[uuid]", 0.01,
"id": "[uuid]", 0.0
"sourceRange": [],
"tag": null,
"type": "extrudeArc"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudeArc"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudeArc"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.01,
0.0
],
"tag": null,
"to": [
0.573,
0.0
],
"type": "ToPoint",
"units": {
"type": "Inches"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"ccw": true,
"center": [
0.573,
0.05
],
"from": [
0.573,
0.0
],
"tag": null,
"to": [
0.623,
0.05
],
"type": "TangentialArc",
"units": {
"type": "Inches"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"ccw": true,
"center": [
-127.868,
0.05
],
"from": [
0.623,
0.05
],
"tag": null,
"to": [
0.38,
7.94
],
"type": "TangentialArcTo",
"units": {
"type": "Inches"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"ccw": false,
"center": [
59.745,
11.593
],
"from": [
0.38,
7.94
],
"tag": null,
"to": [
0.28,
12.8
],
"type": "TangentialArcTo",
"units": {
"type": "Inches"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.28,
12.8
],
"tag": null,
"to": [
0.01,
12.8
],
"type": "ToPoint",
"units": {
"type": "Inches"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.01,
12.8
],
"tag": null,
"to": [
0.01,
0.0
],
"type": "ToPoint",
"units": {
"type": "Inches"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.01,
0.0
],
"tag": null,
"to": [
0.01,
0.0
],
"type": "ToPoint",
"units": {
"type": "Inches"
}
}
], ],
"on": { "tag": null,
"artifactId": "[uuid]", "to": [
"id": "[uuid]", 0.573,
"origin": { 0.0
"x": 0.0, ],
"y": 0.0, "type": "ToPoint",
"z": 0.0,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "XZ",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
0.01,
0.0
],
"to": [
0.01,
0.0
],
"units": {
"type": "Inches"
},
"tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": { "units": {
"type": "Inches" "type": "Inches"
} }
}, },
"height": 0.0, {
"startCapId": null, "__geoMeta": {
"endCapId": null, "id": "[uuid]",
"sourceRange": []
},
"ccw": true,
"center": [
0.573,
0.05
],
"from": [
0.573,
0.0
],
"tag": null,
"to": [
0.623,
0.05
],
"type": "TangentialArc",
"units": {
"type": "Inches"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"ccw": true,
"center": [
-127.868,
0.05
],
"from": [
0.623,
0.05
],
"tag": null,
"to": [
0.38,
7.94
],
"type": "TangentialArcTo",
"units": {
"type": "Inches"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"ccw": false,
"center": [
59.745,
11.593
],
"from": [
0.38,
7.94
],
"tag": null,
"to": [
0.28,
12.8
],
"type": "TangentialArcTo",
"units": {
"type": "Inches"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.28,
12.8
],
"tag": null,
"to": [
0.01,
12.8
],
"type": "ToPoint",
"units": {
"type": "Inches"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.01,
12.8
],
"tag": null,
"to": [
0.01,
0.0
],
"type": "ToPoint",
"units": {
"type": "Inches"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
0.01,
0.0
],
"tag": null,
"to": [
0.01,
0.0
],
"type": "ToPoint",
"units": {
"type": "Inches"
}
}
],
"on": {
"artifactId": "[uuid]",
"id": "[uuid]",
"origin": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "XZ",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
0.01,
0.0
],
"to": [
0.01,
0.0
],
"units": { "units": {
"type": "Inches" "type": "Inches"
}, },
"sectional": false "tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "Inches"
} }
} },
] "height": 0.0,
"startCapId": null,
"endCapId": null,
"units": {
"type": "Inches"
},
"sectional": false
}
}, },
"handleHole": { "handleHole": {
"type": "Solid", "type": "Solid",

View File

@ -21,15 +21,10 @@ description: Operations executed helium-tank.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -716,15 +711,10 @@ description: Operations executed helium-tank.kcl
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }
@ -762,15 +752,10 @@ description: Operations executed helium-tank.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -53,15 +53,10 @@ description: Operations executed keyboard.kcl
"name": "fillet", "name": "fillet",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -4752,15 +4747,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -4847,15 +4837,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -4942,15 +4927,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -5037,15 +5017,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -5132,15 +5107,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -5227,15 +5197,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -5322,15 +5287,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -5417,15 +5377,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -5512,15 +5467,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -5607,15 +5557,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -5702,15 +5647,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -5797,15 +5737,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -5892,15 +5827,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -5987,15 +5917,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -6082,15 +6007,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -6177,15 +6097,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -6272,15 +6187,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -6367,15 +6277,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -6462,15 +6367,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -6557,15 +6457,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -6652,15 +6547,10 @@ description: Operations executed keyboard.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -17014,220 +17014,215 @@ description: Variables in memory after executing pdu-faceplate.kcl
} }
}, },
"switchButtonBody": { "switchButtonBody": {
"type": "HomArray", "type": "Solid",
"value": [ "value": {
{ "type": "Solid",
"type": "Solid", "id": "[uuid]",
"value": { "artifactId": "[uuid]",
"type": "Solid", "value": [
{
"faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"artifactId": "[uuid]", "sourceRange": [],
"value": [ "tag": null,
{ "type": "extrudePlane"
"faceId": "[uuid]", },
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudeArc"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": []
"tag": null,
"type": "extrudePlane"
}, },
{ "from": [
"faceId": "[uuid]", 3.0,
"id": "[uuid]", 13.0
"sourceRange": [],
"tag": null,
"type": "extrudeArc"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
3.0,
13.0
],
"tag": null,
"to": [
6.0,
12.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
6.0,
12.0
],
"p1": [
6.0,
12.0
],
"p2": [
6.0,
0.0
],
"p3": [
12.0,
-9.0
],
"tag": null,
"to": [
12.0,
-9.0
],
"type": "ArcThreePoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
12.0,
-9.0
],
"tag": null,
"to": [
3.0,
-13.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
3.0,
-13.0
],
"tag": null,
"to": [
3.0,
13.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
3.0,
13.0
],
"tag": null,
"to": [
3.0,
13.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
}
], ],
"on": { "tag": null,
"artifactId": "[uuid]", "to": [
"id": "[uuid]", 6.0,
"origin": { 12.0
"x": 7.5, ],
"y": 0.0, "type": "ToPoint",
"z": 0.0,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "Custom",
"xAxis": {
"x": 0.0,
"y": -1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
3.0,
13.0
],
"to": [
3.0,
13.0
],
"units": {
"type": "Mm"
},
"tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": { "units": {
"type": "Mm" "type": "Mm"
} }
}, },
"height": 15.0, {
"startCapId": "[uuid]", "__geoMeta": {
"endCapId": "[uuid]", "id": "[uuid]",
"sourceRange": []
},
"from": [
6.0,
12.0
],
"p1": [
6.0,
12.0
],
"p2": [
6.0,
0.0
],
"p3": [
12.0,
-9.0
],
"tag": null,
"to": [
12.0,
-9.0
],
"type": "ArcThreePoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
12.0,
-9.0
],
"tag": null,
"to": [
3.0,
-13.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
3.0,
-13.0
],
"tag": null,
"to": [
3.0,
13.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
3.0,
13.0
],
"tag": null,
"to": [
3.0,
13.0
],
"type": "ToPoint",
"units": {
"type": "Mm"
}
}
],
"on": {
"artifactId": "[uuid]",
"id": "[uuid]",
"origin": {
"x": 7.5,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "Custom",
"xAxis": {
"x": 0.0,
"y": -1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
3.0,
13.0
],
"to": [
3.0,
13.0
],
"units": { "units": {
"type": "Mm" "type": "Mm"
}, },
"sectional": false "tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "Mm"
} }
} },
] "height": 15.0,
"startCapId": "[uuid]",
"endCapId": "[uuid]",
"units": {
"type": "Mm"
},
"sectional": false
}
}, },
"switchButtonHeight": { "switchButtonHeight": {
"type": "Number", "type": "Number",

View File

@ -104,15 +104,10 @@ description: Operations executed pipe-flange-assembly.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -373,15 +368,10 @@ description: Operations executed pipe-flange-assembly.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -529,15 +519,10 @@ description: Operations executed pipe-flange-assembly.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -46,15 +46,10 @@ description: Operations executed pipe-with-bend.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -4,217 +4,212 @@ description: Variables in memory after executing pipe.kcl
--- ---
{ {
"pipe": { "pipe": {
"type": "HomArray", "type": "Solid",
"value": [ "value": {
{ "type": "Solid",
"type": "Solid", "id": "[uuid]",
"value": { "artifactId": "[uuid]",
"type": "Solid", "value": [
{
"faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"artifactId": "[uuid]", "sourceRange": [],
"value": [ "tag": null,
{ "type": "extrudeArc"
"faceId": "[uuid]", }
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": []
"tag": null, },
"type": "extrudeArc" "ccw": true,
} "center": [
], 0.0,
"sketch": { 0.0
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"ccw": true,
"center": [
0.0,
0.0
],
"from": [
1.0,
0.0
],
"radius": 1.0,
"tag": null,
"to": [
1.0,
0.0
],
"type": "Circle",
"units": {
"type": "Inches"
}
}
], ],
"on": { "from": [
"type": "face", 1.0,
"id": "[uuid]", 0.0
"artifactId": "[uuid]", ],
"value": "end", "radius": 1.0,
"xAxis": { "tag": null,
"x": 1.0, "to": [
"y": 0.0, 1.0,
"z": 0.0, 0.0
"units": { ],
"type": "Unknown" "type": "Circle",
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0,
"units": {
"type": "Unknown"
}
},
"solid": {
"type": "Solid",
"id": "[uuid]",
"artifactId": "[uuid]",
"value": [
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudeArc"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"ccw": true,
"center": [
0.0,
0.0
],
"from": [
1.188,
0.0
],
"radius": 1.1875,
"tag": null,
"to": [
1.188,
0.0
],
"type": "Circle",
"units": {
"type": "Inches"
}
}
],
"on": {
"artifactId": "[uuid]",
"id": "[uuid]",
"origin": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "XZ",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
1.188,
0.0
],
"to": [
1.188,
0.0
],
"units": {
"type": "Inches"
},
"tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "Inches"
}
},
"height": 6.0,
"startCapId": "[uuid]",
"endCapId": "[uuid]",
"units": {
"type": "Inches"
},
"sectional": false
},
"units": {
"type": "Inches"
}
},
"start": {
"from": [
1.0,
0.0
],
"to": [
1.0,
0.0
],
"units": {
"type": "Inches"
},
"tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": { "units": {
"type": "Inches" "type": "Inches"
} }
}
],
"on": {
"type": "face",
"id": "[uuid]",
"artifactId": "[uuid]",
"value": "end",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}, },
"height": -6.0, "yAxis": {
"startCapId": null, "x": 0.0,
"endCapId": null, "y": 0.0,
"z": 1.0,
"units": {
"type": "Unknown"
}
},
"solid": {
"type": "Solid",
"id": "[uuid]",
"artifactId": "[uuid]",
"value": [
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudeArc"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"ccw": true,
"center": [
0.0,
0.0
],
"from": [
1.188,
0.0
],
"radius": 1.1875,
"tag": null,
"to": [
1.188,
0.0
],
"type": "Circle",
"units": {
"type": "Inches"
}
}
],
"on": {
"artifactId": "[uuid]",
"id": "[uuid]",
"origin": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "XZ",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
1.188,
0.0
],
"to": [
1.188,
0.0
],
"units": {
"type": "Inches"
},
"tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "Inches"
}
},
"height": 6.0,
"startCapId": "[uuid]",
"endCapId": "[uuid]",
"units": {
"type": "Inches"
},
"sectional": false
},
"units": {
"type": "Inches"
}
},
"start": {
"from": [
1.0,
0.0
],
"to": [
1.0,
0.0
],
"units": { "units": {
"type": "Inches" "type": "Inches"
}, },
"sectional": false "tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "Inches"
} }
} },
] "height": -6.0,
"startCapId": null,
"endCapId": null,
"units": {
"type": "Inches"
},
"sectional": false
}
}, },
"pipeBase": { "pipeBase": {
"type": "Solid", "type": "Solid",

View File

@ -21,15 +21,10 @@ description: Operations executed poopy-shoe.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -297,15 +297,10 @@ description: Operations executed shepherds-hook-bolt.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -4,311 +4,306 @@ description: Variables in memory after executing socket-head-cap-screw.kcl
--- ---
{ {
"boltBody": { "boltBody": {
"type": "HomArray", "type": "Solid",
"value": [ "value": {
{ "type": "Solid",
"type": "Solid", "id": "[uuid]",
"value": { "artifactId": "[uuid]",
"type": "Solid", "value": [
{
"faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"artifactId": "[uuid]", "sourceRange": [],
"value": [ "tag": {
{ "commentStart": 1519,
"faceId": "[uuid]", "end": 1530,
"start": 1519,
"type": "TagDeclarator",
"value": "filletEdge"
},
"type": "extrudeArc"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": []
"tag": { },
"commentStart": 1519, "ccw": true,
"end": 1530, "center": [
"start": 1519, 0.0,
"type": "TagDeclarator", 0.0
"value": "filletEdge"
},
"type": "extrudeArc"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"ccw": true,
"center": [
0.0,
0.0
],
"from": [
0.095,
0.0
],
"radius": 0.095,
"tag": {
"commentStart": 1519,
"end": 1530,
"start": 1519,
"type": "TagDeclarator",
"value": "filletEdge"
},
"to": [
0.095,
0.0
],
"type": "Circle",
"units": {
"type": "Inches"
}
}
], ],
"on": { "from": [
"type": "face", 0.095,
"id": "[uuid]", 0.0
"artifactId": "[uuid]", ],
"value": "end", "radius": 0.095,
"xAxis": { "tag": {
"x": 1.0, "commentStart": 1519,
"y": 0.0, "end": 1530,
"z": 0.0, "start": 1519,
"units": { "type": "TagDeclarator",
"type": "Unknown" "value": "filletEdge"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0,
"units": {
"type": "Unknown"
}
},
"solid": {
"type": "Solid",
"id": "[uuid]",
"artifactId": "[uuid]",
"value": [
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 744,
"end": 752,
"start": 744,
"type": "TagDeclarator",
"value": "topEdge"
},
"type": "extrudeArc"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"ccw": true,
"center": [
0.0,
0.0
],
"from": [
0.157,
0.0
],
"radius": 0.1565,
"tag": {
"commentStart": 744,
"end": 752,
"start": 744,
"type": "TagDeclarator",
"value": "topEdge"
},
"to": [
0.157,
0.0
],
"type": "Circle",
"units": {
"type": "Inches"
}
}
],
"on": {
"artifactId": "[uuid]",
"id": "[uuid]",
"origin": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "XZ",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
0.157,
0.0
],
"to": [
0.157,
0.0
],
"units": {
"type": "Inches"
},
"tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"tags": {
"topEdge": {
"type": "TagIdentifier",
"value": "topEdge"
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "Inches"
}
},
"height": -0.19,
"startCapId": "[uuid]",
"endCapId": "[uuid]",
"edgeCuts": [
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 0.02,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 0.02,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
}
],
"units": {
"type": "Inches"
},
"sectional": false
},
"units": {
"type": "Inches"
}
}, },
"start": { "to": [
"from": [ 0.095,
0.095, 0.0
0.0 ],
], "type": "Circle",
"to": [
0.095,
0.0
],
"units": {
"type": "Inches"
},
"tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"tags": {
"filletEdge": {
"type": "TagIdentifier",
"value": "filletEdge"
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": { "units": {
"type": "Inches" "type": "Inches"
} }
}
],
"on": {
"type": "face",
"id": "[uuid]",
"artifactId": "[uuid]",
"value": "end",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}, },
"height": 1.0, "yAxis": {
"startCapId": null, "x": 0.0,
"endCapId": "[uuid]", "y": 0.0,
"edgeCuts": [ "z": 1.0,
{ "units": {
"type": "fillet", "type": "Unknown"
}
},
"solid": {
"type": "Solid",
"id": "[uuid]",
"artifactId": "[uuid]",
"value": [
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 744,
"end": 752,
"start": 744,
"type": "TagDeclarator",
"value": "topEdge"
},
"type": "extrudeArc"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]", "id": "[uuid]",
"radius": { "paths": [
"n": 0.02, {
"ty": { "__geoMeta": {
"type": "Default", "id": "[uuid]",
"len": { "sourceRange": []
"type": "Inches"
}, },
"angle": { "ccw": true,
"type": "Degrees" "center": [
0.0,
0.0
],
"from": [
0.157,
0.0
],
"radius": 0.1565,
"tag": {
"commentStart": 744,
"end": 752,
"start": 744,
"type": "TagDeclarator",
"value": "topEdge"
},
"to": [
0.157,
0.0
],
"type": "Circle",
"units": {
"type": "Inches"
}
}
],
"on": {
"artifactId": "[uuid]",
"id": "[uuid]",
"origin": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "XZ",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0,
"units": {
"type": "Unknown"
} }
} }
}, },
"edgeId": "[uuid]", "start": {
"tag": null "from": [
} 0.157,
0.0
],
"to": [
0.157,
0.0
],
"units": {
"type": "Inches"
},
"tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"tags": {
"topEdge": {
"type": "TagIdentifier",
"value": "topEdge"
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "Inches"
}
},
"height": -0.19,
"startCapId": "[uuid]",
"endCapId": "[uuid]",
"edgeCuts": [
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 0.02,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 0.02,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
}
],
"units": {
"type": "Inches"
},
"sectional": false
},
"units": {
"type": "Inches"
}
},
"start": {
"from": [
0.095,
0.0
],
"to": [
0.095,
0.0
], ],
"units": { "units": {
"type": "Inches" "type": "Inches"
}, },
"sectional": false "tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"tags": {
"filletEdge": {
"type": "TagIdentifier",
"value": "filletEdge"
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "Inches"
} }
} },
] "height": 1.0,
"startCapId": null,
"endCapId": "[uuid]",
"edgeCuts": [
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 0.02,
"ty": {
"type": "Default",
"len": {
"type": "Inches"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
}
],
"units": {
"type": "Inches"
},
"sectional": false
}
}, },
"boltDiameter": { "boltDiameter": {
"type": "Number", "type": "Number",

View File

@ -17,208 +17,203 @@ description: Variables in memory after executing spinning-highrise-tower.kcl
} }
}, },
"baseSlab": { "baseSlab": {
"type": "HomArray", "type": "Solid",
"value": [ "value": {
{ "type": "Solid",
"type": "Solid", "id": "[uuid]",
"value": { "artifactId": "[uuid]",
"type": "Solid", "value": [
{
"faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"artifactId": "[uuid]", "sourceRange": [],
"value": [ "tag": null,
{ "type": "extrudePlane"
"faceId": "[uuid]", },
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": []
"tag": null,
"type": "extrudePlane"
}, },
{ "from": [
"faceId": "[uuid]", -15.0,
"id": "[uuid]", -15.0
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
-15.0,
-15.0
],
"tag": null,
"to": [
-15.0,
15.0
],
"type": "ToPoint",
"units": {
"type": "M"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
-15.0,
15.0
],
"tag": null,
"to": [
15.0,
15.0
],
"type": "ToPoint",
"units": {
"type": "M"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
15.0,
15.0
],
"tag": null,
"to": [
15.0,
-15.0
],
"type": "ToPoint",
"units": {
"type": "M"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
15.0,
-15.0
],
"tag": null,
"to": [
-15.0,
-15.0
],
"type": "ToPoint",
"units": {
"type": "M"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
-15.0,
-15.0
],
"tag": null,
"to": [
-15.0,
-15.0
],
"type": "ToPoint",
"units": {
"type": "M"
}
}
], ],
"on": { "tag": null,
"artifactId": "[uuid]", "to": [
"id": "[uuid]", -15.0,
"origin": { 15.0
"x": 0.0, ],
"y": 0.0, "type": "ToPoint",
"z": 0.0,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "XY",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
-15.0,
-15.0
],
"to": [
-15.0,
-15.0
],
"units": {
"type": "M"
},
"tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": { "units": {
"type": "M" "type": "M"
} }
}, },
"height": -0.2, {
"startCapId": "[uuid]", "__geoMeta": {
"endCapId": "[uuid]", "id": "[uuid]",
"sourceRange": []
},
"from": [
-15.0,
15.0
],
"tag": null,
"to": [
15.0,
15.0
],
"type": "ToPoint",
"units": {
"type": "M"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
15.0,
15.0
],
"tag": null,
"to": [
15.0,
-15.0
],
"type": "ToPoint",
"units": {
"type": "M"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
15.0,
-15.0
],
"tag": null,
"to": [
-15.0,
-15.0
],
"type": "ToPoint",
"units": {
"type": "M"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
-15.0,
-15.0
],
"tag": null,
"to": [
-15.0,
-15.0
],
"type": "ToPoint",
"units": {
"type": "M"
}
}
],
"on": {
"artifactId": "[uuid]",
"id": "[uuid]",
"origin": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "XY",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
-15.0,
-15.0
],
"to": [
-15.0,
-15.0
],
"units": { "units": {
"type": "M" "type": "M"
}, },
"sectional": false "tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "M"
} }
} },
] "height": -0.2,
"startCapId": "[uuid]",
"endCapId": "[uuid]",
"units": {
"type": "M"
},
"sectional": false
}
}, },
"baseThickness": { "baseThickness": {
"type": "Number", "type": "Number",
@ -3942,208 +3937,203 @@ description: Variables in memory after executing spinning-highrise-tower.kcl
} }
}, },
"groundBody": { "groundBody": {
"type": "HomArray", "type": "Solid",
"value": [ "value": {
{ "type": "Solid",
"type": "Solid", "id": "[uuid]",
"value": { "artifactId": "[uuid]",
"type": "Solid", "value": [
{
"faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"artifactId": "[uuid]", "sourceRange": [],
"value": [ "tag": null,
{ "type": "extrudePlane"
"faceId": "[uuid]", },
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": []
"tag": null,
"type": "extrudePlane"
}, },
{ "from": [
"faceId": "[uuid]", -25.0,
"id": "[uuid]", -25.0
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": null,
"type": "extrudePlane"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
-25.0,
-25.0
],
"tag": null,
"to": [
-25.0,
25.0
],
"type": "ToPoint",
"units": {
"type": "M"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
-25.0,
25.0
],
"tag": null,
"to": [
25.0,
25.0
],
"type": "ToPoint",
"units": {
"type": "M"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
25.0,
25.0
],
"tag": null,
"to": [
25.0,
-25.0
],
"type": "ToPoint",
"units": {
"type": "M"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
25.0,
-25.0
],
"tag": null,
"to": [
-25.0,
-25.0
],
"type": "ToPoint",
"units": {
"type": "M"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
-25.0,
-25.0
],
"tag": null,
"to": [
-25.0,
-25.0
],
"type": "ToPoint",
"units": {
"type": "M"
}
}
], ],
"on": { "tag": null,
"artifactId": "[uuid]", "to": [
"id": "[uuid]", -25.0,
"origin": { 25.0
"x": 0.0, ],
"y": 0.0, "type": "ToPoint",
"z": -200.0,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "Custom",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
-25.0,
-25.0
],
"to": [
-25.0,
-25.0
],
"units": {
"type": "M"
},
"tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": { "units": {
"type": "M" "type": "M"
} }
}, },
"height": -5.0, {
"startCapId": "[uuid]", "__geoMeta": {
"endCapId": "[uuid]", "id": "[uuid]",
"sourceRange": []
},
"from": [
-25.0,
25.0
],
"tag": null,
"to": [
25.0,
25.0
],
"type": "ToPoint",
"units": {
"type": "M"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
25.0,
25.0
],
"tag": null,
"to": [
25.0,
-25.0
],
"type": "ToPoint",
"units": {
"type": "M"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
25.0,
-25.0
],
"tag": null,
"to": [
-25.0,
-25.0
],
"type": "ToPoint",
"units": {
"type": "M"
}
},
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"from": [
-25.0,
-25.0
],
"tag": null,
"to": [
-25.0,
-25.0
],
"type": "ToPoint",
"units": {
"type": "M"
}
}
],
"on": {
"artifactId": "[uuid]",
"id": "[uuid]",
"origin": {
"x": 0.0,
"y": 0.0,
"z": -200.0,
"units": {
"type": "Mm"
}
},
"type": "plane",
"value": "Custom",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
-25.0,
-25.0
],
"to": [
-25.0,
-25.0
],
"units": { "units": {
"type": "M" "type": "M"
}, },
"sectional": false "tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "M"
} }
} },
] "height": -5.0,
"startCapId": "[uuid]",
"endCapId": "[uuid]",
"units": {
"type": "M"
},
"sectional": false
}
}, },
"groundSize": { "groundSize": {
"type": "Number", "type": "Number",

View File

@ -209,15 +209,10 @@ description: Operations executed surgical-drill-guide.kcl
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }

View File

@ -1715,410 +1715,400 @@ description: Variables in memory after executing surgical-drill-guide.kcl
"value": "capStart003" "value": "capStart003"
}, },
"grip01": { "grip01": {
"type": "HomArray", "type": "Solid",
"value": [ "value": {
{ "type": "Solid",
"type": "Solid", "id": "[uuid]",
"value": { "artifactId": "[uuid]",
"type": "Solid", "value": [
{
"faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"artifactId": "[uuid]", "sourceRange": [],
"value": [ "tag": {
{ "commentStart": 2743,
"faceId": "[uuid]", "end": 2749,
"start": 2743,
"type": "TagDeclarator",
"value": "seg11"
},
"type": "extrudeArc"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 2896,
"end": 2908,
"start": 2896,
"type": "TagDeclarator",
"value": "capStart003"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 2873,
"end": 2883,
"start": 2873,
"type": "TagDeclarator",
"value": "capEnd005"
},
"type": "extrudePlane"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": []
"tag": {
"commentStart": 2743,
"end": 2749,
"start": 2743,
"type": "TagDeclarator",
"value": "seg11"
},
"type": "extrudeArc"
}, },
{ "ccw": true,
"faceId": "[uuid]", "center": [
"id": "[uuid]", 0.0,
"sourceRange": [], 53.151
"tag": {
"commentStart": 2896,
"end": 2908,
"start": 2896,
"type": "TagDeclarator",
"value": "capStart003"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 2873,
"end": 2883,
"start": 2873,
"type": "TagDeclarator",
"value": "capEnd005"
},
"type": "extrudePlane"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"ccw": true,
"center": [
0.0,
53.151
],
"from": [
16.216,
53.151
],
"radius": 16.216216216216214,
"tag": {
"commentStart": 2743,
"end": 2749,
"start": 2743,
"type": "TagDeclarator",
"value": "seg11"
},
"to": [
16.216,
53.151
],
"type": "Circle",
"units": {
"type": "Mm"
}
}
], ],
"on": { "from": [
"artifactId": "[uuid]", 16.216,
"id": "[uuid]", 53.151
"origin": { ],
"x": 0.0, "radius": 16.216216216216214,
"y": -47.495, "tag": {
"z": 0.0, "commentStart": 2743,
"units": { "end": 2749,
"type": "Mm" "start": 2743,
} "type": "TagDeclarator",
}, "value": "seg11"
"type": "plane",
"value": "Custom",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0,
"units": {
"type": "Unknown"
}
}
}, },
"start": { "to": [
"from": [ 16.216,
16.216, 53.151
53.151 ],
], "type": "Circle",
"to": [ "units": {
16.216, "type": "Mm"
53.151 }
], }
"units": { ],
"type": "Mm" "on": {
}, "artifactId": "[uuid]",
"tag": null, "id": "[uuid]",
"__geoMeta": { "origin": {
"id": "[uuid]", "x": 0.0,
"sourceRange": [] "y": -47.495,
} "z": 0.0,
},
"tags": {
"capEnd005": {
"type": "TagIdentifier",
"value": "capEnd005"
},
"capStart003": {
"type": "TagIdentifier",
"value": "capStart003"
},
"seg11": {
"type": "TagIdentifier",
"value": "seg11"
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": { "units": {
"type": "Mm" "type": "Mm"
} }
}, },
"height": -10.0, "type": "plane",
"startCapId": "[uuid]", "value": "Custom",
"endCapId": "[uuid]", "xAxis": {
"edgeCuts": [ "x": 1.0,
{ "y": 0.0,
"type": "fillet", "z": 0.0,
"id": "[uuid]", "units": {
"radius": { "type": "Unknown"
"n": 1.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 1.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
} }
},
"yAxis": {
"x": 0.0,
"y": 0.0,
"z": 1.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
16.216,
53.151
],
"to": [
16.216,
53.151
], ],
"units": { "units": {
"type": "Mm" "type": "Mm"
}, },
"sectional": false "tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"tags": {
"capEnd005": {
"type": "TagIdentifier",
"value": "capEnd005"
},
"capStart003": {
"type": "TagIdentifier",
"value": "capStart003"
},
"seg11": {
"type": "TagIdentifier",
"value": "seg11"
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "Mm"
} }
} },
] "height": -10.0,
"startCapId": "[uuid]",
"endCapId": "[uuid]",
"edgeCuts": [
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 1.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 1.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
}
],
"units": {
"type": "Mm"
},
"sectional": false
}
}, },
"grip02": { "grip02": {
"type": "HomArray", "type": "Solid",
"value": [ "value": {
{ "type": "Solid",
"type": "Solid", "id": "[uuid]",
"value": { "artifactId": "[uuid]",
"type": "Solid", "value": [
{
"faceId": "[uuid]",
"id": "[uuid]", "id": "[uuid]",
"artifactId": "[uuid]", "sourceRange": [],
"value": [ "tag": {
{ "commentStart": 4073,
"faceId": "[uuid]", "end": 4079,
"start": 4073,
"type": "TagDeclarator",
"value": "seg08"
},
"type": "extrudeArc"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 4200,
"end": 4212,
"start": 4200,
"type": "TagDeclarator",
"value": "capStart002"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 4223,
"end": 4233,
"start": 4223,
"type": "TagDeclarator",
"value": "capEnd002"
},
"type": "extrudePlane"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]", "id": "[uuid]",
"sourceRange": [], "sourceRange": []
"tag": {
"commentStart": 4073,
"end": 4079,
"start": 4073,
"type": "TagDeclarator",
"value": "seg08"
},
"type": "extrudeArc"
}, },
{ "ccw": true,
"faceId": "[uuid]", "center": [
"id": "[uuid]", 0.0,
"sourceRange": [], 150.0
"tag": {
"commentStart": 4200,
"end": 4212,
"start": 4200,
"type": "TagDeclarator",
"value": "capStart002"
},
"type": "extrudePlane"
},
{
"faceId": "[uuid]",
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 4223,
"end": 4233,
"start": 4223,
"type": "TagDeclarator",
"value": "capEnd002"
},
"type": "extrudePlane"
}
],
"sketch": {
"type": "Sketch",
"id": "[uuid]",
"paths": [
{
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
},
"ccw": true,
"center": [
0.0,
150.0
],
"from": [
16.216,
150.0
],
"radius": 16.216216216216214,
"tag": {
"commentStart": 4073,
"end": 4079,
"start": 4073,
"type": "TagDeclarator",
"value": "seg08"
},
"to": [
16.216,
150.0
],
"type": "Circle",
"units": {
"type": "Mm"
}
}
], ],
"on": { "from": [
"artifactId": "[uuid]", 16.216,
"id": "[uuid]", 150.0
"origin": { ],
"x": 0.0, "radius": 16.216216216216214,
"y": 0.0, "tag": {
"z": -3.0, "commentStart": 4073,
"units": { "end": 4079,
"type": "Mm" "start": 4073,
} "type": "TagDeclarator",
}, "value": "seg08"
"type": "plane",
"value": "Custom",
"xAxis": {
"x": 1.0,
"y": 0.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
},
"yAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}
}, },
"start": { "to": [
"from": [ 16.216,
16.216, 150.0
150.0 ],
], "type": "Circle",
"to": [ "units": {
16.216, "type": "Mm"
150.0 }
], }
"units": { ],
"type": "Mm" "on": {
}, "artifactId": "[uuid]",
"tag": null, "id": "[uuid]",
"__geoMeta": { "origin": {
"id": "[uuid]", "x": 0.0,
"sourceRange": [] "y": 0.0,
} "z": -3.0,
},
"tags": {
"capEnd002": {
"type": "TagIdentifier",
"value": "capEnd002"
},
"capStart002": {
"type": "TagIdentifier",
"value": "capStart002"
},
"seg08": {
"type": "TagIdentifier",
"value": "seg08"
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": { "units": {
"type": "Mm" "type": "Mm"
} }
}, },
"height": -10.0, "type": "plane",
"startCapId": "[uuid]", "value": "Custom",
"endCapId": "[uuid]", "xAxis": {
"edgeCuts": [ "x": 1.0,
{ "y": 0.0,
"type": "fillet", "z": 0.0,
"id": "[uuid]", "units": {
"radius": { "type": "Unknown"
"n": 1.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 1.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
} }
},
"yAxis": {
"x": 0.0,
"y": 1.0,
"z": 0.0,
"units": {
"type": "Unknown"
}
}
},
"start": {
"from": [
16.216,
150.0
],
"to": [
16.216,
150.0
], ],
"units": { "units": {
"type": "Mm" "type": "Mm"
}, },
"sectional": false "tag": null,
"__geoMeta": {
"id": "[uuid]",
"sourceRange": []
}
},
"tags": {
"capEnd002": {
"type": "TagIdentifier",
"value": "capEnd002"
},
"capStart002": {
"type": "TagIdentifier",
"value": "capStart002"
},
"seg08": {
"type": "TagIdentifier",
"value": "seg08"
}
},
"artifactId": "[uuid]",
"originalId": "[uuid]",
"units": {
"type": "Mm"
} }
} },
] "height": -10.0,
"startCapId": "[uuid]",
"endCapId": "[uuid]",
"edgeCuts": [
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 1.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
},
{
"type": "fillet",
"id": "[uuid]",
"radius": {
"n": 1.0,
"ty": {
"type": "Default",
"len": {
"type": "Mm"
},
"angle": {
"type": "Degrees"
}
}
},
"edgeId": "[uuid]",
"tag": null
}
],
"units": {
"type": "Mm"
},
"sectional": false
}
}, },
"handle": { "handle": {
"type": "Solid", "type": "Solid",

View File

@ -21,15 +21,10 @@ description: Operations executed telemetry-antenna.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -317,15 +317,10 @@ description: Operations executed truss-structure.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -457,15 +452,10 @@ description: Operations executed truss-structure.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -53,15 +53,10 @@ description: Operations executed linear_pattern3d_a_pattern.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -251,15 +251,10 @@ description: Operations executed multi_target_csg.kcl
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }

View File

@ -21,15 +21,10 @@ description: Operations executed poop_chute.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -222,30 +222,20 @@ description: Operations executed subtract_doesnt_need_brackets.kcl
"name": "subtract", "name": "subtract",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }

View File

@ -144,30 +144,20 @@ description: Operations executed subtract_regression00.kcl
"name": "subtract", "name": "subtract",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }

View File

@ -149,30 +149,20 @@ description: Operations executed subtract_regression01.kcl
"name": "subtract", "name": "subtract",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }

View File

@ -135,30 +135,20 @@ description: Operations executed subtract_regression02.kcl
"name": "subtract", "name": "subtract",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }
@ -236,30 +226,20 @@ description: Operations executed subtract_regression02.kcl
"name": "subtract", "name": "subtract",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }

View File

@ -463,30 +463,20 @@ description: Operations executed subtract_regression03.kcl
"name": "subtract", "name": "subtract",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }
@ -725,30 +715,20 @@ description: Operations executed subtract_regression03.kcl
"name": "subtract", "name": "subtract",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }

View File

@ -21,15 +21,10 @@ description: Operations executed subtract_regression04.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -194,30 +189,20 @@ description: Operations executed subtract_regression04.kcl
"name": "subtract", "name": "subtract",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }

View File

@ -97,15 +97,10 @@ description: Operations executed subtract_regression05.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -204,30 +199,20 @@ description: Operations executed subtract_regression05.kcl
"name": "subtract", "name": "subtract",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }

View File

@ -296,30 +296,20 @@ description: Operations executed subtract_regression06.kcl
"name": "subtract", "name": "subtract",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }

View File

@ -206,30 +206,20 @@ description: Operations executed subtract_regression07.kcl
"name": "subtract", "name": "subtract",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }

View File

@ -124,30 +124,20 @@ description: Operations executed subtract_regression08.kcl
"name": "subtract", "name": "subtract",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }

View File

@ -21,15 +21,10 @@ description: Operations executed subtract_regression09.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -194,30 +189,20 @@ description: Operations executed subtract_regression09.kcl
"name": "subtract", "name": "subtract",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }

View File

@ -188,15 +188,10 @@ description: Operations executed subtract_regression10.kcl
"name": "patternCircular3d", "name": "patternCircular3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -348,15 +343,10 @@ description: Operations executed subtract_regression10.kcl
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }
@ -991,15 +981,10 @@ description: Operations executed subtract_regression10.kcl
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }
@ -1241,15 +1226,10 @@ description: Operations executed subtract_regression10.kcl
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }

View File

@ -21,15 +21,10 @@ description: Operations executed subtract_regression11.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -194,30 +189,20 @@ description: Operations executed subtract_regression11.kcl
"name": "subtract", "name": "subtract",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }

View File

@ -21,15 +21,10 @@ description: Operations executed subtract_regression12.kcl
"name": "revolve", "name": "revolve",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Sketch",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Sketch", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
@ -194,30 +189,20 @@ description: Operations executed subtract_regression12.kcl
"name": "subtract", "name": "subtract",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },
"labeledArgs": { "labeledArgs": {
"tools": { "tools": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
} }

View File

@ -98,15 +98,10 @@ description: Operations executed subtract_with_pattern.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },

View File

@ -98,15 +98,10 @@ description: Operations executed subtract_with_pattern_cut_thru.kcl
"name": "patternLinear3d", "name": "patternLinear3d",
"unlabeledArg": { "unlabeledArg": {
"value": { "value": {
"type": "Array", "type": "Solid",
"value": [ "value": {
{ "artifactId": "[uuid]"
"type": "Solid", }
"value": {
"artifactId": "[uuid]"
}
}
]
}, },
"sourceRange": [] "sourceRange": []
}, },