Treat singletons and arrays as subtypes rather than coercible (#7181)
Signed-off-by: Nick Cameron <nrc@ncameron.org>
This commit is contained in:
		@ -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, _) => {
 | 
			
		||||
                let t = p.type_name();
 | 
			
		||||
                let article = article_for(t);
 | 
			
		||||
@ -1981,6 +1984,38 @@ startSketchOn(XY)
 | 
			
		||||
        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")]
 | 
			
		||||
    async fn coerce_unknown_to_length() {
 | 
			
		||||
        let ast = r#"x = 2mm * 2mm
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,6 @@
 | 
			
		||||
use async_recursion::async_recursion;
 | 
			
		||||
use indexmap::IndexMap;
 | 
			
		||||
 | 
			
		||||
use super::{types::ArrayLen, EnvironmentRef};
 | 
			
		||||
use crate::{
 | 
			
		||||
    docs::StdLibFn,
 | 
			
		||||
    errors::{KclError, KclErrorDetails},
 | 
			
		||||
@ -10,7 +9,8 @@ use crate::{
 | 
			
		||||
        kcl_value::FunctionSource,
 | 
			
		||||
        memory,
 | 
			
		||||
        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},
 | 
			
		||||
    source_range::SourceRange,
 | 
			
		||||
@ -294,7 +294,7 @@ impl Node<CallExpressionKw> {
 | 
			
		||||
                // exec_state.
 | 
			
		||||
                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(
 | 
			
		||||
                        "cannot call this because it isn't a function".to_string(),
 | 
			
		||||
                        vec![callsite],
 | 
			
		||||
@ -787,18 +787,8 @@ fn coerce_result_type(
 | 
			
		||||
) -> Result<Option<KclValue>, KclError> {
 | 
			
		||||
    if let Ok(Some(val)) = result {
 | 
			
		||||
        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()))?;
 | 
			
		||||
            // 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(|_| {
 | 
			
		||||
                KclError::Semantic(KclErrorDetails::new(
 | 
			
		||||
                    format!(
 | 
			
		||||
 | 
			
		||||
@ -290,15 +290,15 @@ impl KclValue {
 | 
			
		||||
                // The principal type of an array uses the array's element type,
 | 
			
		||||
                // which is oftentimes `any`, and that's not a helpful message. So
 | 
			
		||||
                // 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 !elements.is_empty() {
 | 
			
		||||
                    if !value.is_empty() {
 | 
			
		||||
                        // A max of 3 is good because it's common to use 3D points.
 | 
			
		||||
                        let max = 3;
 | 
			
		||||
                        let len = elements.len();
 | 
			
		||||
                        let len = value.len();
 | 
			
		||||
                        let ellipsis = if len > max { ", ..." } else { "" };
 | 
			
		||||
                        let element_label = if len == 1 { "value" } else { "values" };
 | 
			
		||||
                        let element_tys = elements
 | 
			
		||||
                        let element_tys = value
 | 
			
		||||
                            .iter()
 | 
			
		||||
                            .take(max)
 | 
			
		||||
                            .map(|elem| elem.inner_human_friendly_type(max_depth - 1))
 | 
			
		||||
@ -442,144 +442,128 @@ impl KclValue {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    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 {
 | 
			
		||||
            KclValue::Tuple { value, .. } | KclValue::HomArray { value, .. } => Some(value),
 | 
			
		||||
            KclValue::Object { value, .. } => Some(value),
 | 
			
		||||
            _ => 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]> {
 | 
			
		||||
        let arr = self.as_array()?;
 | 
			
		||||
        if arr.len() != 2 {
 | 
			
		||||
        let value = match self {
 | 
			
		||||
            KclValue::Tuple { value, .. } | KclValue::HomArray { value, .. } => value,
 | 
			
		||||
            _ => return None,
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        if value.len() != 2 {
 | 
			
		||||
            return None;
 | 
			
		||||
        }
 | 
			
		||||
        let x = arr[0].as_ty_f64()?;
 | 
			
		||||
        let y = arr[1].as_ty_f64()?;
 | 
			
		||||
        let x = value[0].as_ty_f64()?;
 | 
			
		||||
        let y = value[1].as_ty_f64()?;
 | 
			
		||||
        Some([x, y])
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn as_point3d(&self) -> Option<[TyF64; 3]> {
 | 
			
		||||
        let arr = self.as_array()?;
 | 
			
		||||
        if arr.len() != 3 {
 | 
			
		||||
        let value = match self {
 | 
			
		||||
            KclValue::Tuple { value, .. } | KclValue::HomArray { value, .. } => value,
 | 
			
		||||
            _ => return None,
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        if value.len() != 3 {
 | 
			
		||||
            return None;
 | 
			
		||||
        }
 | 
			
		||||
        let x = arr[0].as_ty_f64()?;
 | 
			
		||||
        let y = arr[1].as_ty_f64()?;
 | 
			
		||||
        let z = arr[2].as_ty_f64()?;
 | 
			
		||||
        let x = value[0].as_ty_f64()?;
 | 
			
		||||
        let y = value[1].as_ty_f64()?;
 | 
			
		||||
        let z = value[2].as_ty_f64()?;
 | 
			
		||||
        Some([x, y, z])
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn as_uuid(&self) -> Option<uuid::Uuid> {
 | 
			
		||||
        if let KclValue::Uuid { value, meta: _ } = &self {
 | 
			
		||||
            Some(*value)
 | 
			
		||||
        } else {
 | 
			
		||||
            None
 | 
			
		||||
        match self {
 | 
			
		||||
            KclValue::Uuid { value, .. } => Some(*value),
 | 
			
		||||
            _ => None,
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn as_plane(&self) -> Option<&Plane> {
 | 
			
		||||
        if let KclValue::Plane { value } = &self {
 | 
			
		||||
            Some(value)
 | 
			
		||||
        } else {
 | 
			
		||||
            None
 | 
			
		||||
        match self {
 | 
			
		||||
            KclValue::Plane { value, .. } => Some(value),
 | 
			
		||||
            _ => None,
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn as_solid(&self) -> Option<&Solid> {
 | 
			
		||||
        if let KclValue::Solid { value } = &self {
 | 
			
		||||
            Some(value)
 | 
			
		||||
        } else {
 | 
			
		||||
            None
 | 
			
		||||
        match self {
 | 
			
		||||
            KclValue::Solid { value, .. } => Some(value),
 | 
			
		||||
            _ => None,
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn as_sketch(&self) -> Option<&Sketch> {
 | 
			
		||||
        if let KclValue::Sketch { value } = self {
 | 
			
		||||
            Some(value)
 | 
			
		||||
        } else {
 | 
			
		||||
            None
 | 
			
		||||
        match self {
 | 
			
		||||
            KclValue::Sketch { value, .. } => Some(value),
 | 
			
		||||
            _ => None,
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn as_mut_sketch(&mut self) -> Option<&mut Sketch> {
 | 
			
		||||
        if let KclValue::Sketch { value } = self {
 | 
			
		||||
            Some(value)
 | 
			
		||||
        } else {
 | 
			
		||||
            None
 | 
			
		||||
        match self {
 | 
			
		||||
            KclValue::Sketch { value } => Some(value),
 | 
			
		||||
            _ => None,
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn as_mut_tag(&mut self) -> Option<&mut TagIdentifier> {
 | 
			
		||||
        if let KclValue::TagIdentifier(value) = self {
 | 
			
		||||
            Some(value)
 | 
			
		||||
        } else {
 | 
			
		||||
            None
 | 
			
		||||
        match self {
 | 
			
		||||
            KclValue::TagIdentifier(value) => Some(value),
 | 
			
		||||
            _ => None,
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #[cfg(test)]
 | 
			
		||||
    pub fn as_f64(&self) -> Option<f64> {
 | 
			
		||||
        if let KclValue::Number { value, .. } = &self {
 | 
			
		||||
            Some(*value)
 | 
			
		||||
        } else {
 | 
			
		||||
            None
 | 
			
		||||
        match self {
 | 
			
		||||
            KclValue::Number { value, .. } => Some(*value),
 | 
			
		||||
            _ => None,
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn as_ty_f64(&self) -> Option<TyF64> {
 | 
			
		||||
        if let KclValue::Number { value, ty, .. } = &self {
 | 
			
		||||
            Some(TyF64::new(*value, ty.clone()))
 | 
			
		||||
        } else {
 | 
			
		||||
            None
 | 
			
		||||
        match self {
 | 
			
		||||
            KclValue::Number { value, ty, .. } => Some(TyF64::new(*value, ty.clone())),
 | 
			
		||||
            _ => None,
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn as_bool(&self) -> Option<bool> {
 | 
			
		||||
        if let KclValue::Bool { value, meta: _ } = &self {
 | 
			
		||||
            Some(*value)
 | 
			
		||||
        } else {
 | 
			
		||||
            None
 | 
			
		||||
        match self {
 | 
			
		||||
            KclValue::Bool { value, .. } => Some(*value),
 | 
			
		||||
            _ => 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.
 | 
			
		||||
    pub fn get_function(&self) -> Option<&FunctionSource> {
 | 
			
		||||
    pub fn as_function(&self) -> Option<&FunctionSource> {
 | 
			
		||||
        match self {
 | 
			
		||||
            KclValue::Function { value, .. } => Some(value),
 | 
			
		||||
            _ => None,
 | 
			
		||||
@ -610,20 +594,12 @@ impl KclValue {
 | 
			
		||||
 | 
			
		||||
    /// If this KCL value is a bool, retrieve it.
 | 
			
		||||
    pub fn get_bool(&self) -> Result<bool, KclError> {
 | 
			
		||||
        let Self::Bool { value: b, .. } = self else {
 | 
			
		||||
            return Err(KclError::Type(KclErrorDetails::new(
 | 
			
		||||
        self.as_bool().ok_or_else(|| {
 | 
			
		||||
            KclError::Type(KclErrorDetails::new(
 | 
			
		||||
                format!("Expected bool, found {}", self.human_friendly_type()),
 | 
			
		||||
                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> {
 | 
			
		||||
 | 
			
		||||
@ -32,6 +32,10 @@ impl RuntimeType {
 | 
			
		||||
        RuntimeType::Primitive(PrimitiveType::Any)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn any_array() -> Self {
 | 
			
		||||
        RuntimeType::Array(Box::new(RuntimeType::Primitive(PrimitiveType::Any)), ArrayLen::None)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn edge() -> Self {
 | 
			
		||||
        RuntimeType::Primitive(PrimitiveType::Edge)
 | 
			
		||||
    }
 | 
			
		||||
@ -238,12 +242,21 @@ impl RuntimeType {
 | 
			
		||||
            (Primitive(t1), Primitive(t2)) => t1.subtype(t2),
 | 
			
		||||
            (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)),
 | 
			
		||||
 | 
			
		||||
            (Union(ts1), Union(ts2)) => ts1.iter().all(|t| ts2.contains(t)),
 | 
			
		||||
            (t1, Union(ts2)) => ts2.iter().any(|t| t1.subtype(t)),
 | 
			
		||||
 | 
			
		||||
            (Object(t1), Object(t2)) => t2
 | 
			
		||||
                .iter()
 | 
			
		||||
                .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)) => {
 | 
			
		||||
                t1.iter()
 | 
			
		||||
                    .any(|(n, t)| n == "origin" && t.subtype(&RuntimeType::point2d()))
 | 
			
		||||
@ -1051,6 +1064,20 @@ impl KclValue {
 | 
			
		||||
        convert_units: bool,
 | 
			
		||||
        exec_state: &mut ExecState,
 | 
			
		||||
    ) -> 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 {
 | 
			
		||||
            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),
 | 
			
		||||
@ -1066,15 +1093,11 @@ impl KclValue {
 | 
			
		||||
        convert_units: bool,
 | 
			
		||||
        exec_state: &mut ExecState,
 | 
			
		||||
    ) -> Result<KclValue, CoercionError> {
 | 
			
		||||
        let value = match self {
 | 
			
		||||
            KclValue::Tuple { value, .. } | KclValue::HomArray { value, .. } if value.len() == 1 => &value[0],
 | 
			
		||||
            _ => self,
 | 
			
		||||
        };
 | 
			
		||||
        match ty {
 | 
			
		||||
            PrimitiveType::Any => Ok(value.clone()),
 | 
			
		||||
            PrimitiveType::Any => Ok(self.clone()),
 | 
			
		||||
            PrimitiveType::Number(ty) => {
 | 
			
		||||
                if convert_units {
 | 
			
		||||
                    return ty.coerce(value);
 | 
			
		||||
                    return ty.coerce(self);
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                // 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
 | 
			
		||||
                // as having had its units erased, rather than forcing the user
 | 
			
		||||
                // 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() {
 | 
			
		||||
                        let value = KclValue::Number {
 | 
			
		||||
                            ty: NumericType::Any,
 | 
			
		||||
@ -1093,34 +1116,34 @@ impl KclValue {
 | 
			
		||||
                        return ty.coerce(&value);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                ty.coerce(value)
 | 
			
		||||
                ty.coerce(self)
 | 
			
		||||
            }
 | 
			
		||||
            PrimitiveType::String => match value {
 | 
			
		||||
                KclValue::String { .. } => Ok(value.clone()),
 | 
			
		||||
            PrimitiveType::String => match self {
 | 
			
		||||
                KclValue::String { .. } => Ok(self.clone()),
 | 
			
		||||
                _ => Err(self.into()),
 | 
			
		||||
            },
 | 
			
		||||
            PrimitiveType::Boolean => match value {
 | 
			
		||||
                KclValue::Bool { .. } => Ok(value.clone()),
 | 
			
		||||
            PrimitiveType::Boolean => match self {
 | 
			
		||||
                KclValue::Bool { .. } => Ok(self.clone()),
 | 
			
		||||
                _ => Err(self.into()),
 | 
			
		||||
            },
 | 
			
		||||
            PrimitiveType::Sketch => match value {
 | 
			
		||||
                KclValue::Sketch { .. } => Ok(value.clone()),
 | 
			
		||||
            PrimitiveType::Sketch => match self {
 | 
			
		||||
                KclValue::Sketch { .. } => Ok(self.clone()),
 | 
			
		||||
                _ => Err(self.into()),
 | 
			
		||||
            },
 | 
			
		||||
            PrimitiveType::Solid => match value {
 | 
			
		||||
                KclValue::Solid { .. } => Ok(value.clone()),
 | 
			
		||||
            PrimitiveType::Solid => match self {
 | 
			
		||||
                KclValue::Solid { .. } => Ok(self.clone()),
 | 
			
		||||
                _ => Err(self.into()),
 | 
			
		||||
            },
 | 
			
		||||
            PrimitiveType::Plane => match value {
 | 
			
		||||
            PrimitiveType::Plane => match self {
 | 
			
		||||
                KclValue::String { value: s, .. }
 | 
			
		||||
                    if [
 | 
			
		||||
                        "xy", "xz", "yz", "-xy", "-xz", "-yz", "XY", "XZ", "YZ", "-XY", "-XZ", "-YZ",
 | 
			
		||||
                    ]
 | 
			
		||||
                    .contains(&&**s) =>
 | 
			
		||||
                {
 | 
			
		||||
                    Ok(value.clone())
 | 
			
		||||
                    Ok(self.clone())
 | 
			
		||||
                }
 | 
			
		||||
                KclValue::Plane { .. } => Ok(value.clone()),
 | 
			
		||||
                KclValue::Plane { .. } => Ok(self.clone()),
 | 
			
		||||
                KclValue::Object { value, meta } => {
 | 
			
		||||
                    let origin = value
 | 
			
		||||
                        .get("origin")
 | 
			
		||||
@ -1159,20 +1182,20 @@ impl KclValue {
 | 
			
		||||
                }
 | 
			
		||||
                _ => Err(self.into()),
 | 
			
		||||
            },
 | 
			
		||||
            PrimitiveType::Face => match value {
 | 
			
		||||
                KclValue::Face { .. } => Ok(value.clone()),
 | 
			
		||||
            PrimitiveType::Face => match self {
 | 
			
		||||
                KclValue::Face { .. } => Ok(self.clone()),
 | 
			
		||||
                _ => Err(self.into()),
 | 
			
		||||
            },
 | 
			
		||||
            PrimitiveType::Helix => match value {
 | 
			
		||||
                KclValue::Helix { .. } => Ok(value.clone()),
 | 
			
		||||
            PrimitiveType::Helix => match self {
 | 
			
		||||
                KclValue::Helix { .. } => Ok(self.clone()),
 | 
			
		||||
                _ => Err(self.into()),
 | 
			
		||||
            },
 | 
			
		||||
            PrimitiveType::Edge => match value {
 | 
			
		||||
                KclValue::Uuid { .. } => Ok(value.clone()),
 | 
			
		||||
                KclValue::TagIdentifier { .. } => Ok(value.clone()),
 | 
			
		||||
            PrimitiveType::Edge => match self {
 | 
			
		||||
                KclValue::Uuid { .. } => Ok(self.clone()),
 | 
			
		||||
                KclValue::TagIdentifier { .. } => Ok(self.clone()),
 | 
			
		||||
                _ => Err(self.into()),
 | 
			
		||||
            },
 | 
			
		||||
            PrimitiveType::Axis2d => match value {
 | 
			
		||||
            PrimitiveType::Axis2d => match self {
 | 
			
		||||
                KclValue::Object { value: values, meta } => {
 | 
			
		||||
                    if values
 | 
			
		||||
                        .get("origin")
 | 
			
		||||
@ -1183,7 +1206,7 @@ impl KclValue {
 | 
			
		||||
                            .ok_or(CoercionError::from(self))?
 | 
			
		||||
                            .has_type(&RuntimeType::point2d())
 | 
			
		||||
                    {
 | 
			
		||||
                        return Ok(value.clone());
 | 
			
		||||
                        return Ok(self.clone());
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    let origin = values.get("origin").ok_or(self.into()).and_then(|p| {
 | 
			
		||||
@ -1212,7 +1235,7 @@ impl KclValue {
 | 
			
		||||
                }
 | 
			
		||||
                _ => Err(self.into()),
 | 
			
		||||
            },
 | 
			
		||||
            PrimitiveType::Axis3d => match value {
 | 
			
		||||
            PrimitiveType::Axis3d => match self {
 | 
			
		||||
                KclValue::Object { value: values, meta } => {
 | 
			
		||||
                    if values
 | 
			
		||||
                        .get("origin")
 | 
			
		||||
@ -1223,7 +1246,7 @@ impl KclValue {
 | 
			
		||||
                            .ok_or(CoercionError::from(self))?
 | 
			
		||||
                            .has_type(&RuntimeType::point3d())
 | 
			
		||||
                    {
 | 
			
		||||
                        return Ok(value.clone());
 | 
			
		||||
                        return Ok(self.clone());
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    let origin = values.get("origin").ok_or(self.into()).and_then(|p| {
 | 
			
		||||
@ -1252,21 +1275,21 @@ impl KclValue {
 | 
			
		||||
                }
 | 
			
		||||
                _ => Err(self.into()),
 | 
			
		||||
            },
 | 
			
		||||
            PrimitiveType::ImportedGeometry => match value {
 | 
			
		||||
                KclValue::ImportedGeometry { .. } => Ok(value.clone()),
 | 
			
		||||
            PrimitiveType::ImportedGeometry => match self {
 | 
			
		||||
                KclValue::ImportedGeometry { .. } => Ok(self.clone()),
 | 
			
		||||
                _ => Err(self.into()),
 | 
			
		||||
            },
 | 
			
		||||
            PrimitiveType::Function => match value {
 | 
			
		||||
                KclValue::Function { .. } => Ok(value.clone()),
 | 
			
		||||
            PrimitiveType::Function => match self {
 | 
			
		||||
                KclValue::Function { .. } => Ok(self.clone()),
 | 
			
		||||
                _ => Err(self.into()),
 | 
			
		||||
            },
 | 
			
		||||
            PrimitiveType::TagId => match value {
 | 
			
		||||
                KclValue::TagIdentifier { .. } => Ok(value.clone()),
 | 
			
		||||
            PrimitiveType::TagId => match self {
 | 
			
		||||
                KclValue::TagIdentifier { .. } => Ok(self.clone()),
 | 
			
		||||
                _ => Err(self.into()),
 | 
			
		||||
            },
 | 
			
		||||
            PrimitiveType::Tag => match value {
 | 
			
		||||
            PrimitiveType::Tag => match self {
 | 
			
		||||
                KclValue::TagDeclarator { .. } | KclValue::TagIdentifier { .. } | KclValue::Uuid { .. } => {
 | 
			
		||||
                    Ok(value.clone())
 | 
			
		||||
                    Ok(self.clone())
 | 
			
		||||
                }
 | 
			
		||||
                s @ KclValue::String { value, .. } if ["start", "end", "START", "END"].contains(&&**value) => {
 | 
			
		||||
                    Ok(s.clone())
 | 
			
		||||
@ -1366,10 +1389,7 @@ impl KclValue {
 | 
			
		||||
                value: Vec::new(),
 | 
			
		||||
                ty: ty.clone(),
 | 
			
		||||
            }),
 | 
			
		||||
            _ if len.satisfied(1, false).is_some() => Ok(KclValue::HomArray {
 | 
			
		||||
                value: vec![self.coerce(ty, convert_units, exec_state)?],
 | 
			
		||||
                ty: ty.clone(),
 | 
			
		||||
            }),
 | 
			
		||||
            _ if len.satisfied(1, false).is_some() => self.coerce(ty, convert_units, exec_state),
 | 
			
		||||
            _ => Err(self.into()),
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@ -1396,10 +1416,7 @@ impl KclValue {
 | 
			
		||||
                value: Vec::new(),
 | 
			
		||||
                meta: meta.clone(),
 | 
			
		||||
            }),
 | 
			
		||||
            value if tys.len() == 1 && value.has_type(&tys[0]) => Ok(KclValue::Tuple {
 | 
			
		||||
                value: vec![value.clone()],
 | 
			
		||||
                meta: Vec::new(),
 | 
			
		||||
            }),
 | 
			
		||||
            _ if tys.len() == 1 => self.coerce(&tys[0], convert_units, exec_state),
 | 
			
		||||
            _ => Err(self.into()),
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@ -1531,7 +1548,8 @@ mod test {
 | 
			
		||||
        exec_state: &mut ExecState,
 | 
			
		||||
    ) {
 | 
			
		||||
        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!(
 | 
			
		||||
            is_subtype,
 | 
			
		||||
            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));
 | 
			
		||||
 | 
			
		||||
            match v {
 | 
			
		||||
                KclValue::Tuple { .. } | KclValue::HomArray { .. } => {
 | 
			
		||||
                KclValue::HomArray { .. } => {
 | 
			
		||||
                    // These will not get wrapped if possible.
 | 
			
		||||
                    assert_coerce_results(
 | 
			
		||||
                        v,
 | 
			
		||||
@ -1577,53 +1595,22 @@ mod test {
 | 
			
		||||
                        },
 | 
			
		||||
                        &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.
 | 
			
		||||
                    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.
 | 
			
		||||
                    v.coerce(&aty0, true, &mut exec_state).unwrap_err();
 | 
			
		||||
                }
 | 
			
		||||
                KclValue::Tuple { .. } => {}
 | 
			
		||||
                _ => {
 | 
			
		||||
                    assert_coerce_results(
 | 
			
		||||
                        v,
 | 
			
		||||
                        &aty,
 | 
			
		||||
                        &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,
 | 
			
		||||
                    );
 | 
			
		||||
                    assert_coerce_results(v, &aty, v, &mut exec_state);
 | 
			
		||||
                    assert_coerce_results(v, &aty1, v, &mut exec_state);
 | 
			
		||||
                    assert_coerce_results(v, &aty0, v, &mut exec_state);
 | 
			
		||||
 | 
			
		||||
                    // Tuple subtype
 | 
			
		||||
                    let tty = RuntimeType::Tuple(vec![ty.clone()]);
 | 
			
		||||
                    assert_coerce_results(
 | 
			
		||||
                        v,
 | 
			
		||||
                        &tty,
 | 
			
		||||
                        &KclValue::Tuple {
 | 
			
		||||
                            value: vec![v.clone()],
 | 
			
		||||
                            meta: Vec::new(),
 | 
			
		||||
                        },
 | 
			
		||||
                        &mut exec_state,
 | 
			
		||||
                    );
 | 
			
		||||
                    assert_coerce_results(v, &tty, v, &mut exec_state);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -214,9 +214,9 @@ impl Args {
 | 
			
		||||
 | 
			
		||||
    /// Get a labelled keyword arg, check it's an array, and return all items in the array
 | 
			
		||||
    /// 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
 | 
			
		||||
        T: FromKclValue<'a>,
 | 
			
		||||
        T: for<'a> FromKclValue<'a>,
 | 
			
		||||
    {
 | 
			
		||||
        let Some(arg) = self.kw_args.labeled.get(label) else {
 | 
			
		||||
            let err = KclError::Semantic(KclErrorDetails::new(
 | 
			
		||||
@ -225,18 +225,9 @@ impl Args {
 | 
			
		||||
            ));
 | 
			
		||||
            return Err(err);
 | 
			
		||||
        };
 | 
			
		||||
        let Some(array) = arg.value.as_array() else {
 | 
			
		||||
            let err = KclError::Semantic(KclErrorDetails::new(
 | 
			
		||||
                format!(
 | 
			
		||||
                    "Expected an array of {} but found {}",
 | 
			
		||||
                    tynm::type_name::<T>(),
 | 
			
		||||
                    arg.value.human_friendly_type()
 | 
			
		||||
                ),
 | 
			
		||||
                vec![arg.source_range],
 | 
			
		||||
            ));
 | 
			
		||||
            return Err(err);
 | 
			
		||||
        };
 | 
			
		||||
        array
 | 
			
		||||
        arg.value
 | 
			
		||||
            .clone()
 | 
			
		||||
            .into_array()
 | 
			
		||||
            .iter()
 | 
			
		||||
            .map(|item| {
 | 
			
		||||
                let source = SourceRange::from(item);
 | 
			
		||||
@ -255,6 +246,19 @@ impl Args {
 | 
			
		||||
            .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
 | 
			
		||||
    /// 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>
 | 
			
		||||
@ -331,7 +335,7 @@ impl Args {
 | 
			
		||||
 | 
			
		||||
        T::from_kcl_val(&arg).ok_or_else(|| {
 | 
			
		||||
            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],
 | 
			
		||||
           ))
 | 
			
		||||
        })
 | 
			
		||||
@ -728,7 +732,7 @@ impl<'a> FromKclValue<'a> for Vec<TagIdentifier> {
 | 
			
		||||
 | 
			
		||||
impl<'a> FromKclValue<'a> for Vec<KclValue> {
 | 
			
		||||
    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) => {
 | 
			
		||||
        impl<'a> FromKclValue<'a> for Vec<$typ> {
 | 
			
		||||
            fn from_kcl_val(arg: &'a KclValue) -> Option<Self> {
 | 
			
		||||
                arg.as_array()?
 | 
			
		||||
                arg.clone()
 | 
			
		||||
                    .into_array()
 | 
			
		||||
                    .iter()
 | 
			
		||||
                    .map(|value| FromKclValue::from_kcl_val(value))
 | 
			
		||||
                    .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!(ExtrudeSurface);
 | 
			
		||||
impl_from_kcl_for_vec!(TyF64);
 | 
			
		||||
impl_from_kcl_for_vec!(Solid);
 | 
			
		||||
impl_from_kcl_for_vec!(Sketch);
 | 
			
		||||
 | 
			
		||||
impl<'a> FromKclValue<'a> for SourceRange {
 | 
			
		||||
    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 {
 | 
			
		||||
    fn from_kcl_val(arg: &'a KclValue) -> Option<Self> {
 | 
			
		||||
        arg.get_function()
 | 
			
		||||
        arg.as_function()
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -14,7 +14,7 @@ use crate::{
 | 
			
		||||
 | 
			
		||||
/// Apply a function to each element of an array.
 | 
			
		||||
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 new_array = inner_map(array, f, exec_state, &args).await?;
 | 
			
		||||
    Ok(KclValue::HomArray {
 | 
			
		||||
@ -68,7 +68,7 @@ async fn call_map_closure(
 | 
			
		||||
 | 
			
		||||
/// For each item in an array, update a value.
 | 
			
		||||
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 initial: KclValue = args.get_kw_arg("initial")?;
 | 
			
		||||
    inner_reduce(array, initial, f, exec_state, &args).await
 | 
			
		||||
@ -126,61 +126,23 @@ async fn call_reduce_closure(
 | 
			
		||||
    Ok(out)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub async fn push(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
 | 
			
		||||
    let array = args.get_unlabeled_kw_arg("array")?;
 | 
			
		||||
pub async fn push(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
 | 
			
		||||
    let (mut array, ty) = args.get_unlabeled_kw_arg_array_and_type("array", exec_state)?;
 | 
			
		||||
    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
 | 
			
		||||
 | 
			
		||||
    Ok(KclValue::HomArray { value: array, ty })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub async fn pop(_exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
 | 
			
		||||
    let array = args.get_unlabeled_kw_arg("array")?;
 | 
			
		||||
    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> {
 | 
			
		||||
pub async fn pop(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
 | 
			
		||||
    let (mut array, ty) = args.get_unlabeled_kw_arg_array_and_type("array", exec_state)?;
 | 
			
		||||
    if array.is_empty() {
 | 
			
		||||
        return Err(KclError::Semantic(KclErrorDetails::new(
 | 
			
		||||
            "Cannot pop from an empty array".to_string(),
 | 
			
		||||
            vec![args.source_range],
 | 
			
		||||
        )));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Create a new array with all elements except the last one
 | 
			
		||||
    let new_array = array[..array.len() - 1].to_vec();
 | 
			
		||||
 | 
			
		||||
    Ok(new_array)
 | 
			
		||||
    array.pop();
 | 
			
		||||
    Ok(KclValue::HomArray { value: array, ty })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -283,122 +283,38 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                                                              "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,
 | 
			
		||||
                                                                                                                                "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,
 | 
			
		||||
                                                                                                                                "type": "BinaryExpression",
 | 
			
		||||
                                                                                                                                "type": "BinaryExpression"
 | 
			
		||||
                                                                                                                                "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": {
 | 
			
		||||
@ -425,12 +341,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                                                                "unlabeled": {
 | 
			
		||||
                                                                                                                                  "commentStart": 0,
 | 
			
		||||
                                                                                                                                  "end": 0,
 | 
			
		||||
                                                                                                                                  "raw": "3",
 | 
			
		||||
                                                                                                                                  "raw": "1",
 | 
			
		||||
                                                                                                                                  "start": 0,
 | 
			
		||||
                                                                                                                                  "type": "Literal",
 | 
			
		||||
                                                                                                                                  "type": "Literal",
 | 
			
		||||
                                                                                                                                  "value": {
 | 
			
		||||
                                                                                                                                    "value": 3.0,
 | 
			
		||||
                                                                                                                                    "value": 1.0,
 | 
			
		||||
                                                                                                                                    "suffix": "None"
 | 
			
		||||
                                                                                                                                  }
 | 
			
		||||
                                                                                                                                }
 | 
			
		||||
@ -464,12 +380,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                                                              "unlabeled": {
 | 
			
		||||
                                                                                                                                "commentStart": 0,
 | 
			
		||||
                                                                                                                                "end": 0,
 | 
			
		||||
                                                                                                                                "raw": "4",
 | 
			
		||||
                                                                                                                                "raw": "2",
 | 
			
		||||
                                                                                                                                "start": 0,
 | 
			
		||||
                                                                                                                                "type": "Literal",
 | 
			
		||||
                                                                                                                                "type": "Literal",
 | 
			
		||||
                                                                                                                                "value": {
 | 
			
		||||
                                                                                                                                  "value": 4.0,
 | 
			
		||||
                                                                                                                                  "value": 2.0,
 | 
			
		||||
                                                                                                                                  "suffix": "None"
 | 
			
		||||
                                                                                                                                }
 | 
			
		||||
                                                                                                                              }
 | 
			
		||||
@ -503,12 +419,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                                                            "unlabeled": {
 | 
			
		||||
                                                                                                                              "commentStart": 0,
 | 
			
		||||
                                                                                                                              "end": 0,
 | 
			
		||||
                                                                                                                              "raw": "5",
 | 
			
		||||
                                                                                                                              "raw": "3",
 | 
			
		||||
                                                                                                                              "start": 0,
 | 
			
		||||
                                                                                                                              "type": "Literal",
 | 
			
		||||
                                                                                                                              "type": "Literal",
 | 
			
		||||
                                                                                                                              "value": {
 | 
			
		||||
                                                                                                                                "value": 5.0,
 | 
			
		||||
                                                                                                                                "value": 3.0,
 | 
			
		||||
                                                                                                                                "suffix": "None"
 | 
			
		||||
                                                                                                                              }
 | 
			
		||||
                                                                                                                            }
 | 
			
		||||
@ -542,12 +458,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                                                          "unlabeled": {
 | 
			
		||||
                                                                                                                            "commentStart": 0,
 | 
			
		||||
                                                                                                                            "end": 0,
 | 
			
		||||
                                                                                                                            "raw": "6",
 | 
			
		||||
                                                                                                                            "raw": "4",
 | 
			
		||||
                                                                                                                            "start": 0,
 | 
			
		||||
                                                                                                                            "type": "Literal",
 | 
			
		||||
                                                                                                                            "type": "Literal",
 | 
			
		||||
                                                                                                                            "value": {
 | 
			
		||||
                                                                                                                              "value": 6.0,
 | 
			
		||||
                                                                                                                              "value": 4.0,
 | 
			
		||||
                                                                                                                              "suffix": "None"
 | 
			
		||||
                                                                                                                            }
 | 
			
		||||
                                                                                                                          }
 | 
			
		||||
@ -581,12 +497,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                                                        "unlabeled": {
 | 
			
		||||
                                                                                                                          "commentStart": 0,
 | 
			
		||||
                                                                                                                          "end": 0,
 | 
			
		||||
                                                                                                                          "raw": "7",
 | 
			
		||||
                                                                                                                          "raw": "5",
 | 
			
		||||
                                                                                                                          "start": 0,
 | 
			
		||||
                                                                                                                          "type": "Literal",
 | 
			
		||||
                                                                                                                          "type": "Literal",
 | 
			
		||||
                                                                                                                          "value": {
 | 
			
		||||
                                                                                                                            "value": 7.0,
 | 
			
		||||
                                                                                                                            "value": 5.0,
 | 
			
		||||
                                                                                                                            "suffix": "None"
 | 
			
		||||
                                                                                                                          }
 | 
			
		||||
                                                                                                                        }
 | 
			
		||||
@ -620,12 +536,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                                                      "unlabeled": {
 | 
			
		||||
                                                                                                                        "commentStart": 0,
 | 
			
		||||
                                                                                                                        "end": 0,
 | 
			
		||||
                                                                                                                        "raw": "8",
 | 
			
		||||
                                                                                                                        "raw": "6",
 | 
			
		||||
                                                                                                                        "start": 0,
 | 
			
		||||
                                                                                                                        "type": "Literal",
 | 
			
		||||
                                                                                                                        "type": "Literal",
 | 
			
		||||
                                                                                                                        "value": {
 | 
			
		||||
                                                                                                                          "value": 8.0,
 | 
			
		||||
                                                                                                                          "value": 6.0,
 | 
			
		||||
                                                                                                                          "suffix": "None"
 | 
			
		||||
                                                                                                                        }
 | 
			
		||||
                                                                                                                      }
 | 
			
		||||
@ -659,12 +575,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                                                    "unlabeled": {
 | 
			
		||||
                                                                                                                      "commentStart": 0,
 | 
			
		||||
                                                                                                                      "end": 0,
 | 
			
		||||
                                                                                                                      "raw": "9",
 | 
			
		||||
                                                                                                                      "raw": "7",
 | 
			
		||||
                                                                                                                      "start": 0,
 | 
			
		||||
                                                                                                                      "type": "Literal",
 | 
			
		||||
                                                                                                                      "type": "Literal",
 | 
			
		||||
                                                                                                                      "value": {
 | 
			
		||||
                                                                                                                        "value": 9.0,
 | 
			
		||||
                                                                                                                        "value": 7.0,
 | 
			
		||||
                                                                                                                        "suffix": "None"
 | 
			
		||||
                                                                                                                      }
 | 
			
		||||
                                                                                                                    }
 | 
			
		||||
@ -698,12 +614,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                                                  "unlabeled": {
 | 
			
		||||
                                                                                                                    "commentStart": 0,
 | 
			
		||||
                                                                                                                    "end": 0,
 | 
			
		||||
                                                                                                                    "raw": "10",
 | 
			
		||||
                                                                                                                    "raw": "8",
 | 
			
		||||
                                                                                                                    "start": 0,
 | 
			
		||||
                                                                                                                    "type": "Literal",
 | 
			
		||||
                                                                                                                    "type": "Literal",
 | 
			
		||||
                                                                                                                    "value": {
 | 
			
		||||
                                                                                                                      "value": 10.0,
 | 
			
		||||
                                                                                                                      "value": 8.0,
 | 
			
		||||
                                                                                                                      "suffix": "None"
 | 
			
		||||
                                                                                                                    }
 | 
			
		||||
                                                                                                                  }
 | 
			
		||||
@ -737,12 +653,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                                                "unlabeled": {
 | 
			
		||||
                                                                                                                  "commentStart": 0,
 | 
			
		||||
                                                                                                                  "end": 0,
 | 
			
		||||
                                                                                                                  "raw": "11",
 | 
			
		||||
                                                                                                                  "raw": "9",
 | 
			
		||||
                                                                                                                  "start": 0,
 | 
			
		||||
                                                                                                                  "type": "Literal",
 | 
			
		||||
                                                                                                                  "type": "Literal",
 | 
			
		||||
                                                                                                                  "value": {
 | 
			
		||||
                                                                                                                    "value": 11.0,
 | 
			
		||||
                                                                                                                    "value": 9.0,
 | 
			
		||||
                                                                                                                    "suffix": "None"
 | 
			
		||||
                                                                                                                  }
 | 
			
		||||
                                                                                                                }
 | 
			
		||||
@ -776,12 +692,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                                              "unlabeled": {
 | 
			
		||||
                                                                                                                "commentStart": 0,
 | 
			
		||||
                                                                                                                "end": 0,
 | 
			
		||||
                                                                                                                "raw": "12",
 | 
			
		||||
                                                                                                                "raw": "10",
 | 
			
		||||
                                                                                                                "start": 0,
 | 
			
		||||
                                                                                                                "type": "Literal",
 | 
			
		||||
                                                                                                                "type": "Literal",
 | 
			
		||||
                                                                                                                "value": {
 | 
			
		||||
                                                                                                                  "value": 12.0,
 | 
			
		||||
                                                                                                                  "value": 10.0,
 | 
			
		||||
                                                                                                                  "suffix": "None"
 | 
			
		||||
                                                                                                                }
 | 
			
		||||
                                                                                                              }
 | 
			
		||||
@ -815,12 +731,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                                            "unlabeled": {
 | 
			
		||||
                                                                                                              "commentStart": 0,
 | 
			
		||||
                                                                                                              "end": 0,
 | 
			
		||||
                                                                                                              "raw": "13",
 | 
			
		||||
                                                                                                              "raw": "11",
 | 
			
		||||
                                                                                                              "start": 0,
 | 
			
		||||
                                                                                                              "type": "Literal",
 | 
			
		||||
                                                                                                              "type": "Literal",
 | 
			
		||||
                                                                                                              "value": {
 | 
			
		||||
                                                                                                                "value": 13.0,
 | 
			
		||||
                                                                                                                "value": 11.0,
 | 
			
		||||
                                                                                                                "suffix": "None"
 | 
			
		||||
                                                                                                              }
 | 
			
		||||
                                                                                                            }
 | 
			
		||||
@ -854,12 +770,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                                          "unlabeled": {
 | 
			
		||||
                                                                                                            "commentStart": 0,
 | 
			
		||||
                                                                                                            "end": 0,
 | 
			
		||||
                                                                                                            "raw": "14",
 | 
			
		||||
                                                                                                            "raw": "12",
 | 
			
		||||
                                                                                                            "start": 0,
 | 
			
		||||
                                                                                                            "type": "Literal",
 | 
			
		||||
                                                                                                            "type": "Literal",
 | 
			
		||||
                                                                                                            "value": {
 | 
			
		||||
                                                                                                              "value": 14.0,
 | 
			
		||||
                                                                                                              "value": 12.0,
 | 
			
		||||
                                                                                                              "suffix": "None"
 | 
			
		||||
                                                                                                            }
 | 
			
		||||
                                                                                                          }
 | 
			
		||||
@ -893,12 +809,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                                        "unlabeled": {
 | 
			
		||||
                                                                                                          "commentStart": 0,
 | 
			
		||||
                                                                                                          "end": 0,
 | 
			
		||||
                                                                                                          "raw": "15",
 | 
			
		||||
                                                                                                          "raw": "13",
 | 
			
		||||
                                                                                                          "start": 0,
 | 
			
		||||
                                                                                                          "type": "Literal",
 | 
			
		||||
                                                                                                          "type": "Literal",
 | 
			
		||||
                                                                                                          "value": {
 | 
			
		||||
                                                                                                            "value": 15.0,
 | 
			
		||||
                                                                                                            "value": 13.0,
 | 
			
		||||
                                                                                                            "suffix": "None"
 | 
			
		||||
                                                                                                          }
 | 
			
		||||
                                                                                                        }
 | 
			
		||||
@ -932,12 +848,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                                      "unlabeled": {
 | 
			
		||||
                                                                                                        "commentStart": 0,
 | 
			
		||||
                                                                                                        "end": 0,
 | 
			
		||||
                                                                                                        "raw": "16",
 | 
			
		||||
                                                                                                        "raw": "14",
 | 
			
		||||
                                                                                                        "start": 0,
 | 
			
		||||
                                                                                                        "type": "Literal",
 | 
			
		||||
                                                                                                        "type": "Literal",
 | 
			
		||||
                                                                                                        "value": {
 | 
			
		||||
                                                                                                          "value": 16.0,
 | 
			
		||||
                                                                                                          "value": 14.0,
 | 
			
		||||
                                                                                                          "suffix": "None"
 | 
			
		||||
                                                                                                        }
 | 
			
		||||
                                                                                                      }
 | 
			
		||||
@ -971,12 +887,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                                    "unlabeled": {
 | 
			
		||||
                                                                                                      "commentStart": 0,
 | 
			
		||||
                                                                                                      "end": 0,
 | 
			
		||||
                                                                                                      "raw": "17",
 | 
			
		||||
                                                                                                      "raw": "15",
 | 
			
		||||
                                                                                                      "start": 0,
 | 
			
		||||
                                                                                                      "type": "Literal",
 | 
			
		||||
                                                                                                      "type": "Literal",
 | 
			
		||||
                                                                                                      "value": {
 | 
			
		||||
                                                                                                        "value": 17.0,
 | 
			
		||||
                                                                                                        "value": 15.0,
 | 
			
		||||
                                                                                                        "suffix": "None"
 | 
			
		||||
                                                                                                      }
 | 
			
		||||
                                                                                                    }
 | 
			
		||||
@ -1010,12 +926,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                                  "unlabeled": {
 | 
			
		||||
                                                                                                    "commentStart": 0,
 | 
			
		||||
                                                                                                    "end": 0,
 | 
			
		||||
                                                                                                    "raw": "18",
 | 
			
		||||
                                                                                                    "raw": "16",
 | 
			
		||||
                                                                                                    "start": 0,
 | 
			
		||||
                                                                                                    "type": "Literal",
 | 
			
		||||
                                                                                                    "type": "Literal",
 | 
			
		||||
                                                                                                    "value": {
 | 
			
		||||
                                                                                                      "value": 18.0,
 | 
			
		||||
                                                                                                      "value": 16.0,
 | 
			
		||||
                                                                                                      "suffix": "None"
 | 
			
		||||
                                                                                                    }
 | 
			
		||||
                                                                                                  }
 | 
			
		||||
@ -1049,12 +965,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                                "unlabeled": {
 | 
			
		||||
                                                                                                  "commentStart": 0,
 | 
			
		||||
                                                                                                  "end": 0,
 | 
			
		||||
                                                                                                  "raw": "19",
 | 
			
		||||
                                                                                                  "raw": "17",
 | 
			
		||||
                                                                                                  "start": 0,
 | 
			
		||||
                                                                                                  "type": "Literal",
 | 
			
		||||
                                                                                                  "type": "Literal",
 | 
			
		||||
                                                                                                  "value": {
 | 
			
		||||
                                                                                                    "value": 19.0,
 | 
			
		||||
                                                                                                    "value": 17.0,
 | 
			
		||||
                                                                                                    "suffix": "None"
 | 
			
		||||
                                                                                                  }
 | 
			
		||||
                                                                                                }
 | 
			
		||||
@ -1088,12 +1004,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                              "unlabeled": {
 | 
			
		||||
                                                                                                "commentStart": 0,
 | 
			
		||||
                                                                                                "end": 0,
 | 
			
		||||
                                                                                                "raw": "20",
 | 
			
		||||
                                                                                                "raw": "18",
 | 
			
		||||
                                                                                                "start": 0,
 | 
			
		||||
                                                                                                "type": "Literal",
 | 
			
		||||
                                                                                                "type": "Literal",
 | 
			
		||||
                                                                                                "value": {
 | 
			
		||||
                                                                                                  "value": 20.0,
 | 
			
		||||
                                                                                                  "value": 18.0,
 | 
			
		||||
                                                                                                  "suffix": "None"
 | 
			
		||||
                                                                                                }
 | 
			
		||||
                                                                                              }
 | 
			
		||||
@ -1127,12 +1043,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                            "unlabeled": {
 | 
			
		||||
                                                                                              "commentStart": 0,
 | 
			
		||||
                                                                                              "end": 0,
 | 
			
		||||
                                                                                              "raw": "21",
 | 
			
		||||
                                                                                              "raw": "19",
 | 
			
		||||
                                                                                              "start": 0,
 | 
			
		||||
                                                                                              "type": "Literal",
 | 
			
		||||
                                                                                              "type": "Literal",
 | 
			
		||||
                                                                                              "value": {
 | 
			
		||||
                                                                                                "value": 21.0,
 | 
			
		||||
                                                                                                "value": 19.0,
 | 
			
		||||
                                                                                                "suffix": "None"
 | 
			
		||||
                                                                                              }
 | 
			
		||||
                                                                                            }
 | 
			
		||||
@ -1166,12 +1082,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                          "unlabeled": {
 | 
			
		||||
                                                                                            "commentStart": 0,
 | 
			
		||||
                                                                                            "end": 0,
 | 
			
		||||
                                                                                            "raw": "22",
 | 
			
		||||
                                                                                            "raw": "20",
 | 
			
		||||
                                                                                            "start": 0,
 | 
			
		||||
                                                                                            "type": "Literal",
 | 
			
		||||
                                                                                            "type": "Literal",
 | 
			
		||||
                                                                                            "value": {
 | 
			
		||||
                                                                                              "value": 22.0,
 | 
			
		||||
                                                                                              "value": 20.0,
 | 
			
		||||
                                                                                              "suffix": "None"
 | 
			
		||||
                                                                                            }
 | 
			
		||||
                                                                                          }
 | 
			
		||||
@ -1205,12 +1121,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                        "unlabeled": {
 | 
			
		||||
                                                                                          "commentStart": 0,
 | 
			
		||||
                                                                                          "end": 0,
 | 
			
		||||
                                                                                          "raw": "23",
 | 
			
		||||
                                                                                          "raw": "21",
 | 
			
		||||
                                                                                          "start": 0,
 | 
			
		||||
                                                                                          "type": "Literal",
 | 
			
		||||
                                                                                          "type": "Literal",
 | 
			
		||||
                                                                                          "value": {
 | 
			
		||||
                                                                                            "value": 23.0,
 | 
			
		||||
                                                                                            "value": 21.0,
 | 
			
		||||
                                                                                            "suffix": "None"
 | 
			
		||||
                                                                                          }
 | 
			
		||||
                                                                                        }
 | 
			
		||||
@ -1244,12 +1160,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                      "unlabeled": {
 | 
			
		||||
                                                                                        "commentStart": 0,
 | 
			
		||||
                                                                                        "end": 0,
 | 
			
		||||
                                                                                        "raw": "24",
 | 
			
		||||
                                                                                        "raw": "22",
 | 
			
		||||
                                                                                        "start": 0,
 | 
			
		||||
                                                                                        "type": "Literal",
 | 
			
		||||
                                                                                        "type": "Literal",
 | 
			
		||||
                                                                                        "value": {
 | 
			
		||||
                                                                                          "value": 24.0,
 | 
			
		||||
                                                                                          "value": 22.0,
 | 
			
		||||
                                                                                          "suffix": "None"
 | 
			
		||||
                                                                                        }
 | 
			
		||||
                                                                                      }
 | 
			
		||||
@ -1283,12 +1199,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                    "unlabeled": {
 | 
			
		||||
                                                                                      "commentStart": 0,
 | 
			
		||||
                                                                                      "end": 0,
 | 
			
		||||
                                                                                      "raw": "25",
 | 
			
		||||
                                                                                      "raw": "23",
 | 
			
		||||
                                                                                      "start": 0,
 | 
			
		||||
                                                                                      "type": "Literal",
 | 
			
		||||
                                                                                      "type": "Literal",
 | 
			
		||||
                                                                                      "value": {
 | 
			
		||||
                                                                                        "value": 25.0,
 | 
			
		||||
                                                                                        "value": 23.0,
 | 
			
		||||
                                                                                        "suffix": "None"
 | 
			
		||||
                                                                                      }
 | 
			
		||||
                                                                                    }
 | 
			
		||||
@ -1322,12 +1238,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                  "unlabeled": {
 | 
			
		||||
                                                                                    "commentStart": 0,
 | 
			
		||||
                                                                                    "end": 0,
 | 
			
		||||
                                                                                    "raw": "26",
 | 
			
		||||
                                                                                    "raw": "24",
 | 
			
		||||
                                                                                    "start": 0,
 | 
			
		||||
                                                                                    "type": "Literal",
 | 
			
		||||
                                                                                    "type": "Literal",
 | 
			
		||||
                                                                                    "value": {
 | 
			
		||||
                                                                                      "value": 26.0,
 | 
			
		||||
                                                                                      "value": 24.0,
 | 
			
		||||
                                                                                      "suffix": "None"
 | 
			
		||||
                                                                                    }
 | 
			
		||||
                                                                                  }
 | 
			
		||||
@ -1361,12 +1277,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                                "unlabeled": {
 | 
			
		||||
                                                                                  "commentStart": 0,
 | 
			
		||||
                                                                                  "end": 0,
 | 
			
		||||
                                                                                  "raw": "27",
 | 
			
		||||
                                                                                  "raw": "25",
 | 
			
		||||
                                                                                  "start": 0,
 | 
			
		||||
                                                                                  "type": "Literal",
 | 
			
		||||
                                                                                  "type": "Literal",
 | 
			
		||||
                                                                                  "value": {
 | 
			
		||||
                                                                                    "value": 27.0,
 | 
			
		||||
                                                                                    "value": 25.0,
 | 
			
		||||
                                                                                    "suffix": "None"
 | 
			
		||||
                                                                                  }
 | 
			
		||||
                                                                                }
 | 
			
		||||
@ -1400,12 +1316,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                              "unlabeled": {
 | 
			
		||||
                                                                                "commentStart": 0,
 | 
			
		||||
                                                                                "end": 0,
 | 
			
		||||
                                                                                "raw": "28",
 | 
			
		||||
                                                                                "raw": "26",
 | 
			
		||||
                                                                                "start": 0,
 | 
			
		||||
                                                                                "type": "Literal",
 | 
			
		||||
                                                                                "type": "Literal",
 | 
			
		||||
                                                                                "value": {
 | 
			
		||||
                                                                                  "value": 28.0,
 | 
			
		||||
                                                                                  "value": 26.0,
 | 
			
		||||
                                                                                  "suffix": "None"
 | 
			
		||||
                                                                                }
 | 
			
		||||
                                                                              }
 | 
			
		||||
@ -1439,12 +1355,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                            "unlabeled": {
 | 
			
		||||
                                                                              "commentStart": 0,
 | 
			
		||||
                                                                              "end": 0,
 | 
			
		||||
                                                                              "raw": "29",
 | 
			
		||||
                                                                              "raw": "27",
 | 
			
		||||
                                                                              "start": 0,
 | 
			
		||||
                                                                              "type": "Literal",
 | 
			
		||||
                                                                              "type": "Literal",
 | 
			
		||||
                                                                              "value": {
 | 
			
		||||
                                                                                "value": 29.0,
 | 
			
		||||
                                                                                "value": 27.0,
 | 
			
		||||
                                                                                "suffix": "None"
 | 
			
		||||
                                                                              }
 | 
			
		||||
                                                                            }
 | 
			
		||||
@ -1478,12 +1394,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                          "unlabeled": {
 | 
			
		||||
                                                                            "commentStart": 0,
 | 
			
		||||
                                                                            "end": 0,
 | 
			
		||||
                                                                            "raw": "30",
 | 
			
		||||
                                                                            "raw": "28",
 | 
			
		||||
                                                                            "start": 0,
 | 
			
		||||
                                                                            "type": "Literal",
 | 
			
		||||
                                                                            "type": "Literal",
 | 
			
		||||
                                                                            "value": {
 | 
			
		||||
                                                                              "value": 30.0,
 | 
			
		||||
                                                                              "value": 28.0,
 | 
			
		||||
                                                                              "suffix": "None"
 | 
			
		||||
                                                                            }
 | 
			
		||||
                                                                          }
 | 
			
		||||
@ -1517,12 +1433,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                        "unlabeled": {
 | 
			
		||||
                                                                          "commentStart": 0,
 | 
			
		||||
                                                                          "end": 0,
 | 
			
		||||
                                                                          "raw": "31",
 | 
			
		||||
                                                                          "raw": "29",
 | 
			
		||||
                                                                          "start": 0,
 | 
			
		||||
                                                                          "type": "Literal",
 | 
			
		||||
                                                                          "type": "Literal",
 | 
			
		||||
                                                                          "value": {
 | 
			
		||||
                                                                            "value": 31.0,
 | 
			
		||||
                                                                            "value": 29.0,
 | 
			
		||||
                                                                            "suffix": "None"
 | 
			
		||||
                                                                          }
 | 
			
		||||
                                                                        }
 | 
			
		||||
@ -1556,12 +1472,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                      "unlabeled": {
 | 
			
		||||
                                                                        "commentStart": 0,
 | 
			
		||||
                                                                        "end": 0,
 | 
			
		||||
                                                                        "raw": "32",
 | 
			
		||||
                                                                        "raw": "30",
 | 
			
		||||
                                                                        "start": 0,
 | 
			
		||||
                                                                        "type": "Literal",
 | 
			
		||||
                                                                        "type": "Literal",
 | 
			
		||||
                                                                        "value": {
 | 
			
		||||
                                                                          "value": 32.0,
 | 
			
		||||
                                                                          "value": 30.0,
 | 
			
		||||
                                                                          "suffix": "None"
 | 
			
		||||
                                                                        }
 | 
			
		||||
                                                                      }
 | 
			
		||||
@ -1595,12 +1511,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                    "unlabeled": {
 | 
			
		||||
                                                                      "commentStart": 0,
 | 
			
		||||
                                                                      "end": 0,
 | 
			
		||||
                                                                      "raw": "33",
 | 
			
		||||
                                                                      "raw": "31",
 | 
			
		||||
                                                                      "start": 0,
 | 
			
		||||
                                                                      "type": "Literal",
 | 
			
		||||
                                                                      "type": "Literal",
 | 
			
		||||
                                                                      "value": {
 | 
			
		||||
                                                                        "value": 33.0,
 | 
			
		||||
                                                                        "value": 31.0,
 | 
			
		||||
                                                                        "suffix": "None"
 | 
			
		||||
                                                                      }
 | 
			
		||||
                                                                    }
 | 
			
		||||
@ -1634,12 +1550,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                  "unlabeled": {
 | 
			
		||||
                                                                    "commentStart": 0,
 | 
			
		||||
                                                                    "end": 0,
 | 
			
		||||
                                                                    "raw": "34",
 | 
			
		||||
                                                                    "raw": "32",
 | 
			
		||||
                                                                    "start": 0,
 | 
			
		||||
                                                                    "type": "Literal",
 | 
			
		||||
                                                                    "type": "Literal",
 | 
			
		||||
                                                                    "value": {
 | 
			
		||||
                                                                      "value": 34.0,
 | 
			
		||||
                                                                      "value": 32.0,
 | 
			
		||||
                                                                      "suffix": "None"
 | 
			
		||||
                                                                    }
 | 
			
		||||
                                                                  }
 | 
			
		||||
@ -1673,12 +1589,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                                "unlabeled": {
 | 
			
		||||
                                                                  "commentStart": 0,
 | 
			
		||||
                                                                  "end": 0,
 | 
			
		||||
                                                                  "raw": "35",
 | 
			
		||||
                                                                  "raw": "33",
 | 
			
		||||
                                                                  "start": 0,
 | 
			
		||||
                                                                  "type": "Literal",
 | 
			
		||||
                                                                  "type": "Literal",
 | 
			
		||||
                                                                  "value": {
 | 
			
		||||
                                                                    "value": 35.0,
 | 
			
		||||
                                                                    "value": 33.0,
 | 
			
		||||
                                                                    "suffix": "None"
 | 
			
		||||
                                                                  }
 | 
			
		||||
                                                                }
 | 
			
		||||
@ -1712,12 +1628,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                              "unlabeled": {
 | 
			
		||||
                                                                "commentStart": 0,
 | 
			
		||||
                                                                "end": 0,
 | 
			
		||||
                                                                "raw": "36",
 | 
			
		||||
                                                                "raw": "34",
 | 
			
		||||
                                                                "start": 0,
 | 
			
		||||
                                                                "type": "Literal",
 | 
			
		||||
                                                                "type": "Literal",
 | 
			
		||||
                                                                "value": {
 | 
			
		||||
                                                                  "value": 36.0,
 | 
			
		||||
                                                                  "value": 34.0,
 | 
			
		||||
                                                                  "suffix": "None"
 | 
			
		||||
                                                                }
 | 
			
		||||
                                                              }
 | 
			
		||||
@ -1751,12 +1667,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                            "unlabeled": {
 | 
			
		||||
                                                              "commentStart": 0,
 | 
			
		||||
                                                              "end": 0,
 | 
			
		||||
                                                              "raw": "37",
 | 
			
		||||
                                                              "raw": "35",
 | 
			
		||||
                                                              "start": 0,
 | 
			
		||||
                                                              "type": "Literal",
 | 
			
		||||
                                                              "type": "Literal",
 | 
			
		||||
                                                              "value": {
 | 
			
		||||
                                                                "value": 37.0,
 | 
			
		||||
                                                                "value": 35.0,
 | 
			
		||||
                                                                "suffix": "None"
 | 
			
		||||
                                                              }
 | 
			
		||||
                                                            }
 | 
			
		||||
@ -1790,12 +1706,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                          "unlabeled": {
 | 
			
		||||
                                                            "commentStart": 0,
 | 
			
		||||
                                                            "end": 0,
 | 
			
		||||
                                                            "raw": "38",
 | 
			
		||||
                                                            "raw": "36",
 | 
			
		||||
                                                            "start": 0,
 | 
			
		||||
                                                            "type": "Literal",
 | 
			
		||||
                                                            "type": "Literal",
 | 
			
		||||
                                                            "value": {
 | 
			
		||||
                                                              "value": 38.0,
 | 
			
		||||
                                                              "value": 36.0,
 | 
			
		||||
                                                              "suffix": "None"
 | 
			
		||||
                                                            }
 | 
			
		||||
                                                          }
 | 
			
		||||
@ -1829,12 +1745,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                        "unlabeled": {
 | 
			
		||||
                                                          "commentStart": 0,
 | 
			
		||||
                                                          "end": 0,
 | 
			
		||||
                                                          "raw": "39",
 | 
			
		||||
                                                          "raw": "37",
 | 
			
		||||
                                                          "start": 0,
 | 
			
		||||
                                                          "type": "Literal",
 | 
			
		||||
                                                          "type": "Literal",
 | 
			
		||||
                                                          "value": {
 | 
			
		||||
                                                            "value": 39.0,
 | 
			
		||||
                                                            "value": 37.0,
 | 
			
		||||
                                                            "suffix": "None"
 | 
			
		||||
                                                          }
 | 
			
		||||
                                                        }
 | 
			
		||||
@ -1868,12 +1784,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                      "unlabeled": {
 | 
			
		||||
                                                        "commentStart": 0,
 | 
			
		||||
                                                        "end": 0,
 | 
			
		||||
                                                        "raw": "40",
 | 
			
		||||
                                                        "raw": "38",
 | 
			
		||||
                                                        "start": 0,
 | 
			
		||||
                                                        "type": "Literal",
 | 
			
		||||
                                                        "type": "Literal",
 | 
			
		||||
                                                        "value": {
 | 
			
		||||
                                                          "value": 40.0,
 | 
			
		||||
                                                          "value": 38.0,
 | 
			
		||||
                                                          "suffix": "None"
 | 
			
		||||
                                                        }
 | 
			
		||||
                                                      }
 | 
			
		||||
@ -1907,12 +1823,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                    "unlabeled": {
 | 
			
		||||
                                                      "commentStart": 0,
 | 
			
		||||
                                                      "end": 0,
 | 
			
		||||
                                                      "raw": "41",
 | 
			
		||||
                                                      "raw": "39",
 | 
			
		||||
                                                      "start": 0,
 | 
			
		||||
                                                      "type": "Literal",
 | 
			
		||||
                                                      "type": "Literal",
 | 
			
		||||
                                                      "value": {
 | 
			
		||||
                                                        "value": 41.0,
 | 
			
		||||
                                                        "value": 39.0,
 | 
			
		||||
                                                        "suffix": "None"
 | 
			
		||||
                                                      }
 | 
			
		||||
                                                    }
 | 
			
		||||
@ -1946,12 +1862,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                  "unlabeled": {
 | 
			
		||||
                                                    "commentStart": 0,
 | 
			
		||||
                                                    "end": 0,
 | 
			
		||||
                                                    "raw": "42",
 | 
			
		||||
                                                    "raw": "40",
 | 
			
		||||
                                                    "start": 0,
 | 
			
		||||
                                                    "type": "Literal",
 | 
			
		||||
                                                    "type": "Literal",
 | 
			
		||||
                                                    "value": {
 | 
			
		||||
                                                      "value": 42.0,
 | 
			
		||||
                                                      "value": 40.0,
 | 
			
		||||
                                                      "suffix": "None"
 | 
			
		||||
                                                    }
 | 
			
		||||
                                                  }
 | 
			
		||||
@ -1985,12 +1901,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                                "unlabeled": {
 | 
			
		||||
                                                  "commentStart": 0,
 | 
			
		||||
                                                  "end": 0,
 | 
			
		||||
                                                  "raw": "43",
 | 
			
		||||
                                                  "raw": "41",
 | 
			
		||||
                                                  "start": 0,
 | 
			
		||||
                                                  "type": "Literal",
 | 
			
		||||
                                                  "type": "Literal",
 | 
			
		||||
                                                  "value": {
 | 
			
		||||
                                                    "value": 43.0,
 | 
			
		||||
                                                    "value": 41.0,
 | 
			
		||||
                                                    "suffix": "None"
 | 
			
		||||
                                                  }
 | 
			
		||||
                                                }
 | 
			
		||||
@ -2024,12 +1940,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                              "unlabeled": {
 | 
			
		||||
                                                "commentStart": 0,
 | 
			
		||||
                                                "end": 0,
 | 
			
		||||
                                                "raw": "44",
 | 
			
		||||
                                                "raw": "42",
 | 
			
		||||
                                                "start": 0,
 | 
			
		||||
                                                "type": "Literal",
 | 
			
		||||
                                                "type": "Literal",
 | 
			
		||||
                                                "value": {
 | 
			
		||||
                                                  "value": 44.0,
 | 
			
		||||
                                                  "value": 42.0,
 | 
			
		||||
                                                  "suffix": "None"
 | 
			
		||||
                                                }
 | 
			
		||||
                                              }
 | 
			
		||||
@ -2063,12 +1979,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                            "unlabeled": {
 | 
			
		||||
                                              "commentStart": 0,
 | 
			
		||||
                                              "end": 0,
 | 
			
		||||
                                              "raw": "45",
 | 
			
		||||
                                              "raw": "43",
 | 
			
		||||
                                              "start": 0,
 | 
			
		||||
                                              "type": "Literal",
 | 
			
		||||
                                              "type": "Literal",
 | 
			
		||||
                                              "value": {
 | 
			
		||||
                                                "value": 45.0,
 | 
			
		||||
                                                "value": 43.0,
 | 
			
		||||
                                                "suffix": "None"
 | 
			
		||||
                                              }
 | 
			
		||||
                                            }
 | 
			
		||||
@ -2102,12 +2018,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                          "unlabeled": {
 | 
			
		||||
                                            "commentStart": 0,
 | 
			
		||||
                                            "end": 0,
 | 
			
		||||
                                            "raw": "46",
 | 
			
		||||
                                            "raw": "44",
 | 
			
		||||
                                            "start": 0,
 | 
			
		||||
                                            "type": "Literal",
 | 
			
		||||
                                            "type": "Literal",
 | 
			
		||||
                                            "value": {
 | 
			
		||||
                                              "value": 46.0,
 | 
			
		||||
                                              "value": 44.0,
 | 
			
		||||
                                              "suffix": "None"
 | 
			
		||||
                                            }
 | 
			
		||||
                                          }
 | 
			
		||||
@ -2141,12 +2057,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                        "unlabeled": {
 | 
			
		||||
                                          "commentStart": 0,
 | 
			
		||||
                                          "end": 0,
 | 
			
		||||
                                          "raw": "47",
 | 
			
		||||
                                          "raw": "45",
 | 
			
		||||
                                          "start": 0,
 | 
			
		||||
                                          "type": "Literal",
 | 
			
		||||
                                          "type": "Literal",
 | 
			
		||||
                                          "value": {
 | 
			
		||||
                                            "value": 47.0,
 | 
			
		||||
                                            "value": 45.0,
 | 
			
		||||
                                            "suffix": "None"
 | 
			
		||||
                                          }
 | 
			
		||||
                                        }
 | 
			
		||||
@ -2180,12 +2096,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                      "unlabeled": {
 | 
			
		||||
                                        "commentStart": 0,
 | 
			
		||||
                                        "end": 0,
 | 
			
		||||
                                        "raw": "48",
 | 
			
		||||
                                        "raw": "46",
 | 
			
		||||
                                        "start": 0,
 | 
			
		||||
                                        "type": "Literal",
 | 
			
		||||
                                        "type": "Literal",
 | 
			
		||||
                                        "value": {
 | 
			
		||||
                                          "value": 48.0,
 | 
			
		||||
                                          "value": 46.0,
 | 
			
		||||
                                          "suffix": "None"
 | 
			
		||||
                                        }
 | 
			
		||||
                                      }
 | 
			
		||||
@ -2219,12 +2135,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                    "unlabeled": {
 | 
			
		||||
                                      "commentStart": 0,
 | 
			
		||||
                                      "end": 0,
 | 
			
		||||
                                      "raw": "49",
 | 
			
		||||
                                      "raw": "47",
 | 
			
		||||
                                      "start": 0,
 | 
			
		||||
                                      "type": "Literal",
 | 
			
		||||
                                      "type": "Literal",
 | 
			
		||||
                                      "value": {
 | 
			
		||||
                                        "value": 49.0,
 | 
			
		||||
                                        "value": 47.0,
 | 
			
		||||
                                        "suffix": "None"
 | 
			
		||||
                                      }
 | 
			
		||||
                                    }
 | 
			
		||||
@ -2258,12 +2174,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                  "unlabeled": {
 | 
			
		||||
                                    "commentStart": 0,
 | 
			
		||||
                                    "end": 0,
 | 
			
		||||
                                    "raw": "50",
 | 
			
		||||
                                    "raw": "48",
 | 
			
		||||
                                    "start": 0,
 | 
			
		||||
                                    "type": "Literal",
 | 
			
		||||
                                    "type": "Literal",
 | 
			
		||||
                                    "value": {
 | 
			
		||||
                                      "value": 50.0,
 | 
			
		||||
                                      "value": 48.0,
 | 
			
		||||
                                      "suffix": "None"
 | 
			
		||||
                                    }
 | 
			
		||||
                                  }
 | 
			
		||||
@ -2297,12 +2213,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                                "unlabeled": {
 | 
			
		||||
                                  "commentStart": 0,
 | 
			
		||||
                                  "end": 0,
 | 
			
		||||
                                  "raw": "51",
 | 
			
		||||
                                  "raw": "49",
 | 
			
		||||
                                  "start": 0,
 | 
			
		||||
                                  "type": "Literal",
 | 
			
		||||
                                  "type": "Literal",
 | 
			
		||||
                                  "value": {
 | 
			
		||||
                                    "value": 51.0,
 | 
			
		||||
                                    "value": 49.0,
 | 
			
		||||
                                    "suffix": "None"
 | 
			
		||||
                                  }
 | 
			
		||||
                                }
 | 
			
		||||
@ -2336,12 +2252,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                              "unlabeled": {
 | 
			
		||||
                                "commentStart": 0,
 | 
			
		||||
                                "end": 0,
 | 
			
		||||
                                "raw": "52",
 | 
			
		||||
                                "raw": "50",
 | 
			
		||||
                                "start": 0,
 | 
			
		||||
                                "type": "Literal",
 | 
			
		||||
                                "type": "Literal",
 | 
			
		||||
                                "value": {
 | 
			
		||||
                                  "value": 52.0,
 | 
			
		||||
                                  "value": 50.0,
 | 
			
		||||
                                  "suffix": "None"
 | 
			
		||||
                                }
 | 
			
		||||
                              }
 | 
			
		||||
@ -2375,12 +2291,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                            "unlabeled": {
 | 
			
		||||
                              "commentStart": 0,
 | 
			
		||||
                              "end": 0,
 | 
			
		||||
                              "raw": "53",
 | 
			
		||||
                              "raw": "51",
 | 
			
		||||
                              "start": 0,
 | 
			
		||||
                              "type": "Literal",
 | 
			
		||||
                              "type": "Literal",
 | 
			
		||||
                              "value": {
 | 
			
		||||
                                "value": 53.0,
 | 
			
		||||
                                "value": 51.0,
 | 
			
		||||
                                "suffix": "None"
 | 
			
		||||
                              }
 | 
			
		||||
                            }
 | 
			
		||||
@ -2414,12 +2330,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                          "unlabeled": {
 | 
			
		||||
                            "commentStart": 0,
 | 
			
		||||
                            "end": 0,
 | 
			
		||||
                            "raw": "54",
 | 
			
		||||
                            "raw": "52",
 | 
			
		||||
                            "start": 0,
 | 
			
		||||
                            "type": "Literal",
 | 
			
		||||
                            "type": "Literal",
 | 
			
		||||
                            "value": {
 | 
			
		||||
                              "value": 54.0,
 | 
			
		||||
                              "value": 52.0,
 | 
			
		||||
                              "suffix": "None"
 | 
			
		||||
                            }
 | 
			
		||||
                          }
 | 
			
		||||
@ -2453,12 +2369,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                        "unlabeled": {
 | 
			
		||||
                          "commentStart": 0,
 | 
			
		||||
                          "end": 0,
 | 
			
		||||
                          "raw": "55",
 | 
			
		||||
                          "raw": "53",
 | 
			
		||||
                          "start": 0,
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "type": "Literal",
 | 
			
		||||
                          "value": {
 | 
			
		||||
                            "value": 55.0,
 | 
			
		||||
                            "value": 53.0,
 | 
			
		||||
                            "suffix": "None"
 | 
			
		||||
                          }
 | 
			
		||||
                        }
 | 
			
		||||
@ -2492,12 +2408,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                      "unlabeled": {
 | 
			
		||||
                        "commentStart": 0,
 | 
			
		||||
                        "end": 0,
 | 
			
		||||
                        "raw": "56",
 | 
			
		||||
                        "raw": "54",
 | 
			
		||||
                        "start": 0,
 | 
			
		||||
                        "type": "Literal",
 | 
			
		||||
                        "type": "Literal",
 | 
			
		||||
                        "value": {
 | 
			
		||||
                          "value": 56.0,
 | 
			
		||||
                          "value": 54.0,
 | 
			
		||||
                          "suffix": "None"
 | 
			
		||||
                        }
 | 
			
		||||
                      }
 | 
			
		||||
@ -2531,12 +2447,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                    "unlabeled": {
 | 
			
		||||
                      "commentStart": 0,
 | 
			
		||||
                      "end": 0,
 | 
			
		||||
                      "raw": "57",
 | 
			
		||||
                      "raw": "55",
 | 
			
		||||
                      "start": 0,
 | 
			
		||||
                      "type": "Literal",
 | 
			
		||||
                      "type": "Literal",
 | 
			
		||||
                      "value": {
 | 
			
		||||
                        "value": 57.0,
 | 
			
		||||
                        "value": 55.0,
 | 
			
		||||
                        "suffix": "None"
 | 
			
		||||
                      }
 | 
			
		||||
                    }
 | 
			
		||||
@ -2570,12 +2486,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                  "unlabeled": {
 | 
			
		||||
                    "commentStart": 0,
 | 
			
		||||
                    "end": 0,
 | 
			
		||||
                    "raw": "58",
 | 
			
		||||
                    "raw": "56",
 | 
			
		||||
                    "start": 0,
 | 
			
		||||
                    "type": "Literal",
 | 
			
		||||
                    "type": "Literal",
 | 
			
		||||
                    "value": {
 | 
			
		||||
                      "value": 58.0,
 | 
			
		||||
                      "value": 56.0,
 | 
			
		||||
                      "suffix": "None"
 | 
			
		||||
                    }
 | 
			
		||||
                  }
 | 
			
		||||
@ -2609,12 +2525,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
                "unlabeled": {
 | 
			
		||||
                  "commentStart": 0,
 | 
			
		||||
                  "end": 0,
 | 
			
		||||
                  "raw": "59",
 | 
			
		||||
                  "raw": "57",
 | 
			
		||||
                  "start": 0,
 | 
			
		||||
                  "type": "Literal",
 | 
			
		||||
                  "type": "Literal",
 | 
			
		||||
                  "value": {
 | 
			
		||||
                    "value": 59.0,
 | 
			
		||||
                    "value": 57.0,
 | 
			
		||||
                    "suffix": "None"
 | 
			
		||||
                  }
 | 
			
		||||
                }
 | 
			
		||||
@ -2648,12 +2564,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
              "unlabeled": {
 | 
			
		||||
                "commentStart": 0,
 | 
			
		||||
                "end": 0,
 | 
			
		||||
                "raw": "60",
 | 
			
		||||
                "raw": "58",
 | 
			
		||||
                "start": 0,
 | 
			
		||||
                "type": "Literal",
 | 
			
		||||
                "type": "Literal",
 | 
			
		||||
                "value": {
 | 
			
		||||
                  "value": 60.0,
 | 
			
		||||
                  "value": 58.0,
 | 
			
		||||
                  "suffix": "None"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
@ -2688,12 +2604,12 @@ description: Result of parsing add_lots.kcl
 | 
			
		||||
              "arg": {
 | 
			
		||||
                "commentStart": 0,
 | 
			
		||||
                "end": 0,
 | 
			
		||||
                "raw": "3660",
 | 
			
		||||
                "raw": "3422",
 | 
			
		||||
                "start": 0,
 | 
			
		||||
                "type": "Literal",
 | 
			
		||||
                "type": "Literal",
 | 
			
		||||
                "value": {
 | 
			
		||||
                  "value": 3660.0,
 | 
			
		||||
                  "value": 3422.0,
 | 
			
		||||
                  "suffix": "None"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
 | 
			
		||||
@ -2,6 +2,6 @@ fn f(@i) {
 | 
			
		||||
  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")
 | 
			
		||||
 | 
			
		||||
@ -1537,64 +1537,6 @@ description: Operations executed add_lots.kcl
 | 
			
		||||
    },
 | 
			
		||||
    "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"
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
@ -9,7 +9,7 @@ description: Variables in memory after executing add_lots.kcl
 | 
			
		||||
  },
 | 
			
		||||
  "x": {
 | 
			
		||||
    "type": "Number",
 | 
			
		||||
    "value": 3660.0,
 | 
			
		||||
    "value": 3422.0,
 | 
			
		||||
    "ty": {
 | 
			
		||||
      "type": "Default",
 | 
			
		||||
      "len": {
 | 
			
		||||
 | 
			
		||||
@ -6,6 +6,6 @@ fn f(@i) {
 | 
			
		||||
  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")
 | 
			
		||||
 | 
			
		||||
@ -53,15 +53,10 @@ description: Operations executed circular_pattern3d_a_pattern.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -77,15 +77,10 @@ description: Operations executed crazy_multi_profile.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -198,15 +193,10 @@ description: Operations executed crazy_multi_profile.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -642,15 +642,10 @@ description: Operations executed fillet-and-shell.kcl
 | 
			
		||||
    "name": "shell",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -121,15 +121,10 @@ description: Operations executed ball-bearing.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -365,15 +360,10 @@ description: Operations executed ball-bearing.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -609,15 +599,10 @@ description: Operations executed ball-bearing.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -760,15 +760,10 @@ description: Operations executed bench.kcl
 | 
			
		||||
    "name": "shell",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -809,15 +804,10 @@ description: Operations executed bench.kcl
 | 
			
		||||
    "name": "shell",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -858,15 +848,10 @@ description: Operations executed bench.kcl
 | 
			
		||||
    "name": "shell",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -907,15 +892,10 @@ description: Operations executed bench.kcl
 | 
			
		||||
    "name": "shell",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -956,15 +936,10 @@ description: Operations executed bench.kcl
 | 
			
		||||
    "name": "shell",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -1005,15 +980,10 @@ description: Operations executed bench.kcl
 | 
			
		||||
    "name": "shell",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -414,15 +414,10 @@ description: Operations executed bone-plate.kcl
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
@ -475,15 +470,10 @@ description: Operations executed bone-plate.kcl
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
@ -536,15 +526,10 @@ description: Operations executed bone-plate.kcl
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
@ -597,15 +582,10 @@ description: Operations executed bone-plate.kcl
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -108,15 +108,10 @@ description: Operations executed bottle.kcl
 | 
			
		||||
    "name": "shell",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -456,272 +456,267 @@ description: Variables in memory after executing bottle.kcl
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "bottleShell": {
 | 
			
		||||
    "type": "HomArray",
 | 
			
		||||
    "value": [
 | 
			
		||||
      {
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
    "type": "Solid",
 | 
			
		||||
    "value": {
 | 
			
		||||
      "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": [
 | 
			
		||||
              22.5,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "radius": 22.5,
 | 
			
		||||
            "tag": null,
 | 
			
		||||
            "to": [
 | 
			
		||||
              22.5,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "type": "Circle",
 | 
			
		||||
            "units": {
 | 
			
		||||
              "type": "Mm"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ],
 | 
			
		||||
        "on": {
 | 
			
		||||
          "type": "face",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "artifactId": "[uuid]",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "faceId": "[uuid]",
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [],
 | 
			
		||||
              "tag": null,
 | 
			
		||||
              "type": "extrudeArc"
 | 
			
		||||
          "value": "end",
 | 
			
		||||
          "xAxis": {
 | 
			
		||||
            "x": 1.0,
 | 
			
		||||
            "y": 0.0,
 | 
			
		||||
            "z": 0.0,
 | 
			
		||||
            "units": {
 | 
			
		||||
              "type": "Unknown"
 | 
			
		||||
            }
 | 
			
		||||
          ],
 | 
			
		||||
          "sketch": {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
          },
 | 
			
		||||
          "yAxis": {
 | 
			
		||||
            "x": 0.0,
 | 
			
		||||
            "y": 1.0,
 | 
			
		||||
            "z": 0.0,
 | 
			
		||||
            "units": {
 | 
			
		||||
              "type": "Unknown"
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          "solid": {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "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",
 | 
			
		||||
            "artifactId": "[uuid]",
 | 
			
		||||
            "value": [],
 | 
			
		||||
            "sketch": {
 | 
			
		||||
              "type": "Sketch",
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "artifactId": "[uuid]",
 | 
			
		||||
              "value": "end",
 | 
			
		||||
              "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"
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              "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]",
 | 
			
		||||
              "paths": [
 | 
			
		||||
                {
 | 
			
		||||
                  "__geoMeta": {
 | 
			
		||||
                    "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"
 | 
			
		||||
                      }
 | 
			
		||||
                    }
 | 
			
		||||
                    "sourceRange": []
 | 
			
		||||
                  },
 | 
			
		||||
                  "start": {
 | 
			
		||||
                    "from": [
 | 
			
		||||
                      -62.5,
 | 
			
		||||
                      0.0
 | 
			
		||||
                    ],
 | 
			
		||||
                    "to": [
 | 
			
		||||
                      -62.5,
 | 
			
		||||
                      0.0
 | 
			
		||||
                    ],
 | 
			
		||||
                    "units": {
 | 
			
		||||
                      "type": "Mm"
 | 
			
		||||
                    },
 | 
			
		||||
                    "tag": null,
 | 
			
		||||
                    "__geoMeta": {
 | 
			
		||||
                      "id": "[uuid]",
 | 
			
		||||
                      "sourceRange": []
 | 
			
		||||
                    }
 | 
			
		||||
                  },
 | 
			
		||||
                  "artifactId": "[uuid]",
 | 
			
		||||
                  "originalId": "[uuid]",
 | 
			
		||||
                  "from": [
 | 
			
		||||
                    -62.5,
 | 
			
		||||
                    0.0
 | 
			
		||||
                  ],
 | 
			
		||||
                  "tag": null,
 | 
			
		||||
                  "to": [
 | 
			
		||||
                    -62.5,
 | 
			
		||||
                    26.667
 | 
			
		||||
                  ],
 | 
			
		||||
                  "type": "ToPoint",
 | 
			
		||||
                  "units": {
 | 
			
		||||
                    "type": "Mm"
 | 
			
		||||
                  }
 | 
			
		||||
                },
 | 
			
		||||
                "height": 202.0,
 | 
			
		||||
                "startCapId": "[uuid]",
 | 
			
		||||
                "endCapId": "[uuid]",
 | 
			
		||||
                {
 | 
			
		||||
                  "__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]",
 | 
			
		||||
                "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": {
 | 
			
		||||
                  "type": "Mm"
 | 
			
		||||
                },
 | 
			
		||||
                "sectional": false
 | 
			
		||||
                "tag": null,
 | 
			
		||||
                "__geoMeta": {
 | 
			
		||||
                  "id": "[uuid]",
 | 
			
		||||
                  "sourceRange": []
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              "artifactId": "[uuid]",
 | 
			
		||||
              "originalId": "[uuid]",
 | 
			
		||||
              "units": {
 | 
			
		||||
                "type": "Mm"
 | 
			
		||||
              }
 | 
			
		||||
            },
 | 
			
		||||
            "start": {
 | 
			
		||||
              "from": [
 | 
			
		||||
                22.5,
 | 
			
		||||
                0.0
 | 
			
		||||
              ],
 | 
			
		||||
              "to": [
 | 
			
		||||
                22.5,
 | 
			
		||||
                0.0
 | 
			
		||||
              ],
 | 
			
		||||
              "units": {
 | 
			
		||||
                "type": "Mm"
 | 
			
		||||
              },
 | 
			
		||||
              "tag": null,
 | 
			
		||||
              "__geoMeta": {
 | 
			
		||||
                "id": "[uuid]",
 | 
			
		||||
                "sourceRange": []
 | 
			
		||||
              }
 | 
			
		||||
            },
 | 
			
		||||
            "artifactId": "[uuid]",
 | 
			
		||||
            "originalId": "[uuid]",
 | 
			
		||||
            "height": 202.0,
 | 
			
		||||
            "startCapId": "[uuid]",
 | 
			
		||||
            "endCapId": "[uuid]",
 | 
			
		||||
            "units": {
 | 
			
		||||
              "type": "Mm"
 | 
			
		||||
            }
 | 
			
		||||
            },
 | 
			
		||||
            "sectional": false
 | 
			
		||||
          },
 | 
			
		||||
          "height": 18.0,
 | 
			
		||||
          "startCapId": null,
 | 
			
		||||
          "endCapId": "[uuid]",
 | 
			
		||||
          "units": {
 | 
			
		||||
            "type": "Mm"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "start": {
 | 
			
		||||
          "from": [
 | 
			
		||||
            22.5,
 | 
			
		||||
            0.0
 | 
			
		||||
          ],
 | 
			
		||||
          "to": [
 | 
			
		||||
            22.5,
 | 
			
		||||
            0.0
 | 
			
		||||
          ],
 | 
			
		||||
          "units": {
 | 
			
		||||
            "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": {
 | 
			
		||||
    "type": "Number",
 | 
			
		||||
 | 
			
		||||
@ -1036,15 +1036,10 @@ description: Operations executed brake-rotor.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -53,15 +53,10 @@ description: Operations executed car-wheel-assembly.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -1651,117 +1651,112 @@ description: Variables in memory after executing cold-plate.kcl
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "tubeWall": {
 | 
			
		||||
    "type": "HomArray",
 | 
			
		||||
    "value": [
 | 
			
		||||
      {
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
    "type": "Solid",
 | 
			
		||||
    "value": {
 | 
			
		||||
      "type": "Solid",
 | 
			
		||||
      "id": "[uuid]",
 | 
			
		||||
      "artifactId": "[uuid]",
 | 
			
		||||
      "value": [
 | 
			
		||||
        {
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "artifactId": "[uuid]",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "faceId": "[uuid]",
 | 
			
		||||
          "sourceRange": [],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
          "type": "extrudeArc"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "sketch": {
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "id": "[uuid]",
 | 
			
		||||
        "paths": [
 | 
			
		||||
          {
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [],
 | 
			
		||||
              "tag": null,
 | 
			
		||||
              "type": "extrudeArc"
 | 
			
		||||
            }
 | 
			
		||||
          ],
 | 
			
		||||
          "sketch": {
 | 
			
		||||
            "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"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
              "sourceRange": []
 | 
			
		||||
            },
 | 
			
		||||
            "ccw": true,
 | 
			
		||||
            "center": [
 | 
			
		||||
              -3.0,
 | 
			
		||||
              0.625
 | 
			
		||||
            ],
 | 
			
		||||
            "on": {
 | 
			
		||||
              "artifactId": "[uuid]",
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "origin": {
 | 
			
		||||
                "x": -186.69,
 | 
			
		||||
                "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": [
 | 
			
		||||
                -2.688,
 | 
			
		||||
                0.625
 | 
			
		||||
              ],
 | 
			
		||||
              "to": [
 | 
			
		||||
                -2.688,
 | 
			
		||||
                0.625
 | 
			
		||||
              ],
 | 
			
		||||
              "units": {
 | 
			
		||||
                "type": "Inches"
 | 
			
		||||
              },
 | 
			
		||||
              "tag": null,
 | 
			
		||||
              "__geoMeta": {
 | 
			
		||||
                "id": "[uuid]",
 | 
			
		||||
                "sourceRange": []
 | 
			
		||||
              }
 | 
			
		||||
            },
 | 
			
		||||
            "artifactId": "[uuid]",
 | 
			
		||||
            "originalId": "[uuid]",
 | 
			
		||||
            "from": [
 | 
			
		||||
              -2.688,
 | 
			
		||||
              0.625
 | 
			
		||||
            ],
 | 
			
		||||
            "radius": 0.3125,
 | 
			
		||||
            "tag": null,
 | 
			
		||||
            "to": [
 | 
			
		||||
              -2.688,
 | 
			
		||||
              0.625
 | 
			
		||||
            ],
 | 
			
		||||
            "type": "Circle",
 | 
			
		||||
            "units": {
 | 
			
		||||
              "type": "Inches"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ],
 | 
			
		||||
        "on": {
 | 
			
		||||
          "artifactId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "origin": {
 | 
			
		||||
            "x": -186.69,
 | 
			
		||||
            "y": 0.0,
 | 
			
		||||
            "z": 0.0,
 | 
			
		||||
            "units": {
 | 
			
		||||
              "type": "Mm"
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          "height": 0.0,
 | 
			
		||||
          "startCapId": "[uuid]",
 | 
			
		||||
          "endCapId": null,
 | 
			
		||||
          "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"
 | 
			
		||||
          },
 | 
			
		||||
          "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": {
 | 
			
		||||
    "type": "Number",
 | 
			
		||||
 | 
			
		||||
@ -1475,15 +1475,10 @@ description: Operations executed counterdrilled-weldment.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -1620,15 +1615,10 @@ description: Operations executed counterdrilled-weldment.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -71,15 +71,10 @@ description: Operations executed cpu-cooler.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -445,26 +440,16 @@ description: Operations executed cpu-cooler.kcl
 | 
			
		||||
            "type": "Array",
 | 
			
		||||
            "value": [
 | 
			
		||||
              {
 | 
			
		||||
                "type": "Array",
 | 
			
		||||
                "value": [
 | 
			
		||||
                  {
 | 
			
		||||
                    "type": "Solid",
 | 
			
		||||
                    "value": {
 | 
			
		||||
                      "artifactId": "[uuid]"
 | 
			
		||||
                    }
 | 
			
		||||
                  }
 | 
			
		||||
                ]
 | 
			
		||||
                "type": "Solid",
 | 
			
		||||
                "value": {
 | 
			
		||||
                  "artifactId": "[uuid]"
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "type": "Array",
 | 
			
		||||
                "value": [
 | 
			
		||||
                  {
 | 
			
		||||
                    "type": "Solid",
 | 
			
		||||
                    "value": {
 | 
			
		||||
                      "artifactId": "[uuid]"
 | 
			
		||||
                    }
 | 
			
		||||
                  }
 | 
			
		||||
                ]
 | 
			
		||||
                "type": "Solid",
 | 
			
		||||
                "value": {
 | 
			
		||||
                  "artifactId": "[uuid]"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            ]
 | 
			
		||||
          },
 | 
			
		||||
 | 
			
		||||
@ -807,15 +807,10 @@ description: Operations executed curtain-wall-anchor-plate.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -4,348 +4,343 @@ description: Variables in memory after executing enclosure.kcl
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
  "extrude001": {
 | 
			
		||||
    "type": "HomArray",
 | 
			
		||||
    "value": [
 | 
			
		||||
      {
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
    "type": "Solid",
 | 
			
		||||
    "value": {
 | 
			
		||||
      "type": "Solid",
 | 
			
		||||
      "id": "[uuid]",
 | 
			
		||||
      "artifactId": "[uuid]",
 | 
			
		||||
      "value": [
 | 
			
		||||
        {
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "artifactId": "[uuid]",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "faceId": "[uuid]",
 | 
			
		||||
          "sourceRange": [],
 | 
			
		||||
          "tag": {
 | 
			
		||||
            "commentStart": 380,
 | 
			
		||||
            "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]",
 | 
			
		||||
              "sourceRange": [],
 | 
			
		||||
              "tag": {
 | 
			
		||||
                "commentStart": 380,
 | 
			
		||||
                "end": 401,
 | 
			
		||||
                "start": 380,
 | 
			
		||||
                "type": "TagDeclarator",
 | 
			
		||||
                "value": "rectangleSegmentA001"
 | 
			
		||||
              },
 | 
			
		||||
              "type": "extrudePlane"
 | 
			
		||||
              "sourceRange": []
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "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]",
 | 
			
		||||
                  "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"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            "from": [
 | 
			
		||||
              0.0,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "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"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            "tag": {
 | 
			
		||||
              "commentStart": 380,
 | 
			
		||||
              "end": 401,
 | 
			
		||||
              "start": 380,
 | 
			
		||||
              "type": "TagDeclarator",
 | 
			
		||||
              "value": "rectangleSegmentA001"
 | 
			
		||||
            },
 | 
			
		||||
            "start": {
 | 
			
		||||
              "from": [
 | 
			
		||||
                0.0,
 | 
			
		||||
                0.0
 | 
			
		||||
              ],
 | 
			
		||||
              "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]",
 | 
			
		||||
            "to": [
 | 
			
		||||
              125.0,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "type": "ToPoint",
 | 
			
		||||
            "units": {
 | 
			
		||||
              "type": "Mm"
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          "height": 70.0,
 | 
			
		||||
          "startCapId": "[uuid]",
 | 
			
		||||
          "endCapId": "[uuid]",
 | 
			
		||||
          "edgeCuts": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "fillet",
 | 
			
		||||
          {
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "radius": {
 | 
			
		||||
                "n": 12.0,
 | 
			
		||||
                "ty": {
 | 
			
		||||
                  "type": "Default",
 | 
			
		||||
                  "len": {
 | 
			
		||||
                    "type": "Mm"
 | 
			
		||||
                  },
 | 
			
		||||
                  "angle": {
 | 
			
		||||
                    "type": "Degrees"
 | 
			
		||||
                  }
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              "edgeId": "[uuid]",
 | 
			
		||||
              "tag": null
 | 
			
		||||
              "sourceRange": []
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "fillet",
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "radius": {
 | 
			
		||||
                "n": 12.0,
 | 
			
		||||
                "ty": {
 | 
			
		||||
                  "type": "Default",
 | 
			
		||||
                  "len": {
 | 
			
		||||
                    "type": "Mm"
 | 
			
		||||
                  },
 | 
			
		||||
                  "angle": {
 | 
			
		||||
                    "type": "Degrees"
 | 
			
		||||
                  }
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              "edgeId": "[uuid]",
 | 
			
		||||
              "tag": null
 | 
			
		||||
            "from": [
 | 
			
		||||
              125.0,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "tag": {
 | 
			
		||||
              "commentStart": 476,
 | 
			
		||||
              "end": 497,
 | 
			
		||||
              "start": 476,
 | 
			
		||||
              "type": "TagDeclarator",
 | 
			
		||||
              "value": "rectangleSegmentB001"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "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
 | 
			
		||||
            "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": {
 | 
			
		||||
          "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": {
 | 
			
		||||
            "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": {
 | 
			
		||||
    "type": "Solid",
 | 
			
		||||
 | 
			
		||||
@ -21,15 +21,10 @@ description: Operations executed engine-valve.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -3629,117 +3629,112 @@ description: Variables in memory after executing french-press.kcl
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "extrude006": {
 | 
			
		||||
    "type": "HomArray",
 | 
			
		||||
    "value": [
 | 
			
		||||
      {
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
    "type": "Solid",
 | 
			
		||||
    "value": {
 | 
			
		||||
      "type": "Solid",
 | 
			
		||||
      "id": "[uuid]",
 | 
			
		||||
      "artifactId": "[uuid]",
 | 
			
		||||
      "value": [
 | 
			
		||||
        {
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "artifactId": "[uuid]",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "faceId": "[uuid]",
 | 
			
		||||
          "sourceRange": [],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
          "type": "extrudeArc"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "sketch": {
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "id": "[uuid]",
 | 
			
		||||
        "paths": [
 | 
			
		||||
          {
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "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": [
 | 
			
		||||
                  2.205,
 | 
			
		||||
                  0.0
 | 
			
		||||
                ],
 | 
			
		||||
                "radius": 2.205,
 | 
			
		||||
                "tag": null,
 | 
			
		||||
                "to": [
 | 
			
		||||
                  2.205,
 | 
			
		||||
                  0.0
 | 
			
		||||
                ],
 | 
			
		||||
                "type": "Circle",
 | 
			
		||||
                "units": {
 | 
			
		||||
                  "type": "Inches"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
              "sourceRange": []
 | 
			
		||||
            },
 | 
			
		||||
            "ccw": true,
 | 
			
		||||
            "center": [
 | 
			
		||||
              0.0,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "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": [
 | 
			
		||||
                2.205,
 | 
			
		||||
                0.0
 | 
			
		||||
              ],
 | 
			
		||||
              "to": [
 | 
			
		||||
                2.205,
 | 
			
		||||
                0.0
 | 
			
		||||
              ],
 | 
			
		||||
              "units": {
 | 
			
		||||
                "type": "Inches"
 | 
			
		||||
              },
 | 
			
		||||
              "tag": null,
 | 
			
		||||
              "__geoMeta": {
 | 
			
		||||
                "id": "[uuid]",
 | 
			
		||||
                "sourceRange": []
 | 
			
		||||
              }
 | 
			
		||||
            },
 | 
			
		||||
            "artifactId": "[uuid]",
 | 
			
		||||
            "originalId": "[uuid]",
 | 
			
		||||
            "from": [
 | 
			
		||||
              2.205,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "radius": 2.205,
 | 
			
		||||
            "tag": null,
 | 
			
		||||
            "to": [
 | 
			
		||||
              2.205,
 | 
			
		||||
              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"
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          "height": 7.32,
 | 
			
		||||
          "startCapId": "[uuid]",
 | 
			
		||||
          "endCapId": "[uuid]",
 | 
			
		||||
          "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"
 | 
			
		||||
          },
 | 
			
		||||
          "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": {
 | 
			
		||||
    "type": "Solid",
 | 
			
		||||
 | 
			
		||||
@ -113,15 +113,10 @@ description: Operations executed gridfinity-baseplate-magnets.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -258,15 +253,10 @@ description: Operations executed gridfinity-baseplate-magnets.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -412,15 +402,10 @@ description: Operations executed gridfinity-baseplate-magnets.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -1494,15 +1479,10 @@ description: Operations executed gridfinity-baseplate-magnets.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -1690,15 +1670,10 @@ description: Operations executed gridfinity-baseplate-magnets.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -113,15 +113,10 @@ description: Operations executed gridfinity-baseplate.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -258,15 +253,10 @@ description: Operations executed gridfinity-baseplate.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -412,15 +402,10 @@ description: Operations executed gridfinity-baseplate.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -113,15 +113,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -258,15 +253,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -412,15 +402,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -1236,15 +1221,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -2555,15 +2535,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -2700,15 +2675,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -2845,15 +2815,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -3102,15 +3067,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -3359,15 +3319,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -3504,15 +3459,10 @@ description: Operations executed gridfinity-bins-stacking-lip.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -12943,329 +12943,324 @@ description: Variables in memory after executing gridfinity-bins-stacking-lip.kc
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "binTop": {
 | 
			
		||||
    "type": "HomArray",
 | 
			
		||||
    "value": [
 | 
			
		||||
      {
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
    "type": "Solid",
 | 
			
		||||
    "value": {
 | 
			
		||||
      "type": "Solid",
 | 
			
		||||
      "id": "[uuid]",
 | 
			
		||||
      "artifactId": "[uuid]",
 | 
			
		||||
      "value": [
 | 
			
		||||
        {
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "artifactId": "[uuid]",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "faceId": "[uuid]",
 | 
			
		||||
          "sourceRange": [],
 | 
			
		||||
          "tag": {
 | 
			
		||||
            "commentStart": 4704,
 | 
			
		||||
            "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]",
 | 
			
		||||
              "sourceRange": [],
 | 
			
		||||
              "tag": {
 | 
			
		||||
                "commentStart": 4704,
 | 
			
		||||
                "end": 4712,
 | 
			
		||||
                "start": 4704,
 | 
			
		||||
                "type": "TagDeclarator",
 | 
			
		||||
                "value": "line010"
 | 
			
		||||
              },
 | 
			
		||||
              "type": "extrudePlane"
 | 
			
		||||
              "sourceRange": []
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "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]",
 | 
			
		||||
                  "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"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            "from": [
 | 
			
		||||
              0.0,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "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"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            "tag": {
 | 
			
		||||
              "commentStart": 4704,
 | 
			
		||||
              "end": 4712,
 | 
			
		||||
              "start": 4704,
 | 
			
		||||
              "type": "TagDeclarator",
 | 
			
		||||
              "value": "line010"
 | 
			
		||||
            },
 | 
			
		||||
            "start": {
 | 
			
		||||
              "from": [
 | 
			
		||||
                0.0,
 | 
			
		||||
                0.0
 | 
			
		||||
              ],
 | 
			
		||||
              "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]",
 | 
			
		||||
            "to": [
 | 
			
		||||
              84.0,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "type": "ToPoint",
 | 
			
		||||
            "units": {
 | 
			
		||||
              "type": "Mm"
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          "height": 7.0,
 | 
			
		||||
          "startCapId": "[uuid]",
 | 
			
		||||
          "endCapId": "[uuid]",
 | 
			
		||||
          "edgeCuts": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "fillet",
 | 
			
		||||
          {
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "radius": {
 | 
			
		||||
                "n": 3.75,
 | 
			
		||||
                "ty": {
 | 
			
		||||
                  "type": "Default",
 | 
			
		||||
                  "len": {
 | 
			
		||||
                    "type": "Mm"
 | 
			
		||||
                  },
 | 
			
		||||
                  "angle": {
 | 
			
		||||
                    "type": "Degrees"
 | 
			
		||||
                  }
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              "edgeId": "[uuid]",
 | 
			
		||||
              "tag": null
 | 
			
		||||
              "sourceRange": []
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "fillet",
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "radius": {
 | 
			
		||||
                "n": 3.75,
 | 
			
		||||
                "ty": {
 | 
			
		||||
                  "type": "Default",
 | 
			
		||||
                  "len": {
 | 
			
		||||
                    "type": "Mm"
 | 
			
		||||
                  },
 | 
			
		||||
                  "angle": {
 | 
			
		||||
                    "type": "Degrees"
 | 
			
		||||
                  }
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              "edgeId": "[uuid]",
 | 
			
		||||
              "tag": null
 | 
			
		||||
            "from": [
 | 
			
		||||
              84.0,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "tag": {
 | 
			
		||||
              "commentStart": 4783,
 | 
			
		||||
              "end": 4791,
 | 
			
		||||
              "start": 4783,
 | 
			
		||||
              "type": "TagDeclarator",
 | 
			
		||||
              "value": "line011"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "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
 | 
			
		||||
            "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": {
 | 
			
		||||
          "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": {
 | 
			
		||||
            "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": {
 | 
			
		||||
    "type": "Number",
 | 
			
		||||
 | 
			
		||||
@ -113,15 +113,10 @@ description: Operations executed gridfinity-bins.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -258,15 +253,10 @@ description: Operations executed gridfinity-bins.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -412,15 +402,10 @@ description: Operations executed gridfinity-bins.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -1236,15 +1221,10 @@ description: Operations executed gridfinity-bins.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -12871,329 +12871,324 @@ description: Variables in memory after executing gridfinity-bins.kcl
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "binTop": {
 | 
			
		||||
    "type": "HomArray",
 | 
			
		||||
    "value": [
 | 
			
		||||
      {
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
    "type": "Solid",
 | 
			
		||||
    "value": {
 | 
			
		||||
      "type": "Solid",
 | 
			
		||||
      "id": "[uuid]",
 | 
			
		||||
      "artifactId": "[uuid]",
 | 
			
		||||
      "value": [
 | 
			
		||||
        {
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "artifactId": "[uuid]",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "faceId": "[uuid]",
 | 
			
		||||
          "sourceRange": [],
 | 
			
		||||
          "tag": {
 | 
			
		||||
            "commentStart": 4474,
 | 
			
		||||
            "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]",
 | 
			
		||||
              "sourceRange": [],
 | 
			
		||||
              "tag": {
 | 
			
		||||
                "commentStart": 4474,
 | 
			
		||||
                "end": 4482,
 | 
			
		||||
                "start": 4474,
 | 
			
		||||
                "type": "TagDeclarator",
 | 
			
		||||
                "value": "line010"
 | 
			
		||||
              },
 | 
			
		||||
              "type": "extrudePlane"
 | 
			
		||||
              "sourceRange": []
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "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]",
 | 
			
		||||
                  "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"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            "from": [
 | 
			
		||||
              0.0,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "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"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            "tag": {
 | 
			
		||||
              "commentStart": 4474,
 | 
			
		||||
              "end": 4482,
 | 
			
		||||
              "start": 4474,
 | 
			
		||||
              "type": "TagDeclarator",
 | 
			
		||||
              "value": "line010"
 | 
			
		||||
            },
 | 
			
		||||
            "start": {
 | 
			
		||||
              "from": [
 | 
			
		||||
                0.0,
 | 
			
		||||
                0.0
 | 
			
		||||
              ],
 | 
			
		||||
              "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]",
 | 
			
		||||
            "to": [
 | 
			
		||||
              84.0,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "type": "ToPoint",
 | 
			
		||||
            "units": {
 | 
			
		||||
              "type": "Mm"
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          "height": 14.0,
 | 
			
		||||
          "startCapId": "[uuid]",
 | 
			
		||||
          "endCapId": "[uuid]",
 | 
			
		||||
          "edgeCuts": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "fillet",
 | 
			
		||||
          {
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "radius": {
 | 
			
		||||
                "n": 3.75,
 | 
			
		||||
                "ty": {
 | 
			
		||||
                  "type": "Default",
 | 
			
		||||
                  "len": {
 | 
			
		||||
                    "type": "Mm"
 | 
			
		||||
                  },
 | 
			
		||||
                  "angle": {
 | 
			
		||||
                    "type": "Degrees"
 | 
			
		||||
                  }
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              "edgeId": "[uuid]",
 | 
			
		||||
              "tag": null
 | 
			
		||||
              "sourceRange": []
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "type": "fillet",
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "radius": {
 | 
			
		||||
                "n": 3.75,
 | 
			
		||||
                "ty": {
 | 
			
		||||
                  "type": "Default",
 | 
			
		||||
                  "len": {
 | 
			
		||||
                    "type": "Mm"
 | 
			
		||||
                  },
 | 
			
		||||
                  "angle": {
 | 
			
		||||
                    "type": "Degrees"
 | 
			
		||||
                  }
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              "edgeId": "[uuid]",
 | 
			
		||||
              "tag": null
 | 
			
		||||
            "from": [
 | 
			
		||||
              84.0,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "tag": {
 | 
			
		||||
              "commentStart": 4553,
 | 
			
		||||
              "end": 4561,
 | 
			
		||||
              "start": 4553,
 | 
			
		||||
              "type": "TagDeclarator",
 | 
			
		||||
              "value": "line011"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "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
 | 
			
		||||
            "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": {
 | 
			
		||||
          "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": {
 | 
			
		||||
            "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": {
 | 
			
		||||
    "type": "Number",
 | 
			
		||||
 | 
			
		||||
@ -526,15 +526,10 @@ description: Operations executed hammer.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -1344,275 +1344,270 @@ description: Variables in memory after executing hammer.kcl
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "handle": {
 | 
			
		||||
    "type": "HomArray",
 | 
			
		||||
    "value": [
 | 
			
		||||
      {
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
    "type": "Solid",
 | 
			
		||||
    "value": {
 | 
			
		||||
      "type": "Solid",
 | 
			
		||||
      "id": "[uuid]",
 | 
			
		||||
      "artifactId": "[uuid]",
 | 
			
		||||
      "value": [
 | 
			
		||||
        {
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "artifactId": "[uuid]",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "faceId": "[uuid]",
 | 
			
		||||
          "sourceRange": [],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
          "type": "extrudePlane"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "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]",
 | 
			
		||||
              "sourceRange": [],
 | 
			
		||||
              "tag": null,
 | 
			
		||||
              "type": "extrudePlane"
 | 
			
		||||
              "sourceRange": []
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "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]",
 | 
			
		||||
                  "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"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            "from": [
 | 
			
		||||
              0.01,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "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": {
 | 
			
		||||
                "type": "Inches"
 | 
			
		||||
              },
 | 
			
		||||
              "tag": null,
 | 
			
		||||
              "__geoMeta": {
 | 
			
		||||
                "id": "[uuid]",
 | 
			
		||||
                "sourceRange": []
 | 
			
		||||
              }
 | 
			
		||||
            },
 | 
			
		||||
            "artifactId": "[uuid]",
 | 
			
		||||
            "originalId": "[uuid]",
 | 
			
		||||
            "tag": null,
 | 
			
		||||
            "to": [
 | 
			
		||||
              0.573,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "type": "ToPoint",
 | 
			
		||||
            "units": {
 | 
			
		||||
              "type": "Inches"
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          "height": 0.0,
 | 
			
		||||
          "startCapId": null,
 | 
			
		||||
          "endCapId": null,
 | 
			
		||||
          {
 | 
			
		||||
            "__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": {
 | 
			
		||||
          "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": {
 | 
			
		||||
            "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": {
 | 
			
		||||
    "type": "Solid",
 | 
			
		||||
 | 
			
		||||
@ -21,15 +21,10 @@ description: Operations executed helium-tank.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -716,15 +711,10 @@ description: Operations executed helium-tank.kcl
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
@ -762,15 +752,10 @@ description: Operations executed helium-tank.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -53,15 +53,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "fillet",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -4752,15 +4747,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -4847,15 +4837,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -4942,15 +4927,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -5037,15 +5017,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -5132,15 +5107,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -5227,15 +5197,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -5322,15 +5287,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -5417,15 +5377,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -5512,15 +5467,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -5607,15 +5557,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -5702,15 +5647,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -5797,15 +5737,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -5892,15 +5827,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -5987,15 +5917,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -6082,15 +6007,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -6177,15 +6097,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -6272,15 +6187,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -6367,15 +6277,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -6462,15 +6367,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -6557,15 +6457,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -6652,15 +6547,10 @@ description: Operations executed keyboard.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -17014,220 +17014,215 @@ description: Variables in memory after executing pdu-faceplate.kcl
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "switchButtonBody": {
 | 
			
		||||
    "type": "HomArray",
 | 
			
		||||
    "value": [
 | 
			
		||||
      {
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
    "type": "Solid",
 | 
			
		||||
    "value": {
 | 
			
		||||
      "type": "Solid",
 | 
			
		||||
      "id": "[uuid]",
 | 
			
		||||
      "artifactId": "[uuid]",
 | 
			
		||||
      "value": [
 | 
			
		||||
        {
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "artifactId": "[uuid]",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "faceId": "[uuid]",
 | 
			
		||||
          "sourceRange": [],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
          "type": "extrudePlane"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "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": [],
 | 
			
		||||
              "tag": null,
 | 
			
		||||
              "type": "extrudePlane"
 | 
			
		||||
              "sourceRange": []
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "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": [
 | 
			
		||||
                  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"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            "from": [
 | 
			
		||||
              3.0,
 | 
			
		||||
              13.0
 | 
			
		||||
            ],
 | 
			
		||||
            "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": {
 | 
			
		||||
                "type": "Mm"
 | 
			
		||||
              },
 | 
			
		||||
              "tag": null,
 | 
			
		||||
              "__geoMeta": {
 | 
			
		||||
                "id": "[uuid]",
 | 
			
		||||
                "sourceRange": []
 | 
			
		||||
              }
 | 
			
		||||
            },
 | 
			
		||||
            "artifactId": "[uuid]",
 | 
			
		||||
            "originalId": "[uuid]",
 | 
			
		||||
            "tag": null,
 | 
			
		||||
            "to": [
 | 
			
		||||
              6.0,
 | 
			
		||||
              12.0
 | 
			
		||||
            ],
 | 
			
		||||
            "type": "ToPoint",
 | 
			
		||||
            "units": {
 | 
			
		||||
              "type": "Mm"
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          "height": 15.0,
 | 
			
		||||
          "startCapId": "[uuid]",
 | 
			
		||||
          "endCapId": "[uuid]",
 | 
			
		||||
          {
 | 
			
		||||
            "__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": {
 | 
			
		||||
          "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": {
 | 
			
		||||
            "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": {
 | 
			
		||||
    "type": "Number",
 | 
			
		||||
 | 
			
		||||
@ -104,15 +104,10 @@ description: Operations executed pipe-flange-assembly.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -373,15 +368,10 @@ description: Operations executed pipe-flange-assembly.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -529,15 +519,10 @@ description: Operations executed pipe-flange-assembly.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -46,15 +46,10 @@ description: Operations executed pipe-with-bend.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -4,217 +4,212 @@ description: Variables in memory after executing pipe.kcl
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
  "pipe": {
 | 
			
		||||
    "type": "HomArray",
 | 
			
		||||
    "value": [
 | 
			
		||||
      {
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
    "type": "Solid",
 | 
			
		||||
    "value": {
 | 
			
		||||
      "type": "Solid",
 | 
			
		||||
      "id": "[uuid]",
 | 
			
		||||
      "artifactId": "[uuid]",
 | 
			
		||||
      "value": [
 | 
			
		||||
        {
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "artifactId": "[uuid]",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "faceId": "[uuid]",
 | 
			
		||||
          "sourceRange": [],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
          "type": "extrudeArc"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "sketch": {
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "id": "[uuid]",
 | 
			
		||||
        "paths": [
 | 
			
		||||
          {
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "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.0,
 | 
			
		||||
                  0.0
 | 
			
		||||
                ],
 | 
			
		||||
                "radius": 1.0,
 | 
			
		||||
                "tag": null,
 | 
			
		||||
                "to": [
 | 
			
		||||
                  1.0,
 | 
			
		||||
                  0.0
 | 
			
		||||
                ],
 | 
			
		||||
                "type": "Circle",
 | 
			
		||||
                "units": {
 | 
			
		||||
                  "type": "Inches"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
              "sourceRange": []
 | 
			
		||||
            },
 | 
			
		||||
            "ccw": true,
 | 
			
		||||
            "center": [
 | 
			
		||||
              0.0,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "on": {
 | 
			
		||||
              "type": "face",
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "artifactId": "[uuid]",
 | 
			
		||||
              "value": "end",
 | 
			
		||||
              "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"
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              "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]",
 | 
			
		||||
            "from": [
 | 
			
		||||
              1.0,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "radius": 1.0,
 | 
			
		||||
            "tag": null,
 | 
			
		||||
            "to": [
 | 
			
		||||
              1.0,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "type": "Circle",
 | 
			
		||||
            "units": {
 | 
			
		||||
              "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,
 | 
			
		||||
          "startCapId": null,
 | 
			
		||||
          "endCapId": null,
 | 
			
		||||
          "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"
 | 
			
		||||
          },
 | 
			
		||||
          "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": {
 | 
			
		||||
    "type": "Solid",
 | 
			
		||||
 | 
			
		||||
@ -21,15 +21,10 @@ description: Operations executed poopy-shoe.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -297,15 +297,10 @@ description: Operations executed shepherds-hook-bolt.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -4,311 +4,306 @@ description: Variables in memory after executing socket-head-cap-screw.kcl
 | 
			
		||||
---
 | 
			
		||||
{
 | 
			
		||||
  "boltBody": {
 | 
			
		||||
    "type": "HomArray",
 | 
			
		||||
    "value": [
 | 
			
		||||
      {
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
    "type": "Solid",
 | 
			
		||||
    "value": {
 | 
			
		||||
      "type": "Solid",
 | 
			
		||||
      "id": "[uuid]",
 | 
			
		||||
      "artifactId": "[uuid]",
 | 
			
		||||
      "value": [
 | 
			
		||||
        {
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "artifactId": "[uuid]",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "faceId": "[uuid]",
 | 
			
		||||
          "sourceRange": [],
 | 
			
		||||
          "tag": {
 | 
			
		||||
            "commentStart": 1519,
 | 
			
		||||
            "end": 1530,
 | 
			
		||||
            "start": 1519,
 | 
			
		||||
            "type": "TagDeclarator",
 | 
			
		||||
            "value": "filletEdge"
 | 
			
		||||
          },
 | 
			
		||||
          "type": "extrudeArc"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "sketch": {
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "id": "[uuid]",
 | 
			
		||||
        "paths": [
 | 
			
		||||
          {
 | 
			
		||||
            "__geoMeta": {
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "sourceRange": [],
 | 
			
		||||
              "tag": {
 | 
			
		||||
                "commentStart": 1519,
 | 
			
		||||
                "end": 1530,
 | 
			
		||||
                "start": 1519,
 | 
			
		||||
                "type": "TagDeclarator",
 | 
			
		||||
                "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"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
              "sourceRange": []
 | 
			
		||||
            },
 | 
			
		||||
            "ccw": true,
 | 
			
		||||
            "center": [
 | 
			
		||||
              0.0,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "on": {
 | 
			
		||||
              "type": "face",
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "artifactId": "[uuid]",
 | 
			
		||||
              "value": "end",
 | 
			
		||||
              "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"
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              "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"
 | 
			
		||||
              }
 | 
			
		||||
            "from": [
 | 
			
		||||
              0.095,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "radius": 0.095,
 | 
			
		||||
            "tag": {
 | 
			
		||||
              "commentStart": 1519,
 | 
			
		||||
              "end": 1530,
 | 
			
		||||
              "start": 1519,
 | 
			
		||||
              "type": "TagDeclarator",
 | 
			
		||||
              "value": "filletEdge"
 | 
			
		||||
            },
 | 
			
		||||
            "start": {
 | 
			
		||||
              "from": [
 | 
			
		||||
                0.095,
 | 
			
		||||
                0.0
 | 
			
		||||
              ],
 | 
			
		||||
              "to": [
 | 
			
		||||
                0.095,
 | 
			
		||||
                0.0
 | 
			
		||||
              ],
 | 
			
		||||
              "units": {
 | 
			
		||||
                "type": "Inches"
 | 
			
		||||
              },
 | 
			
		||||
              "tag": null,
 | 
			
		||||
              "__geoMeta": {
 | 
			
		||||
                "id": "[uuid]",
 | 
			
		||||
                "sourceRange": []
 | 
			
		||||
              }
 | 
			
		||||
            },
 | 
			
		||||
            "tags": {
 | 
			
		||||
              "filletEdge": {
 | 
			
		||||
                "type": "TagIdentifier",
 | 
			
		||||
                "value": "filletEdge"
 | 
			
		||||
              }
 | 
			
		||||
            },
 | 
			
		||||
            "artifactId": "[uuid]",
 | 
			
		||||
            "originalId": "[uuid]",
 | 
			
		||||
            "to": [
 | 
			
		||||
              0.095,
 | 
			
		||||
              0.0
 | 
			
		||||
            ],
 | 
			
		||||
            "type": "Circle",
 | 
			
		||||
            "units": {
 | 
			
		||||
              "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,
 | 
			
		||||
          "startCapId": null,
 | 
			
		||||
          "endCapId": "[uuid]",
 | 
			
		||||
          "edgeCuts": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "fillet",
 | 
			
		||||
          "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]",
 | 
			
		||||
              "radius": {
 | 
			
		||||
                "n": 0.02,
 | 
			
		||||
                "ty": {
 | 
			
		||||
                  "type": "Default",
 | 
			
		||||
                  "len": {
 | 
			
		||||
                    "type": "Inches"
 | 
			
		||||
              "paths": [
 | 
			
		||||
                {
 | 
			
		||||
                  "__geoMeta": {
 | 
			
		||||
                    "id": "[uuid]",
 | 
			
		||||
                    "sourceRange": []
 | 
			
		||||
                  },
 | 
			
		||||
                  "angle": {
 | 
			
		||||
                    "type": "Degrees"
 | 
			
		||||
                  "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"
 | 
			
		||||
                  }
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              "edgeId": "[uuid]",
 | 
			
		||||
              "tag": null
 | 
			
		||||
            }
 | 
			
		||||
              "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": {
 | 
			
		||||
          "from": [
 | 
			
		||||
            0.095,
 | 
			
		||||
            0.0
 | 
			
		||||
          ],
 | 
			
		||||
          "to": [
 | 
			
		||||
            0.095,
 | 
			
		||||
            0.0
 | 
			
		||||
          ],
 | 
			
		||||
          "units": {
 | 
			
		||||
            "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": {
 | 
			
		||||
    "type": "Number",
 | 
			
		||||
 | 
			
		||||
@ -17,208 +17,203 @@ description: Variables in memory after executing spinning-highrise-tower.kcl
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "baseSlab": {
 | 
			
		||||
    "type": "HomArray",
 | 
			
		||||
    "value": [
 | 
			
		||||
      {
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
    "type": "Solid",
 | 
			
		||||
    "value": {
 | 
			
		||||
      "type": "Solid",
 | 
			
		||||
      "id": "[uuid]",
 | 
			
		||||
      "artifactId": "[uuid]",
 | 
			
		||||
      "value": [
 | 
			
		||||
        {
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "artifactId": "[uuid]",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "faceId": "[uuid]",
 | 
			
		||||
          "sourceRange": [],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
          "type": "extrudePlane"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "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]",
 | 
			
		||||
              "sourceRange": [],
 | 
			
		||||
              "tag": null,
 | 
			
		||||
              "type": "extrudePlane"
 | 
			
		||||
              "sourceRange": []
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "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]",
 | 
			
		||||
                  "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"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            "from": [
 | 
			
		||||
              -15.0,
 | 
			
		||||
              -15.0
 | 
			
		||||
            ],
 | 
			
		||||
            "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": {
 | 
			
		||||
                "type": "M"
 | 
			
		||||
              },
 | 
			
		||||
              "tag": null,
 | 
			
		||||
              "__geoMeta": {
 | 
			
		||||
                "id": "[uuid]",
 | 
			
		||||
                "sourceRange": []
 | 
			
		||||
              }
 | 
			
		||||
            },
 | 
			
		||||
            "artifactId": "[uuid]",
 | 
			
		||||
            "originalId": "[uuid]",
 | 
			
		||||
            "tag": null,
 | 
			
		||||
            "to": [
 | 
			
		||||
              -15.0,
 | 
			
		||||
              15.0
 | 
			
		||||
            ],
 | 
			
		||||
            "type": "ToPoint",
 | 
			
		||||
            "units": {
 | 
			
		||||
              "type": "M"
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          "height": -0.2,
 | 
			
		||||
          "startCapId": "[uuid]",
 | 
			
		||||
          "endCapId": "[uuid]",
 | 
			
		||||
          {
 | 
			
		||||
            "__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": {
 | 
			
		||||
          "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": {
 | 
			
		||||
            "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": {
 | 
			
		||||
    "type": "Number",
 | 
			
		||||
@ -3942,208 +3937,203 @@ description: Variables in memory after executing spinning-highrise-tower.kcl
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "groundBody": {
 | 
			
		||||
    "type": "HomArray",
 | 
			
		||||
    "value": [
 | 
			
		||||
      {
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
    "type": "Solid",
 | 
			
		||||
    "value": {
 | 
			
		||||
      "type": "Solid",
 | 
			
		||||
      "id": "[uuid]",
 | 
			
		||||
      "artifactId": "[uuid]",
 | 
			
		||||
      "value": [
 | 
			
		||||
        {
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "artifactId": "[uuid]",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "faceId": "[uuid]",
 | 
			
		||||
          "sourceRange": [],
 | 
			
		||||
          "tag": null,
 | 
			
		||||
          "type": "extrudePlane"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "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]",
 | 
			
		||||
              "sourceRange": [],
 | 
			
		||||
              "tag": null,
 | 
			
		||||
              "type": "extrudePlane"
 | 
			
		||||
              "sourceRange": []
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "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]",
 | 
			
		||||
                  "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"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            "from": [
 | 
			
		||||
              -25.0,
 | 
			
		||||
              -25.0
 | 
			
		||||
            ],
 | 
			
		||||
            "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": {
 | 
			
		||||
                "type": "M"
 | 
			
		||||
              },
 | 
			
		||||
              "tag": null,
 | 
			
		||||
              "__geoMeta": {
 | 
			
		||||
                "id": "[uuid]",
 | 
			
		||||
                "sourceRange": []
 | 
			
		||||
              }
 | 
			
		||||
            },
 | 
			
		||||
            "artifactId": "[uuid]",
 | 
			
		||||
            "originalId": "[uuid]",
 | 
			
		||||
            "tag": null,
 | 
			
		||||
            "to": [
 | 
			
		||||
              -25.0,
 | 
			
		||||
              25.0
 | 
			
		||||
            ],
 | 
			
		||||
            "type": "ToPoint",
 | 
			
		||||
            "units": {
 | 
			
		||||
              "type": "M"
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          "height": -5.0,
 | 
			
		||||
          "startCapId": "[uuid]",
 | 
			
		||||
          "endCapId": "[uuid]",
 | 
			
		||||
          {
 | 
			
		||||
            "__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": {
 | 
			
		||||
          "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": {
 | 
			
		||||
            "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": {
 | 
			
		||||
    "type": "Number",
 | 
			
		||||
 | 
			
		||||
@ -209,15 +209,10 @@ description: Operations executed surgical-drill-guide.kcl
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -1715,410 +1715,400 @@ description: Variables in memory after executing surgical-drill-guide.kcl
 | 
			
		||||
    "value": "capStart003"
 | 
			
		||||
  },
 | 
			
		||||
  "grip01": {
 | 
			
		||||
    "type": "HomArray",
 | 
			
		||||
    "value": [
 | 
			
		||||
      {
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
    "type": "Solid",
 | 
			
		||||
    "value": {
 | 
			
		||||
      "type": "Solid",
 | 
			
		||||
      "id": "[uuid]",
 | 
			
		||||
      "artifactId": "[uuid]",
 | 
			
		||||
      "value": [
 | 
			
		||||
        {
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "artifactId": "[uuid]",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "faceId": "[uuid]",
 | 
			
		||||
          "sourceRange": [],
 | 
			
		||||
          "tag": {
 | 
			
		||||
            "commentStart": 2743,
 | 
			
		||||
            "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]",
 | 
			
		||||
              "sourceRange": [],
 | 
			
		||||
              "tag": {
 | 
			
		||||
                "commentStart": 2743,
 | 
			
		||||
                "end": 2749,
 | 
			
		||||
                "start": 2743,
 | 
			
		||||
                "type": "TagDeclarator",
 | 
			
		||||
                "value": "seg11"
 | 
			
		||||
              },
 | 
			
		||||
              "type": "extrudeArc"
 | 
			
		||||
              "sourceRange": []
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "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]",
 | 
			
		||||
                  "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"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            "ccw": true,
 | 
			
		||||
            "center": [
 | 
			
		||||
              0.0,
 | 
			
		||||
              53.151
 | 
			
		||||
            ],
 | 
			
		||||
            "on": {
 | 
			
		||||
              "artifactId": "[uuid]",
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "origin": {
 | 
			
		||||
                "x": 0.0,
 | 
			
		||||
                "y": -47.495,
 | 
			
		||||
                "z": 0.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": 0.0,
 | 
			
		||||
                "z": 1.0,
 | 
			
		||||
                "units": {
 | 
			
		||||
                  "type": "Unknown"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            "from": [
 | 
			
		||||
              16.216,
 | 
			
		||||
              53.151
 | 
			
		||||
            ],
 | 
			
		||||
            "radius": 16.216216216216214,
 | 
			
		||||
            "tag": {
 | 
			
		||||
              "commentStart": 2743,
 | 
			
		||||
              "end": 2749,
 | 
			
		||||
              "start": 2743,
 | 
			
		||||
              "type": "TagDeclarator",
 | 
			
		||||
              "value": "seg11"
 | 
			
		||||
            },
 | 
			
		||||
            "start": {
 | 
			
		||||
              "from": [
 | 
			
		||||
                16.216,
 | 
			
		||||
                53.151
 | 
			
		||||
              ],
 | 
			
		||||
              "to": [
 | 
			
		||||
                16.216,
 | 
			
		||||
                53.151
 | 
			
		||||
              ],
 | 
			
		||||
              "units": {
 | 
			
		||||
                "type": "Mm"
 | 
			
		||||
              },
 | 
			
		||||
              "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]",
 | 
			
		||||
            "to": [
 | 
			
		||||
              16.216,
 | 
			
		||||
              53.151
 | 
			
		||||
            ],
 | 
			
		||||
            "type": "Circle",
 | 
			
		||||
            "units": {
 | 
			
		||||
              "type": "Mm"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ],
 | 
			
		||||
        "on": {
 | 
			
		||||
          "artifactId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "origin": {
 | 
			
		||||
            "x": 0.0,
 | 
			
		||||
            "y": -47.495,
 | 
			
		||||
            "z": 0.0,
 | 
			
		||||
            "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
 | 
			
		||||
          "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": {
 | 
			
		||||
          "from": [
 | 
			
		||||
            16.216,
 | 
			
		||||
            53.151
 | 
			
		||||
          ],
 | 
			
		||||
          "to": [
 | 
			
		||||
            16.216,
 | 
			
		||||
            53.151
 | 
			
		||||
          ],
 | 
			
		||||
          "units": {
 | 
			
		||||
            "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": {
 | 
			
		||||
    "type": "HomArray",
 | 
			
		||||
    "value": [
 | 
			
		||||
      {
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
    "type": "Solid",
 | 
			
		||||
    "value": {
 | 
			
		||||
      "type": "Solid",
 | 
			
		||||
      "id": "[uuid]",
 | 
			
		||||
      "artifactId": "[uuid]",
 | 
			
		||||
      "value": [
 | 
			
		||||
        {
 | 
			
		||||
          "faceId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "artifactId": "[uuid]",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "faceId": "[uuid]",
 | 
			
		||||
          "sourceRange": [],
 | 
			
		||||
          "tag": {
 | 
			
		||||
            "commentStart": 4073,
 | 
			
		||||
            "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]",
 | 
			
		||||
              "sourceRange": [],
 | 
			
		||||
              "tag": {
 | 
			
		||||
                "commentStart": 4073,
 | 
			
		||||
                "end": 4079,
 | 
			
		||||
                "start": 4073,
 | 
			
		||||
                "type": "TagDeclarator",
 | 
			
		||||
                "value": "seg08"
 | 
			
		||||
              },
 | 
			
		||||
              "type": "extrudeArc"
 | 
			
		||||
              "sourceRange": []
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "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]",
 | 
			
		||||
                  "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"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            "ccw": true,
 | 
			
		||||
            "center": [
 | 
			
		||||
              0.0,
 | 
			
		||||
              150.0
 | 
			
		||||
            ],
 | 
			
		||||
            "on": {
 | 
			
		||||
              "artifactId": "[uuid]",
 | 
			
		||||
              "id": "[uuid]",
 | 
			
		||||
              "origin": {
 | 
			
		||||
                "x": 0.0,
 | 
			
		||||
                "y": 0.0,
 | 
			
		||||
                "z": -3.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"
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            "from": [
 | 
			
		||||
              16.216,
 | 
			
		||||
              150.0
 | 
			
		||||
            ],
 | 
			
		||||
            "radius": 16.216216216216214,
 | 
			
		||||
            "tag": {
 | 
			
		||||
              "commentStart": 4073,
 | 
			
		||||
              "end": 4079,
 | 
			
		||||
              "start": 4073,
 | 
			
		||||
              "type": "TagDeclarator",
 | 
			
		||||
              "value": "seg08"
 | 
			
		||||
            },
 | 
			
		||||
            "start": {
 | 
			
		||||
              "from": [
 | 
			
		||||
                16.216,
 | 
			
		||||
                150.0
 | 
			
		||||
              ],
 | 
			
		||||
              "to": [
 | 
			
		||||
                16.216,
 | 
			
		||||
                150.0
 | 
			
		||||
              ],
 | 
			
		||||
              "units": {
 | 
			
		||||
                "type": "Mm"
 | 
			
		||||
              },
 | 
			
		||||
              "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]",
 | 
			
		||||
            "to": [
 | 
			
		||||
              16.216,
 | 
			
		||||
              150.0
 | 
			
		||||
            ],
 | 
			
		||||
            "type": "Circle",
 | 
			
		||||
            "units": {
 | 
			
		||||
              "type": "Mm"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ],
 | 
			
		||||
        "on": {
 | 
			
		||||
          "artifactId": "[uuid]",
 | 
			
		||||
          "id": "[uuid]",
 | 
			
		||||
          "origin": {
 | 
			
		||||
            "x": 0.0,
 | 
			
		||||
            "y": 0.0,
 | 
			
		||||
            "z": -3.0,
 | 
			
		||||
            "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
 | 
			
		||||
          "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": [
 | 
			
		||||
            16.216,
 | 
			
		||||
            150.0
 | 
			
		||||
          ],
 | 
			
		||||
          "to": [
 | 
			
		||||
            16.216,
 | 
			
		||||
            150.0
 | 
			
		||||
          ],
 | 
			
		||||
          "units": {
 | 
			
		||||
            "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": {
 | 
			
		||||
    "type": "Solid",
 | 
			
		||||
 | 
			
		||||
@ -21,15 +21,10 @@ description: Operations executed telemetry-antenna.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -317,15 +317,10 @@ description: Operations executed truss-structure.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -457,15 +452,10 @@ description: Operations executed truss-structure.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -53,15 +53,10 @@ description: Operations executed linear_pattern3d_a_pattern.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -251,15 +251,10 @@ description: Operations executed multi_target_csg.kcl
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -21,15 +21,10 @@ description: Operations executed poop_chute.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -222,30 +222,20 @@ description: Operations executed subtract_doesnt_need_brackets.kcl
 | 
			
		||||
    "name": "subtract",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -144,30 +144,20 @@ description: Operations executed subtract_regression00.kcl
 | 
			
		||||
    "name": "subtract",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -149,30 +149,20 @@ description: Operations executed subtract_regression01.kcl
 | 
			
		||||
    "name": "subtract",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -135,30 +135,20 @@ description: Operations executed subtract_regression02.kcl
 | 
			
		||||
    "name": "subtract",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
@ -236,30 +226,20 @@ description: Operations executed subtract_regression02.kcl
 | 
			
		||||
    "name": "subtract",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -463,30 +463,20 @@ description: Operations executed subtract_regression03.kcl
 | 
			
		||||
    "name": "subtract",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
@ -725,30 +715,20 @@ description: Operations executed subtract_regression03.kcl
 | 
			
		||||
    "name": "subtract",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -21,15 +21,10 @@ description: Operations executed subtract_regression04.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -194,30 +189,20 @@ description: Operations executed subtract_regression04.kcl
 | 
			
		||||
    "name": "subtract",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -97,15 +97,10 @@ description: Operations executed subtract_regression05.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -204,30 +199,20 @@ description: Operations executed subtract_regression05.kcl
 | 
			
		||||
    "name": "subtract",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -296,30 +296,20 @@ description: Operations executed subtract_regression06.kcl
 | 
			
		||||
    "name": "subtract",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -206,30 +206,20 @@ description: Operations executed subtract_regression07.kcl
 | 
			
		||||
    "name": "subtract",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -124,30 +124,20 @@ description: Operations executed subtract_regression08.kcl
 | 
			
		||||
    "name": "subtract",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -21,15 +21,10 @@ description: Operations executed subtract_regression09.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -194,30 +189,20 @@ description: Operations executed subtract_regression09.kcl
 | 
			
		||||
    "name": "subtract",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -188,15 +188,10 @@ description: Operations executed subtract_regression10.kcl
 | 
			
		||||
    "name": "patternCircular3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -348,15 +343,10 @@ description: Operations executed subtract_regression10.kcl
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
@ -991,15 +981,10 @@ description: Operations executed subtract_regression10.kcl
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
@ -1241,15 +1226,10 @@ description: Operations executed subtract_regression10.kcl
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -21,15 +21,10 @@ description: Operations executed subtract_regression11.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -194,30 +189,20 @@ description: Operations executed subtract_regression11.kcl
 | 
			
		||||
    "name": "subtract",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -21,15 +21,10 @@ description: Operations executed subtract_regression12.kcl
 | 
			
		||||
    "name": "revolve",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Sketch",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Sketch",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
@ -194,30 +189,20 @@ description: Operations executed subtract_regression12.kcl
 | 
			
		||||
    "name": "subtract",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
    "labeledArgs": {
 | 
			
		||||
      "tools": {
 | 
			
		||||
        "value": {
 | 
			
		||||
          "type": "Array",
 | 
			
		||||
          "value": [
 | 
			
		||||
            {
 | 
			
		||||
              "type": "Solid",
 | 
			
		||||
              "value": {
 | 
			
		||||
                "artifactId": "[uuid]"
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
          "type": "Solid",
 | 
			
		||||
          "value": {
 | 
			
		||||
            "artifactId": "[uuid]"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "sourceRange": []
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -98,15 +98,10 @@ description: Operations executed subtract_with_pattern.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -98,15 +98,10 @@ description: Operations executed subtract_with_pattern_cut_thru.kcl
 | 
			
		||||
    "name": "patternLinear3d",
 | 
			
		||||
    "unlabeledArg": {
 | 
			
		||||
      "value": {
 | 
			
		||||
        "type": "Array",
 | 
			
		||||
        "value": [
 | 
			
		||||
          {
 | 
			
		||||
            "type": "Solid",
 | 
			
		||||
            "value": {
 | 
			
		||||
              "artifactId": "[uuid]"
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        ]
 | 
			
		||||
        "type": "Solid",
 | 
			
		||||
        "value": {
 | 
			
		||||
          "artifactId": "[uuid]"
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      "sourceRange": []
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user