Move turns to a submodule of std (#6039)

* Move turns to a submodule of std

Signed-off-by: Nick Cameron <nrc@ncameron.org>

* Cache module infos as well as memory; fix a bug with deprecated constants

Signed-off-by: Nick Cameron <nrc@ncameron.org>

---------

Signed-off-by: Nick Cameron <nrc@ncameron.org>
This commit is contained in:
Nick Cameron
2025-03-30 11:10:44 +13:00
committed by GitHub
parent 51c16d0048
commit db5ce7ba85
56 changed files with 2678 additions and 2637 deletions

View File

@ -9,13 +9,9 @@ layout: manual
### `std`
- [`HALF_TURN`](/docs/kcl/consts/std-HALF_TURN)
- [`QUARTER_TURN`](/docs/kcl/consts/std-QUARTER_TURN)
- [`THREE_QUARTER_TURN`](/docs/kcl/consts/std-THREE_QUARTER_TURN)
- [`XY`](/docs/kcl/consts/std-XY)
- [`XZ`](/docs/kcl/consts/std-XZ)
- [`YZ`](/docs/kcl/consts/std-YZ)
- [`ZERO`](/docs/kcl/consts/std-ZERO)
### `std::math`
@ -23,3 +19,10 @@ layout: manual
- [`PI`](/docs/kcl/consts/std-math-PI)
- [`TAU`](/docs/kcl/consts/std-math-TAU)
### `std::turns`
- [`HALF_TURN`](/docs/kcl/consts/std-turns-HALF_TURN)
- [`QUARTER_TURN`](/docs/kcl/consts/std-turns-QUARTER_TURN)
- [`THREE_QUARTER_TURN`](/docs/kcl/consts/std-turns-THREE_QUARTER_TURN)
- [`ZERO`](/docs/kcl/consts/std-turns-ZERO)

View File

@ -1,15 +0,0 @@
---
title: "std::HALF_TURN"
excerpt: ""
layout: manual
---
```js
std::HALF_TURN: number(deg) = 180deg
```

View File

@ -1,15 +0,0 @@
---
title: "std::QUARTER_TURN"
excerpt: ""
layout: manual
---
```js
std::QUARTER_TURN: number(deg) = 90deg
```

View File

@ -1,15 +0,0 @@
---
title: "std::THREE_QUARTER_TURN"
excerpt: ""
layout: manual
---
```js
std::THREE_QUARTER_TURN: number(deg) = 270deg
```

View File

@ -1,15 +0,0 @@
---
title: "std::ZERO"
excerpt: ""
layout: manual
---
```js
std::ZERO: number = 0
```

View File

@ -0,0 +1,15 @@
---
title: "std::turns::HALF_TURN"
excerpt: ""
layout: manual
---
```js
std::turns::HALF_TURN: number(deg) = 180deg
```

View File

@ -0,0 +1,15 @@
---
title: "std::turns::QUARTER_TURN"
excerpt: ""
layout: manual
---
```js
std::turns::QUARTER_TURN: number(deg) = 90deg
```

View File

@ -0,0 +1,15 @@
---
title: "std::turns::THREE_QUARTER_TURN"
excerpt: ""
layout: manual
---
```js
std::turns::THREE_QUARTER_TURN: number(deg) = 270deg
```

View File

@ -0,0 +1,15 @@
---
title: "std::turns::ZERO"
excerpt: ""
layout: manual
---
```js
std::turns::ZERO: number = 0
```

View File

@ -23,19 +23,15 @@ layout: manual
* [`tag`](kcl/types/tag)
* **std**
* [`Face`](kcl/types/Face)
* [`HALF_TURN`](kcl/consts/std-HALF_TURN)
* [`Helix`](kcl/types/Helix)
* [`Plane`](kcl/types/Plane)
* [`Point2d`](kcl/types/Point2d)
* [`Point3d`](kcl/types/Point3d)
* [`QUARTER_TURN`](kcl/consts/std-QUARTER_TURN)
* [`Sketch`](kcl/types/Sketch)
* [`Solid`](kcl/types/Solid)
* [`THREE_QUARTER_TURN`](kcl/consts/std-THREE_QUARTER_TURN)
* [`XY`](kcl/consts/std-XY)
* [`XZ`](kcl/consts/std-XZ)
* [`YZ`](kcl/consts/std-YZ)
* [`ZERO`](kcl/consts/std-ZERO)
* [`abs`](kcl/abs)
* [`acos`](kcl/acos)
* [`angleToMatchLengthX`](kcl/angleToMatchLengthX)
@ -146,3 +142,8 @@ layout: manual
* [`tan`](kcl/std-math-tan)
* **std::sketch**
* [`circle`](kcl/std-sketch-circle)
* **std::turns**
* [`turns::HALF_TURN`](kcl/consts/std-turns-HALF_TURN)
* [`turns::QUARTER_TURN`](kcl/consts/std-turns-QUARTER_TURN)
* [`turns::THREE_QUARTER_TURN`](kcl/consts/std-turns-THREE_QUARTER_TURN)
* [`turns::ZERO`](kcl/consts/std-turns-ZERO)

View File

@ -76,11 +76,11 @@ part001 = startSketchOn(-XZ)
|> xLine(endAbsolute = totalLen, tag = $seg03)
|> yLine(length = -armThick, tag = $seg01)
|> angledLineThatIntersects({
angle = HALF_TURN,
angle = turns::HALF_TURN,
offset = -armThick,
intersectTag = seg04
}, %)
|> angledLineToY([segAng(seg04, %) + 180, ZERO], %)
|> angledLineToY([segAng(seg04, %) + 180, turns::ZERO], %)
|> angledLineToY({
angle = -bottomAng,
to = -totalHeightHalf - armThick,
@ -88,12 +88,12 @@ part001 = startSketchOn(-XZ)
|> xLine(length = endAbsolute = segEndX(seg03) + 0)
|> yLine(length = -segLen(seg01, %))
|> angledLineThatIntersects({
angle = HALF_TURN,
angle = turns::HALF_TURN,
offset = -armThick,
intersectTag = seg02
}, %)
|> angledLineToY([segAng(seg02, %) + 180, -baseHeight], %)
|> xLine(endAbsolute = ZERO)
|> xLine(endAbsolute = turns::ZERO)
|> close()
|> extrude(length = 4)`
)

View File

@ -486,13 +486,13 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => {
testName: 'Add variable, selecting axis',
addVariable: true,
axisSelect: true,
value: 'QUARTER_TURN - angle001',
value: 'turns::QUARTER_TURN - angle001',
},
{
testName: 'No variable, selecting axis',
addVariable: false,
axisSelect: true,
value: 'QUARTER_TURN - 7',
value: 'turns::QUARTER_TURN - 7',
},
] as const
for (const { testName, addVariable, value, axisSelect } of cases) {
@ -935,12 +935,12 @@ part002 = startSketchOn(XZ)
test.describe('Axis & segment - no modal constraints', () => {
const cases = [
{
codeAfter: `|> line(endAbsolute = [154.9, ZERO])`,
codeAfter: `|> line(endAbsolute = [154.9, turns::ZERO])`,
axisClick: { x: 950, y: 250 },
constraintName: 'Snap To X',
},
{
codeAfter: `|> line(endAbsolute = [ZERO, 61.34])`,
codeAfter: `|> line(endAbsolute = [turns::ZERO, 61.34])`,
axisClick: { x: 600, y: 150 },
constraintName: 'Snap To Y',
},

View File

@ -67,11 +67,11 @@ part001 = startSketchOn(-XZ)
|> xLine(endAbsolute = totalLen, tag = $seg03)
|> yLine(length = -armThick, tag = $seg01)
|> angledLineThatIntersects({
angle = HALF_TURN,
angle = turns::HALF_TURN,
offset = -armThick,
intersectTag = seg04
}, %)
|> angledLineToY([segAng(seg04) + 180, ZERO], %)
|> angledLineToY([segAng(seg04) + 180, turns::ZERO], %)
|> angledLineToY({
angle = -bottomAng,
to = -totalHeightHalf - armThick,
@ -79,12 +79,12 @@ part001 = startSketchOn(-XZ)
|> xLine(endAbsolute = segEndX(seg03) + 0)
|> yLine(length = -segLen(seg01))
|> angledLineThatIntersects({
angle = HALF_TURN,
angle = turns::HALF_TURN,
offset = -armThick,
intersectTag = seg02
}, %)
|> angledLineToY([segAng(seg02) + 180, -baseHeight], %)
|> xLine(endAbsolute = ZERO)
|> xLine(endAbsolute = turns::ZERO)
|> close()
|> extrude(length = 4)`
)

View File

@ -14,7 +14,7 @@ radius = 10
depth = 30
distanceToInsideEdge = slateWidthHalf + templateThickness + templateGap
sketch001 = startSketchOn(XZ)
|> startProfileAt([ZERO, depth + templateGap], %)
|> startProfileAt([0, depth + templateGap], %)
|> xLine(length = slateWidthHalf - radius, tag = $seg01)
|> arc({
angleEnd = 0,
@ -28,7 +28,7 @@ sketch001 = startSketchOn(XZ)
|> yLine(length = templateThickness * 2, tag = $seg08)
|> xLine(endAbsolute = segEndX(seg02) + 0, tag = $seg05)
|> yLine(endAbsolute = segEndY(seg01) + templateThickness, tag = $seg10)
|> xLine(endAbsolute = ZERO, tag = $seg04)
|> xLine(endAbsolute = 0, tag = $seg04)
|> xLine(length = -segLen(seg04))
|> yLine(length = -segLen(seg10))
|> xLine(length = -segLen(seg05))

View File

@ -28,7 +28,7 @@ sketch001 = startSketchOn(XZ)
|> yLine(endAbsolute = -templateGap * 2 - (templateDiameter / 2), tag = $seg05)
|> xLine(endAbsolute = slateWidthHalf + templateThickness, tag = $seg04)
|> yLine(length = -length002, tag = $seg03)
|> xLine(endAbsolute = ZERO, tag = $seg02)
|> xLine(endAbsolute = 0, tag = $seg02)
// |> line(end = [7.78, 11.16])
|> xLine(length = -segLen(seg02))
|> yLine(length = segLen(seg03))

View File

@ -339,9 +339,9 @@ fn generate_index(combined: &IndexMap<String, Box<dyn StdLibFn>>, kcl_lib: &[Doc
}
functions.entry(d.mod_name()).or_default().push(match d {
DocData::Fn(f) => (f.name.clone(), d.file_name()),
DocData::Const(c) => (c.name.clone(), d.file_name()),
DocData::Ty(t) => (t.name.clone(), d.file_name()),
DocData::Fn(f) => (f.preferred_name.clone(), d.file_name()),
DocData::Const(c) => (c.preferred_name.clone(), d.file_name()),
DocData::Ty(t) => (t.preferred_name.clone(), d.file_name()),
});
if let DocData::Const(c) = d {

View File

@ -9,7 +9,7 @@ use tower_lsp::lsp_types::{
use crate::{
execution::annotations,
parsing::{
ast::types::{Annotation, Node, PrimitiveType, Type, VariableKind},
ast::types::{Annotation, ImportSelector, Node, PrimitiveType, Type, VariableKind},
token::NumericSuffix,
},
ModuleId,
@ -17,7 +17,7 @@ use crate::{
pub fn walk_prelude() -> Vec<DocData> {
let mut visitor = CollectionVisitor::default();
visitor.visit_module("prelude").unwrap();
visitor.visit_module("prelude", "").unwrap();
visitor.result
}
@ -29,7 +29,7 @@ struct CollectionVisitor {
}
impl CollectionVisitor {
fn visit_module(&mut self, name: &str) -> Result<(), String> {
fn visit_module(&mut self, name: &str, preferred_prefix: &str) -> Result<(), String> {
let old_name = std::mem::replace(&mut self.name, name.to_owned());
let source = crate::modules::read_std(name).unwrap();
let parsed = crate::parsing::parse_str(source, ModuleId::from_usize(self.id))
@ -40,14 +40,16 @@ impl CollectionVisitor {
for n in &parsed.body {
match n {
crate::parsing::ast::types::BodyItem::ImportStatement(import) if !import.visibility.is_default() => {
// Only supports glob imports for now.
assert!(matches!(
import.selector,
crate::parsing::ast::types::ImportSelector::Glob(..)
));
match &import.path {
crate::parsing::ast::types::ImportPath::Std { path } => {
self.visit_module(&path[1])?;
match import.selector {
ImportSelector::Glob(..) => self.visit_module(&path[1], "")?,
ImportSelector::None { .. } => {
self.visit_module(&path[1], &format!("{}::", import.module_name().unwrap()))?
}
// Only supports glob or whole-module imports for now.
_ => unimplemented!(),
}
}
p => return Err(format!("Unexpected import: `{p}`")),
}
@ -59,8 +61,8 @@ impl CollectionVisitor {
format!("std::{}::", self.name)
};
let mut dd = match var.kind {
VariableKind::Fn => DocData::Fn(FnData::from_ast(var, qual_name)),
VariableKind::Const => DocData::Const(ConstData::from_ast(var, qual_name)),
VariableKind::Fn => DocData::Fn(FnData::from_ast(var, qual_name, preferred_prefix)),
VariableKind::Const => DocData::Const(ConstData::from_ast(var, qual_name, preferred_prefix)),
};
dd.with_meta(&var.outer_attrs);
@ -77,7 +79,7 @@ impl CollectionVisitor {
} else {
format!("std::{}::", self.name)
};
let mut dd = DocData::Ty(TyData::from_ast(ty, qual_name));
let mut dd = DocData::Ty(TyData::from_ast(ty, qual_name, preferred_prefix));
dd.with_meta(&ty.outer_attrs);
for a in &ty.outer_attrs {
@ -200,6 +202,8 @@ impl DocData {
#[derive(Debug, Clone)]
pub struct ConstData {
pub name: String,
/// How the const is indexed, etc.
pub preferred_name: String,
/// The fully qualified name.
pub qual_name: String,
pub value: Option<String>,
@ -216,7 +220,11 @@ pub struct ConstData {
}
impl ConstData {
fn from_ast(var: &crate::parsing::ast::types::VariableDeclaration, mut qual_name: String) -> Self {
fn from_ast(
var: &crate::parsing::ast::types::VariableDeclaration,
mut qual_name: String,
preferred_prefix: &str,
) -> Self {
assert_eq!(var.kind, crate::parsing::ast::types::VariableKind::Const);
let (value, ty) = match &var.declaration.init {
@ -240,6 +248,7 @@ impl ConstData {
let name = var.declaration.id.name.clone();
qual_name.push_str(&name);
ConstData {
preferred_name: format!("{preferred_prefix}{name}"),
name,
qual_name,
value,
@ -272,7 +281,7 @@ impl ConstData {
detail.push_str(ty);
}
CompletionItem {
label: self.name.clone(),
label: self.preferred_name.clone(),
label_details: Some(CompletionItemLabelDetails {
detail: self.value.clone(),
description: None,
@ -306,6 +315,8 @@ impl ConstData {
pub struct FnData {
/// The name of the function.
pub name: String,
/// How the function is indexed, etc.
pub preferred_name: String,
/// The fully qualified name.
pub qual_name: String,
/// The args of the function.
@ -326,7 +337,11 @@ pub struct FnData {
}
impl FnData {
fn from_ast(var: &crate::parsing::ast::types::VariableDeclaration, mut qual_name: String) -> Self {
fn from_ast(
var: &crate::parsing::ast::types::VariableDeclaration,
mut qual_name: String,
preferred_prefix: &str,
) -> Self {
assert_eq!(var.kind, crate::parsing::ast::types::VariableKind::Fn);
let crate::parsing::ast::types::Expr::FunctionExpression(expr) = &var.declaration.init else {
unreachable!();
@ -345,6 +360,7 @@ impl FnData {
}
FnData {
preferred_name: format!("{preferred_prefix}{name}"),
name,
qual_name,
args: expr.params.iter().map(ArgData::from_ast).collect(),
@ -443,7 +459,7 @@ impl FnData {
}
// We end with ${} so you can jump to the end of the snippet.
// After the last argument.
format!("{}({})${{}}", self.name, args.join(", "))
format!("{}({})${{}}", self.preferred_name, args.join(", "))
}
fn to_signature_help(&self) -> SignatureHelp {
@ -452,7 +468,7 @@ impl FnData {
SignatureHelp {
signatures: vec![SignatureInformation {
label: self.name.clone(),
label: self.preferred_name.clone(),
documentation: self.short_docs().map(|s| {
Documentation::MarkupContent(MarkupContent {
kind: MarkupKind::Markdown,
@ -580,6 +596,8 @@ impl ArgKind {
pub struct TyData {
/// The name of the function.
pub name: String,
/// How the type is indexed, etc.
pub preferred_name: String,
/// The fully qualified name.
pub qual_name: String,
pub properties: Properties,
@ -597,7 +615,11 @@ pub struct TyData {
}
impl TyData {
fn from_ast(ty: &crate::parsing::ast::types::TypeDeclaration, mut qual_name: String) -> Self {
fn from_ast(
ty: &crate::parsing::ast::types::TypeDeclaration,
mut qual_name: String,
preferred_prefix: &str,
) -> Self {
let name = ty.name.name.clone();
qual_name.push_str(&name);
let mut referenced_types = HashSet::new();
@ -606,6 +628,7 @@ impl TyData {
}
TyData {
preferred_name: format!("{preferred_prefix}{name}"),
name,
qual_name,
properties: Properties {
@ -641,7 +664,7 @@ impl TyData {
fn to_completion_item(&self) -> CompletionItem {
CompletionItem {
label: self.name.clone(),
label: self.preferred_name.clone(),
label_details: self.alias.as_ref().map(|t| CompletionItemLabelDetails {
detail: Some(format!("type {} = {t}", self.name)),
description: None,
@ -658,7 +681,7 @@ impl TyData {
preselect: None,
sort_text: None,
filter_text: None,
insert_text: Some(self.name.clone()),
insert_text: Some(self.preferred_name.clone()),
insert_text_format: Some(InsertTextFormat::SNIPPET),
insert_text_mode: None,
text_edit: None,

View File

@ -6,7 +6,7 @@ use itertools::{EitherOrBoth, Itertools};
use tokio::sync::RwLock;
use crate::{
execution::{annotations, memory::Stack, EnvironmentRef, ExecState, ExecutorSettings},
execution::{annotations, memory::Stack, state::ModuleInfoMap, EnvironmentRef, ExecState, ExecutorSettings},
parsing::ast::types::{Annotation, Node, Program},
walk::Node as WalkNode,
};
@ -15,7 +15,7 @@ lazy_static::lazy_static! {
/// A static mutable lock for updating the last successful execution state for the cache.
static ref OLD_AST: Arc<RwLock<Option<OldAstState>>> = Default::default();
// The last successful run's memory. Not cleared after an unssuccessful run.
static ref PREV_MEMORY: Arc<RwLock<Option<Stack>>> = Default::default();
static ref PREV_MEMORY: Arc<RwLock<Option<(Stack, ModuleInfoMap)>>> = Default::default();
}
/// Read the old ast memory from the lock.
@ -29,12 +29,12 @@ pub(super) async fn write_old_ast(old_state: OldAstState) {
*old_ast = Some(old_state);
}
pub(crate) async fn read_old_memory() -> Option<Stack> {
pub(crate) async fn read_old_memory() -> Option<(Stack, ModuleInfoMap)> {
let old_mem = PREV_MEMORY.read().await;
old_mem.clone()
}
pub(super) async fn write_old_memory(mem: Stack) {
pub(super) async fn write_old_memory(mem: (Stack, ModuleInfoMap)) {
let mut old_mem = PREV_MEMORY.write().await;
*old_mem = Some(mem);
}

View File

@ -559,7 +559,10 @@ impl ExecutorContext {
let mut exec_state = ExecState::new(self);
if use_prev_memory {
match cache::read_old_memory().await {
Some(mem) => *exec_state.mut_stack() = mem,
Some(mem) => {
*exec_state.mut_stack() = mem.0;
exec_state.global.module_infos = mem.1;
}
None => self.prepare_mem(&mut exec_state).await?,
}
} else {
@ -577,10 +580,11 @@ impl ExecutorContext {
// memory, not to the exec_state which is not cached for mock execution.
let mut mem = exec_state.stack().clone();
let module_infos = exec_state.global.module_infos.clone();
let outcome = exec_state.to_mock_wasm_outcome(result.0).await;
mem.squash_env(result.0);
cache::write_old_memory(mem).await;
cache::write_old_memory((mem, module_infos)).await;
Ok(outcome)
}
@ -770,7 +774,7 @@ impl ExecutorContext {
if !self.is_mock() {
let mut mem = exec_state.stack().deep_clone();
mem.restore_env(env_ref);
cache::write_old_memory(mem).await;
cache::write_old_memory((mem, exec_state.global.module_infos.clone())).await;
}
let session_data = self.engine.get_session_data().await;
Ok((env_ref, session_data))

View File

@ -30,6 +30,8 @@ pub struct ExecState {
pub(super) exec_context: Option<super::ExecutorContext>,
}
pub type ModuleInfoMap = IndexMap<ModuleId, ModuleInfo>;
#[derive(Debug, Clone)]
pub(super) struct GlobalState {
/// Map from source file absolute path to module ID.
@ -37,7 +39,7 @@ pub(super) struct GlobalState {
/// Map from module ID to source file.
pub id_to_source: IndexMap<ModuleId, ModuleSource>,
/// Map from module ID to module info.
pub module_infos: IndexMap<ModuleId, ModuleInfo>,
pub module_infos: ModuleInfoMap,
/// Output map of UUIDs to artifacts.
pub artifacts: IndexMap<ArtifactId, Artifact>,
/// Output commands to allow building the artifact graph by the caller.

View File

@ -1635,7 +1635,7 @@ fn position_to_char_index(position: Position, code: &str) -> usize {
async fn with_cached_var<T>(name: &str, f: impl Fn(&KclValue) -> T) -> Option<T> {
let mem = cache::read_old_memory().await?;
let value = mem.get(name, SourceRange::default()).ok()?;
let value = mem.0.get(name, SourceRange::default()).ok()?;
Some(f(value))
}

View File

@ -88,6 +88,7 @@ pub(crate) fn read_std(mod_name: &str) -> Option<&'static str> {
"prelude" => Some(include_str!("../std/prelude.kcl")),
"math" => Some(include_str!("../std/math.kcl")),
"sketch" => Some(include_str!("../std/sketch.kcl")),
"turns" => Some(include_str!("../std/turns.kcl")),
_ => None,
}
}

View File

@ -1619,19 +1619,21 @@ impl ImportStatement {
return Some(alias.name.clone());
}
let mut parts = match &self.path {
ImportPath::Kcl { filename: s } | ImportPath::Foreign { path: s } => s.split('.'),
_ => return None,
};
let path = parts.next()?;
let _ext = parts.next()?;
let rest = parts.next();
match &self.path {
ImportPath::Kcl { filename: s } | ImportPath::Foreign { path: s } => {
let mut parts = s.split('.');
let path = parts.next()?;
let _ext = parts.next()?;
let rest = parts.next();
if rest.is_some() {
return None;
if rest.is_some() {
return None;
}
path.rsplit(&['/', '\\']).next().map(str::to_owned)
}
ImportPath::Std { path } => path.last().cloned(),
}
path.rsplit(&['/', '\\']).next().map(str::to_owned)
}
}

View File

@ -152,7 +152,12 @@ const STR_DEPRECATIONS: [(&str, &str); 6] = [
("-YZ", "-YZ"),
];
const FN_DEPRECATIONS: [(&str, &str); 3] = [("pi", "PI"), ("e", "E"), ("tau", "TAU")];
const CONST_DEPRECATIONS: [(&str, &str); 0] = [];
const CONST_DEPRECATIONS: [(&str, &str); 4] = [
("ZERO", "turns::ZERO"),
("QUARTER_TURN", "turns::QUARTER_TURN"),
("HALF_TURN", "turns::HALF_TURN"),
("THREE_QUARTER_TURN", "turns::THREE_QUARTER_TURN"),
];
#[derive(Clone, Copy)]
pub enum DeprecationKind {

View File

@ -1823,14 +1823,6 @@ fn import_stmt(i: &mut TokenSlice) -> PResult<BoxNode<ImportStatement>> {
)
.into(),
));
} else if matches!(path, ImportPath::Std { .. }) && matches!(selector, ImportSelector::None { .. }) {
return Err(ErrMode::Cut(
CompilationError::fatal(
SourceRange::new(start, end, module_id),
"the standard library cannot be imported as a part",
)
.into(),
));
}
Ok(Node::boxed(
@ -2341,21 +2333,6 @@ fn nameable_identifier(i: &mut TokenSlice) -> PResult<Node<Identifier>> {
));
}
if let Some(suggestion) = super::deprecation(&result.name, DeprecationKind::Const) {
ParseContext::warn(
CompilationError::err(
result.as_source_range(),
format!("Using `{}` is deprecated, prefer using `{}`.", result.name, suggestion),
)
.with_suggestion(
format!("Replace `{}` with `{}`", result.name, suggestion),
suggestion,
None,
Tag::Deprecated,
),
);
}
Ok(result)
}
@ -2374,8 +2351,7 @@ fn name(i: &mut TokenSlice) -> PResult<Node<Name>> {
let name = idents.pop().unwrap();
let end = name.end;
let module_id = name.module_id;
Ok(Node::new(
let result = Node::new(
Name {
name,
path: idents,
@ -2385,7 +2361,24 @@ fn name(i: &mut TokenSlice) -> PResult<Node<Name>> {
start,
end,
module_id,
))
);
if let Some(suggestion) = super::deprecation(&result.to_string(), DeprecationKind::Const) {
ParseContext::warn(
CompilationError::err(
result.as_source_range(),
format!("Using `{result}` is deprecated, prefer using `{suggestion}`."),
)
.with_suggestion(
format!("Replace `{result}` with `{suggestion}`"),
suggestion,
None,
Tag::Deprecated,
),
);
}
Ok(result)
}
impl TryFrom<Token> for Node<TagDeclarator> {

View File

@ -5,6 +5,7 @@
export import * from "std::math"
export import * from "std::sketch"
export import "std::turns"
/// A number
///
@ -245,11 +246,6 @@ export type Point2d = [number; 2]
/// with type `Point3d`, use an array, e.g., `[0, 0, 0]` or `[5.0, 3.14, 6.8]`.
export type Point3d = [number; 3]
export ZERO = 0
export QUARTER_TURN = 90deg
export HALF_TURN = 180deg
export THREE_QUARTER_TURN = 270deg
export XY = {
origin = { x = 0, y = 0, z = 0 },
xAxis = { x = 1, y = 0, z = 0 },

View File

@ -0,0 +1,6 @@
@no_std
export ZERO = 0
export QUARTER_TURN = 90deg
export HALF_TURN = 180deg
export THREE_QUARTER_TURN = 270deg

View File

@ -1,25 +1,25 @@
```mermaid
flowchart LR
subgraph path2 [Path]
2["Path<br>[76, 113, 4]"]
3["Segment<br>[119, 136, 4]"]
4["Segment<br>[142, 160, 4]"]
5["Segment<br>[166, 184, 4]"]
6["Segment<br>[190, 246, 4]"]
7["Segment<br>[252, 259, 4]"]
2["Path<br>[76, 113, 5]"]
3["Segment<br>[119, 136, 5]"]
4["Segment<br>[142, 160, 5]"]
5["Segment<br>[166, 184, 5]"]
6["Segment<br>[190, 246, 5]"]
7["Segment<br>[252, 259, 5]"]
8[Solid2d]
end
subgraph path25 [Path]
25["Path<br>[76, 111, 5]"]
26["Segment<br>[117, 134, 5]"]
27["Segment<br>[140, 158, 5]"]
28["Segment<br>[164, 182, 5]"]
29["Segment<br>[188, 244, 5]"]
30["Segment<br>[250, 257, 5]"]
25["Path<br>[76, 111, 6]"]
26["Segment<br>[117, 134, 6]"]
27["Segment<br>[140, 158, 6]"]
28["Segment<br>[164, 182, 6]"]
29["Segment<br>[188, 244, 6]"]
30["Segment<br>[250, 257, 6]"]
31[Solid2d]
end
1["Plane<br>[47, 66, 4]"]
9["Sweep Extrusion<br>[265, 287, 4]"]
1["Plane<br>[47, 66, 5]"]
9["Sweep Extrusion<br>[265, 287, 5]"]
10[Wall]
11[Wall]
12[Wall]
@ -34,8 +34,8 @@ flowchart LR
21["SweepEdge Adjacent"]
22["SweepEdge Opposite"]
23["SweepEdge Adjacent"]
24["Plane<br>[47, 66, 5]"]
32["Sweep Extrusion<br>[263, 285, 5]"]
24["Plane<br>[47, 66, 6]"]
32["Sweep Extrusion<br>[263, 285, 6]"]
33[Wall]
34[Wall]
35[Wall]

View File

@ -5,10 +5,10 @@ description: Variables in memory after executing assembly_mixed_units_cubes.kcl
{
"cubeIn": {
"type": "Module",
"value": 4
"value": 5
},
"cubeMm": {
"type": "Module",
"value": 5
"value": 6
}
}

View File

@ -1,17 +1,17 @@
```mermaid
flowchart LR
subgraph path2 [Path]
2["Path<br>[197, 232, 4]"]
3["Segment<br>[197, 232, 4]"]
2["Path<br>[197, 232, 5]"]
3["Segment<br>[197, 232, 5]"]
4[Solid2d]
end
subgraph path6 [Path]
6["Path<br>[113, 148, 5]"]
7["Segment<br>[113, 148, 5]"]
6["Path<br>[113, 148, 6]"]
7["Segment<br>[113, 148, 6]"]
8[Solid2d]
end
1["Plane<br>[172, 191, 4]"]
5["Plane<br>[88, 107, 5]"]
1["Plane<br>[172, 191, 5]"]
5["Plane<br>[88, 107, 6]"]
1 --- 2
2 --- 3
2 --- 4

View File

@ -5,10 +5,10 @@ description: Variables in memory after executing assembly_non_default_units.kcl
{
"other1": {
"type": "Module",
"value": 4
"value": 5
},
"other2": {
"type": "Module",
"value": 5
"value": 6
}
}

View File

@ -5,7 +5,7 @@ description: Variables in memory after executing import_foreign.kcl
{
"cube": {
"type": "Module",
"value": 4
"value": 5
},
"model": {
"type": "ImportedGeometry",

View File

@ -5,6 +5,6 @@ description: Variables in memory after executing import_transform.kcl
{
"screw": {
"type": "Module",
"value": 4
"value": 5
}
}

View File

@ -1,12 +1,12 @@
```mermaid
flowchart LR
subgraph path2 [Path]
2["Path<br>[83, 119, 4]"]
3["Segment<br>[83, 119, 4]"]
2["Path<br>[83, 119, 5]"]
3["Segment<br>[83, 119, 5]"]
4[Solid2d]
end
1["Plane<br>[60, 77, 4]"]
5["Sweep Extrusion<br>[125, 145, 4]"]
1["Plane<br>[60, 77, 5]"]
5["Sweep Extrusion<br>[125, 145, 5]"]
6[Wall]
7["Cap Start"]
8["Cap End"]

View File

@ -111,6 +111,6 @@ description: Variables in memory after executing import_whole.kcl
},
"foo": {
"type": "Module",
"value": 4
"value": 5
}
}

View File

@ -1,239 +1,239 @@
```mermaid
flowchart LR
subgraph path2 [Path]
2["Path<br>[361, 394, 4]"]
3["Segment<br>[402, 428, 4]"]
4["Segment<br>[436, 489, 4]"]
5["Segment<br>[497, 550, 4]"]
6["Segment<br>[558, 612, 4]"]
7["Segment<br>[620, 645, 4]"]
8["Segment<br>[653, 673, 4]"]
9["Segment<br>[681, 705, 4]"]
10["Segment<br>[713, 766, 4]"]
11["Segment<br>[774, 799, 4]"]
12["Segment<br>[807, 827, 4]"]
13["Segment<br>[835, 859, 4]"]
14["Segment<br>[867, 919, 4]"]
15["Segment<br>[927, 979, 4]"]
16["Segment<br>[987, 1012, 4]"]
17["Segment<br>[1020, 1044, 4]"]
18["Segment<br>[1052, 1105, 4]"]
19["Segment<br>[1113, 1138, 4]"]
20["Segment<br>[1146, 1173, 4]"]
21["Segment<br>[1181, 1233, 4]"]
22["Segment<br>[1241, 1276, 4]"]
23["Segment<br>[1284, 1291, 4]"]
2["Path<br>[361, 394, 5]"]
3["Segment<br>[402, 428, 5]"]
4["Segment<br>[436, 489, 5]"]
5["Segment<br>[497, 550, 5]"]
6["Segment<br>[558, 612, 5]"]
7["Segment<br>[620, 645, 5]"]
8["Segment<br>[653, 673, 5]"]
9["Segment<br>[681, 705, 5]"]
10["Segment<br>[713, 766, 5]"]
11["Segment<br>[774, 799, 5]"]
12["Segment<br>[807, 827, 5]"]
13["Segment<br>[835, 859, 5]"]
14["Segment<br>[867, 919, 5]"]
15["Segment<br>[927, 979, 5]"]
16["Segment<br>[987, 1012, 5]"]
17["Segment<br>[1020, 1044, 5]"]
18["Segment<br>[1052, 1105, 5]"]
19["Segment<br>[1113, 1138, 5]"]
20["Segment<br>[1146, 1173, 5]"]
21["Segment<br>[1181, 1233, 5]"]
22["Segment<br>[1241, 1276, 5]"]
23["Segment<br>[1284, 1291, 5]"]
24[Solid2d]
end
subgraph path89 [Path]
89["Path<br>[361, 394, 4]"]
90["Segment<br>[402, 428, 4]"]
91["Segment<br>[436, 489, 4]"]
92["Segment<br>[497, 550, 4]"]
93["Segment<br>[558, 612, 4]"]
94["Segment<br>[620, 645, 4]"]
95["Segment<br>[653, 673, 4]"]
96["Segment<br>[681, 705, 4]"]
97["Segment<br>[713, 766, 4]"]
98["Segment<br>[774, 799, 4]"]
99["Segment<br>[807, 827, 4]"]
100["Segment<br>[835, 859, 4]"]
101["Segment<br>[867, 919, 4]"]
102["Segment<br>[927, 979, 4]"]
103["Segment<br>[987, 1012, 4]"]
104["Segment<br>[1020, 1044, 4]"]
105["Segment<br>[1052, 1105, 4]"]
106["Segment<br>[1113, 1138, 4]"]
107["Segment<br>[1146, 1173, 4]"]
108["Segment<br>[1181, 1233, 4]"]
109["Segment<br>[1241, 1276, 4]"]
110["Segment<br>[1284, 1291, 4]"]
89["Path<br>[361, 394, 5]"]
90["Segment<br>[402, 428, 5]"]
91["Segment<br>[436, 489, 5]"]
92["Segment<br>[497, 550, 5]"]
93["Segment<br>[558, 612, 5]"]
94["Segment<br>[620, 645, 5]"]
95["Segment<br>[653, 673, 5]"]
96["Segment<br>[681, 705, 5]"]
97["Segment<br>[713, 766, 5]"]
98["Segment<br>[774, 799, 5]"]
99["Segment<br>[807, 827, 5]"]
100["Segment<br>[835, 859, 5]"]
101["Segment<br>[867, 919, 5]"]
102["Segment<br>[927, 979, 5]"]
103["Segment<br>[987, 1012, 5]"]
104["Segment<br>[1020, 1044, 5]"]
105["Segment<br>[1052, 1105, 5]"]
106["Segment<br>[1113, 1138, 5]"]
107["Segment<br>[1146, 1173, 5]"]
108["Segment<br>[1181, 1233, 5]"]
109["Segment<br>[1241, 1276, 5]"]
110["Segment<br>[1284, 1291, 5]"]
111[Solid2d]
end
subgraph path176 [Path]
176["Path<br>[361, 394, 4]"]
177["Segment<br>[402, 428, 4]"]
178["Segment<br>[436, 489, 4]"]
179["Segment<br>[497, 550, 4]"]
180["Segment<br>[558, 612, 4]"]
181["Segment<br>[620, 645, 4]"]
182["Segment<br>[653, 673, 4]"]
183["Segment<br>[681, 705, 4]"]
184["Segment<br>[713, 766, 4]"]
185["Segment<br>[774, 799, 4]"]
186["Segment<br>[807, 827, 4]"]
187["Segment<br>[835, 859, 4]"]
188["Segment<br>[867, 919, 4]"]
189["Segment<br>[927, 979, 4]"]
190["Segment<br>[987, 1012, 4]"]
191["Segment<br>[1020, 1044, 4]"]
192["Segment<br>[1052, 1105, 4]"]
193["Segment<br>[1113, 1138, 4]"]
194["Segment<br>[1146, 1173, 4]"]
195["Segment<br>[1181, 1233, 4]"]
196["Segment<br>[1241, 1276, 4]"]
197["Segment<br>[1284, 1291, 4]"]
176["Path<br>[361, 394, 5]"]
177["Segment<br>[402, 428, 5]"]
178["Segment<br>[436, 489, 5]"]
179["Segment<br>[497, 550, 5]"]
180["Segment<br>[558, 612, 5]"]
181["Segment<br>[620, 645, 5]"]
182["Segment<br>[653, 673, 5]"]
183["Segment<br>[681, 705, 5]"]
184["Segment<br>[713, 766, 5]"]
185["Segment<br>[774, 799, 5]"]
186["Segment<br>[807, 827, 5]"]
187["Segment<br>[835, 859, 5]"]
188["Segment<br>[867, 919, 5]"]
189["Segment<br>[927, 979, 5]"]
190["Segment<br>[987, 1012, 5]"]
191["Segment<br>[1020, 1044, 5]"]
192["Segment<br>[1052, 1105, 5]"]
193["Segment<br>[1113, 1138, 5]"]
194["Segment<br>[1146, 1173, 5]"]
195["Segment<br>[1181, 1233, 5]"]
196["Segment<br>[1241, 1276, 5]"]
197["Segment<br>[1284, 1291, 5]"]
198[Solid2d]
end
subgraph path262 [Path]
262["Path<br>[361, 394, 4]"]
263["Segment<br>[402, 428, 4]"]
264["Segment<br>[436, 489, 4]"]
265["Segment<br>[497, 550, 4]"]
266["Segment<br>[558, 612, 4]"]
267["Segment<br>[620, 645, 4]"]
268["Segment<br>[653, 673, 4]"]
269["Segment<br>[681, 705, 4]"]
270["Segment<br>[713, 766, 4]"]
271["Segment<br>[774, 799, 4]"]
272["Segment<br>[807, 827, 4]"]
273["Segment<br>[835, 859, 4]"]
274["Segment<br>[867, 919, 4]"]
275["Segment<br>[927, 979, 4]"]
276["Segment<br>[987, 1012, 4]"]
277["Segment<br>[1020, 1044, 4]"]
278["Segment<br>[1052, 1105, 4]"]
279["Segment<br>[1113, 1138, 4]"]
280["Segment<br>[1146, 1173, 4]"]
281["Segment<br>[1181, 1233, 4]"]
282["Segment<br>[1241, 1276, 4]"]
283["Segment<br>[1284, 1291, 4]"]
262["Path<br>[361, 394, 5]"]
263["Segment<br>[402, 428, 5]"]
264["Segment<br>[436, 489, 5]"]
265["Segment<br>[497, 550, 5]"]
266["Segment<br>[558, 612, 5]"]
267["Segment<br>[620, 645, 5]"]
268["Segment<br>[653, 673, 5]"]
269["Segment<br>[681, 705, 5]"]
270["Segment<br>[713, 766, 5]"]
271["Segment<br>[774, 799, 5]"]
272["Segment<br>[807, 827, 5]"]
273["Segment<br>[835, 859, 5]"]
274["Segment<br>[867, 919, 5]"]
275["Segment<br>[927, 979, 5]"]
276["Segment<br>[987, 1012, 5]"]
277["Segment<br>[1020, 1044, 5]"]
278["Segment<br>[1052, 1105, 5]"]
279["Segment<br>[1113, 1138, 5]"]
280["Segment<br>[1146, 1173, 5]"]
281["Segment<br>[1181, 1233, 5]"]
282["Segment<br>[1241, 1276, 5]"]
283["Segment<br>[1284, 1291, 5]"]
284[Solid2d]
end
subgraph path349 [Path]
349["Path<br>[361, 394, 4]"]
350["Segment<br>[402, 428, 4]"]
351["Segment<br>[436, 489, 4]"]
352["Segment<br>[497, 550, 4]"]
353["Segment<br>[558, 612, 4]"]
354["Segment<br>[620, 645, 4]"]
355["Segment<br>[653, 673, 4]"]
356["Segment<br>[681, 705, 4]"]
357["Segment<br>[713, 766, 4]"]
358["Segment<br>[774, 799, 4]"]
359["Segment<br>[807, 827, 4]"]
360["Segment<br>[835, 859, 4]"]
361["Segment<br>[867, 919, 4]"]
362["Segment<br>[927, 979, 4]"]
363["Segment<br>[987, 1012, 4]"]
364["Segment<br>[1020, 1044, 4]"]
365["Segment<br>[1052, 1105, 4]"]
366["Segment<br>[1113, 1138, 4]"]
367["Segment<br>[1146, 1173, 4]"]
368["Segment<br>[1181, 1233, 4]"]
369["Segment<br>[1241, 1276, 4]"]
370["Segment<br>[1284, 1291, 4]"]
349["Path<br>[361, 394, 5]"]
350["Segment<br>[402, 428, 5]"]
351["Segment<br>[436, 489, 5]"]
352["Segment<br>[497, 550, 5]"]
353["Segment<br>[558, 612, 5]"]
354["Segment<br>[620, 645, 5]"]
355["Segment<br>[653, 673, 5]"]
356["Segment<br>[681, 705, 5]"]
357["Segment<br>[713, 766, 5]"]
358["Segment<br>[774, 799, 5]"]
359["Segment<br>[807, 827, 5]"]
360["Segment<br>[835, 859, 5]"]
361["Segment<br>[867, 919, 5]"]
362["Segment<br>[927, 979, 5]"]
363["Segment<br>[987, 1012, 5]"]
364["Segment<br>[1020, 1044, 5]"]
365["Segment<br>[1052, 1105, 5]"]
366["Segment<br>[1113, 1138, 5]"]
367["Segment<br>[1146, 1173, 5]"]
368["Segment<br>[1181, 1233, 5]"]
369["Segment<br>[1241, 1276, 5]"]
370["Segment<br>[1284, 1291, 5]"]
371[Solid2d]
end
subgraph path435 [Path]
435["Path<br>[361, 394, 4]"]
436["Segment<br>[402, 428, 4]"]
437["Segment<br>[436, 489, 4]"]
438["Segment<br>[497, 550, 4]"]
439["Segment<br>[558, 612, 4]"]
440["Segment<br>[620, 645, 4]"]
441["Segment<br>[653, 673, 4]"]
442["Segment<br>[681, 705, 4]"]
443["Segment<br>[713, 766, 4]"]
444["Segment<br>[774, 799, 4]"]
445["Segment<br>[807, 827, 4]"]
446["Segment<br>[835, 859, 4]"]
447["Segment<br>[867, 919, 4]"]
448["Segment<br>[927, 979, 4]"]
449["Segment<br>[987, 1012, 4]"]
450["Segment<br>[1020, 1044, 4]"]
451["Segment<br>[1052, 1105, 4]"]
452["Segment<br>[1113, 1138, 4]"]
453["Segment<br>[1146, 1173, 4]"]
454["Segment<br>[1181, 1233, 4]"]
455["Segment<br>[1241, 1276, 4]"]
456["Segment<br>[1284, 1291, 4]"]
435["Path<br>[361, 394, 5]"]
436["Segment<br>[402, 428, 5]"]
437["Segment<br>[436, 489, 5]"]
438["Segment<br>[497, 550, 5]"]
439["Segment<br>[558, 612, 5]"]
440["Segment<br>[620, 645, 5]"]
441["Segment<br>[653, 673, 5]"]
442["Segment<br>[681, 705, 5]"]
443["Segment<br>[713, 766, 5]"]
444["Segment<br>[774, 799, 5]"]
445["Segment<br>[807, 827, 5]"]
446["Segment<br>[835, 859, 5]"]
447["Segment<br>[867, 919, 5]"]
448["Segment<br>[927, 979, 5]"]
449["Segment<br>[987, 1012, 5]"]
450["Segment<br>[1020, 1044, 5]"]
451["Segment<br>[1052, 1105, 5]"]
452["Segment<br>[1113, 1138, 5]"]
453["Segment<br>[1146, 1173, 5]"]
454["Segment<br>[1181, 1233, 5]"]
455["Segment<br>[1241, 1276, 5]"]
456["Segment<br>[1284, 1291, 5]"]
457[Solid2d]
end
subgraph path522 [Path]
522["Path<br>[1685, 1709, 4]"]
522["Path<br>[1685, 1709, 5]"]
end
subgraph path523 [Path]
523["Path<br>[1717, 1847, 4]"]
524["Segment<br>[1717, 1847, 4]"]
525["Segment<br>[1717, 1847, 4]"]
526["Segment<br>[1717, 1847, 4]"]
527["Segment<br>[1717, 1847, 4]"]
528["Segment<br>[1717, 1847, 4]"]
529["Segment<br>[1717, 1847, 4]"]
530["Segment<br>[1717, 1847, 4]"]
523["Path<br>[1717, 1847, 5]"]
524["Segment<br>[1717, 1847, 5]"]
525["Segment<br>[1717, 1847, 5]"]
526["Segment<br>[1717, 1847, 5]"]
527["Segment<br>[1717, 1847, 5]"]
528["Segment<br>[1717, 1847, 5]"]
529["Segment<br>[1717, 1847, 5]"]
530["Segment<br>[1717, 1847, 5]"]
531[Solid2d]
end
subgraph path553 [Path]
553["Path<br>[1685, 1709, 4]"]
553["Path<br>[1685, 1709, 5]"]
end
subgraph path554 [Path]
554["Path<br>[1717, 1847, 4]"]
555["Segment<br>[1717, 1847, 4]"]
556["Segment<br>[1717, 1847, 4]"]
557["Segment<br>[1717, 1847, 4]"]
558["Segment<br>[1717, 1847, 4]"]
559["Segment<br>[1717, 1847, 4]"]
560["Segment<br>[1717, 1847, 4]"]
561["Segment<br>[1717, 1847, 4]"]
554["Path<br>[1717, 1847, 5]"]
555["Segment<br>[1717, 1847, 5]"]
556["Segment<br>[1717, 1847, 5]"]
557["Segment<br>[1717, 1847, 5]"]
558["Segment<br>[1717, 1847, 5]"]
559["Segment<br>[1717, 1847, 5]"]
560["Segment<br>[1717, 1847, 5]"]
561["Segment<br>[1717, 1847, 5]"]
562[Solid2d]
end
subgraph path585 [Path]
585["Path<br>[2123, 2150, 4]"]
586["Segment<br>[2158, 2180, 4]"]
587["Segment<br>[2188, 2210, 4]"]
588["Segment<br>[2218, 2240, 4]"]
589["Segment<br>[2248, 2271, 4]"]
590["Segment<br>[2279, 2302, 4]"]
591["Segment<br>[2310, 2345, 4]"]
592["Segment<br>[2353, 2360, 4]"]
585["Path<br>[2123, 2150, 5]"]
586["Segment<br>[2158, 2180, 5]"]
587["Segment<br>[2188, 2210, 5]"]
588["Segment<br>[2218, 2240, 5]"]
589["Segment<br>[2248, 2271, 5]"]
590["Segment<br>[2279, 2302, 5]"]
591["Segment<br>[2310, 2345, 5]"]
592["Segment<br>[2353, 2360, 5]"]
593[Solid2d]
end
subgraph path618 [Path]
618["Path<br>[2632, 2661, 4]"]
619["Segment<br>[2669, 2692, 4]"]
620["Segment<br>[2700, 2725, 4]"]
621["Segment<br>[2733, 2757, 4]"]
622["Segment<br>[2765, 2789, 4]"]
623["Segment<br>[2797, 2819, 4]"]
624["Segment<br>[2827, 2862, 4]"]
625["Segment<br>[2870, 2877, 4]"]
618["Path<br>[2632, 2661, 5]"]
619["Segment<br>[2669, 2692, 5]"]
620["Segment<br>[2700, 2725, 5]"]
621["Segment<br>[2733, 2757, 5]"]
622["Segment<br>[2765, 2789, 5]"]
623["Segment<br>[2797, 2819, 5]"]
624["Segment<br>[2827, 2862, 5]"]
625["Segment<br>[2870, 2877, 5]"]
626[Solid2d]
end
subgraph path650 [Path]
650["Path<br>[3152, 3179, 4]"]
651["Segment<br>[3187, 3206, 4]"]
652["Segment<br>[3214, 3304, 4]"]
650["Path<br>[3152, 3179, 5]"]
651["Segment<br>[3187, 3206, 5]"]
652["Segment<br>[3214, 3304, 5]"]
end
subgraph path654 [Path]
654["Path<br>[3404, 3437, 4]"]
655["Segment<br>[3445, 3464, 4]"]
656["Segment<br>[3472, 3494, 4]"]
657["Segment<br>[3502, 3525, 4]"]
658["Segment<br>[3533, 3553, 4]"]
659["Segment<br>[3561, 3585, 4]"]
660["Segment<br>[3593, 3616, 4]"]
661["Segment<br>[3624, 3631, 4]"]
654["Path<br>[3404, 3437, 5]"]
655["Segment<br>[3445, 3464, 5]"]
656["Segment<br>[3472, 3494, 5]"]
657["Segment<br>[3502, 3525, 5]"]
658["Segment<br>[3533, 3553, 5]"]
659["Segment<br>[3561, 3585, 5]"]
660["Segment<br>[3593, 3616, 5]"]
661["Segment<br>[3624, 3631, 5]"]
662[Solid2d]
end
subgraph path688 [Path]
688["Path<br>[3152, 3179, 4]"]
689["Segment<br>[3187, 3206, 4]"]
690["Segment<br>[3214, 3304, 4]"]
688["Path<br>[3152, 3179, 5]"]
689["Segment<br>[3187, 3206, 5]"]
690["Segment<br>[3214, 3304, 5]"]
end
subgraph path692 [Path]
692["Path<br>[3404, 3437, 4]"]
693["Segment<br>[3445, 3464, 4]"]
694["Segment<br>[3472, 3494, 4]"]
695["Segment<br>[3502, 3525, 4]"]
696["Segment<br>[3533, 3553, 4]"]
697["Segment<br>[3561, 3585, 4]"]
698["Segment<br>[3593, 3616, 4]"]
699["Segment<br>[3624, 3631, 4]"]
692["Path<br>[3404, 3437, 5]"]
693["Segment<br>[3445, 3464, 5]"]
694["Segment<br>[3472, 3494, 5]"]
695["Segment<br>[3502, 3525, 5]"]
696["Segment<br>[3533, 3553, 5]"]
697["Segment<br>[3561, 3585, 5]"]
698["Segment<br>[3593, 3616, 5]"]
699["Segment<br>[3624, 3631, 5]"]
700[Solid2d]
end
1["Plane<br>[333, 353, 4]"]
25["Sweep Extrusion<br>[1379, 1417, 4]"]
1["Plane<br>[333, 353, 5]"]
25["Sweep Extrusion<br>[1379, 1417, 5]"]
26[Wall]
27[Wall]
28[Wall]
@ -296,8 +296,8 @@ flowchart LR
85["SweepEdge Adjacent"]
86["SweepEdge Opposite"]
87["SweepEdge Adjacent"]
88["Plane<br>[333, 353, 4]"]
112["Sweep Extrusion<br>[1455, 1494, 4]"]
88["Plane<br>[333, 353, 5]"]
112["Sweep Extrusion<br>[1455, 1494, 5]"]
113[Wall]
114[Wall]
115[Wall]
@ -361,7 +361,7 @@ flowchart LR
173["SweepEdge Opposite"]
174["SweepEdge Adjacent"]
175["Plane<br>[823, 865, 0]"]
199["Sweep Extrusion<br>[1379, 1417, 4]"]
199["Sweep Extrusion<br>[1379, 1417, 5]"]
200[Wall]
201[Wall]
202[Wall]
@ -424,7 +424,7 @@ flowchart LR
259["SweepEdge Adjacent"]
260["SweepEdge Opposite"]
261["SweepEdge Adjacent"]
285["Sweep Extrusion<br>[1455, 1494, 4]"]
285["Sweep Extrusion<br>[1455, 1494, 5]"]
286[Wall]
287[Wall]
288[Wall]
@ -488,7 +488,7 @@ flowchart LR
346["SweepEdge Opposite"]
347["SweepEdge Adjacent"]
348["Plane<br>[875, 916, 0]"]
372["Sweep Extrusion<br>[1379, 1417, 4]"]
372["Sweep Extrusion<br>[1379, 1417, 5]"]
373[Wall]
374[Wall]
375[Wall]
@ -551,7 +551,7 @@ flowchart LR
432["SweepEdge Adjacent"]
433["SweepEdge Opposite"]
434["SweepEdge Adjacent"]
458["Sweep Extrusion<br>[1455, 1494, 4]"]
458["Sweep Extrusion<br>[1455, 1494, 5]"]
459[Wall]
460[Wall]
461[Wall]
@ -615,7 +615,7 @@ flowchart LR
519["SweepEdge Opposite"]
520["SweepEdge Adjacent"]
521["Plane<br>[975, 1017, 0]"]
532["Sweep Extrusion<br>[1949, 1973, 4]"]
532["Sweep Extrusion<br>[1949, 1973, 5]"]
533[Wall]
534[Wall]
535[Wall]
@ -636,7 +636,7 @@ flowchart LR
550["SweepEdge Adjacent"]
551["SweepEdge Opposite"]
552["SweepEdge Adjacent"]
563["Sweep Extrusion<br>[2015, 2039, 4]"]
563["Sweep Extrusion<br>[2015, 2039, 5]"]
564[Wall]
565[Wall]
566[Wall]
@ -658,7 +658,7 @@ flowchart LR
582["SweepEdge Opposite"]
583["SweepEdge Adjacent"]
584["Plane<br>[1068, 1135, 0]"]
594["Sweep Extrusion<br>[2523, 2547, 4]"]
594["Sweep Extrusion<br>[2523, 2547, 5]"]
595[Wall]
596[Wall]
597[Wall]
@ -679,10 +679,10 @@ flowchart LR
612["SweepEdge Adjacent"]
613["SweepEdge Opposite"]
614["SweepEdge Adjacent"]
615["Sweep Extrusion<br>[2523, 2547, 4]"]
616["Sweep Extrusion<br>[2523, 2547, 4]"]
615["Sweep Extrusion<br>[2523, 2547, 5]"]
616["Sweep Extrusion<br>[2523, 2547, 5]"]
617["Plane<br>[1205, 1272, 0]"]
627["Sweep Extrusion<br>[3047, 3071, 4]"]
627["Sweep Extrusion<br>[3047, 3071, 5]"]
628[Wall]
629[Wall]
630[Wall]
@ -703,10 +703,10 @@ flowchart LR
645["SweepEdge Adjacent"]
646["SweepEdge Opposite"]
647["SweepEdge Adjacent"]
648["Sweep Extrusion<br>[3047, 3071, 4]"]
649["Plane<br>[3712, 3747, 4]"]
653["Plane<br>[3778, 3807, 4]"]
663["Sweep Sweep<br>[3819, 3846, 4]"]
648["Sweep Extrusion<br>[3047, 3071, 5]"]
649["Plane<br>[3712, 3747, 5]"]
653["Plane<br>[3778, 3807, 5]"]
663["Sweep Sweep<br>[3819, 3846, 5]"]
664[Wall]
665[Wall]
666[Wall]
@ -730,9 +730,9 @@ flowchart LR
684["SweepEdge Adjacent"]
685["SweepEdge Opposite"]
686["SweepEdge Adjacent"]
687["Plane<br>[3712, 3747, 4]"]
691["Plane<br>[3778, 3807, 4]"]
701["Sweep Sweep<br>[3819, 3846, 4]"]
687["Plane<br>[3712, 3747, 5]"]
691["Plane<br>[3778, 3807, 5]"]
701["Sweep Sweep<br>[3819, 3846, 5]"]
702[Wall]
703[Wall]
704[Wall]
@ -756,18 +756,18 @@ flowchart LR
722["SweepEdge Adjacent"]
723["SweepEdge Opposite"]
724["SweepEdge Adjacent"]
725["StartSketchOnPlane<br>[333, 353, 4]"]
726["StartSketchOnPlane<br>[333, 353, 4]"]
727["StartSketchOnPlane<br>[333, 353, 4]"]
728["StartSketchOnPlane<br>[333, 353, 4]"]
729["StartSketchOnPlane<br>[1657, 1677, 4]"]
730["StartSketchOnPlane<br>[1657, 1677, 4]"]
731["StartSketchOnPlane<br>[2095, 2115, 4]"]
732["StartSketchOnPlane<br>[2604, 2624, 4]"]
733["StartSketchOnPlane<br>[3124, 3144, 4]"]
734["StartSketchOnPlane<br>[3376, 3396, 4]"]
735["StartSketchOnPlane<br>[3124, 3144, 4]"]
736["StartSketchOnPlane<br>[3376, 3396, 4]"]
725["StartSketchOnPlane<br>[333, 353, 5]"]
726["StartSketchOnPlane<br>[333, 353, 5]"]
727["StartSketchOnPlane<br>[333, 353, 5]"]
728["StartSketchOnPlane<br>[333, 353, 5]"]
729["StartSketchOnPlane<br>[1657, 1677, 5]"]
730["StartSketchOnPlane<br>[1657, 1677, 5]"]
731["StartSketchOnPlane<br>[2095, 2115, 5]"]
732["StartSketchOnPlane<br>[2604, 2624, 5]"]
733["StartSketchOnPlane<br>[3124, 3144, 5]"]
734["StartSketchOnPlane<br>[3376, 3396, 5]"]
735["StartSketchOnPlane<br>[3124, 3144, 5]"]
736["StartSketchOnPlane<br>[3376, 3396, 5]"]
1 --- 2
2 --- 3
2 --- 4

View File

@ -9,7 +9,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
1331,
1606,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -21,7 +21,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
309,
1312,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -77,7 +77,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
309,
1312,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -248,7 +248,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
1331,
1606,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -260,7 +260,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
309,
1312,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -316,7 +316,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
309,
1312,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -487,7 +487,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
1331,
1606,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -499,7 +499,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
309,
1312,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -555,7 +555,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
309,
1312,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -726,7 +726,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
1889,
2052,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -738,7 +738,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
1626,
1868,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -800,7 +800,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
1626,
1868,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -889,7 +889,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
2474,
2560,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -901,7 +901,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
2071,
2453,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -1007,7 +1007,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
2993,
3084,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -1019,7 +1019,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
2580,
2972,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -1095,7 +1095,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
3671,
3859,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -1131,7 +1131,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
3100,
3325,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -1191,7 +1191,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
3344,
3652,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -1249,7 +1249,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
3671,
3859,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -1285,7 +1285,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
3100,
3325,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -1345,7 +1345,7 @@ description: Operations executed bench.kcl
"functionSourceRange": [
3344,
3652,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},

View File

@ -1,264 +1,264 @@
```mermaid
flowchart LR
subgraph path2 [Path]
2["Path<br>[567, 618, 5]"]
3["Segment<br>[567, 618, 5]"]
2["Path<br>[567, 618, 6]"]
3["Segment<br>[567, 618, 6]"]
4[Solid2d]
end
subgraph path11 [Path]
11["Path<br>[803, 859, 5]"]
12["Segment<br>[803, 859, 5]"]
11["Path<br>[803, 859, 6]"]
12["Segment<br>[803, 859, 6]"]
13[Solid2d]
end
subgraph path19 [Path]
19["Path<br>[984, 1037, 5]"]
20["Segment<br>[984, 1037, 5]"]
19["Path<br>[984, 1037, 6]"]
20["Segment<br>[984, 1037, 6]"]
21[Solid2d]
end
subgraph path30 [Path]
30["Path<br>[1420, 1460, 5]"]
31["Segment<br>[1420, 1460, 5]"]
30["Path<br>[1420, 1460, 6]"]
31["Segment<br>[1420, 1460, 6]"]
32[Solid2d]
end
subgraph path38 [Path]
38["Path<br>[1564, 1615, 5]"]
39["Segment<br>[1564, 1615, 5]"]
38["Path<br>[1564, 1615, 6]"]
39["Segment<br>[1564, 1615, 6]"]
40[Solid2d]
end
subgraph path47 [Path]
47["Path<br>[1748, 1801, 5]"]
48["Segment<br>[1748, 1801, 5]"]
47["Path<br>[1748, 1801, 6]"]
48["Segment<br>[1748, 1801, 6]"]
49[Solid2d]
end
subgraph path58 [Path]
58["Path<br>[2044, 2116, 5]"]
59["Segment<br>[2044, 2116, 5]"]
58["Path<br>[2044, 2116, 6]"]
59["Segment<br>[2044, 2116, 6]"]
60[Solid2d]
end
subgraph path81 [Path]
81["Path<br>[2373, 2404, 5]"]
82["Segment<br>[2410, 2430, 5]"]
83["Segment<br>[2436, 2456, 5]"]
84["Segment<br>[2462, 2483, 5]"]
85["Segment<br>[2489, 2545, 5]"]
86["Segment<br>[2551, 2558, 5]"]
81["Path<br>[2373, 2404, 6]"]
82["Segment<br>[2410, 2430, 6]"]
83["Segment<br>[2436, 2456, 6]"]
84["Segment<br>[2462, 2483, 6]"]
85["Segment<br>[2489, 2545, 6]"]
86["Segment<br>[2551, 2558, 6]"]
87[Solid2d]
end
subgraph path106 [Path]
106["Path<br>[2860, 2892, 5]"]
107["Segment<br>[2898, 2919, 5]"]
108["Segment<br>[2925, 2945, 5]"]
109["Segment<br>[2951, 2971, 5]"]
110["Segment<br>[2977, 3033, 5]"]
111["Segment<br>[3039, 3046, 5]"]
106["Path<br>[2860, 2892, 6]"]
107["Segment<br>[2898, 2919, 6]"]
108["Segment<br>[2925, 2945, 6]"]
109["Segment<br>[2951, 2971, 6]"]
110["Segment<br>[2977, 3033, 6]"]
111["Segment<br>[3039, 3046, 6]"]
112[Solid2d]
end
subgraph path132 [Path]
132["Path<br>[350, 406, 4]"]
133["Segment<br>[350, 406, 4]"]
132["Path<br>[350, 406, 5]"]
133["Segment<br>[350, 406, 5]"]
134[Solid2d]
end
subgraph path135 [Path]
135["Path<br>[417, 473, 4]"]
136["Segment<br>[417, 473, 4]"]
135["Path<br>[417, 473, 5]"]
136["Segment<br>[417, 473, 5]"]
137[Solid2d]
end
subgraph path144 [Path]
144["Path<br>[638, 694, 4]"]
145["Segment<br>[638, 694, 4]"]
144["Path<br>[638, 694, 5]"]
145["Segment<br>[638, 694, 5]"]
146[Solid2d]
end
subgraph path147 [Path]
147["Path<br>[705, 761, 4]"]
148["Segment<br>[705, 761, 4]"]
147["Path<br>[705, 761, 5]"]
148["Segment<br>[705, 761, 5]"]
149[Solid2d]
end
subgraph path156 [Path]
156["Path<br>[905, 959, 4]"]
157["Segment<br>[905, 959, 4]"]
156["Path<br>[905, 959, 5]"]
157["Segment<br>[905, 959, 5]"]
158[Solid2d]
end
subgraph path167 [Path]
167["Path<br>[1237, 1297, 4]"]
168["Segment<br>[1237, 1297, 4]"]
167["Path<br>[1237, 1297, 5]"]
168["Segment<br>[1237, 1297, 5]"]
169[Solid2d]
end
subgraph path179 [Path]
179["Path<br>[1655, 1701, 4]"]
180["Segment<br>[1707, 1759, 4]"]
181["Segment<br>[1765, 1870, 4]"]
182["Segment<br>[1876, 1898, 4]"]
183["Segment<br>[1904, 1960, 4]"]
184["Segment<br>[1966, 1973, 4]"]
179["Path<br>[1655, 1701, 5]"]
180["Segment<br>[1707, 1759, 5]"]
181["Segment<br>[1765, 1870, 5]"]
182["Segment<br>[1876, 1898, 5]"]
183["Segment<br>[1904, 1960, 5]"]
184["Segment<br>[1966, 1973, 5]"]
185[Solid2d]
end
subgraph path195 [Path]
195["Path<br>[2107, 2153, 4]"]
196["Segment<br>[2159, 2211, 4]"]
197["Segment<br>[2217, 2324, 4]"]
198["Segment<br>[2330, 2367, 4]"]
199["Segment<br>[2373, 2429, 4]"]
200["Segment<br>[2435, 2442, 4]"]
195["Path<br>[2107, 2153, 5]"]
196["Segment<br>[2159, 2211, 5]"]
197["Segment<br>[2217, 2324, 5]"]
198["Segment<br>[2330, 2367, 5]"]
199["Segment<br>[2373, 2429, 5]"]
200["Segment<br>[2435, 2442, 5]"]
201[Solid2d]
end
subgraph path212 [Path]
212["Path<br>[2953, 3000, 4]"]
213["Segment<br>[3008, 3348, 4]"]
214["Segment<br>[3356, 3388, 4]"]
215["Segment<br>[3396, 3740, 4]"]
216["Segment<br>[3748, 3804, 4]"]
217["Segment<br>[3812, 3819, 4]"]
212["Path<br>[2953, 3000, 5]"]
213["Segment<br>[3008, 3348, 5]"]
214["Segment<br>[3356, 3388, 5]"]
215["Segment<br>[3396, 3740, 5]"]
216["Segment<br>[3748, 3804, 5]"]
217["Segment<br>[3812, 3819, 5]"]
218[Solid2d]
end
subgraph path235 [Path]
235["Path<br>[2953, 3000, 4]"]
236["Segment<br>[3008, 3348, 4]"]
237["Segment<br>[3356, 3388, 4]"]
238["Segment<br>[3396, 3740, 4]"]
239["Segment<br>[3748, 3804, 4]"]
240["Segment<br>[3812, 3819, 4]"]
235["Path<br>[2953, 3000, 5]"]
236["Segment<br>[3008, 3348, 5]"]
237["Segment<br>[3356, 3388, 5]"]
238["Segment<br>[3396, 3740, 5]"]
239["Segment<br>[3748, 3804, 5]"]
240["Segment<br>[3812, 3819, 5]"]
241[Solid2d]
end
subgraph path258 [Path]
258["Path<br>[4347, 4442, 4]"]
259["Segment<br>[4448, 4481, 4]"]
260["Segment<br>[4487, 4538, 4]"]
261["Segment<br>[4544, 4577, 4]"]
262["Segment<br>[4583, 4633, 4]"]
263["Segment<br>[4639, 4680, 4]"]
264["Segment<br>[4686, 4735, 4]"]
265["Segment<br>[4741, 4774, 4]"]
266["Segment<br>[4780, 4814, 4]"]
267["Segment<br>[4820, 4854, 4]"]
268["Segment<br>[4860, 4912, 4]"]
269["Segment<br>[4918, 4952, 4]"]
270["Segment<br>[4958, 5034, 4]"]
271["Segment<br>[5040, 5073, 4]"]
272["Segment<br>[5079, 5155, 4]"]
273["Segment<br>[5161, 5195, 4]"]
274["Segment<br>[5201, 5275, 4]"]
275["Segment<br>[5281, 5315, 4]"]
276["Segment<br>[5321, 5372, 4]"]
277["Segment<br>[5378, 5440, 4]"]
278["Segment<br>[5446, 5497, 4]"]
279["Segment<br>[5503, 5537, 4]"]
280["Segment<br>[5543, 5576, 4]"]
281["Segment<br>[5582, 5615, 4]"]
282["Segment<br>[5621, 5628, 4]"]
258["Path<br>[4347, 4442, 5]"]
259["Segment<br>[4448, 4481, 5]"]
260["Segment<br>[4487, 4538, 5]"]
261["Segment<br>[4544, 4577, 5]"]
262["Segment<br>[4583, 4633, 5]"]
263["Segment<br>[4639, 4680, 5]"]
264["Segment<br>[4686, 4735, 5]"]
265["Segment<br>[4741, 4774, 5]"]
266["Segment<br>[4780, 4814, 5]"]
267["Segment<br>[4820, 4854, 5]"]
268["Segment<br>[4860, 4912, 5]"]
269["Segment<br>[4918, 4952, 5]"]
270["Segment<br>[4958, 5034, 5]"]
271["Segment<br>[5040, 5073, 5]"]
272["Segment<br>[5079, 5155, 5]"]
273["Segment<br>[5161, 5195, 5]"]
274["Segment<br>[5201, 5275, 5]"]
275["Segment<br>[5281, 5315, 5]"]
276["Segment<br>[5321, 5372, 5]"]
277["Segment<br>[5378, 5440, 5]"]
278["Segment<br>[5446, 5497, 5]"]
279["Segment<br>[5503, 5537, 5]"]
280["Segment<br>[5543, 5576, 5]"]
281["Segment<br>[5582, 5615, 5]"]
282["Segment<br>[5621, 5628, 5]"]
283[Solid2d]
end
subgraph path334 [Path]
334["Path<br>[740, 780, 7]"]
335["Segment<br>[788, 850, 7]"]
336["Segment<br>[858, 894, 7]"]
337["Segment<br>[902, 932, 7]"]
338["Segment<br>[940, 992, 7]"]
339["Segment<br>[1000, 1040, 7]"]
340["Segment<br>[1048, 1083, 7]"]
341["Segment<br>[1091, 1129, 7]"]
342["Segment<br>[1137, 1159, 7]"]
343["Segment<br>[1167, 1174, 7]"]
334["Path<br>[740, 780, 8]"]
335["Segment<br>[788, 850, 8]"]
336["Segment<br>[858, 894, 8]"]
337["Segment<br>[902, 932, 8]"]
338["Segment<br>[940, 992, 8]"]
339["Segment<br>[1000, 1040, 8]"]
340["Segment<br>[1048, 1083, 8]"]
341["Segment<br>[1091, 1129, 8]"]
342["Segment<br>[1137, 1159, 8]"]
343["Segment<br>[1167, 1174, 8]"]
344[Solid2d]
end
subgraph path365 [Path]
365["Path<br>[507, 588, 6]"]
366["Segment<br>[594, 695, 6]"]
367["Segment<br>[701, 786, 6]"]
368["Segment<br>[792, 876, 6]"]
369["Segment<br>[882, 968, 6]"]
370["Segment<br>[974, 1059, 6]"]
371["Segment<br>[1065, 1151, 6]"]
372["Segment<br>[1157, 1280, 6]"]
373["Segment<br>[1286, 1372, 6]"]
374["Segment<br>[1378, 1513, 6]"]
375["Segment<br>[1519, 1605, 6]"]
376["Segment<br>[1611, 1735, 6]"]
377["Segment<br>[1741, 1827, 6]"]
378["Segment<br>[1833, 1918, 6]"]
379["Segment<br>[1924, 2010, 6]"]
380["Segment<br>[2016, 2101, 6]"]
381["Segment<br>[2107, 2192, 6]"]
382["Segment<br>[2198, 2205, 6]"]
365["Path<br>[507, 588, 7]"]
366["Segment<br>[594, 695, 7]"]
367["Segment<br>[701, 786, 7]"]
368["Segment<br>[792, 876, 7]"]
369["Segment<br>[882, 968, 7]"]
370["Segment<br>[974, 1059, 7]"]
371["Segment<br>[1065, 1151, 7]"]
372["Segment<br>[1157, 1280, 7]"]
373["Segment<br>[1286, 1372, 7]"]
374["Segment<br>[1378, 1513, 7]"]
375["Segment<br>[1519, 1605, 7]"]
376["Segment<br>[1611, 1735, 7]"]
377["Segment<br>[1741, 1827, 7]"]
378["Segment<br>[1833, 1918, 7]"]
379["Segment<br>[1924, 2010, 7]"]
380["Segment<br>[2016, 2101, 7]"]
381["Segment<br>[2107, 2192, 7]"]
382["Segment<br>[2198, 2205, 7]"]
383[Solid2d]
end
subgraph path439 [Path]
439["Path<br>[483, 540, 8]"]
440["Segment<br>[546, 680, 8]"]
441["Segment<br>[686, 741, 8]"]
442["Segment<br>[747, 844, 8]"]
443["Segment<br>[850, 882, 8]"]
444["Segment<br>[888, 920, 8]"]
445["Segment<br>[926, 957, 8]"]
446["Segment<br>[963, 1078, 8]"]
447["Segment<br>[1084, 1116, 8]"]
448["Segment<br>[1122, 1154, 8]"]
449["Segment<br>[1160, 1191, 8]"]
450["Segment<br>[1197, 1290, 8]"]
451["Segment<br>[1296, 1351, 8]"]
452["Segment<br>[1357, 1430, 8]"]
453["Segment<br>[1436, 1443, 8]"]
439["Path<br>[483, 540, 9]"]
440["Segment<br>[546, 680, 9]"]
441["Segment<br>[686, 741, 9]"]
442["Segment<br>[747, 844, 9]"]
443["Segment<br>[850, 882, 9]"]
444["Segment<br>[888, 920, 9]"]
445["Segment<br>[926, 957, 9]"]
446["Segment<br>[963, 1078, 9]"]
447["Segment<br>[1084, 1116, 9]"]
448["Segment<br>[1122, 1154, 9]"]
449["Segment<br>[1160, 1191, 9]"]
450["Segment<br>[1197, 1290, 9]"]
451["Segment<br>[1296, 1351, 9]"]
452["Segment<br>[1357, 1430, 9]"]
453["Segment<br>[1436, 1443, 9]"]
454[Solid2d]
end
1["Plane<br>[544, 561, 5]"]
5["Sweep Extrusion<br>[627, 683, 5]"]
1["Plane<br>[544, 561, 6]"]
5["Sweep Extrusion<br>[627, 683, 6]"]
6[Wall]
7["Cap Start"]
8["Cap End"]
9["SweepEdge Opposite"]
10["SweepEdge Adjacent"]
14["Sweep Extrusion<br>[872, 934, 5]"]
14["Sweep Extrusion<br>[872, 934, 6]"]
15[Wall]
16["Cap End"]
17["SweepEdge Opposite"]
18["SweepEdge Adjacent"]
22["Sweep Extrusion<br>[1184, 1263, 5]"]
22["Sweep Extrusion<br>[1184, 1263, 6]"]
23[Wall]
24["SweepEdge Opposite"]
25["SweepEdge Adjacent"]
26["Sweep Extrusion<br>[1184, 1263, 5]"]
27["Sweep Extrusion<br>[1184, 1263, 5]"]
28["Sweep Extrusion<br>[1184, 1263, 5]"]
29["Sweep Extrusion<br>[1184, 1263, 5]"]
33["Sweep Extrusion<br>[1466, 1499, 5]"]
26["Sweep Extrusion<br>[1184, 1263, 6]"]
27["Sweep Extrusion<br>[1184, 1263, 6]"]
28["Sweep Extrusion<br>[1184, 1263, 6]"]
29["Sweep Extrusion<br>[1184, 1263, 6]"]
33["Sweep Extrusion<br>[1466, 1499, 6]"]
34[Wall]
35["Cap End"]
36["SweepEdge Opposite"]
37["SweepEdge Adjacent"]
41["Sweep Extrusion<br>[1630, 1695, 5]"]
41["Sweep Extrusion<br>[1630, 1695, 6]"]
42[Wall]
43["Cap Start"]
44["Cap End"]
45["SweepEdge Opposite"]
46["SweepEdge Adjacent"]
50["Sweep Extrusion<br>[1948, 1992, 5]"]
50["Sweep Extrusion<br>[1948, 1992, 6]"]
51[Wall]
52["SweepEdge Opposite"]
53["SweepEdge Adjacent"]
54["Sweep Extrusion<br>[1948, 1992, 5]"]
55["Sweep Extrusion<br>[1948, 1992, 5]"]
56["Sweep Extrusion<br>[1948, 1992, 5]"]
57["Sweep Extrusion<br>[1948, 1992, 5]"]
61["Sweep Extrusion<br>[2271, 2315, 5]"]
54["Sweep Extrusion<br>[1948, 1992, 6]"]
55["Sweep Extrusion<br>[1948, 1992, 6]"]
56["Sweep Extrusion<br>[1948, 1992, 6]"]
57["Sweep Extrusion<br>[1948, 1992, 6]"]
61["Sweep Extrusion<br>[2271, 2315, 6]"]
62[Wall]
63["Cap End"]
64["SweepEdge Opposite"]
65["SweepEdge Adjacent"]
66["Sweep Extrusion<br>[2271, 2315, 5]"]
67["Sweep Extrusion<br>[2271, 2315, 5]"]
68["Sweep Extrusion<br>[2271, 2315, 5]"]
69["Sweep Extrusion<br>[2271, 2315, 5]"]
70["Sweep Extrusion<br>[2271, 2315, 5]"]
71["Sweep Extrusion<br>[2271, 2315, 5]"]
72["Sweep Extrusion<br>[2271, 2315, 5]"]
73["Sweep Extrusion<br>[2271, 2315, 5]"]
74["Sweep Extrusion<br>[2271, 2315, 5]"]
75["Sweep Extrusion<br>[2271, 2315, 5]"]
76["Sweep Extrusion<br>[2271, 2315, 5]"]
77["Sweep Extrusion<br>[2271, 2315, 5]"]
78["Sweep Extrusion<br>[2271, 2315, 5]"]
79["Sweep Extrusion<br>[2271, 2315, 5]"]
80["Sweep Extrusion<br>[2271, 2315, 5]"]
88["Sweep Extrusion<br>[2724, 2792, 5]"]
66["Sweep Extrusion<br>[2271, 2315, 6]"]
67["Sweep Extrusion<br>[2271, 2315, 6]"]
68["Sweep Extrusion<br>[2271, 2315, 6]"]
69["Sweep Extrusion<br>[2271, 2315, 6]"]
70["Sweep Extrusion<br>[2271, 2315, 6]"]
71["Sweep Extrusion<br>[2271, 2315, 6]"]
72["Sweep Extrusion<br>[2271, 2315, 6]"]
73["Sweep Extrusion<br>[2271, 2315, 6]"]
74["Sweep Extrusion<br>[2271, 2315, 6]"]
75["Sweep Extrusion<br>[2271, 2315, 6]"]
76["Sweep Extrusion<br>[2271, 2315, 6]"]
77["Sweep Extrusion<br>[2271, 2315, 6]"]
78["Sweep Extrusion<br>[2271, 2315, 6]"]
79["Sweep Extrusion<br>[2271, 2315, 6]"]
80["Sweep Extrusion<br>[2271, 2315, 6]"]
88["Sweep Extrusion<br>[2724, 2792, 6]"]
89[Wall]
90[Wall]
91[Wall]
@ -272,11 +272,11 @@ flowchart LR
99["SweepEdge Adjacent"]
100["SweepEdge Opposite"]
101["SweepEdge Adjacent"]
102["Sweep Extrusion<br>[2724, 2792, 5]"]
103["Sweep Extrusion<br>[2724, 2792, 5]"]
104["Sweep Extrusion<br>[2724, 2792, 5]"]
105["Sweep Extrusion<br>[2724, 2792, 5]"]
113["Sweep Extrusion<br>[3198, 3272, 5]"]
102["Sweep Extrusion<br>[2724, 2792, 6]"]
103["Sweep Extrusion<br>[2724, 2792, 6]"]
104["Sweep Extrusion<br>[2724, 2792, 6]"]
105["Sweep Extrusion<br>[2724, 2792, 6]"]
113["Sweep Extrusion<br>[3198, 3272, 6]"]
114[Wall]
115[Wall]
116[Wall]
@ -290,41 +290,41 @@ flowchart LR
124["SweepEdge Adjacent"]
125["SweepEdge Opposite"]
126["SweepEdge Adjacent"]
127["Sweep Extrusion<br>[3198, 3272, 5]"]
128["Sweep Extrusion<br>[3198, 3272, 5]"]
129["Sweep Extrusion<br>[3198, 3272, 5]"]
130["Sweep Extrusion<br>[3198, 3272, 5]"]
131["Plane<br>[327, 344, 4]"]
138["Sweep Extrusion<br>[483, 516, 4]"]
127["Sweep Extrusion<br>[3198, 3272, 6]"]
128["Sweep Extrusion<br>[3198, 3272, 6]"]
129["Sweep Extrusion<br>[3198, 3272, 6]"]
130["Sweep Extrusion<br>[3198, 3272, 6]"]
131["Plane<br>[327, 344, 5]"]
138["Sweep Extrusion<br>[483, 516, 5]"]
139[Wall]
140["Cap Start"]
141["Cap End"]
142["SweepEdge Opposite"]
143["SweepEdge Adjacent"]
150["Sweep Extrusion<br>[771, 804, 4]"]
150["Sweep Extrusion<br>[771, 804, 5]"]
151[Wall]
152["Cap Start"]
153["Cap End"]
154["SweepEdge Opposite"]
155["SweepEdge Adjacent"]
159["Sweep Extrusion<br>[1106, 1140, 4]"]
159["Sweep Extrusion<br>[1106, 1140, 5]"]
160[Wall]
161["SweepEdge Opposite"]
162["SweepEdge Adjacent"]
163["Sweep Extrusion<br>[1106, 1140, 4]"]
164["Sweep Extrusion<br>[1106, 1140, 4]"]
165["Sweep Extrusion<br>[1106, 1140, 4]"]
166["Sweep Extrusion<br>[1106, 1140, 4]"]
170["Sweep Extrusion<br>[1444, 1478, 4]"]
163["Sweep Extrusion<br>[1106, 1140, 5]"]
164["Sweep Extrusion<br>[1106, 1140, 5]"]
165["Sweep Extrusion<br>[1106, 1140, 5]"]
166["Sweep Extrusion<br>[1106, 1140, 5]"]
170["Sweep Extrusion<br>[1444, 1478, 5]"]
171[Wall]
172["SweepEdge Opposite"]
173["SweepEdge Adjacent"]
174["Sweep Extrusion<br>[1444, 1478, 4]"]
175["Sweep Extrusion<br>[1444, 1478, 4]"]
176["Sweep Extrusion<br>[1444, 1478, 4]"]
177["Sweep Extrusion<br>[1444, 1478, 4]"]
178["Plane<br>[1632, 1649, 4]"]
186["Sweep Revolve<br>[1979, 1998, 4]"]
174["Sweep Extrusion<br>[1444, 1478, 5]"]
175["Sweep Extrusion<br>[1444, 1478, 5]"]
176["Sweep Extrusion<br>[1444, 1478, 5]"]
177["Sweep Extrusion<br>[1444, 1478, 5]"]
178["Plane<br>[1632, 1649, 5]"]
186["Sweep Revolve<br>[1979, 1998, 5]"]
187[Wall]
188[Wall]
189[Wall]
@ -332,8 +332,8 @@ flowchart LR
191["SweepEdge Adjacent"]
192["SweepEdge Adjacent"]
193["SweepEdge Adjacent"]
194["Plane<br>[2084, 2101, 4]"]
202["Sweep Revolve<br>[2448, 2467, 4]"]
194["Plane<br>[2084, 2101, 5]"]
202["Sweep Revolve<br>[2448, 2467, 5]"]
203[Wall]
204[Wall]
205[Wall]
@ -342,8 +342,8 @@ flowchart LR
208["SweepEdge Adjacent"]
209["SweepEdge Adjacent"]
210["SweepEdge Adjacent"]
211["Plane<br>[2922, 2945, 4]"]
219["Sweep Extrusion<br>[3867, 3913, 4]"]
211["Plane<br>[2922, 2945, 5]"]
219["Sweep Extrusion<br>[3867, 3913, 5]"]
220[Wall]
221[Wall]
222[Wall]
@ -358,8 +358,8 @@ flowchart LR
231["SweepEdge Adjacent"]
232["SweepEdge Opposite"]
233["SweepEdge Adjacent"]
234["Plane<br>[2922, 2945, 4]"]
242["Sweep Extrusion<br>[3867, 3913, 4]"]
234["Plane<br>[2922, 2945, 5]"]
242["Sweep Extrusion<br>[3867, 3913, 5]"]
243[Wall]
244[Wall]
245[Wall]
@ -374,8 +374,8 @@ flowchart LR
254["SweepEdge Adjacent"]
255["SweepEdge Opposite"]
256["SweepEdge Adjacent"]
257["Plane<br>[4324, 4341, 4]"]
284["Sweep Revolve<br>[5634, 5653, 4]"]
257["Plane<br>[4324, 4341, 5]"]
284["Sweep Revolve<br>[5634, 5653, 5]"]
285[Wall]
286[Wall]
287[Wall]
@ -424,8 +424,8 @@ flowchart LR
330["SweepEdge Adjacent"]
331["SweepEdge Adjacent"]
332["SweepEdge Adjacent"]
333["Plane<br>[706, 732, 7]"]
345["Sweep Revolve<br>[1182, 1201, 7]"]
333["Plane<br>[706, 732, 8]"]
345["Sweep Revolve<br>[1182, 1201, 8]"]
346[Wall]
347[Wall]
348[Wall]
@ -444,8 +444,8 @@ flowchart LR
361["SweepEdge Adjacent"]
362["SweepEdge Adjacent"]
363["SweepEdge Adjacent"]
364["Plane<br>[484, 501, 6]"]
384["Sweep Revolve<br>[2243, 2295, 6]"]
364["Plane<br>[484, 501, 7]"]
384["Sweep Revolve<br>[2243, 2295, 7]"]
385[Wall]
386[Wall]
387[Wall]
@ -499,8 +499,8 @@ flowchart LR
435["SweepEdge Adjacent"]
436["SweepEdge Opposite"]
437["SweepEdge Adjacent"]
438["Plane<br>[460, 477, 8]"]
455["Sweep Revolve<br>[1486, 1517, 8]"]
438["Plane<br>[460, 477, 9]"]
455["Sweep Revolve<br>[1486, 1517, 9]"]
456[Wall]
457[Wall]
458[Wall]
@ -529,17 +529,17 @@ flowchart LR
481["SweepEdge Adjacent"]
482["SweepEdge Adjacent"]
483["SweepEdge Adjacent"]
484["StartSketchOnFace<br>[770, 797, 5]"]
485["StartSketchOnFace<br>[947, 978, 5]"]
486["StartSketchOnFace<br>[1385, 1414, 5]"]
487["StartSketchOnFace<br>[1524, 1558, 5]"]
488["StartSketchOnFace<br>[1709, 1742, 5]"]
489["StartSketchOnFace<br>[2009, 2038, 5]"]
490["StartSketchOnFace<br>[2338, 2367, 5]"]
491["StartSketchOnFace<br>[2821, 2854, 5]"]
492["StartSketchOnFace<br>[603, 632, 4]"]
493["StartSketchOnFace<br>[865, 899, 4]"]
494["StartSketchOnFace<br>[1202, 1231, 4]"]
484["StartSketchOnFace<br>[770, 797, 6]"]
485["StartSketchOnFace<br>[947, 978, 6]"]
486["StartSketchOnFace<br>[1385, 1414, 6]"]
487["StartSketchOnFace<br>[1524, 1558, 6]"]
488["StartSketchOnFace<br>[1709, 1742, 6]"]
489["StartSketchOnFace<br>[2009, 2038, 6]"]
490["StartSketchOnFace<br>[2338, 2367, 6]"]
491["StartSketchOnFace<br>[2821, 2854, 6]"]
492["StartSketchOnFace<br>[603, 632, 5]"]
493["StartSketchOnFace<br>[865, 899, 5]"]
494["StartSketchOnFace<br>[1202, 1231, 5]"]
1 --- 2
2 --- 3
2 ---- 5

View File

@ -1848,7 +1848,7 @@ description: Operations executed car-wheel-assembly.kcl
"functionSourceRange": [
2620,
4193,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -2235,7 +2235,7 @@ description: Operations executed car-wheel-assembly.kcl
"functionSourceRange": [
2620,
4193,
4
5
],
"unlabeledArg": null,
"labeledArgs": {},
@ -2660,7 +2660,7 @@ description: Operations executed car-wheel-assembly.kcl
"functionSourceRange": [
664,
1291,
7
8
],
"unlabeledArg": null,
"labeledArgs": {},

View File

@ -5,7 +5,7 @@ description: Variables in memory after executing car-wheel-assembly.kcl
{
"brakeCaliper": {
"type": "Module",
"value": 6
"value": 7
},
"c1": {
"type": "TagIdentifier",
@ -14,15 +14,15 @@ description: Variables in memory after executing car-wheel-assembly.kcl
},
"carRotor": {
"type": "Module",
"value": 5
"value": 6
},
"carTire": {
"type": "Module",
"value": 8
"value": 9
},
"carWheel": {
"type": "Module",
"value": 4
"value": 5
},
"lugCount": {
"type": "Number",
@ -39,6 +39,6 @@ description: Variables in memory after executing car-wheel-assembly.kcl
},
"lugNut": {
"type": "Module",
"value": 7
"value": 8
}
}

View File

@ -1,162 +1,162 @@
```mermaid
flowchart LR
subgraph path2 [Path]
2["Path<br>[224, 279, 4]"]
3["Segment<br>[285, 347, 4]"]
4["Segment<br>[353, 468, 4]"]
5["Segment<br>[474, 594, 4]"]
6["Segment<br>[600, 685, 4]"]
7["Segment<br>[691, 698, 4]"]
2["Path<br>[224, 279, 5]"]
3["Segment<br>[285, 347, 5]"]
4["Segment<br>[353, 468, 5]"]
5["Segment<br>[474, 594, 5]"]
6["Segment<br>[600, 685, 5]"]
7["Segment<br>[691, 698, 5]"]
8[Solid2d]
end
subgraph path28 [Path]
28["Path<br>[1134, 1191, 4]"]
29["Segment<br>[1134, 1191, 4]"]
28["Path<br>[1134, 1191, 5]"]
29["Segment<br>[1134, 1191, 5]"]
30[Solid2d]
end
subgraph path36 [Path]
36["Path<br>[1389, 1426, 4]"]
37["Segment<br>[1389, 1426, 4]"]
36["Path<br>[1389, 1426, 5]"]
37["Segment<br>[1389, 1426, 5]"]
38[Solid2d]
end
subgraph path44 [Path]
44["Path<br>[1558, 1698, 4]"]
45["Segment<br>[1558, 1698, 4]"]
44["Path<br>[1558, 1698, 5]"]
45["Segment<br>[1558, 1698, 5]"]
46[Solid2d]
end
subgraph path54 [Path]
54["Path<br>[1944, 2084, 4]"]
55["Segment<br>[1944, 2084, 4]"]
54["Path<br>[1944, 2084, 5]"]
55["Segment<br>[1944, 2084, 5]"]
56[Solid2d]
end
subgraph path65 [Path]
65["Path<br>[203, 263, 5]"]
66["Segment<br>[203, 263, 5]"]
65["Path<br>[203, 263, 6]"]
66["Segment<br>[203, 263, 6]"]
67[Solid2d]
end
subgraph path75 [Path]
75["Path<br>[493, 529, 5]"]
76["Segment<br>[535, 579, 5]"]
77["Segment<br>[585, 673, 5]"]
78["Segment<br>[679, 728, 5]"]
79["Segment<br>[734, 790, 5]"]
80["Segment<br>[796, 803, 5]"]
75["Path<br>[493, 529, 6]"]
76["Segment<br>[535, 579, 6]"]
77["Segment<br>[585, 673, 6]"]
78["Segment<br>[679, 728, 6]"]
79["Segment<br>[734, 790, 6]"]
80["Segment<br>[796, 803, 6]"]
81[Solid2d]
end
subgraph path97 [Path]
97["Path<br>[900, 1075, 5]"]
98["Segment<br>[900, 1075, 5]"]
97["Path<br>[900, 1075, 6]"]
98["Segment<br>[900, 1075, 6]"]
99[Solid2d]
end
subgraph path105 [Path]
105["Path<br>[1279, 1426, 5]"]
106["Segment<br>[1279, 1426, 5]"]
105["Path<br>[1279, 1426, 6]"]
106["Segment<br>[1279, 1426, 6]"]
107[Solid2d]
end
subgraph path116 [Path]
116["Path<br>[1743, 1917, 5]"]
117["Segment<br>[1743, 1917, 5]"]
116["Path<br>[1743, 1917, 6]"]
117["Segment<br>[1743, 1917, 6]"]
118[Solid2d]
end
subgraph path125 [Path]
125["Path<br>[2142, 2182, 5]"]
126["Segment<br>[2142, 2182, 5]"]
125["Path<br>[2142, 2182, 6]"]
126["Segment<br>[2142, 2182, 6]"]
127[Solid2d]
end
subgraph path137 [Path]
137["Path<br>[251, 394, 6]"]
138["Segment<br>[400, 516, 6]"]
139["Segment<br>[522, 600, 6]"]
140["Segment<br>[606, 722, 6]"]
141["Segment<br>[728, 784, 6]"]
142["Segment<br>[790, 797, 6]"]
137["Path<br>[251, 394, 7]"]
138["Segment<br>[400, 516, 7]"]
139["Segment<br>[522, 600, 7]"]
140["Segment<br>[606, 722, 7]"]
141["Segment<br>[728, 784, 7]"]
142["Segment<br>[790, 797, 7]"]
143[Solid2d]
end
subgraph path159 [Path]
159["Path<br>[913, 977, 6]"]
160["Segment<br>[913, 977, 6]"]
159["Path<br>[913, 977, 7]"]
160["Segment<br>[913, 977, 7]"]
161[Solid2d]
end
subgraph path167 [Path]
167["Path<br>[1146, 1354, 6]"]
168["Segment<br>[1146, 1354, 6]"]
167["Path<br>[1146, 1354, 7]"]
168["Segment<br>[1146, 1354, 7]"]
169[Solid2d]
end
subgraph path175 [Path]
175["Path<br>[1557, 1601, 6]"]
176["Segment<br>[1557, 1601, 6]"]
175["Path<br>[1557, 1601, 7]"]
176["Segment<br>[1557, 1601, 7]"]
177[Solid2d]
end
subgraph path190 [Path]
190["Path<br>[1839, 2031, 6]"]
191["Segment<br>[1839, 2031, 6]"]
190["Path<br>[1839, 2031, 7]"]
191["Segment<br>[1839, 2031, 7]"]
192[Solid2d]
end
subgraph path201 [Path]
201["Path<br>[2384, 2559, 6]"]
202["Segment<br>[2384, 2559, 6]"]
201["Path<br>[2384, 2559, 7]"]
202["Segment<br>[2384, 2559, 7]"]
203[Solid2d]
end
subgraph path210 [Path]
210["Path<br>[271, 504, 7]"]
211["Segment<br>[510, 629, 7]"]
212["Segment<br>[635, 715, 7]"]
213["Segment<br>[721, 840, 7]"]
214["Segment<br>[846, 916, 7]"]
215["Segment<br>[922, 929, 7]"]
210["Path<br>[271, 504, 8]"]
211["Segment<br>[510, 629, 8]"]
212["Segment<br>[635, 715, 8]"]
213["Segment<br>[721, 840, 8]"]
214["Segment<br>[846, 916, 8]"]
215["Segment<br>[922, 929, 8]"]
216[Solid2d]
end
subgraph path232 [Path]
232["Path<br>[1043, 1252, 7]"]
233["Segment<br>[1043, 1252, 7]"]
232["Path<br>[1043, 1252, 8]"]
233["Segment<br>[1043, 1252, 8]"]
234[Solid2d]
end
subgraph path240 [Path]
240["Path<br>[1457, 1646, 7]"]
241["Segment<br>[1457, 1646, 7]"]
240["Path<br>[1457, 1646, 8]"]
241["Segment<br>[1457, 1646, 8]"]
242[Solid2d]
end
subgraph path255 [Path]
255["Path<br>[2067, 2353, 7]"]
256["Segment<br>[2067, 2353, 7]"]
255["Path<br>[2067, 2353, 8]"]
256["Segment<br>[2067, 2353, 8]"]
257[Solid2d]
end
subgraph path264 [Path]
264["Path<br>[2452, 2736, 7]"]
265["Segment<br>[2452, 2736, 7]"]
264["Path<br>[2452, 2736, 8]"]
265["Segment<br>[2452, 2736, 8]"]
266[Solid2d]
end
subgraph path273 [Path]
273["Path<br>[2890, 2928, 7]"]
274["Segment<br>[2890, 2928, 7]"]
273["Path<br>[2890, 2928, 8]"]
274["Segment<br>[2890, 2928, 8]"]
275[Solid2d]
end
subgraph path282 [Path]
282["Path<br>[3058, 3283, 7]"]
283["Segment<br>[3289, 3383, 7]"]
284["Segment<br>[3389, 3532, 7]"]
285["Segment<br>[3538, 3632, 7]"]
286["Segment<br>[3638, 3740, 7]"]
287["Segment<br>[3746, 3848, 7]"]
288["Segment<br>[3854, 3954, 7]"]
289["Segment<br>[3960, 4016, 7]"]
290["Segment<br>[4022, 4029, 7]"]
282["Path<br>[3058, 3283, 8]"]
283["Segment<br>[3289, 3383, 8]"]
284["Segment<br>[3389, 3532, 8]"]
285["Segment<br>[3538, 3632, 8]"]
286["Segment<br>[3638, 3740, 8]"]
287["Segment<br>[3746, 3848, 8]"]
288["Segment<br>[3854, 3954, 8]"]
289["Segment<br>[3960, 4016, 8]"]
290["Segment<br>[4022, 4029, 8]"]
291[Solid2d]
end
subgraph path316 [Path]
316["Path<br>[4158, 4383, 7]"]
317["Segment<br>[4389, 4485, 7]"]
318["Segment<br>[4491, 4639, 7]"]
319["Segment<br>[4645, 4741, 7]"]
320["Segment<br>[4747, 4851, 7]"]
321["Segment<br>[4857, 4961, 7]"]
322["Segment<br>[4967, 5069, 7]"]
323["Segment<br>[5075, 5131, 7]"]
324["Segment<br>[5137, 5144, 7]"]
316["Path<br>[4158, 4383, 8]"]
317["Segment<br>[4389, 4485, 8]"]
318["Segment<br>[4491, 4639, 8]"]
319["Segment<br>[4645, 4741, 8]"]
320["Segment<br>[4747, 4851, 8]"]
321["Segment<br>[4857, 4961, 8]"]
322["Segment<br>[4967, 5069, 8]"]
323["Segment<br>[5075, 5131, 8]"]
324["Segment<br>[5137, 5144, 8]"]
325[Solid2d]
end
1["Plane<br>[201, 218, 4]"]
9["Sweep Extrusion<br>[712, 759, 4]"]
1["Plane<br>[201, 218, 5]"]
9["Sweep Extrusion<br>[712, 759, 5]"]
10[Wall]
11[Wall]
12[Wall]
@ -171,43 +171,43 @@ flowchart LR
21["SweepEdge Adjacent"]
22["SweepEdge Opposite"]
23["SweepEdge Adjacent"]
24["EdgeCut Chamfer<br>[765, 1042, 4]"]
25["EdgeCut Chamfer<br>[765, 1042, 4]"]
26["EdgeCut Chamfer<br>[765, 1042, 4]"]
27["EdgeCut Chamfer<br>[765, 1042, 4]"]
31["Sweep Extrusion<br>[1205, 1271, 4]"]
24["EdgeCut Chamfer<br>[765, 1042, 5]"]
25["EdgeCut Chamfer<br>[765, 1042, 5]"]
26["EdgeCut Chamfer<br>[765, 1042, 5]"]
27["EdgeCut Chamfer<br>[765, 1042, 5]"]
31["Sweep Extrusion<br>[1205, 1271, 5]"]
32[Wall]
33["Cap End"]
34["SweepEdge Opposite"]
35["SweepEdge Adjacent"]
39["Sweep Extrusion<br>[1440, 1470, 4]"]
39["Sweep Extrusion<br>[1440, 1470, 5]"]
40[Wall]
41["Cap End"]
42["SweepEdge Opposite"]
43["SweepEdge Adjacent"]
47["Sweep Extrusion<br>[1846, 1893, 4]"]
47["Sweep Extrusion<br>[1846, 1893, 5]"]
48[Wall]
49["SweepEdge Opposite"]
50["SweepEdge Adjacent"]
51["Sweep Extrusion<br>[1846, 1893, 4]"]
52["Sweep Extrusion<br>[1846, 1893, 4]"]
53["Sweep Extrusion<br>[1846, 1893, 4]"]
57["Sweep Extrusion<br>[2220, 2267, 4]"]
51["Sweep Extrusion<br>[1846, 1893, 5]"]
52["Sweep Extrusion<br>[1846, 1893, 5]"]
53["Sweep Extrusion<br>[1846, 1893, 5]"]
57["Sweep Extrusion<br>[2220, 2267, 5]"]
58[Wall]
59["SweepEdge Opposite"]
60["SweepEdge Adjacent"]
61["Sweep Extrusion<br>[2220, 2267, 4]"]
62["Sweep Extrusion<br>[2220, 2267, 4]"]
63["Sweep Extrusion<br>[2220, 2267, 4]"]
64["Plane<br>[174, 197, 5]"]
68["Sweep Extrusion<br>[277, 315, 5]"]
61["Sweep Extrusion<br>[2220, 2267, 5]"]
62["Sweep Extrusion<br>[2220, 2267, 5]"]
63["Sweep Extrusion<br>[2220, 2267, 5]"]
64["Plane<br>[174, 197, 6]"]
68["Sweep Extrusion<br>[277, 315, 6]"]
69[Wall]
70["Cap Start"]
71["Cap End"]
72["SweepEdge Opposite"]
73["SweepEdge Adjacent"]
74["Plane<br>[464, 487, 5]"]
82["Sweep Extrusion<br>[818, 848, 5]"]
74["Plane<br>[464, 487, 6]"]
82["Sweep Extrusion<br>[818, 848, 6]"]
83[Wall]
84[Wall]
85[Wall]
@ -222,35 +222,35 @@ flowchart LR
94["SweepEdge Adjacent"]
95["SweepEdge Opposite"]
96["SweepEdge Adjacent"]
100["Sweep Extrusion<br>[1089, 1121, 5]"]
100["Sweep Extrusion<br>[1089, 1121, 6]"]
101[Wall]
102["Cap End"]
103["SweepEdge Opposite"]
104["SweepEdge Adjacent"]
108["Sweep Extrusion<br>[1659, 1691, 5]"]
108["Sweep Extrusion<br>[1659, 1691, 6]"]
109[Wall]
110["Cap End"]
111["SweepEdge Opposite"]
112["SweepEdge Adjacent"]
113["Sweep Extrusion<br>[1659, 1691, 5]"]
114["Sweep Extrusion<br>[1659, 1691, 5]"]
115["Sweep Extrusion<br>[1659, 1691, 5]"]
119["Sweep Extrusion<br>[1931, 1964, 5]"]
113["Sweep Extrusion<br>[1659, 1691, 6]"]
114["Sweep Extrusion<br>[1659, 1691, 6]"]
115["Sweep Extrusion<br>[1659, 1691, 6]"]
119["Sweep Extrusion<br>[1931, 1964, 6]"]
120[Wall]
121["Cap End"]
122["SweepEdge Opposite"]
123["SweepEdge Adjacent"]
124["Plane<br>[2113, 2136, 5]"]
128["Sweep Extrusion<br>[2184, 2215, 5]"]
124["Plane<br>[2113, 2136, 6]"]
128["Sweep Extrusion<br>[2184, 2215, 6]"]
129[Wall]
130["Cap Start"]
131["Cap End"]
132["SweepEdge Opposite"]
133["SweepEdge Adjacent"]
134["EdgeCut Fillet<br>[321, 383, 5]"]
135["EdgeCut Fillet<br>[1970, 2032, 5]"]
136["Plane<br>[222, 245, 6]"]
144["Sweep Extrusion<br>[811, 859, 6]"]
134["EdgeCut Fillet<br>[321, 383, 6]"]
135["EdgeCut Fillet<br>[1970, 2032, 6]"]
136["Plane<br>[222, 245, 7]"]
144["Sweep Extrusion<br>[811, 859, 7]"]
145[Wall]
146[Wall]
147[Wall]
@ -265,43 +265,43 @@ flowchart LR
156["SweepEdge Adjacent"]
157["SweepEdge Opposite"]
158["SweepEdge Adjacent"]
162["Sweep Extrusion<br>[992, 1025, 6]"]
162["Sweep Extrusion<br>[992, 1025, 7]"]
163[Wall]
164["Cap End"]
165["SweepEdge Opposite"]
166["SweepEdge Adjacent"]
170["Sweep Extrusion<br>[1369, 1399, 6]"]
170["Sweep Extrusion<br>[1369, 1399, 7]"]
171[Wall]
172["Cap End"]
173["SweepEdge Opposite"]
174["SweepEdge Adjacent"]
178["Sweep Extrusion<br>[1754, 1787, 6]"]
178["Sweep Extrusion<br>[1754, 1787, 7]"]
179[Wall]
180["Cap End"]
181["SweepEdge Opposite"]
182["SweepEdge Adjacent"]
183["Sweep Extrusion<br>[1754, 1787, 6]"]
184["Sweep Extrusion<br>[1754, 1787, 6]"]
185["Sweep Extrusion<br>[1754, 1787, 6]"]
186["Sweep Extrusion<br>[1754, 1787, 6]"]
187["Sweep Extrusion<br>[1754, 1787, 6]"]
188["Sweep Extrusion<br>[1754, 1787, 6]"]
189["Sweep Extrusion<br>[1754, 1787, 6]"]
193["Sweep Extrusion<br>[2299, 2332, 6]"]
183["Sweep Extrusion<br>[1754, 1787, 7]"]
184["Sweep Extrusion<br>[1754, 1787, 7]"]
185["Sweep Extrusion<br>[1754, 1787, 7]"]
186["Sweep Extrusion<br>[1754, 1787, 7]"]
187["Sweep Extrusion<br>[1754, 1787, 7]"]
188["Sweep Extrusion<br>[1754, 1787, 7]"]
189["Sweep Extrusion<br>[1754, 1787, 7]"]
193["Sweep Extrusion<br>[2299, 2332, 7]"]
194[Wall]
195["Cap End"]
196["SweepEdge Opposite"]
197["SweepEdge Adjacent"]
198["Sweep Extrusion<br>[2299, 2332, 6]"]
199["Sweep Extrusion<br>[2299, 2332, 6]"]
200["Sweep Extrusion<br>[2299, 2332, 6]"]
204["Sweep Extrusion<br>[2561, 2591, 6]"]
198["Sweep Extrusion<br>[2299, 2332, 7]"]
199["Sweep Extrusion<br>[2299, 2332, 7]"]
200["Sweep Extrusion<br>[2299, 2332, 7]"]
204["Sweep Extrusion<br>[2561, 2591, 7]"]
205[Wall]
206["Cap End"]
207["SweepEdge Opposite"]
208["SweepEdge Adjacent"]
209["Plane<br>[242, 265, 7]"]
217["Sweep Extrusion<br>[943, 991, 7]"]
209["Plane<br>[242, 265, 8]"]
217["Sweep Extrusion<br>[943, 991, 8]"]
218[Wall]
219[Wall]
220[Wall]
@ -316,42 +316,42 @@ flowchart LR
229["SweepEdge Adjacent"]
230["SweepEdge Opposite"]
231["SweepEdge Adjacent"]
235["Sweep Extrusion<br>[1267, 1300, 7]"]
235["Sweep Extrusion<br>[1267, 1300, 8]"]
236[Wall]
237["Cap End"]
238["SweepEdge Opposite"]
239["SweepEdge Adjacent"]
243["Sweep Extrusion<br>[1911, 1944, 7]"]
243["Sweep Extrusion<br>[1911, 1944, 8]"]
244[Wall]
245["Cap End"]
246["SweepEdge Opposite"]
247["SweepEdge Adjacent"]
248["Sweep Extrusion<br>[1911, 1944, 7]"]
249["Sweep Extrusion<br>[1911, 1944, 7]"]
250["Sweep Extrusion<br>[1911, 1944, 7]"]
251["Sweep Extrusion<br>[1911, 1944, 7]"]
252["Sweep Extrusion<br>[1911, 1944, 7]"]
253["Sweep Extrusion<br>[1911, 1944, 7]"]
254["Sweep Extrusion<br>[1911, 1944, 7]"]
258["Sweep Extrusion<br>[2367, 2400, 7]"]
248["Sweep Extrusion<br>[1911, 1944, 8]"]
249["Sweep Extrusion<br>[1911, 1944, 8]"]
250["Sweep Extrusion<br>[1911, 1944, 8]"]
251["Sweep Extrusion<br>[1911, 1944, 8]"]
252["Sweep Extrusion<br>[1911, 1944, 8]"]
253["Sweep Extrusion<br>[1911, 1944, 8]"]
254["Sweep Extrusion<br>[1911, 1944, 8]"]
258["Sweep Extrusion<br>[2367, 2400, 8]"]
259[Wall]
260["Cap Start"]
261["Cap End"]
262["SweepEdge Opposite"]
263["SweepEdge Adjacent"]
267["Sweep Extrusion<br>[2751, 2784, 7]"]
267["Sweep Extrusion<br>[2751, 2784, 8]"]
268[Wall]
269["Cap Start"]
270["Cap End"]
271["SweepEdge Opposite"]
272["SweepEdge Adjacent"]
276["Sweep Extrusion<br>[2943, 2977, 7]"]
276["Sweep Extrusion<br>[2943, 2977, 8]"]
277[Wall]
278["Cap Start"]
279["Cap End"]
280["SweepEdge Opposite"]
281["SweepEdge Adjacent"]
292["Sweep Extrusion<br>[4044, 4077, 7]"]
292["Sweep Extrusion<br>[4044, 4077, 8]"]
293[Wall]
294[Wall]
295[Wall]
@ -375,7 +375,7 @@ flowchart LR
313["SweepEdge Adjacent"]
314["SweepEdge Opposite"]
315["SweepEdge Adjacent"]
326["Sweep Extrusion<br>[5146, 5179, 7]"]
326["Sweep Extrusion<br>[5146, 5179, 8]"]
327[Wall]
328[Wall]
329[Wall]
@ -399,25 +399,25 @@ flowchart LR
347["SweepEdge Adjacent"]
348["SweepEdge Opposite"]
349["SweepEdge Adjacent"]
350["StartSketchOnFace<br>[1096, 1128, 4]"]
351["StartSketchOnFace<br>[1351, 1383, 4]"]
352["StartSketchOnFace<br>[1520, 1552, 4]"]
353["StartSketchOnFace<br>[1906, 1938, 4]"]
354["StartSketchOnFace<br>[862, 894, 5]"]
355["StartSketchOnFace<br>[1241, 1273, 5]"]
356["StartSketchOnFace<br>[1705, 1737, 5]"]
357["StartSketchOnFace<br>[873, 907, 6]"]
358["StartSketchOnFace<br>[1106, 1140, 6]"]
359["StartSketchOnFace<br>[1519, 1551, 6]"]
360["StartSketchOnFace<br>[1801, 1833, 6]"]
361["StartSketchOnFace<br>[2346, 2378, 6]"]
362["StartSketchOnFace<br>[1005, 1037, 7]"]
363["StartSketchOnFace<br>[1419, 1451, 7]"]
364["StartSketchOnFace<br>[2027, 2061, 7]"]
365["StartSketchOnFace<br>[2414, 2446, 7]"]
366["StartSketchOnFace<br>[2850, 2884, 7]"]
367["StartSketchOnFace<br>[3018, 3052, 7]"]
368["StartSketchOnFace<br>[4118, 4152, 7]"]
350["StartSketchOnFace<br>[1096, 1128, 5]"]
351["StartSketchOnFace<br>[1351, 1383, 5]"]
352["StartSketchOnFace<br>[1520, 1552, 5]"]
353["StartSketchOnFace<br>[1906, 1938, 5]"]
354["StartSketchOnFace<br>[862, 894, 6]"]
355["StartSketchOnFace<br>[1241, 1273, 6]"]
356["StartSketchOnFace<br>[1705, 1737, 6]"]
357["StartSketchOnFace<br>[873, 907, 7]"]
358["StartSketchOnFace<br>[1106, 1140, 7]"]
359["StartSketchOnFace<br>[1519, 1551, 7]"]
360["StartSketchOnFace<br>[1801, 1833, 7]"]
361["StartSketchOnFace<br>[2346, 2378, 7]"]
362["StartSketchOnFace<br>[1005, 1037, 8]"]
363["StartSketchOnFace<br>[1419, 1451, 8]"]
364["StartSketchOnFace<br>[2027, 2061, 8]"]
365["StartSketchOnFace<br>[2414, 2446, 8]"]
366["StartSketchOnFace<br>[2850, 2884, 8]"]
367["StartSketchOnFace<br>[3018, 3052, 8]"]
368["StartSketchOnFace<br>[4118, 4152, 8]"]
1 --- 2
2 --- 3
2 --- 4

View File

@ -5,18 +5,18 @@ description: Variables in memory after executing multi-axis-robot.kcl
{
"j2RobotArm": {
"type": "Module",
"value": 6
"value": 7
},
"j3RobotArm": {
"type": "Module",
"value": 7
"value": 8
},
"robotArmBase": {
"type": "Module",
"value": 4
"value": 5
},
"rotatingBase": {
"type": "Module",
"value": 5
"value": 6
}
}

View File

@ -1,206 +1,206 @@
```mermaid
flowchart LR
subgraph path2 [Path]
2["Path<br>[537, 630, 5]"]
3["Segment<br>[537, 630, 5]"]
2["Path<br>[537, 630, 6]"]
3["Segment<br>[537, 630, 6]"]
4[Solid2d]
end
subgraph path6 [Path]
6["Path<br>[859, 914, 5]"]
7["Segment<br>[859, 914, 5]"]
6["Path<br>[859, 914, 6]"]
7["Segment<br>[859, 914, 6]"]
8[Solid2d]
end
subgraph path15 [Path]
15["Path<br>[1129, 1188, 5]"]
16["Segment<br>[1129, 1188, 5]"]
15["Path<br>[1129, 1188, 6]"]
16["Segment<br>[1129, 1188, 6]"]
17[Solid2d]
end
subgraph path23 [Path]
23["Path<br>[1290, 1350, 5]"]
24["Segment<br>[1290, 1350, 5]"]
23["Path<br>[1290, 1350, 6]"]
24["Segment<br>[1290, 1350, 6]"]
25[Solid2d]
end
subgraph path31 [Path]
31["Path<br>[1507, 1560, 5]"]
32["Segment<br>[1507, 1560, 5]"]
31["Path<br>[1507, 1560, 6]"]
32["Segment<br>[1507, 1560, 6]"]
33[Solid2d]
end
subgraph path39 [Path]
39["Path<br>[537, 630, 5]"]
40["Segment<br>[537, 630, 5]"]
39["Path<br>[537, 630, 6]"]
40["Segment<br>[537, 630, 6]"]
41[Solid2d]
end
subgraph path43 [Path]
43["Path<br>[859, 914, 5]"]
44["Segment<br>[859, 914, 5]"]
43["Path<br>[859, 914, 6]"]
44["Segment<br>[859, 914, 6]"]
45[Solid2d]
end
subgraph path52 [Path]
52["Path<br>[1129, 1188, 5]"]
53["Segment<br>[1129, 1188, 5]"]
52["Path<br>[1129, 1188, 6]"]
53["Segment<br>[1129, 1188, 6]"]
54[Solid2d]
end
subgraph path60 [Path]
60["Path<br>[1290, 1350, 5]"]
61["Segment<br>[1290, 1350, 5]"]
60["Path<br>[1290, 1350, 6]"]
61["Segment<br>[1290, 1350, 6]"]
62[Solid2d]
end
subgraph path68 [Path]
68["Path<br>[1507, 1560, 5]"]
69["Segment<br>[1507, 1560, 5]"]
68["Path<br>[1507, 1560, 6]"]
69["Segment<br>[1507, 1560, 6]"]
70[Solid2d]
end
subgraph path76 [Path]
76["Path<br>[494, 556, 6]"]
77["Segment<br>[494, 556, 6]"]
76["Path<br>[494, 556, 7]"]
77["Segment<br>[494, 556, 7]"]
78[Solid2d]
end
subgraph path85 [Path]
85["Path<br>[706, 766, 6]"]
86["Segment<br>[706, 766, 6]"]
85["Path<br>[706, 766, 7]"]
86["Segment<br>[706, 766, 7]"]
87[Solid2d]
end
subgraph path93 [Path]
93["Path<br>[355, 407, 7]"]
94["Segment<br>[355, 407, 7]"]
93["Path<br>[355, 407, 8]"]
94["Segment<br>[355, 407, 8]"]
95[Solid2d]
end
subgraph path102 [Path]
102["Path<br>[540, 592, 7]"]
103["Segment<br>[540, 592, 7]"]
102["Path<br>[540, 592, 8]"]
103["Segment<br>[540, 592, 8]"]
104[Solid2d]
end
subgraph path110 [Path]
110["Path<br>[446, 516, 8]"]
111["Segment<br>[446, 516, 8]"]
110["Path<br>[446, 516, 9]"]
111["Segment<br>[446, 516, 9]"]
112[Solid2d]
end
subgraph path121 [Path]
121["Path<br>[780, 867, 8]"]
122["Segment<br>[875, 958, 8]"]
123["Segment<br>[966, 1049, 8]"]
124["Segment<br>[1057, 1140, 8]"]
125["Segment<br>[1148, 1230, 8]"]
126["Segment<br>[1238, 1320, 8]"]
127["Segment<br>[1328, 1335, 8]"]
121["Path<br>[780, 867, 9]"]
122["Segment<br>[875, 958, 9]"]
123["Segment<br>[966, 1049, 9]"]
124["Segment<br>[1057, 1140, 9]"]
125["Segment<br>[1148, 1230, 9]"]
126["Segment<br>[1238, 1320, 9]"]
127["Segment<br>[1328, 1335, 9]"]
128[Solid2d]
end
subgraph path149 [Path]
149["Path<br>[1469, 1538, 8]"]
150["Segment<br>[1469, 1538, 8]"]
149["Path<br>[1469, 1538, 9]"]
150["Segment<br>[1469, 1538, 9]"]
151[Solid2d]
end
subgraph path158 [Path]
158["Path<br>[378, 468, 9]"]
159["Segment<br>[476, 558, 9]"]
160["Segment<br>[566, 648, 9]"]
161["Segment<br>[656, 738, 9]"]
162["Segment<br>[746, 827, 9]"]
163["Segment<br>[835, 916, 9]"]
164["Segment<br>[924, 931, 9]"]
158["Path<br>[378, 468, 10]"]
159["Segment<br>[476, 558, 10]"]
160["Segment<br>[566, 648, 10]"]
161["Segment<br>[656, 738, 10]"]
162["Segment<br>[746, 827, 10]"]
163["Segment<br>[835, 916, 10]"]
164["Segment<br>[924, 931, 10]"]
165[Solid2d]
end
subgraph path187 [Path]
187["Path<br>[1075, 1127, 9]"]
188["Segment<br>[1075, 1127, 9]"]
187["Path<br>[1075, 1127, 10]"]
188["Segment<br>[1075, 1127, 10]"]
189[Solid2d]
end
subgraph path195 [Path]
195["Path<br>[313, 371, 10]"]
196["Segment<br>[313, 371, 10]"]
195["Path<br>[313, 371, 11]"]
196["Segment<br>[313, 371, 11]"]
197[Solid2d]
end
subgraph path204 [Path]
204["Path<br>[510, 565, 10]"]
205["Segment<br>[510, 565, 10]"]
204["Path<br>[510, 565, 11]"]
205["Segment<br>[510, 565, 11]"]
206[Solid2d]
end
subgraph path212 [Path]
212["Path<br>[313, 371, 10]"]
213["Segment<br>[313, 371, 10]"]
212["Path<br>[313, 371, 11]"]
213["Segment<br>[313, 371, 11]"]
214[Solid2d]
end
subgraph path221 [Path]
221["Path<br>[510, 565, 10]"]
222["Segment<br>[510, 565, 10]"]
221["Path<br>[510, 565, 11]"]
222["Segment<br>[510, 565, 11]"]
223[Solid2d]
end
1["Plane<br>[512, 529, 5]"]
5["Plane<br>[834, 851, 5]"]
9["Sweep Extrusion<br>[952, 992, 5]"]
1["Plane<br>[512, 529, 6]"]
5["Plane<br>[834, 851, 6]"]
9["Sweep Extrusion<br>[952, 992, 6]"]
10[Wall]
11["Cap Start"]
12["Cap End"]
13["SweepEdge Opposite"]
14["SweepEdge Adjacent"]
18["Sweep Extrusion<br>[1196, 1233, 5]"]
18["Sweep Extrusion<br>[1196, 1233, 6]"]
19[Wall]
20["Cap End"]
21["SweepEdge Opposite"]
22["SweepEdge Adjacent"]
26["Sweep Extrusion<br>[1358, 1396, 5]"]
26["Sweep Extrusion<br>[1358, 1396, 6]"]
27[Wall]
28["Cap End"]
29["SweepEdge Opposite"]
30["SweepEdge Adjacent"]
34["Sweep Extrusion<br>[1568, 1610, 5]"]
34["Sweep Extrusion<br>[1568, 1610, 6]"]
35[Wall]
36["SweepEdge Opposite"]
37["SweepEdge Adjacent"]
38["Plane<br>[512, 529, 5]"]
42["Plane<br>[834, 851, 5]"]
46["Sweep Extrusion<br>[952, 992, 5]"]
38["Plane<br>[512, 529, 6]"]
42["Plane<br>[834, 851, 6]"]
46["Sweep Extrusion<br>[952, 992, 6]"]
47[Wall]
48["Cap Start"]
49["Cap End"]
50["SweepEdge Opposite"]
51["SweepEdge Adjacent"]
55["Sweep Extrusion<br>[1196, 1233, 5]"]
55["Sweep Extrusion<br>[1196, 1233, 6]"]
56[Wall]
57["Cap End"]
58["SweepEdge Opposite"]
59["SweepEdge Adjacent"]
63["Sweep Extrusion<br>[1358, 1396, 5]"]
63["Sweep Extrusion<br>[1358, 1396, 6]"]
64[Wall]
65["Cap End"]
66["SweepEdge Opposite"]
67["SweepEdge Adjacent"]
71["Sweep Extrusion<br>[1568, 1610, 5]"]
71["Sweep Extrusion<br>[1568, 1610, 6]"]
72[Wall]
73["SweepEdge Opposite"]
74["SweepEdge Adjacent"]
75["Plane<br>[469, 486, 6]"]
79["Sweep Extrusion<br>[564, 600, 6]"]
75["Plane<br>[469, 486, 7]"]
79["Sweep Extrusion<br>[564, 600, 7]"]
80[Wall]
81["Cap Start"]
82["Cap End"]
83["SweepEdge Opposite"]
84["SweepEdge Adjacent"]
88["Sweep Extrusion<br>[774, 811, 6]"]
88["Sweep Extrusion<br>[774, 811, 7]"]
89[Wall]
90["SweepEdge Opposite"]
91["SweepEdge Adjacent"]
92["Plane<br>[330, 347, 7]"]
96["Sweep Extrusion<br>[415, 448, 7]"]
92["Plane<br>[330, 347, 8]"]
96["Sweep Extrusion<br>[415, 448, 8]"]
97[Wall]
98["Cap Start"]
99["Cap End"]
100["SweepEdge Opposite"]
101["SweepEdge Adjacent"]
105["Sweep Extrusion<br>[600, 637, 7]"]
105["Sweep Extrusion<br>[600, 637, 8]"]
106[Wall]
107["SweepEdge Opposite"]
108["SweepEdge Adjacent"]
109["Plane<br>[421, 438, 8]"]
113["Sweep Extrusion<br>[524, 557, 8]"]
109["Plane<br>[421, 438, 9]"]
113["Sweep Extrusion<br>[524, 557, 9]"]
114[Wall]
115["Cap Start"]
116["Cap End"]
117["SweepEdge Opposite"]
118["SweepEdge Adjacent"]
119["EdgeCut Fillet<br>[565, 631, 8]"]
120["EdgeCut Fillet<br>[565, 631, 8]"]
129["Sweep Extrusion<br>[1343, 1383, 8]"]
119["EdgeCut Fillet<br>[565, 631, 9]"]
120["EdgeCut Fillet<br>[565, 631, 9]"]
129["Sweep Extrusion<br>[1343, 1383, 9]"]
130[Wall]
131[Wall]
132[Wall]
@ -220,13 +220,13 @@ flowchart LR
146["SweepEdge Adjacent"]
147["SweepEdge Opposite"]
148["SweepEdge Adjacent"]
152["Sweep Extrusion<br>[1546, 1574, 8]"]
152["Sweep Extrusion<br>[1546, 1574, 9]"]
153[Wall]
154["Cap End"]
155["SweepEdge Opposite"]
156["SweepEdge Adjacent"]
157["Plane<br>[353, 370, 9]"]
166["Sweep Extrusion<br>[939, 972, 9]"]
157["Plane<br>[353, 370, 10]"]
166["Sweep Extrusion<br>[939, 972, 10]"]
167[Wall]
168[Wall]
169[Wall]
@ -247,45 +247,45 @@ flowchart LR
184["SweepEdge Adjacent"]
185["SweepEdge Opposite"]
186["SweepEdge Adjacent"]
190["Sweep Extrusion<br>[1135, 1172, 9]"]
190["Sweep Extrusion<br>[1135, 1172, 10]"]
191[Wall]
192["SweepEdge Opposite"]
193["SweepEdge Adjacent"]
194["Plane<br>[288, 305, 10]"]
198["Sweep Extrusion<br>[379, 410, 10]"]
194["Plane<br>[288, 305, 11]"]
198["Sweep Extrusion<br>[379, 410, 11]"]
199[Wall]
200["Cap Start"]
201["Cap End"]
202["SweepEdge Opposite"]
203["SweepEdge Adjacent"]
207["Sweep Extrusion<br>[573, 605, 10]"]
207["Sweep Extrusion<br>[573, 605, 11]"]
208[Wall]
209["SweepEdge Opposite"]
210["SweepEdge Adjacent"]
211["Plane<br>[288, 305, 10]"]
215["Sweep Extrusion<br>[379, 410, 10]"]
211["Plane<br>[288, 305, 11]"]
215["Sweep Extrusion<br>[379, 410, 11]"]
216[Wall]
217["Cap Start"]
218["Cap End"]
219["SweepEdge Opposite"]
220["SweepEdge Adjacent"]
224["Sweep Extrusion<br>[573, 605, 10]"]
224["Sweep Extrusion<br>[573, 605, 11]"]
225[Wall]
226["SweepEdge Opposite"]
227["SweepEdge Adjacent"]
228["StartSketchOnFace<br>[1087, 1121, 5]"]
229["StartSketchOnFace<br>[1250, 1282, 5]"]
230["StartSketchOnFace<br>[1466, 1499, 5]"]
231["StartSketchOnFace<br>[1087, 1121, 5]"]
232["StartSketchOnFace<br>[1250, 1282, 5]"]
233["StartSketchOnFace<br>[1466, 1499, 5]"]
234["StartSketchOnFace<br>[666, 698, 6]"]
235["StartSketchOnFace<br>[500, 532, 7]"]
236["StartSketchOnFace<br>[740, 772, 8]"]
237["StartSketchOnFace<br>[1431, 1461, 8]"]
238["StartSketchOnFace<br>[1035, 1067, 9]"]
239["StartSketchOnFace<br>[472, 502, 10]"]
240["StartSketchOnFace<br>[472, 502, 10]"]
228["StartSketchOnFace<br>[1087, 1121, 6]"]
229["StartSketchOnFace<br>[1250, 1282, 6]"]
230["StartSketchOnFace<br>[1466, 1499, 6]"]
231["StartSketchOnFace<br>[1087, 1121, 6]"]
232["StartSketchOnFace<br>[1250, 1282, 6]"]
233["StartSketchOnFace<br>[1466, 1499, 6]"]
234["StartSketchOnFace<br>[666, 698, 7]"]
235["StartSketchOnFace<br>[500, 532, 8]"]
236["StartSketchOnFace<br>[740, 772, 9]"]
237["StartSketchOnFace<br>[1431, 1461, 9]"]
238["StartSketchOnFace<br>[1035, 1067, 10]"]
239["StartSketchOnFace<br>[472, 502, 11]"]
240["StartSketchOnFace<br>[472, 502, 11]"]
1 --- 2
2 --- 3
2 --- 4

View File

@ -39,7 +39,7 @@ description: Operations executed pipe-flange-assembly.kcl
"functionSourceRange": [
451,
1670,
5
6
],
"unlabeledArg": null,
"labeledArgs": {},
@ -657,7 +657,7 @@ description: Operations executed pipe-flange-assembly.kcl
"functionSourceRange": [
451,
1670,
5
6
],
"unlabeledArg": null,
"labeledArgs": {},
@ -1275,7 +1275,7 @@ description: Operations executed pipe-flange-assembly.kcl
"functionSourceRange": [
414,
870,
6
7
],
"unlabeledArg": null,
"labeledArgs": {},
@ -1525,7 +1525,7 @@ description: Operations executed pipe-flange-assembly.kcl
"functionSourceRange": [
275,
696,
7
8
],
"unlabeledArg": null,
"labeledArgs": {},
@ -2024,7 +2024,7 @@ description: Operations executed pipe-flange-assembly.kcl
"functionSourceRange": [
365,
1664,
8
9
],
"unlabeledArg": null,
"labeledArgs": {},
@ -2524,7 +2524,7 @@ description: Operations executed pipe-flange-assembly.kcl
"functionSourceRange": [
297,
1231,
9
10
],
"unlabeledArg": null,
"labeledArgs": {},
@ -2839,7 +2839,7 @@ description: Operations executed pipe-flange-assembly.kcl
"functionSourceRange": [
244,
658,
10
11
],
"unlabeledArg": null,
"labeledArgs": {},
@ -3083,7 +3083,7 @@ description: Operations executed pipe-flange-assembly.kcl
"functionSourceRange": [
244,
658,
10
11
],
"unlabeledArg": null,
"labeledArgs": {},

View File

@ -1,59 +1,59 @@
```mermaid
flowchart LR
subgraph path2 [Path]
2["Path<br>[460, 506, 0]"]
3["Segment<br>[512, 565, 0]"]
4["Segment<br>[571, 673, 0]"]
5["Segment<br>[679, 732, 0]"]
6["Segment<br>[738, 785, 0]"]
7["Segment<br>[791, 886, 0]"]
8["Segment<br>[892, 963, 0]"]
9["Segment<br>[969, 1020, 0]"]
10["Segment<br>[1026, 1079, 0]"]
11["Segment<br>[1085, 1154, 0]"]
12["Segment<br>[1160, 1199, 0]"]
13["Segment<br>[1205, 1235, 0]"]
14["Segment<br>[1241, 1271, 0]"]
15["Segment<br>[1277, 1307, 0]"]
16["Segment<br>[1313, 1343, 0]"]
17["Segment<br>[1349, 1378, 0]"]
18["Segment<br>[1384, 1414, 0]"]
19["Segment<br>[1420, 1449, 0]"]
20["Segment<br>[1455, 1484, 0]"]
21["Segment<br>[1490, 1586, 0]"]
22["Segment<br>[1592, 1648, 0]"]
23["Segment<br>[1654, 1661, 0]"]
2["Path<br>[460, 503, 0]"]
3["Segment<br>[509, 562, 0]"]
4["Segment<br>[568, 670, 0]"]
5["Segment<br>[676, 729, 0]"]
6["Segment<br>[735, 782, 0]"]
7["Segment<br>[788, 883, 0]"]
8["Segment<br>[889, 960, 0]"]
9["Segment<br>[966, 1017, 0]"]
10["Segment<br>[1023, 1076, 0]"]
11["Segment<br>[1082, 1151, 0]"]
12["Segment<br>[1157, 1193, 0]"]
13["Segment<br>[1199, 1229, 0]"]
14["Segment<br>[1235, 1265, 0]"]
15["Segment<br>[1271, 1301, 0]"]
16["Segment<br>[1307, 1337, 0]"]
17["Segment<br>[1343, 1372, 0]"]
18["Segment<br>[1378, 1408, 0]"]
19["Segment<br>[1414, 1443, 0]"]
20["Segment<br>[1449, 1478, 0]"]
21["Segment<br>[1484, 1580, 0]"]
22["Segment<br>[1586, 1642, 0]"]
23["Segment<br>[1648, 1655, 0]"]
24[Solid2d]
end
subgraph path85 [Path]
85["Path<br>[1759, 1803, 0]"]
86["Segment<br>[1809, 1871, 0]"]
87["Segment<br>[1877, 1990, 0]"]
88["Segment<br>[1996, 2116, 0]"]
89["Segment<br>[2122, 2178, 0]"]
90["Segment<br>[2184, 2191, 0]"]
85["Path<br>[1753, 1797, 0]"]
86["Segment<br>[1803, 1865, 0]"]
87["Segment<br>[1871, 1984, 0]"]
88["Segment<br>[1990, 2110, 0]"]
89["Segment<br>[2116, 2172, 0]"]
90["Segment<br>[2178, 2185, 0]"]
91[Solid2d]
end
subgraph path107 [Path]
107["Path<br>[2290, 2335, 0]"]
108["Segment<br>[2341, 2401, 0]"]
109["Segment<br>[2407, 2520, 0]"]
110["Segment<br>[2526, 2646, 0]"]
111["Segment<br>[2652, 2708, 0]"]
112["Segment<br>[2714, 2721, 0]"]
107["Path<br>[2284, 2329, 0]"]
108["Segment<br>[2335, 2395, 0]"]
109["Segment<br>[2401, 2514, 0]"]
110["Segment<br>[2520, 2640, 0]"]
111["Segment<br>[2646, 2702, 0]"]
112["Segment<br>[2708, 2715, 0]"]
113[Solid2d]
end
subgraph path129 [Path]
129["Path<br>[2819, 2864, 0]"]
130["Segment<br>[2870, 2937, 0]"]
131["Segment<br>[2943, 3056, 0]"]
132["Segment<br>[3062, 3182, 0]"]
133["Segment<br>[3188, 3244, 0]"]
134["Segment<br>[3250, 3257, 0]"]
129["Path<br>[2813, 2858, 0]"]
130["Segment<br>[2864, 2931, 0]"]
131["Segment<br>[2937, 3050, 0]"]
132["Segment<br>[3056, 3176, 0]"]
133["Segment<br>[3182, 3238, 0]"]
134["Segment<br>[3244, 3251, 0]"]
135[Solid2d]
end
1["Plane<br>[437, 454, 0]"]
25["Sweep Extrusion<br>[1675, 1705, 0]"]
25["Sweep Extrusion<br>[1669, 1699, 0]"]
26[Wall]
27[Wall]
28[Wall]
@ -113,7 +113,7 @@ flowchart LR
82["SweepEdge Adjacent"]
83["SweepEdge Opposite"]
84["SweepEdge Adjacent"]
92["Sweep Extrusion<br>[2205, 2236, 0]"]
92["Sweep Extrusion<br>[2199, 2230, 0]"]
93[Wall]
94[Wall]
95[Wall]
@ -128,7 +128,7 @@ flowchart LR
104["SweepEdge Adjacent"]
105["SweepEdge Opposite"]
106["SweepEdge Adjacent"]
114["Sweep Extrusion<br>[2736, 2767, 0]"]
114["Sweep Extrusion<br>[2730, 2761, 0]"]
115[Wall]
116[Wall]
117[Wall]
@ -143,7 +143,7 @@ flowchart LR
126["SweepEdge Adjacent"]
127["SweepEdge Opposite"]
128["SweepEdge Adjacent"]
136["Sweep Extrusion<br>[3271, 3301, 0]"]
136["Sweep Extrusion<br>[3265, 3295, 0]"]
137[Wall]
138[Wall]
139[Wall]
@ -158,9 +158,9 @@ flowchart LR
148["SweepEdge Adjacent"]
149["SweepEdge Opposite"]
150["SweepEdge Adjacent"]
151["StartSketchOnFace<br>[1719, 1753, 0]"]
152["StartSketchOnFace<br>[2250, 2284, 0]"]
153["StartSketchOnFace<br>[2781, 2813, 0]"]
151["StartSketchOnFace<br>[1713, 1747, 0]"]
152["StartSketchOnFace<br>[2244, 2278, 0]"]
153["StartSketchOnFace<br>[2775, 2807, 0]"]
1 --- 2
2 --- 3
2 --- 4

View File

@ -7,36 +7,36 @@ flowchart LR
5["Segment<br>[705, 781, 0]"]
6["Segment<br>[787, 856, 0]"]
7["Segment<br>[862, 902, 0]"]
8["Segment<br>[908, 947, 0]"]
9["Segment<br>[987, 1017, 0]"]
10["Segment<br>[1023, 1052, 0]"]
11["Segment<br>[1058, 1087, 0]"]
12["Segment<br>[1093, 1122, 0]"]
13["Segment<br>[1128, 1228, 0]"]
14["Segment<br>[1234, 1290, 0]"]
15["Segment<br>[1296, 1303, 0]"]
8["Segment<br>[908, 944, 0]"]
9["Segment<br>[984, 1014, 0]"]
10["Segment<br>[1020, 1049, 0]"]
11["Segment<br>[1055, 1084, 0]"]
12["Segment<br>[1090, 1119, 0]"]
13["Segment<br>[1125, 1225, 0]"]
14["Segment<br>[1231, 1287, 0]"]
15["Segment<br>[1293, 1300, 0]"]
16[Solid2d]
end
subgraph path52 [Path]
52["Path<br>[1458, 1558, 0]"]
53["Segment<br>[1564, 1611, 0]"]
54["Segment<br>[1617, 1732, 0]"]
55["Segment<br>[1738, 1858, 0]"]
56["Segment<br>[1864, 1920, 0]"]
57["Segment<br>[1926, 1933, 0]"]
52["Path<br>[1455, 1555, 0]"]
53["Segment<br>[1561, 1608, 0]"]
54["Segment<br>[1614, 1729, 0]"]
55["Segment<br>[1735, 1855, 0]"]
56["Segment<br>[1861, 1917, 0]"]
57["Segment<br>[1923, 1930, 0]"]
58[Solid2d]
end
subgraph path74 [Path]
74["Path<br>[2090, 2189, 0]"]
75["Segment<br>[2195, 2241, 0]"]
76["Segment<br>[2247, 2339, 0]"]
77["Segment<br>[2345, 2442, 0]"]
78["Segment<br>[2448, 2504, 0]"]
79["Segment<br>[2510, 2517, 0]"]
74["Path<br>[2087, 2186, 0]"]
75["Segment<br>[2192, 2238, 0]"]
76["Segment<br>[2244, 2336, 0]"]
77["Segment<br>[2342, 2439, 0]"]
78["Segment<br>[2445, 2501, 0]"]
79["Segment<br>[2507, 2514, 0]"]
80[Solid2d]
end
1["Plane<br>[484, 501, 0]"]
17["Sweep Extrusion<br>[1346, 1376, 0]"]
17["Sweep Extrusion<br>[1343, 1373, 0]"]
18[Wall]
19[Wall]
20[Wall]
@ -71,7 +71,7 @@ flowchart LR
49["SweepEdge Opposite"]
50["SweepEdge Adjacent"]
51["SweepEdge Opposite"]
59["Sweep Extrusion<br>[1977, 2009, 0]"]
59["Sweep Extrusion<br>[1974, 2006, 0]"]
60[Wall]
61[Wall]
62[Wall]
@ -86,7 +86,7 @@ flowchart LR
71["SweepEdge Adjacent"]
72["SweepEdge Opposite"]
73["SweepEdge Adjacent"]
81["Sweep Extrusion<br>[2560, 2592, 0]"]
81["Sweep Extrusion<br>[2557, 2589, 0]"]
82[Wall]
83[Wall]
84[Wall]
@ -101,8 +101,8 @@ flowchart LR
93["SweepEdge Adjacent"]
94["SweepEdge Opposite"]
95["SweepEdge Adjacent"]
96["StartSketchOnFace<br>[1418, 1452, 0]"]
97["StartSketchOnFace<br>[2050, 2084, 0]"]
96["StartSketchOnFace<br>[1415, 1449, 0]"]
97["StartSketchOnFace<br>[2047, 2081, 0]"]
1 --- 2
2 --- 3
2 --- 4

File diff suppressed because it is too large Load Diff

View File

@ -264,9 +264,9 @@ description: Variables in memory after executing router-template-slate.kcl
-122.4938
],
"tag": {
"commentStart": 940,
"end": 946,
"start": 940,
"commentStart": 937,
"end": 943,
"start": 937,
"type": "TagDeclarator",
"value": "seg02"
},
@ -514,9 +514,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 1589,
"end": 1610,
"start": 1589,
"commentStart": 1586,
"end": 1607,
"start": 1586,
"type": "TagDeclarator",
"value": "rectangleSegmentA001"
},
@ -527,9 +527,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 1710,
"end": 1731,
"start": 1710,
"commentStart": 1707,
"end": 1728,
"start": 1707,
"type": "TagDeclarator",
"value": "rectangleSegmentB001"
},
@ -540,9 +540,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 1836,
"end": 1857,
"start": 1836,
"commentStart": 1833,
"end": 1854,
"start": 1833,
"type": "TagDeclarator",
"value": "rectangleSegmentC001"
},
@ -570,9 +570,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937
],
"tag": {
"commentStart": 1589,
"end": 1610,
"start": 1589,
"commentStart": 1586,
"end": 1607,
"start": 1586,
"type": "TagDeclarator",
"value": "rectangleSegmentA001"
},
@ -595,9 +595,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937
],
"tag": {
"commentStart": 1710,
"end": 1731,
"start": 1710,
"commentStart": 1707,
"end": 1728,
"start": 1707,
"type": "TagDeclarator",
"value": "rectangleSegmentB001"
},
@ -620,9 +620,9 @@ description: Variables in memory after executing router-template-slate.kcl
-92.4938
],
"tag": {
"commentStart": 1836,
"end": 1857,
"start": 1836,
"commentStart": 1833,
"end": 1854,
"start": 1833,
"type": "TagDeclarator",
"value": "rectangleSegmentC001"
},
@ -940,9 +940,9 @@ description: Variables in memory after executing router-template-slate.kcl
-122.4938
],
"tag": {
"commentStart": 940,
"end": 946,
"start": 940,
"commentStart": 937,
"end": 943,
"start": 937,
"type": "TagDeclarator",
"value": "seg02"
},
@ -1239,9 +1239,9 @@ description: Variables in memory after executing router-template-slate.kcl
"id": "[uuid]",
"sourceRange": [],
"tag": {
"commentStart": 2219,
"end": 2240,
"start": 2219,
"commentStart": 2216,
"end": 2237,
"start": 2216,
"type": "TagDeclarator",
"value": "rectangleSegmentA002"
},
@ -1283,9 +1283,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937
],
"tag": {
"commentStart": 2219,
"end": 2240,
"start": 2219,
"commentStart": 2216,
"end": 2237,
"start": 2216,
"type": "TagDeclarator",
"value": "rectangleSegmentA002"
},
@ -1641,9 +1641,9 @@ description: Variables in memory after executing router-template-slate.kcl
-122.4938
],
"tag": {
"commentStart": 940,
"end": 946,
"start": 940,
"commentStart": 937,
"end": 943,
"start": 937,
"type": "TagDeclarator",
"value": "seg02"
},
@ -2165,9 +2165,9 @@ description: Variables in memory after executing router-template-slate.kcl
-122.4938
],
"tag": {
"commentStart": 940,
"end": 946,
"start": 940,
"commentStart": 937,
"end": 943,
"start": 937,
"type": "TagDeclarator",
"value": "seg02"
},
@ -2412,9 +2412,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937
],
"tag": {
"commentStart": 1589,
"end": 1610,
"start": 1589,
"commentStart": 1586,
"end": 1607,
"start": 1586,
"type": "TagDeclarator",
"value": "rectangleSegmentA001"
},
@ -2437,9 +2437,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937
],
"tag": {
"commentStart": 1710,
"end": 1731,
"start": 1710,
"commentStart": 1707,
"end": 1728,
"start": 1707,
"type": "TagDeclarator",
"value": "rectangleSegmentB001"
},
@ -2462,9 +2462,9 @@ description: Variables in memory after executing router-template-slate.kcl
-92.4938
],
"tag": {
"commentStart": 1836,
"end": 1857,
"start": 1836,
"commentStart": 1833,
"end": 1854,
"start": 1833,
"type": "TagDeclarator",
"value": "rectangleSegmentC001"
},
@ -2782,9 +2782,9 @@ description: Variables in memory after executing router-template-slate.kcl
-122.4938
],
"tag": {
"commentStart": 940,
"end": 946,
"start": 940,
"commentStart": 937,
"end": 943,
"start": 937,
"type": "TagDeclarator",
"value": "seg02"
},
@ -3078,9 +3078,9 @@ description: Variables in memory after executing router-template-slate.kcl
-12.4937
],
"tag": {
"commentStart": 2219,
"end": 2240,
"start": 2219,
"commentStart": 2216,
"end": 2237,
"start": 2216,
"type": "TagDeclarator",
"value": "rectangleSegmentA002"
},
@ -3436,9 +3436,9 @@ description: Variables in memory after executing router-template-slate.kcl
-122.4938
],
"tag": {
"commentStart": 940,
"end": 946,
"start": 940,
"commentStart": 937,
"end": 943,
"start": 937,
"type": "TagDeclarator",
"value": "seg02"
},

View File

@ -1,186 +1,186 @@
```mermaid
flowchart LR
subgraph path2 [Path]
2["Path<br>[458, 501, 5]"]
3["Segment<br>[509, 547, 5]"]
4["Segment<br>[555, 595, 5]"]
5["Segment<br>[603, 642, 5]"]
6["Segment<br>[650, 672, 5]"]
2["Path<br>[458, 501, 6]"]
3["Segment<br>[509, 547, 6]"]
4["Segment<br>[555, 595, 6]"]
5["Segment<br>[603, 642, 6]"]
6["Segment<br>[650, 672, 6]"]
7[Solid2d]
end
subgraph path27 [Path]
27["Path<br>[1082, 1213, 5]"]
28["Segment<br>[1221, 1279, 5]"]
29["Segment<br>[1287, 1418, 5]"]
30["Segment<br>[1426, 1484, 5]"]
31["Segment<br>[1492, 1626, 5]"]
32["Segment<br>[1634, 1720, 5]"]
33["Segment<br>[1728, 1863, 5]"]
34["Segment<br>[1871, 1956, 5]"]
35["Segment<br>[1964, 1971, 5]"]
27["Path<br>[1082, 1213, 6]"]
28["Segment<br>[1221, 1279, 6]"]
29["Segment<br>[1287, 1418, 6]"]
30["Segment<br>[1426, 1484, 6]"]
31["Segment<br>[1492, 1626, 6]"]
32["Segment<br>[1634, 1720, 6]"]
33["Segment<br>[1728, 1863, 6]"]
34["Segment<br>[1871, 1956, 6]"]
35["Segment<br>[1964, 1971, 6]"]
36[Solid2d]
end
subgraph path63 [Path]
63["Path<br>[2119, 2173, 5]"]
64["Segment<br>[2181, 2222, 5]"]
65["Segment<br>[2230, 2259, 5]"]
66["Segment<br>[2267, 2297, 5]"]
67["Segment<br>[2305, 2361, 5]"]
68["Segment<br>[2369, 2376, 5]"]
63["Path<br>[2119, 2173, 6]"]
64["Segment<br>[2181, 2222, 6]"]
65["Segment<br>[2230, 2259, 6]"]
66["Segment<br>[2267, 2297, 6]"]
67["Segment<br>[2305, 2361, 6]"]
68["Segment<br>[2369, 2376, 6]"]
69[Solid2d]
end
subgraph path84 [Path]
84["Path<br>[2518, 2555, 5]"]
85["Segment<br>[2563, 2594, 5]"]
86["Segment<br>[2602, 2635, 5]"]
87["Segment<br>[2643, 2675, 5]"]
88["Segment<br>[2683, 2690, 5]"]
84["Path<br>[2518, 2555, 6]"]
85["Segment<br>[2563, 2594, 6]"]
86["Segment<br>[2602, 2635, 6]"]
87["Segment<br>[2643, 2675, 6]"]
88["Segment<br>[2683, 2690, 6]"]
89[Solid2d]
end
subgraph path105 [Path]
105["Path<br>[346, 371, 8]"]
106["Segment<br>[379, 412, 8]"]
107["Segment<br>[420, 455, 8]"]
108["Segment<br>[463, 497, 8]"]
109["Segment<br>[505, 512, 8]"]
105["Path<br>[346, 371, 9]"]
106["Segment<br>[379, 412, 9]"]
107["Segment<br>[420, 455, 9]"]
108["Segment<br>[463, 497, 9]"]
109["Segment<br>[505, 512, 9]"]
110[Solid2d]
end
subgraph path112 [Path]
112["Path<br>[649, 781, 8]"]
112["Path<br>[649, 781, 9]"]
117[Solid2d]
end
subgraph path130 [Path]
130["Path<br>[551, 605, 6]"]
131["Segment<br>[613, 640, 6]"]
132["Segment<br>[648, 677, 6]"]
133["Segment<br>[685, 713, 6]"]
134["Segment<br>[721, 777, 6]"]
135["Segment<br>[785, 792, 6]"]
130["Path<br>[551, 605, 7]"]
131["Segment<br>[613, 640, 7]"]
132["Segment<br>[648, 677, 7]"]
133["Segment<br>[685, 713, 7]"]
134["Segment<br>[721, 777, 7]"]
135["Segment<br>[785, 792, 7]"]
136[Solid2d]
end
subgraph path138 [Path]
138["Path<br>[1098, 1145, 6]"]
139["Segment<br>[1153, 1194, 6]"]
140["Segment<br>[1202, 1244, 6]"]
141["Segment<br>[1252, 1294, 6]"]
142["Segment<br>[1302, 1309, 6]"]
138["Path<br>[1098, 1145, 7]"]
139["Segment<br>[1153, 1194, 7]"]
140["Segment<br>[1202, 1244, 7]"]
141["Segment<br>[1252, 1294, 7]"]
142["Segment<br>[1302, 1309, 7]"]
143[Solid2d]
end
subgraph path145 [Path]
145["Path<br>[1597, 1762, 6]"]
146["Segment<br>[1770, 1871, 6]"]
147["Segment<br>[1879, 2046, 6]"]
148["Segment<br>[2054, 2155, 6]"]
149["Segment<br>[2163, 2333, 6]"]
150["Segment<br>[2341, 2443, 6]"]
151["Segment<br>[2451, 2620, 6]"]
152["Segment<br>[2628, 2729, 6]"]
153["Segment<br>[2737, 2744, 6]"]
145["Path<br>[1597, 1762, 7]"]
146["Segment<br>[1770, 1871, 7]"]
147["Segment<br>[1879, 2046, 7]"]
148["Segment<br>[2054, 2155, 7]"]
149["Segment<br>[2163, 2333, 7]"]
150["Segment<br>[2341, 2443, 7]"]
151["Segment<br>[2451, 2620, 7]"]
152["Segment<br>[2628, 2729, 7]"]
153["Segment<br>[2737, 2744, 7]"]
154[Solid2d]
end
subgraph path156 [Path]
156["Path<br>[123, 210, 7]"]
157["Segment<br>[218, 247, 7]"]
158["Segment<br>[255, 283, 7]"]
159["Segment<br>[291, 388, 7]"]
160["Segment<br>[396, 443, 7]"]
161["Segment<br>[451, 479, 7]"]
162["Segment<br>[487, 516, 7]"]
163["Segment<br>[524, 553, 7]"]
164["Segment<br>[561, 652, 7]"]
165["Segment<br>[660, 688, 7]"]
166["Segment<br>[696, 725, 7]"]
167["Segment<br>[733, 821, 7]"]
168["Segment<br>[829, 857, 7]"]
169["Segment<br>[865, 899, 7]"]
170["Segment<br>[907, 937, 7]"]
171["Segment<br>[945, 1054, 7]"]
172["Segment<br>[1062, 1069, 7]"]
156["Path<br>[123, 210, 8]"]
157["Segment<br>[218, 247, 8]"]
158["Segment<br>[255, 283, 8]"]
159["Segment<br>[291, 388, 8]"]
160["Segment<br>[396, 443, 8]"]
161["Segment<br>[451, 479, 8]"]
162["Segment<br>[487, 516, 8]"]
163["Segment<br>[524, 553, 8]"]
164["Segment<br>[561, 652, 8]"]
165["Segment<br>[660, 688, 8]"]
166["Segment<br>[696, 725, 8]"]
167["Segment<br>[733, 821, 8]"]
168["Segment<br>[829, 857, 8]"]
169["Segment<br>[865, 899, 8]"]
170["Segment<br>[907, 937, 8]"]
171["Segment<br>[945, 1054, 8]"]
172["Segment<br>[1062, 1069, 8]"]
173[Solid2d]
end
subgraph path175 [Path]
175["Path<br>[1203, 1301, 7]"]
176["Segment<br>[1309, 1428, 7]"]
177["Segment<br>[1436, 1490, 7]"]
178["Segment<br>[1498, 1619, 7]"]
179["Segment<br>[1627, 1634, 7]"]
175["Path<br>[1203, 1301, 8]"]
176["Segment<br>[1309, 1428, 8]"]
177["Segment<br>[1436, 1490, 8]"]
178["Segment<br>[1498, 1619, 8]"]
179["Segment<br>[1627, 1634, 8]"]
180[Solid2d]
end
subgraph path182 [Path]
182["Path<br>[1731, 1828, 7]"]
183["Segment<br>[1836, 1955, 7]"]
184["Segment<br>[1963, 2018, 7]"]
185["Segment<br>[2026, 2147, 7]"]
186["Segment<br>[2155, 2162, 7]"]
182["Path<br>[1731, 1828, 8]"]
183["Segment<br>[1836, 1955, 8]"]
184["Segment<br>[1963, 2018, 8]"]
185["Segment<br>[2026, 2147, 8]"]
186["Segment<br>[2155, 2162, 8]"]
187[Solid2d]
end
subgraph path189 [Path]
189["Path<br>[1203, 1301, 7]"]
190["Segment<br>[1309, 1428, 7]"]
191["Segment<br>[1436, 1490, 7]"]
192["Segment<br>[1498, 1619, 7]"]
193["Segment<br>[1627, 1634, 7]"]
189["Path<br>[1203, 1301, 8]"]
190["Segment<br>[1309, 1428, 8]"]
191["Segment<br>[1436, 1490, 8]"]
192["Segment<br>[1498, 1619, 8]"]
193["Segment<br>[1627, 1634, 8]"]
194[Solid2d]
end
subgraph path196 [Path]
196["Path<br>[1731, 1828, 7]"]
197["Segment<br>[1836, 1955, 7]"]
198["Segment<br>[1963, 2018, 7]"]
199["Segment<br>[2026, 2147, 7]"]
200["Segment<br>[2155, 2162, 7]"]
196["Path<br>[1731, 1828, 8]"]
197["Segment<br>[1836, 1955, 8]"]
198["Segment<br>[1963, 2018, 8]"]
199["Segment<br>[2026, 2147, 8]"]
200["Segment<br>[2155, 2162, 8]"]
201[Solid2d]
end
subgraph path230 [Path]
230["Path<br>[288, 387, 9]"]
231["Segment<br>[395, 444, 9]"]
232["Segment<br>[452, 502, 9]"]
233["Segment<br>[510, 560, 9]"]
234["Segment<br>[568, 586, 9]"]
230["Path<br>[288, 387, 10]"]
231["Segment<br>[395, 444, 10]"]
232["Segment<br>[452, 502, 10]"]
233["Segment<br>[510, 560, 10]"]
234["Segment<br>[568, 586, 10]"]
235[Solid2d]
end
subgraph path256 [Path]
256["Path<br>[377, 407, 10]"]
257["Segment<br>[415, 447, 10]"]
258["Segment<br>[455, 488, 10]"]
259["Segment<br>[496, 585, 10]"]
260["Segment<br>[593, 620, 10]"]
261["Segment<br>[628, 635, 10]"]
256["Path<br>[377, 407, 11]"]
257["Segment<br>[415, 447, 11]"]
258["Segment<br>[455, 488, 11]"]
259["Segment<br>[496, 585, 11]"]
260["Segment<br>[593, 620, 11]"]
261["Segment<br>[628, 635, 11]"]
262[Solid2d]
end
subgraph path274 [Path]
274["Path<br>[311, 336, 11]"]
275["Segment<br>[344, 403, 11]"]
276["Segment<br>[411, 471, 11]"]
277["Segment<br>[479, 529, 11]"]
278["Segment<br>[537, 544, 11]"]
274["Path<br>[311, 336, 12]"]
275["Segment<br>[344, 403, 12]"]
276["Segment<br>[411, 471, 12]"]
277["Segment<br>[479, 529, 12]"]
278["Segment<br>[537, 544, 12]"]
279[Solid2d]
end
subgraph path298 [Path]
298["Path<br>[311, 336, 11]"]
299["Segment<br>[344, 403, 11]"]
300["Segment<br>[411, 471, 11]"]
301["Segment<br>[479, 529, 11]"]
302["Segment<br>[537, 544, 11]"]
298["Path<br>[311, 336, 12]"]
299["Segment<br>[344, 403, 12]"]
300["Segment<br>[411, 471, 12]"]
301["Segment<br>[479, 529, 12]"]
302["Segment<br>[537, 544, 12]"]
303[Solid2d]
end
subgraph path322 [Path]
322["Path<br>[311, 336, 11]"]
323["Segment<br>[344, 403, 11]"]
324["Segment<br>[411, 471, 11]"]
325["Segment<br>[479, 529, 11]"]
326["Segment<br>[537, 544, 11]"]
322["Path<br>[311, 336, 12]"]
323["Segment<br>[344, 403, 12]"]
324["Segment<br>[411, 471, 12]"]
325["Segment<br>[479, 529, 12]"]
326["Segment<br>[537, 544, 12]"]
327[Solid2d]
end
subgraph path346 [Path]
346["Path<br>[311, 336, 11]"]
347["Segment<br>[344, 403, 11]"]
348["Segment<br>[411, 471, 11]"]
349["Segment<br>[479, 529, 11]"]
350["Segment<br>[537, 544, 11]"]
346["Path<br>[311, 336, 12]"]
347["Segment<br>[344, 403, 12]"]
348["Segment<br>[411, 471, 12]"]
349["Segment<br>[479, 529, 12]"]
350["Segment<br>[537, 544, 12]"]
351[Solid2d]
end
1["Plane<br>[433, 450, 5]"]
8["Sweep Extrusion<br>[689, 728, 5]"]
1["Plane<br>[433, 450, 6]"]
8["Sweep Extrusion<br>[689, 728, 6]"]
9[Wall]
10[Wall]
11[Wall]
@ -195,11 +195,11 @@ flowchart LR
20["SweepEdge Adjacent"]
21["SweepEdge Opposite"]
22["SweepEdge Adjacent"]
23["EdgeCut Chamfer<br>[736, 983, 5]"]
24["EdgeCut Chamfer<br>[736, 983, 5]"]
25["EdgeCut Chamfer<br>[736, 983, 5]"]
26["EdgeCut Chamfer<br>[736, 983, 5]"]
37["Sweep Extrusion<br>[1987, 2023, 5]"]
23["EdgeCut Chamfer<br>[736, 983, 6]"]
24["EdgeCut Chamfer<br>[736, 983, 6]"]
25["EdgeCut Chamfer<br>[736, 983, 6]"]
26["EdgeCut Chamfer<br>[736, 983, 6]"]
37["Sweep Extrusion<br>[1987, 2023, 6]"]
38[Wall]
39[Wall]
40[Wall]
@ -225,7 +225,7 @@ flowchart LR
60["SweepEdge Adjacent"]
61["SweepEdge Opposite"]
62["SweepEdge Adjacent"]
70["Sweep Extrusion<br>[2392, 2432, 5]"]
70["Sweep Extrusion<br>[2392, 2432, 6]"]
71[Wall]
72[Wall]
73[Wall]
@ -239,7 +239,7 @@ flowchart LR
81["SweepEdge Adjacent"]
82["SweepEdge Opposite"]
83["SweepEdge Adjacent"]
90["Sweep Extrusion<br>[2701, 2733, 5]"]
90["Sweep Extrusion<br>[2701, 2733, 6]"]
91[Wall]
92[Wall]
93[Wall]
@ -253,13 +253,13 @@ flowchart LR
101["SweepEdge Adjacent"]
102["SweepEdge Opposite"]
103["SweepEdge Adjacent"]
104["Plane<br>[321, 338, 8]"]
111["Plane<br>[563, 602, 8]"]
104["Plane<br>[321, 338, 9]"]
111["Plane<br>[563, 602, 9]"]
113["SweepEdge Opposite"]
114["SweepEdge Opposite"]
115["SweepEdge Opposite"]
116["SweepEdge Opposite"]
118["Sweep Loft<br>[967, 995, 8]"]
118["Sweep Loft<br>[967, 995, 9]"]
119[Wall]
120[Wall]
121[Wall]
@ -270,15 +270,15 @@ flowchart LR
126["SweepEdge Adjacent"]
127["SweepEdge Adjacent"]
128["SweepEdge Adjacent"]
129["Plane<br>[525, 542, 6]"]
137["Plane<br>[1072, 1089, 6]"]
144["Plane<br>[1571, 1588, 6]"]
155["Plane<br>[2857, 2874, 6]"]
174["Plane<br>[2919, 2936, 6]"]
181["Plane<br>[2983, 3000, 6]"]
188["Plane<br>[3046, 3063, 6]"]
195["Plane<br>[3109, 3126, 6]"]
202["Sweep Extrusion<br>[3162, 3198, 6]"]
129["Plane<br>[525, 542, 7]"]
137["Plane<br>[1072, 1089, 7]"]
144["Plane<br>[1571, 1588, 7]"]
155["Plane<br>[2857, 2874, 7]"]
174["Plane<br>[2919, 2936, 7]"]
181["Plane<br>[2983, 3000, 7]"]
188["Plane<br>[3046, 3063, 7]"]
195["Plane<br>[3109, 3126, 7]"]
202["Sweep Extrusion<br>[3162, 3198, 7]"]
203[Wall]
204[Wall]
205[Wall]
@ -305,8 +305,8 @@ flowchart LR
226["SweepEdge Adjacent"]
227["SweepEdge Opposite"]
228["SweepEdge Adjacent"]
229["Plane<br>[263, 280, 9]"]
236["Sweep Extrusion<br>[649, 701, 9]"]
229["Plane<br>[263, 280, 10]"]
236["Sweep Extrusion<br>[649, 701, 10]"]
237[Wall]
238[Wall]
239[Wall]
@ -321,12 +321,12 @@ flowchart LR
248["SweepEdge Adjacent"]
249["SweepEdge Opposite"]
250["SweepEdge Adjacent"]
251["EdgeCut Fillet<br>[709, 931, 9]"]
252["EdgeCut Fillet<br>[709, 931, 9]"]
253["EdgeCut Fillet<br>[709, 931, 9]"]
254["EdgeCut Fillet<br>[709, 931, 9]"]
255["Plane<br>[352, 369, 10]"]
263["Sweep Revolve<br>[643, 662, 10]"]
251["EdgeCut Fillet<br>[709, 931, 10]"]
252["EdgeCut Fillet<br>[709, 931, 10]"]
253["EdgeCut Fillet<br>[709, 931, 10]"]
254["EdgeCut Fillet<br>[709, 931, 10]"]
255["Plane<br>[352, 369, 11]"]
263["Sweep Revolve<br>[643, 662, 11]"]
264[Wall]
265[Wall]
266[Wall]
@ -336,8 +336,8 @@ flowchart LR
270["SweepEdge Adjacent"]
271["SweepEdge Adjacent"]
272["SweepEdge Adjacent"]
273["Plane<br>[286, 303, 11]"]
280["Sweep Extrusion<br>[563, 610, 11]"]
273["Plane<br>[286, 303, 12]"]
280["Sweep Extrusion<br>[563, 610, 12]"]
281[Wall]
282[Wall]
283[Wall]
@ -352,10 +352,10 @@ flowchart LR
292["SweepEdge Adjacent"]
293["SweepEdge Opposite"]
294["SweepEdge Adjacent"]
295["EdgeCut Chamfer<br>[618, 764, 11]"]
296["EdgeCut Chamfer<br>[618, 764, 11]"]
297["Plane<br>[286, 303, 11]"]
304["Sweep Extrusion<br>[563, 610, 11]"]
295["EdgeCut Chamfer<br>[618, 764, 12]"]
296["EdgeCut Chamfer<br>[618, 764, 12]"]
297["Plane<br>[286, 303, 12]"]
304["Sweep Extrusion<br>[563, 610, 12]"]
305[Wall]
306[Wall]
307[Wall]
@ -370,10 +370,10 @@ flowchart LR
316["SweepEdge Adjacent"]
317["SweepEdge Opposite"]
318["SweepEdge Adjacent"]
319["EdgeCut Chamfer<br>[618, 764, 11]"]
320["EdgeCut Chamfer<br>[618, 764, 11]"]
321["Plane<br>[286, 303, 11]"]
328["Sweep Extrusion<br>[563, 610, 11]"]
319["EdgeCut Chamfer<br>[618, 764, 12]"]
320["EdgeCut Chamfer<br>[618, 764, 12]"]
321["Plane<br>[286, 303, 12]"]
328["Sweep Extrusion<br>[563, 610, 12]"]
329[Wall]
330[Wall]
331[Wall]
@ -388,10 +388,10 @@ flowchart LR
340["SweepEdge Adjacent"]
341["SweepEdge Opposite"]
342["SweepEdge Adjacent"]
343["EdgeCut Chamfer<br>[618, 764, 11]"]
344["EdgeCut Chamfer<br>[618, 764, 11]"]
345["Plane<br>[286, 303, 11]"]
352["Sweep Extrusion<br>[563, 610, 11]"]
343["EdgeCut Chamfer<br>[618, 764, 12]"]
344["EdgeCut Chamfer<br>[618, 764, 12]"]
345["Plane<br>[286, 303, 12]"]
352["Sweep Extrusion<br>[563, 610, 12]"]
353[Wall]
354[Wall]
355[Wall]
@ -406,18 +406,18 @@ flowchart LR
364["SweepEdge Adjacent"]
365["SweepEdge Opposite"]
366["SweepEdge Adjacent"]
367["EdgeCut Chamfer<br>[618, 764, 11]"]
368["EdgeCut Chamfer<br>[618, 764, 11]"]
369["StartSketchOnFace<br>[1041, 1074, 5]"]
370["StartSketchOnFace<br>[2077, 2111, 5]"]
371["StartSketchOnFace<br>[2476, 2510, 5]"]
372["StartSketchOnFace<br>[1041, 1074, 5]"]
373["StartSketchOnFace<br>[2077, 2111, 5]"]
374["StartSketchOnFace<br>[2476, 2510, 5]"]
375["StartSketchOnPlane<br>[617, 641, 8]"]
376["StartSketchOnPlane<br>[511, 543, 6]"]
377["StartSketchOnPlane<br>[1058, 1090, 6]"]
378["StartSketchOnPlane<br>[1557, 1589, 6]"]
367["EdgeCut Chamfer<br>[618, 764, 12]"]
368["EdgeCut Chamfer<br>[618, 764, 12]"]
369["StartSketchOnFace<br>[1041, 1074, 6]"]
370["StartSketchOnFace<br>[2077, 2111, 6]"]
371["StartSketchOnFace<br>[2476, 2510, 6]"]
372["StartSketchOnFace<br>[1041, 1074, 6]"]
373["StartSketchOnFace<br>[2077, 2111, 6]"]
374["StartSketchOnFace<br>[2476, 2510, 6]"]
375["StartSketchOnPlane<br>[617, 641, 9]"]
376["StartSketchOnPlane<br>[511, 543, 7]"]
377["StartSketchOnPlane<br>[1058, 1090, 7]"]
378["StartSketchOnPlane<br>[1557, 1589, 7]"]
1 --- 2
2 --- 3
2 --- 4

View File

@ -9,7 +9,7 @@ description: Operations executed walkie-talkie.kcl
"functionSourceRange": [
359,
2786,
5
6
],
"unlabeledArg": null,
"labeledArgs": {},
@ -355,7 +355,7 @@ description: Operations executed walkie-talkie.kcl
"functionSourceRange": [
359,
2786,
5
6
],
"unlabeledArg": null,
"labeledArgs": {},
@ -701,7 +701,7 @@ description: Operations executed walkie-talkie.kcl
"functionSourceRange": [
266,
1051,
8
9
],
"unlabeledArg": null,
"labeledArgs": {},
@ -804,7 +804,7 @@ description: Operations executed walkie-talkie.kcl
"functionSourceRange": [
454,
3283,
6
7
],
"unlabeledArg": null,
"labeledArgs": {},
@ -1890,7 +1890,7 @@ description: Operations executed walkie-talkie.kcl
"functionSourceRange": [
69,
1088,
7
8
],
"unlabeledArg": null,
"labeledArgs": {},
@ -1946,7 +1946,7 @@ description: Operations executed walkie-talkie.kcl
"functionSourceRange": [
1146,
1656,
7
8
],
"unlabeledArg": null,
"labeledArgs": {},
@ -2002,7 +2002,7 @@ description: Operations executed walkie-talkie.kcl
"functionSourceRange": [
1674,
2184,
7
8
],
"unlabeledArg": null,
"labeledArgs": {},
@ -2058,7 +2058,7 @@ description: Operations executed walkie-talkie.kcl
"functionSourceRange": [
1146,
1656,
7
8
],
"unlabeledArg": null,
"labeledArgs": {},
@ -2114,7 +2114,7 @@ description: Operations executed walkie-talkie.kcl
"functionSourceRange": [
1674,
2184,
7
8
],
"unlabeledArg": null,
"labeledArgs": {},
@ -2190,7 +2190,7 @@ description: Operations executed walkie-talkie.kcl
"functionSourceRange": [
202,
1023,
9
10
],
"unlabeledArg": null,
"labeledArgs": {},
@ -2308,7 +2308,7 @@ description: Operations executed walkie-talkie.kcl
"functionSourceRange": [
298,
748,
10
11
],
"unlabeledArg": null,
"labeledArgs": {},
@ -2361,7 +2361,7 @@ description: Operations executed walkie-talkie.kcl
"functionSourceRange": [
221,
827,
11
12
],
"unlabeledArg": null,
"labeledArgs": {},
@ -2471,7 +2471,7 @@ description: Operations executed walkie-talkie.kcl
"functionSourceRange": [
221,
827,
11
12
],
"unlabeledArg": null,
"labeledArgs": {},
@ -2581,7 +2581,7 @@ description: Operations executed walkie-talkie.kcl
"functionSourceRange": [
221,
827,
11
12
],
"unlabeledArg": null,
"labeledArgs": {},
@ -2691,7 +2691,7 @@ description: Operations executed walkie-talkie.kcl
"functionSourceRange": [
221,
827,
11
12
],
"unlabeledArg": null,
"labeledArgs": {},

View File

@ -13,10 +13,7 @@ import {
SetAngleLengthModal,
createSetAngleLengthModal,
} from '../SetAngleLengthModal'
import {
createLocalName,
createVariableDeclaration,
} from '../../lang/modifyAst'
import { createName, createVariableDeclaration } from '../../lang/modifyAst'
import { removeDoubleNegatives } from '../AvailableVarsHelpers'
import { kclManager } from 'lib/singletons'
import { err } from 'lib/trap'
@ -169,7 +166,7 @@ export function applyConstraintAxisAlign({
if (err(info)) return info
const transformInfos = info.transforms
let finalValue = createLocalName('ZERO')
let finalValue = createName(['turns'], 'ZERO')
return transformAstSketchLines({
ast: structuredClone(kclManager.ast),

View File

@ -16,6 +16,7 @@ import {
import {
createBinaryExpressionWithUnary,
createLocalName,
createName,
createVariableDeclaration,
} from '../../lang/modifyAst'
import { removeDoubleNegatives } from '../AvailableVarsHelpers'
@ -167,14 +168,16 @@ export async function applyConstraintAngleLength({
isReferencingXAxis && angleOrLength === 'setAngle'
let forceVal = valueUsedInTransform || 0
let calcIdentifier = createLocalName('ZERO')
let calcIdentifier = createName(['turns'], 'ZERO')
if (isReferencingYAxisAngle) {
calcIdentifier = createLocalName(
calcIdentifier = createName(
['turns'],
forceVal < 0 ? 'THREE_QUARTER_TURN' : 'QUARTER_TURN'
)
forceVal = normaliseAngle(forceVal + (forceVal < 0 ? 90 : -90))
} else if (isReferencingXAxisAngle) {
calcIdentifier = createLocalName(
calcIdentifier = createName(
['turns'],
Math.abs(forceVal) > 90 ? 'HALF_TURN' : 'ZERO'
)
forceVal =

View File

@ -1087,6 +1087,22 @@ export function createLocalName(name: string): Node<Name> {
}
}
export function createName(path: [string], name: string): Node<Name> {
return {
type: 'Name',
start: 0,
end: 0,
moduleId: 0,
outerAttrs: [],
preComments: [],
commentStart: 0,
abs_path: false,
path: path.map(createIdentifier),
name: createIdentifier(name),
}
}
export function createPipeSubstitution(): Node<PipeSubstitution> {
return {
type: 'PipeSubstitution',

View File

@ -35,6 +35,7 @@ import {
createLabeledArg,
createLiteral,
createLocalName,
createName,
createObjectExpression,
createPipeSubstitution,
createUnaryExpression,
@ -612,7 +613,7 @@ const setAngledIntersectLineForLines: CreateStdLibSketchCallExpr = ({
270: 'THREE_QUARTER_TURN',
}
const angleVal = [0, 90, 180, 270].includes(angle)
? createLocalName(varNamMap[angle])
? createName(['turns'], varNamMap[angle])
: createLiteral(angle)
return intersectCallWrapper({
fnName: 'angledLineThatIntersects',
@ -665,7 +666,7 @@ const setAngleBetweenCreateNode =
firstHalfValue = createBinaryExpression([
firstHalfValue,
'+',
createLocalName('HALF_TURN'),
createName(['turns'], 'HALF_TURN'),
])
valueUsedInTransform = normaliseAngle(valueUsedInTransform - 180)
}