Replace snapshot mechanism with epochs (#5764)
* Make tag identifiers monotonic Signed-off-by: Nick Cameron <nrc@ncameron.org> * Use epochs rather than snapshots in memory Signed-off-by: Nick Cameron <nrc@ncameron.org> --------- Signed-off-by: Nick Cameron <nrc@ncameron.org>
This commit is contained in:
45959
docs/kcl/std.json
45959
docs/kcl/std.json
File diff suppressed because it is too large
Load Diff
@ -122,7 +122,6 @@ Any KCL value.
|
|||||||
|----------|------|-------------|----------|
|
|----------|------|-------------|----------|
|
||||||
| `type` |enum: [`TagIdentifier`](/docs/kcl/types#tag-identifier)| | No |
|
| `type` |enum: [`TagIdentifier`](/docs/kcl/types#tag-identifier)| | No |
|
||||||
| `value` |[`string`](/docs/kcl/types/string)| | No |
|
| `value` |[`string`](/docs/kcl/types/string)| | No |
|
||||||
| `info` |[`TagEngineInfo`](/docs/kcl/types/TagEngineInfo)| | No |
|
|
||||||
|
|
||||||
|
|
||||||
----
|
----
|
||||||
@ -338,22 +337,6 @@ Data for an imported geometry.
|
|||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
**Type:** `object`
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Properties
|
|
||||||
|
|
||||||
| Property | Type | Description | Required |
|
|
||||||
|----------|------|-------------|----------|
|
|
||||||
| `type` |enum: `Tombstone`| | No |
|
|
||||||
| `value` |`null`| | No |
|
|
||||||
|
|
||||||
|
|
||||||
----
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
File diff suppressed because one or more lines are too long
@ -244,7 +244,7 @@ impl From<&KclValue> for OpKclValue {
|
|||||||
}
|
}
|
||||||
KclValue::TagIdentifier(tag_identifier) => Self::TagIdentifier {
|
KclValue::TagIdentifier(tag_identifier) => Self::TagIdentifier {
|
||||||
value: tag_identifier.value.clone(),
|
value: tag_identifier.value.clone(),
|
||||||
artifact_id: tag_identifier.info.as_ref().map(|info| ArtifactId::new(info.id)),
|
artifact_id: tag_identifier.get_cur_info().map(|info| ArtifactId::new(info.id)),
|
||||||
},
|
},
|
||||||
KclValue::TagDeclarator(node) => Self::TagDeclarator {
|
KclValue::TagDeclarator(node) => Self::TagDeclarator {
|
||||||
name: node.name.clone(),
|
name: node.name.clone(),
|
||||||
@ -295,7 +295,6 @@ impl From<&KclValue> for OpKclValue {
|
|||||||
KclValue::Module { .. } => Self::Module {},
|
KclValue::Module { .. } => Self::Module {},
|
||||||
KclValue::KclNone { .. } => Self::KclNone {},
|
KclValue::KclNone { .. } => Self::KclNone {},
|
||||||
KclValue::Type { .. } => Self::Type {},
|
KclValue::Type { .. } => Self::Type {},
|
||||||
KclValue::Tombstone { .. } => unreachable!("Tombstone OpKclValue"),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -754,33 +754,7 @@ impl BinaryPart {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl Node<MemberExpression> {
|
impl Node<MemberExpression> {
|
||||||
pub fn get_result_array(&self, exec_state: &mut ExecState, index: usize) -> Result<KclValue, KclError> {
|
fn get_result(&self, exec_state: &mut ExecState) -> Result<KclValue, KclError> {
|
||||||
let array = match &self.object {
|
|
||||||
MemberObject::MemberExpression(member_expr) => member_expr.get_result(exec_state)?,
|
|
||||||
MemberObject::Identifier(identifier) => {
|
|
||||||
let value = exec_state.stack().get(&identifier.name, identifier.into())?;
|
|
||||||
value.clone()
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
let KclValue::MixedArray { value: array, meta: _ } = array else {
|
|
||||||
return Err(KclError::Semantic(KclErrorDetails {
|
|
||||||
message: format!("MemberExpression array is not an array: {:?}", array),
|
|
||||||
source_ranges: vec![self.clone().into()],
|
|
||||||
}));
|
|
||||||
};
|
|
||||||
|
|
||||||
if let Some(value) = array.get(index) {
|
|
||||||
Ok(value.to_owned())
|
|
||||||
} else {
|
|
||||||
Err(KclError::UndefinedValue(KclErrorDetails {
|
|
||||||
message: format!("index {} not found in array", index),
|
|
||||||
source_ranges: vec![self.clone().into()],
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn get_result(&self, exec_state: &mut ExecState) -> Result<KclValue, KclError> {
|
|
||||||
let property = Property::try_from(self.computed, self.property.clone(), exec_state, self.into())?;
|
let property = Property::try_from(self.computed, self.property.clone(), exec_state, self.into())?;
|
||||||
let object = match &self.object {
|
let object = match &self.object {
|
||||||
// TODO: Don't use recursion here, use a loop.
|
// TODO: Don't use recursion here, use a loop.
|
||||||
@ -1381,11 +1355,22 @@ fn update_memory_for_tags_of_geometry(result: &mut KclValue, exec_state: &mut Ex
|
|||||||
// TODO: This could probably be done in a better way, but as of now this was my only idea
|
// TODO: This could probably be done in a better way, but as of now this was my only idea
|
||||||
// and it works.
|
// and it works.
|
||||||
match result {
|
match result {
|
||||||
KclValue::Sketch { value: ref mut sketch } => {
|
KclValue::Sketch { value } => {
|
||||||
for (_, tag) in sketch.tags.iter() {
|
for (name, tag) in value.tags.iter() {
|
||||||
exec_state
|
if exec_state.stack().cur_frame_contains(name) {
|
||||||
.mut_stack()
|
exec_state.mut_stack().update(name, |v, _| {
|
||||||
.insert_or_update(tag.value.clone(), KclValue::TagIdentifier(Box::new(tag.clone())));
|
v.as_mut_tag().unwrap().merge_info(tag);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
exec_state
|
||||||
|
.mut_stack()
|
||||||
|
.add(
|
||||||
|
name.to_owned(),
|
||||||
|
KclValue::TagIdentifier(Box::new(tag.clone())),
|
||||||
|
SourceRange::default(),
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
KclValue::Solid { ref mut value } => {
|
KclValue::Solid { ref mut value } => {
|
||||||
@ -1394,7 +1379,7 @@ fn update_memory_for_tags_of_geometry(result: &mut KclValue, exec_state: &mut Ex
|
|||||||
// Get the past tag and update it.
|
// Get the past tag and update it.
|
||||||
let tag_id = if let Some(t) = value.sketch.tags.get(&tag.name) {
|
let tag_id = if let Some(t) = value.sketch.tags.get(&tag.name) {
|
||||||
let mut t = t.clone();
|
let mut t = t.clone();
|
||||||
let Some(ref info) = t.info else {
|
let Some(info) = t.get_cur_info() else {
|
||||||
return Err(KclError::Internal(KclErrorDetails {
|
return Err(KclError::Internal(KclErrorDetails {
|
||||||
message: format!("Tag {} does not have path info", tag.name),
|
message: format!("Tag {} does not have path info", tag.name),
|
||||||
source_ranges: vec![tag.into()],
|
source_ranges: vec![tag.into()],
|
||||||
@ -1404,59 +1389,65 @@ fn update_memory_for_tags_of_geometry(result: &mut KclValue, exec_state: &mut Ex
|
|||||||
let mut info = info.clone();
|
let mut info = info.clone();
|
||||||
info.surface = Some(v.clone());
|
info.surface = Some(v.clone());
|
||||||
info.sketch = value.id;
|
info.sketch = value.id;
|
||||||
t.info = Some(info);
|
t.info.push((exec_state.stack().current_epoch(), info));
|
||||||
t
|
t
|
||||||
} else {
|
} else {
|
||||||
// It's probably a fillet or a chamfer.
|
// It's probably a fillet or a chamfer.
|
||||||
// Initialize it.
|
// Initialize it.
|
||||||
TagIdentifier {
|
TagIdentifier {
|
||||||
value: tag.name.clone(),
|
value: tag.name.clone(),
|
||||||
info: Some(TagEngineInfo {
|
info: vec![(
|
||||||
id: v.get_id(),
|
exec_state.stack().current_epoch(),
|
||||||
surface: Some(v.clone()),
|
TagEngineInfo {
|
||||||
path: None,
|
id: v.get_id(),
|
||||||
sketch: value.id,
|
surface: Some(v.clone()),
|
||||||
}),
|
path: None,
|
||||||
|
sketch: value.id,
|
||||||
|
},
|
||||||
|
)],
|
||||||
meta: vec![Metadata {
|
meta: vec![Metadata {
|
||||||
source_range: tag.clone().into(),
|
source_range: tag.clone().into(),
|
||||||
}],
|
}],
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
exec_state
|
|
||||||
.mut_stack()
|
|
||||||
.insert_or_update(tag.name.clone(), KclValue::TagIdentifier(Box::new(tag_id.clone())));
|
|
||||||
|
|
||||||
// update the sketch tags.
|
// update the sketch tags.
|
||||||
value.sketch.tags.insert(tag.name.clone(), tag_id);
|
value.sketch.merge_tags(Some(&tag_id).into_iter());
|
||||||
|
|
||||||
|
if exec_state.stack().cur_frame_contains(&tag.name) {
|
||||||
|
exec_state.mut_stack().update(&tag.name, |v, _| {
|
||||||
|
v.as_mut_tag().unwrap().merge_info(&tag_id);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
exec_state
|
||||||
|
.mut_stack()
|
||||||
|
.add(
|
||||||
|
tag.name.clone(),
|
||||||
|
KclValue::TagIdentifier(Box::new(tag_id)),
|
||||||
|
SourceRange::default(),
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Find the stale sketch in memory and update it.
|
// Find the stale sketch in memory and update it.
|
||||||
if !value.sketch.tags.is_empty() {
|
if !value.sketch.tags.is_empty() {
|
||||||
let updates: Vec<_> = exec_state
|
let sketches_to_update: Vec<_> = exec_state
|
||||||
.stack()
|
.stack()
|
||||||
.find_all_in_current_env(|v| match v {
|
.find_keys_in_current_env(|v| match v {
|
||||||
KclValue::Sketch { value: sk } => sk.artifact_id == value.sketch.artifact_id,
|
KclValue::Sketch { value: sk } => sk.artifact_id == value.sketch.artifact_id,
|
||||||
_ => false,
|
_ => false,
|
||||||
})
|
})
|
||||||
.map(|(k, v)| {
|
.cloned()
|
||||||
let mut sketch = v.as_sketch().unwrap().clone();
|
|
||||||
for (tag_name, tag_id) in value.sketch.tags.iter() {
|
|
||||||
sketch.tags.insert(tag_name.clone(), tag_id.clone());
|
|
||||||
}
|
|
||||||
(
|
|
||||||
k.clone(),
|
|
||||||
KclValue::Sketch {
|
|
||||||
value: Box::new(sketch),
|
|
||||||
},
|
|
||||||
)
|
|
||||||
})
|
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
updates
|
for k in sketches_to_update {
|
||||||
.into_iter()
|
exec_state.mut_stack().update(&k, |v, _| {
|
||||||
.for_each(|(k, v)| exec_state.mut_stack().insert_or_update(k, v))
|
let sketch = v.as_mut_sketch().unwrap();
|
||||||
|
sketch.merge_tags(value.sketch.tags.values());
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_ => {}
|
_ => {}
|
||||||
@ -1468,7 +1459,7 @@ impl Node<TagDeclarator> {
|
|||||||
pub async fn execute(&self, exec_state: &mut ExecState) -> Result<KclValue, KclError> {
|
pub async fn execute(&self, exec_state: &mut ExecState) -> Result<KclValue, KclError> {
|
||||||
let memory_item = KclValue::TagIdentifier(Box::new(TagIdentifier {
|
let memory_item = KclValue::TagIdentifier(Box::new(TagIdentifier {
|
||||||
value: self.name.clone(),
|
value: self.name.clone(),
|
||||||
info: None,
|
info: Vec::new(),
|
||||||
meta: vec![Metadata {
|
meta: vec![Metadata {
|
||||||
source_range: self.into(),
|
source_range: self.into(),
|
||||||
}],
|
}],
|
||||||
|
@ -639,19 +639,35 @@ impl GetTangentialInfoFromPathsResult {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl Sketch {
|
impl Sketch {
|
||||||
pub(crate) fn add_tag(&mut self, tag: NodeRef<'_, TagDeclarator>, current_path: &Path) {
|
pub(crate) fn add_tag(&mut self, tag: NodeRef<'_, TagDeclarator>, current_path: &Path, exec_state: &ExecState) {
|
||||||
let mut tag_identifier: TagIdentifier = tag.into();
|
let mut tag_identifier: TagIdentifier = tag.into();
|
||||||
let base = current_path.get_base();
|
let base = current_path.get_base();
|
||||||
tag_identifier.info = Some(TagEngineInfo {
|
tag_identifier.info.push((
|
||||||
id: base.geo_meta.id,
|
exec_state.stack().current_epoch(),
|
||||||
sketch: self.id,
|
TagEngineInfo {
|
||||||
path: Some(current_path.clone()),
|
id: base.geo_meta.id,
|
||||||
surface: None,
|
sketch: self.id,
|
||||||
});
|
path: Some(current_path.clone()),
|
||||||
|
surface: None,
|
||||||
|
},
|
||||||
|
));
|
||||||
|
|
||||||
self.tags.insert(tag.name.to_string(), tag_identifier);
|
self.tags.insert(tag.name.to_string(), tag_identifier);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub(crate) fn merge_tags<'a>(&mut self, tags: impl Iterator<Item = &'a TagIdentifier>) {
|
||||||
|
for t in tags {
|
||||||
|
match self.tags.get_mut(&t.value) {
|
||||||
|
Some(id) => {
|
||||||
|
id.merge_info(t);
|
||||||
|
}
|
||||||
|
None => {
|
||||||
|
self.tags.insert(t.value.clone(), t.clone());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// Get the path most recently sketched.
|
/// Get the path most recently sketched.
|
||||||
pub(crate) fn latest_path(&self) -> Option<&Path> {
|
pub(crate) fn latest_path(&self) -> Option<&Path> {
|
||||||
self.paths.last()
|
self.paths.last()
|
||||||
|
@ -111,12 +111,6 @@ pub enum KclValue {
|
|||||||
#[serde(skip)]
|
#[serde(skip)]
|
||||||
meta: Vec<Metadata>,
|
meta: Vec<Metadata>,
|
||||||
},
|
},
|
||||||
// Only used for memory management. Should never be visible outside of the memory module.
|
|
||||||
Tombstone {
|
|
||||||
value: (),
|
|
||||||
#[serde(skip)]
|
|
||||||
meta: Vec<Metadata>,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, PartialEq, Default)]
|
#[derive(Debug, Clone, PartialEq, Default)]
|
||||||
@ -201,7 +195,6 @@ impl From<KclValue> for Vec<SourceRange> {
|
|||||||
KclValue::Uuid { meta, .. } => to_vec_sr(&meta),
|
KclValue::Uuid { meta, .. } => to_vec_sr(&meta),
|
||||||
KclValue::Type { meta, .. } => to_vec_sr(&meta),
|
KclValue::Type { meta, .. } => to_vec_sr(&meta),
|
||||||
KclValue::KclNone { meta, .. } => to_vec_sr(&meta),
|
KclValue::KclNone { meta, .. } => to_vec_sr(&meta),
|
||||||
KclValue::Tombstone { .. } => unreachable!("Tombstone SourceRange"),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -233,7 +226,6 @@ impl From<&KclValue> for Vec<SourceRange> {
|
|||||||
KclValue::Module { meta, .. } => to_vec_sr(meta),
|
KclValue::Module { meta, .. } => to_vec_sr(meta),
|
||||||
KclValue::KclNone { meta, .. } => to_vec_sr(meta),
|
KclValue::KclNone { meta, .. } => to_vec_sr(meta),
|
||||||
KclValue::Type { meta, .. } => to_vec_sr(meta),
|
KclValue::Type { meta, .. } => to_vec_sr(meta),
|
||||||
KclValue::Tombstone { .. } => unreachable!("Tombstone &SourceRange"),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -268,7 +260,6 @@ impl KclValue {
|
|||||||
KclValue::Module { meta, .. } => meta.clone(),
|
KclValue::Module { meta, .. } => meta.clone(),
|
||||||
KclValue::KclNone { meta, .. } => meta.clone(),
|
KclValue::KclNone { meta, .. } => meta.clone(),
|
||||||
KclValue::Type { meta, .. } => meta.clone(),
|
KclValue::Type { meta, .. } => meta.clone(),
|
||||||
KclValue::Tombstone { .. } => unreachable!("Tombstone Metadata"),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -340,7 +331,6 @@ impl KclValue {
|
|||||||
KclValue::Module { .. } => "module",
|
KclValue::Module { .. } => "module",
|
||||||
KclValue::Type { .. } => "type",
|
KclValue::Type { .. } => "type",
|
||||||
KclValue::KclNone { .. } => "None",
|
KclValue::KclNone { .. } => "None",
|
||||||
KclValue::Tombstone { .. } => "TOMBSTONE",
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,16 +357,14 @@ impl KclValue {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) fn map_env_ref(&self, env_map: &HashMap<EnvironmentRef, EnvironmentRef>) -> Self {
|
pub(crate) fn map_env_ref(&self, old_env: usize, new_env: usize) -> Self {
|
||||||
let mut result = self.clone();
|
let mut result = self.clone();
|
||||||
if let KclValue::Function {
|
if let KclValue::Function {
|
||||||
value: FunctionSource::User { ref mut memory, .. },
|
value: FunctionSource::User { ref mut memory, .. },
|
||||||
..
|
..
|
||||||
} = result
|
} = result
|
||||||
{
|
{
|
||||||
if let Some(new) = env_map.get(memory) {
|
memory.replace_env(old_env, new_env);
|
||||||
*memory = *new;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
result
|
result
|
||||||
}
|
}
|
||||||
@ -493,7 +481,7 @@ impl KclValue {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn as_sketch(&self) -> Option<&Sketch> {
|
pub fn as_mut_sketch(&mut self) -> Option<&mut Sketch> {
|
||||||
if let KclValue::Sketch { value } = self {
|
if let KclValue::Sketch { value } = self {
|
||||||
Some(value)
|
Some(value)
|
||||||
} else {
|
} else {
|
||||||
@ -501,6 +489,13 @@ impl KclValue {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn as_mut_tag(&mut self) -> Option<&mut TagIdentifier> {
|
||||||
|
if let KclValue::TagIdentifier(value) = self {
|
||||||
|
Some(value)
|
||||||
|
} else {
|
||||||
|
None
|
||||||
|
}
|
||||||
|
}
|
||||||
pub fn as_f64(&self) -> Option<f64> {
|
pub fn as_f64(&self) -> Option<f64> {
|
||||||
if let KclValue::Number { value, .. } = &self {
|
if let KclValue::Number { value, .. } = &self {
|
||||||
Some(*value)
|
Some(*value)
|
||||||
@ -563,17 +558,6 @@ impl KclValue {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get an optional tag from a memory item.
|
|
||||||
pub fn get_tag_declarator_opt(&self) -> Result<Option<TagNode>, KclError> {
|
|
||||||
match self {
|
|
||||||
KclValue::TagDeclarator(t) => Ok(Some((**t).clone())),
|
|
||||||
_ => Err(KclError::Semantic(KclErrorDetails {
|
|
||||||
message: format!("Not a tag declarator: {:?}", self),
|
|
||||||
source_ranges: self.clone().into(),
|
|
||||||
})),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// If this KCL value is a bool, retrieve it.
|
/// If this KCL value is a bool, retrieve it.
|
||||||
pub fn get_bool(&self) -> Result<bool, KclError> {
|
pub fn get_bool(&self) -> Result<bool, KclError> {
|
||||||
let Self::Bool { value: b, .. } = self else {
|
let Self::Bool { value: b, .. } = self else {
|
||||||
@ -626,8 +610,7 @@ impl KclValue {
|
|||||||
| KclValue::TagDeclarator(_)
|
| KclValue::TagDeclarator(_)
|
||||||
| KclValue::KclNone { .. }
|
| KclValue::KclNone { .. }
|
||||||
| KclValue::Type { .. }
|
| KclValue::Type { .. }
|
||||||
| KclValue::Uuid { .. }
|
| KclValue::Uuid { .. } => None,
|
||||||
| KclValue::Tombstone { .. } => None,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -741,8 +724,7 @@ impl KclValue {
|
|||||||
| KclValue::Plane { .. }
|
| KclValue::Plane { .. }
|
||||||
| KclValue::Face { .. }
|
| KclValue::Face { .. }
|
||||||
| KclValue::KclNone { .. }
|
| KclValue::KclNone { .. }
|
||||||
| KclValue::Type { .. }
|
| KclValue::Type { .. } => None,
|
||||||
| KclValue::Tombstone { .. } => None,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,18 +6,18 @@
|
|||||||
//! one per execution. It has no explicit support for caching between executions.
|
//! one per execution. It has no explicit support for caching between executions.
|
||||||
//!
|
//!
|
||||||
//! Memory is mostly immutable (since KCL does not support mutation or reassignment). However, tags
|
//! Memory is mostly immutable (since KCL does not support mutation or reassignment). However, tags
|
||||||
//! may change as code is executed and that mutates memory. Therefore,
|
//! may change as code is executed and that mutates memory. Therefore to some extent,
|
||||||
//! ProgramMemory supports mutability and does not rely on KCL's (mostly) immutable nature.
|
//! ProgramMemory supports mutability and does not rely on KCL's (mostly) immutable nature.
|
||||||
//!
|
//!
|
||||||
//! ProgramMemory is observably monotonic, i.e., it only grows and even when we pop a stack frame,
|
//! ProgramMemory is observably monotonic, i.e., it only grows and even when we pop a stack frame,
|
||||||
//! the frame is retained unless we can prove it is unreferenced. We remove some values which we
|
//! the frame is retained unless we can prove it is unreferenced. We remove some values which we
|
||||||
//! know cannot be referenced, but we should in the future do better garbage collection (of values
|
//! know cannot be referenced, but we should in the future do better garbage collection (of values
|
||||||
//! and envs).
|
//! and envs).
|
||||||
//!
|
//!
|
||||||
//! ## Concepts
|
//! ## Concepts
|
||||||
//!
|
//!
|
||||||
//! There are three main moving parts for ProgramMemory: environments, snapshots, and stacks. I'll
|
//! There are three main moving parts for ProgramMemory: environments, epochs, and stacks. I'll
|
||||||
//! cover environments (and the call stack) first as if snapshots didn't exist, then describe snapshots.
|
//! cover environments (and the call stack) first as if epochs didn't exist, then describe epochs.
|
||||||
//!
|
//!
|
||||||
//! An environment is a set of bindings (i.e., a map from names to values). Environments handle
|
//! An environment is a set of bindings (i.e., a map from names to values). Environments handle
|
||||||
//! both scoping and context switching. A new lexical scope means a new environment. Nesting of scopes
|
//! both scoping and context switching. A new lexical scope means a new environment. Nesting of scopes
|
||||||
@ -81,12 +81,25 @@
|
|||||||
//! temporally) the definition of `c`. (Note that although KCL does not permit mutation, objects
|
//! temporally) the definition of `c`. (Note that although KCL does not permit mutation, objects
|
||||||
//! can change due to the way tags are implemented).
|
//! can change due to the way tags are implemented).
|
||||||
//!
|
//!
|
||||||
//! To make this work, when we save a reference to an enclosing scope we take a snapshot of memory at
|
//! To make this work, we have the concept of an epoch. An epoch is a simple, global, monotonic counter
|
||||||
//! that point and save a reference to that snapshot. When we call a function, the parent of the new
|
//! which is incremented at any significant moment in execution (we use the term snapshot). When a
|
||||||
//! callee env is that snapshot, not the current version of the enclosing scope.
|
//! value is saved in memory we also save the epoch at which it was stored.
|
||||||
//!
|
//!
|
||||||
//! Entering an inline scope (e.g., the body of an `if` statement) means pushing an env whose parent
|
//! When we save a reference to an enclosing scope we take a snapshot and save that epoch as part of
|
||||||
//! is the current env. We don't need to snapshot in this case.
|
//! the reference. When we call a function, we use the epoch when it was defined to look up variables,
|
||||||
|
//! ignoring any variables which have a creation time later than the saved epoch.
|
||||||
|
//!
|
||||||
|
//! Because the callee could create new variables (with a creation time of the current epoch) which
|
||||||
|
//! the callee should be able to read, we can't simply check the epoch with the callees (and we'd need
|
||||||
|
//! to maintain a stack of callee epochs for further calls, etc.). Instead a stack frame consists of
|
||||||
|
//! a reference to an environment and an epoch at which reads should take place. When we call a function
|
||||||
|
//! this creates a new env using the current epoch, and it's parent env (which is the enclosing scope
|
||||||
|
//! of the function declaration) includes the epoch at which the function was declared.
|
||||||
|
//!
|
||||||
|
//! So far, this handles variables created after a function is declared, but does not handle mutation.
|
||||||
|
//! Mutation must be handled internally in values, see for example `TagIdentifier`. It is suggested
|
||||||
|
//! that objects rely on epochs for this. Since epochs are linked to the stack frame, only objects in
|
||||||
|
//! the current stack frame should be mutated.
|
||||||
//!
|
//!
|
||||||
//! ### Std
|
//! ### Std
|
||||||
//!
|
//!
|
||||||
@ -107,53 +120,17 @@
|
|||||||
//! Pushing and popping stack frames is straightforward. Most get/set/update operations don't touch
|
//! Pushing and popping stack frames is straightforward. Most get/set/update operations don't touch
|
||||||
//! the call stack other than the current env (updating tags on function return is the exception).
|
//! the call stack other than the current env (updating tags on function return is the exception).
|
||||||
//!
|
//!
|
||||||
//! Snapshots are maintained within an environment and are always specific to an environment. Snapshots
|
|
||||||
//! must also have a parent reference (since they are logically a snapshot of all memory). This parent
|
|
||||||
//! refers to a snapshot within the parent env. When a snapshot is created, we must create a snapshot
|
|
||||||
//! object for each parent env. When using a snapshot we must check the parent snapshot whenever
|
|
||||||
//! we check the parent env (and not the current version of the parent env).
|
|
||||||
//!
|
|
||||||
//! An environment will have many snapshots, they are kept in time order, and do not reference each
|
|
||||||
//! other. (The parent of a snapshot is always in another env).
|
|
||||||
//!
|
|
||||||
//! A snapshot is created empty (we don't copy memory) and we use a copy-on-write design: when a
|
|
||||||
//! value in an environment is modified, we copy the old version into the most recent snapshot (note
|
|
||||||
//! that we never overwrite a value in the snapshot, if a value is modified multiple times, we want
|
|
||||||
//! to keep the original version, not an intermediate one). Likewise, if we insert a new variable,
|
|
||||||
//! we put a tombstone value in the snapshot.
|
|
||||||
//!
|
|
||||||
//! When we read from the current version of an environment, we simply read from the bindings in the
|
|
||||||
//! env and ignore the snapshots. When we read from a snapshot, we first check the specific snapshot
|
|
||||||
//! for the key, then check any newer snapshots, then finally check the env bindings.
|
|
||||||
//!
|
|
||||||
//! A minor optimisation is that when creating a snapshot, if the previous one is empty, then
|
|
||||||
//! we can reuse that rather than creating a new one. Since we only create a snapshot when a function
|
|
||||||
//! is declared and the function decl is immediately saved into the new snapshot, the empty snapshot
|
|
||||||
//! optimisation only happens with parent snapshots (though if the env tree is deep this means we
|
|
||||||
//! can save a lot of snapshots).
|
|
||||||
//!
|
|
||||||
//! ## Invariants
|
//! ## Invariants
|
||||||
//!
|
//!
|
||||||
//! There's obviously a bunch of invariants in this design, some are kinda obvious, some are limited
|
//! There's obviously a bunch of invariants in this design, some are kinda obvious, some are limited
|
||||||
//! in scope and are documented inline, here are some others:
|
//! in scope and are documented inline, here are some others:
|
||||||
//!
|
//!
|
||||||
//! - The current env and all envs in the call stack are 'just envs', never a snapshot (we could
|
|
||||||
//! use just a ref to an env, rather than to a snapshot but this is pretty inconvenient, so just
|
|
||||||
//! know that the snapshot ref is always to the current version). Only the parent envs or saved refs
|
|
||||||
//! can be refs to snapshots.
|
|
||||||
//! - We only ever write into the current env, never into any parent envs (though we can read from
|
//! - We only ever write into the current env, never into any parent envs (though we can read from
|
||||||
//! both).
|
//! both).
|
||||||
//! - Therefore, there is no concept of writing into a snapshot, only reading from one.
|
//! - We only ever write (or mutate) at the most recent epoch, never at an older one.
|
||||||
//! - The env ref saved with a function decl is always to a snapshot, never to the current version.
|
//! - The env ref saved with a function decl is always to an historic epoch, never to the current one.
|
||||||
//! - If there are no snapshots in an environment and it is no longer in the call stack, then there
|
|
||||||
//! are no references from function decls to the env (if it is the parent of an env with extant refs
|
|
||||||
//! then there would be snapshots in the child env and that implies there must be a snapshot in the
|
|
||||||
//! parent to be the parent of that snapshot).
|
|
||||||
//! - Since KCL does not have submodules and decls are not visible outside of a nested scope, all
|
//! - Since KCL does not have submodules and decls are not visible outside of a nested scope, all
|
||||||
//! references to variables in other modules must be in the root scope of a module.
|
//! references to variables in other modules must be in the root scope of a module.
|
||||||
//! - Therefore, an active env must either be on the call stack, have snapshots, or be a root env. This
|
|
||||||
//! is however a conservative approximation since snapshots may exist even if there are no live
|
|
||||||
//! references to an env.
|
|
||||||
//!
|
//!
|
||||||
//! ## Concurrency and thread-safety
|
//! ## Concurrency and thread-safety
|
||||||
//!
|
//!
|
||||||
@ -227,7 +204,6 @@
|
|||||||
|
|
||||||
use std::{
|
use std::{
|
||||||
cell::UnsafeCell,
|
cell::UnsafeCell,
|
||||||
collections::HashMap,
|
|
||||||
fmt,
|
fmt,
|
||||||
pin::Pin,
|
pin::Pin,
|
||||||
sync::{
|
sync::{
|
||||||
@ -267,6 +243,7 @@ pub(crate) struct ProgramMemory {
|
|||||||
/// Statistics about the memory, should not be used for anything other than meta-info.
|
/// Statistics about the memory, should not be used for anything other than meta-info.
|
||||||
pub(crate) stats: MemoryStats,
|
pub(crate) stats: MemoryStats,
|
||||||
next_stack_id: AtomicUsize,
|
next_stack_id: AtomicUsize,
|
||||||
|
epoch: AtomicUsize,
|
||||||
write_lock: AtomicBool,
|
write_lock: AtomicBool,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -307,7 +284,7 @@ impl fmt::Display for Stack {
|
|||||||
.call_stack
|
.call_stack
|
||||||
.iter()
|
.iter()
|
||||||
.chain(Some(&self.current_env))
|
.chain(Some(&self.current_env))
|
||||||
.map(|e| format!("EnvRef({}, {})", e.0, e.1 .0))
|
.map(|e| format!("EnvRef({}, {})", e.0, e.1))
|
||||||
.collect();
|
.collect();
|
||||||
write!(f, "Stack {}\nstack frames:\n{}", self.id, stack.join("\n"))
|
write!(f, "Stack {}\nstack frames:\n{}", self.id, stack.join("\n"))
|
||||||
}
|
}
|
||||||
@ -322,6 +299,7 @@ impl ProgramMemory {
|
|||||||
std: None,
|
std: None,
|
||||||
stats: MemoryStats::default(),
|
stats: MemoryStats::default(),
|
||||||
next_stack_id: AtomicUsize::new(1),
|
next_stack_id: AtomicUsize::new(1),
|
||||||
|
epoch: AtomicUsize::new(1),
|
||||||
write_lock: AtomicBool::new(false),
|
write_lock: AtomicBool::new(false),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -340,10 +318,12 @@ impl ProgramMemory {
|
|||||||
std: self.std,
|
std: self.std,
|
||||||
stats: MemoryStats::default(),
|
stats: MemoryStats::default(),
|
||||||
next_stack_id: AtomicUsize::new(self.next_stack_id.load(Ordering::Relaxed)),
|
next_stack_id: AtomicUsize::new(self.next_stack_id.load(Ordering::Relaxed)),
|
||||||
|
epoch: AtomicUsize::new(self.epoch.load(Ordering::Relaxed)),
|
||||||
write_lock: AtomicBool::new(false),
|
write_lock: AtomicBool::new(false),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Create a new stack object referencing this `ProgramMemory`.
|
||||||
pub fn new_stack(self: Arc<Self>) -> Stack {
|
pub fn new_stack(self: Arc<Self>) -> Stack {
|
||||||
let id = self.next_stack_id.fetch_add(1, Ordering::Relaxed);
|
let id = self.next_stack_id.fetch_add(1, Ordering::Relaxed);
|
||||||
assert!(id > 0);
|
assert!(id > 0);
|
||||||
@ -367,7 +347,7 @@ impl ProgramMemory {
|
|||||||
self.std.is_none()
|
self.std.is_none()
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get a value from a specific snapshot of the memory.
|
/// Get a value from a specific environment of the memory at a specific point in time.
|
||||||
pub fn get_from(
|
pub fn get_from(
|
||||||
&self,
|
&self,
|
||||||
var: &str,
|
var: &str,
|
||||||
@ -438,7 +418,7 @@ impl ProgramMemory {
|
|||||||
|
|
||||||
let new_env = Environment::new(parent, is_root_env, owner);
|
let new_env = Environment::new(parent, is_root_env, owner);
|
||||||
self.with_envs(|envs| {
|
self.with_envs(|envs| {
|
||||||
let result = EnvironmentRef(envs.len(), SnapshotRef::none());
|
let result = EnvironmentRef(envs.len(), usize::MAX);
|
||||||
// Note this might reallocate, which would hold the `with_envs` spin lock for way too long
|
// Note this might reallocate, which would hold the `with_envs` spin lock for way too long
|
||||||
// so somehow we should make sure we don't do that (though honestly the chance of that
|
// so somehow we should make sure we don't do that (though honestly the chance of that
|
||||||
// happening while another thread is waiting for the lock is pretty small).
|
// happening while another thread is waiting for the lock is pretty small).
|
||||||
@ -490,23 +470,12 @@ impl ProgramMemory {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
|
||||||
fn update_with_env(&self, key: &str, value: KclValue, env: usize, owner: usize) {
|
|
||||||
self.stats.mutation_count.fetch_add(1, Ordering::Relaxed);
|
|
||||||
self.get_env(env).insert_or_update(key.to_owned(), value, owner);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Get a value from memory without checking for ownership of the env.
|
/// Get a value from memory without checking for ownership of the env.
|
||||||
///
|
///
|
||||||
/// This is not safe to use in general and should only be used if you have unique access to
|
/// This is not safe to use in general and should only be used if you have unique access to
|
||||||
/// the `self` which is generally only true during testing.
|
/// the `self` which is generally only true during testing.
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
pub fn get_from_unchecked(
|
pub fn get_from_unchecked(&self, var: &str, mut env_ref: EnvironmentRef) -> Result<&KclValue, KclError> {
|
||||||
&self,
|
|
||||||
var: &str,
|
|
||||||
mut env_ref: EnvironmentRef,
|
|
||||||
source_range: SourceRange,
|
|
||||||
) -> Result<&KclValue, KclError> {
|
|
||||||
loop {
|
loop {
|
||||||
let env = self.get_env(env_ref.index());
|
let env = self.get_env(env_ref.index());
|
||||||
env_ref = match env.get_unchecked(var, env_ref.1) {
|
env_ref = match env.get_unchecked(var, env_ref.1) {
|
||||||
@ -518,7 +487,7 @@ impl ProgramMemory {
|
|||||||
|
|
||||||
Err(KclError::UndefinedValue(KclErrorDetails {
|
Err(KclError::UndefinedValue(KclErrorDetails {
|
||||||
message: format!("memory item key `{}` is not defined", var),
|
message: format!("memory item key `{}` is not defined", var),
|
||||||
source_ranges: vec![source_range],
|
source_ranges: vec![],
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -544,6 +513,11 @@ impl Stack {
|
|||||||
stack
|
stack
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Get the current (globally most recent) epoch.
|
||||||
|
pub fn current_epoch(&self) -> usize {
|
||||||
|
self.memory.epoch.load(Ordering::Relaxed)
|
||||||
|
}
|
||||||
|
|
||||||
/// Push a new (standard KCL) stack frame on to the call stack.
|
/// Push a new (standard KCL) stack frame on to the call stack.
|
||||||
///
|
///
|
||||||
/// `parent` is the environment where the function being called is declared (not the caller's
|
/// `parent` is the environment where the function being called is declared (not the caller's
|
||||||
@ -577,7 +551,7 @@ impl Stack {
|
|||||||
// Rust functions shouldn't try to set or access anything in their environment, so don't
|
// Rust functions shouldn't try to set or access anything in their environment, so don't
|
||||||
// waste time and space on a new env. Using usize::MAX means we'll get an overflow if we
|
// waste time and space on a new env. Using usize::MAX means we'll get an overflow if we
|
||||||
// try to access anything rather than a silent error.
|
// try to access anything rather than a silent error.
|
||||||
self.current_env = EnvironmentRef(usize::MAX, SnapshotRef::none());
|
self.current_env = EnvironmentRef(usize::MAX, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Push a new stack frame on to the call stack with no connection to a parent environment.
|
/// Push a new stack frame on to the call stack with no connection to a parent environment.
|
||||||
@ -596,7 +570,6 @@ impl Stack {
|
|||||||
/// SAFETY: the env must not be being used by another `Stack` since we'll move the env from
|
/// SAFETY: the env must not be being used by another `Stack` since we'll move the env from
|
||||||
/// read-only to owned.
|
/// read-only to owned.
|
||||||
pub fn restore_env(&mut self, env: EnvironmentRef) {
|
pub fn restore_env(&mut self, env: EnvironmentRef) {
|
||||||
assert!(env.1.is_none());
|
|
||||||
self.call_stack.push(self.current_env);
|
self.call_stack.push(self.current_env);
|
||||||
self.memory.get_env(env.index()).restore_owner(self.id);
|
self.memory.get_env(env.index()).restore_owner(self.id);
|
||||||
self.current_env = env;
|
self.current_env = env;
|
||||||
@ -642,25 +615,28 @@ impl Stack {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let mut old_env = self.memory.take_env(old);
|
let mut old_env = self.memory.take_env(old);
|
||||||
|
if old_env.is_empty() {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Map of any old env refs to the current env.
|
// Make a new scope so we override variables properly.
|
||||||
let snapshot_map: HashMap<_, _> = old_env
|
self.push_new_env_for_scope();
|
||||||
.snapshot_parents()
|
|
||||||
.map(|(s, p)| (EnvironmentRef(old.0, s), (EnvironmentRef(self.current_env.0, p))))
|
|
||||||
.collect();
|
|
||||||
|
|
||||||
// Move the variables in the popped env into the current env.
|
// Move the variables in the popped env into the current env.
|
||||||
let env = self.memory.get_env(self.current_env.index());
|
let env = self.memory.get_env(self.current_env.index());
|
||||||
for (k, v) in old_env.as_mut().take_bindings() {
|
for (k, (e, v)) in old_env.as_mut().take_bindings() {
|
||||||
env.insert_or_update(k.clone(), v.map_env_ref(&snapshot_map), self.id);
|
env.insert(k, e, v.map_env_ref(old.0, self.current_env.0), self.id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Snapshot the current state of the memory.
|
/// Snapshot the current state of the memory.
|
||||||
pub fn snapshot(&mut self) -> EnvironmentRef {
|
pub fn snapshot(&mut self) -> EnvironmentRef {
|
||||||
self.memory.stats.snapshot_count.fetch_add(1, Ordering::Relaxed);
|
self.memory.stats.epoch_count.fetch_add(1, Ordering::Relaxed);
|
||||||
let snapshot = env::snapshot(&self.memory, self.current_env, self.id);
|
|
||||||
EnvironmentRef(self.current_env.0, snapshot)
|
let env = self.memory.get_env(self.current_env.index());
|
||||||
|
env.mark_as_refed();
|
||||||
|
|
||||||
|
let prev_epoch = self.memory.epoch.fetch_add(1, Ordering::Relaxed);
|
||||||
|
EnvironmentRef(self.current_env.0, prev_epoch)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Add a value to the program memory (in the current scope). The value must not already exist.
|
/// Add a value to the program memory (in the current scope). The value must not already exist.
|
||||||
@ -675,16 +651,21 @@ impl Stack {
|
|||||||
|
|
||||||
self.memory.stats.mutation_count.fetch_add(1, Ordering::Relaxed);
|
self.memory.stats.mutation_count.fetch_add(1, Ordering::Relaxed);
|
||||||
|
|
||||||
env.insert(key, value, self.id);
|
env.insert(key, self.memory.epoch.load(Ordering::Relaxed), value, self.id);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn insert_or_update(&mut self, key: String, value: KclValue) {
|
/// Update a variable in memory. `key` must exist in memory. If it doesn't, this function will panic
|
||||||
|
/// in debug builds and do nothing in release builds.
|
||||||
|
pub fn update(&mut self, key: &str, f: impl Fn(&mut KclValue, usize)) {
|
||||||
self.memory.stats.mutation_count.fetch_add(1, Ordering::Relaxed);
|
self.memory.stats.mutation_count.fetch_add(1, Ordering::Relaxed);
|
||||||
self.memory
|
self.memory.get_env(self.current_env.index()).update(
|
||||||
.get_env(self.current_env.index())
|
key,
|
||||||
.insert_or_update(key, value, self.id);
|
f,
|
||||||
|
self.memory.epoch.load(Ordering::Relaxed),
|
||||||
|
self.id,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get a value from the program memory.
|
/// Get a value from the program memory.
|
||||||
@ -693,38 +674,41 @@ impl Stack {
|
|||||||
self.memory.get_from(var, self.current_env, source_range, self.id)
|
self.memory.get_from(var, self.current_env, source_range, self.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Whether the current frame of the stack contains a variable with the given name.
|
||||||
|
pub fn cur_frame_contains(&self, var: &str) -> bool {
|
||||||
|
let env = self.memory.get_env(self.current_env.index());
|
||||||
|
env.contains_key(var)
|
||||||
|
}
|
||||||
|
|
||||||
/// Get a key from the first KCL (i.e., non-Rust) stack frame on the call stack.
|
/// Get a key from the first KCL (i.e., non-Rust) stack frame on the call stack.
|
||||||
pub fn get_from_call_stack(&self, key: &str, source_range: SourceRange) -> Result<&KclValue, KclError> {
|
pub fn get_from_call_stack(&self, key: &str, source_range: SourceRange) -> Result<(usize, &KclValue), KclError> {
|
||||||
if !self.current_env.skip_env() {
|
if !self.current_env.skip_env() {
|
||||||
return self.get(key, source_range);
|
return Ok((self.current_env.1, self.get(key, source_range)?));
|
||||||
}
|
}
|
||||||
|
|
||||||
for env in self.call_stack.iter().rev() {
|
for env in self.call_stack.iter().rev() {
|
||||||
if !env.skip_env() {
|
if !env.skip_env() {
|
||||||
return self.memory.get_from(key, *env, source_range, self.id);
|
return Ok((env.1, self.memory.get_from(key, *env, source_range, self.id)?));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
unreachable!("It can't be Rust frames all the way down");
|
unreachable!("It can't be Rust frames all the way down");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Iterate over all key/value pairs in the current environment which satisfy the provided
|
/// Iterate over all keys in the current environment which satisfy the provided predicate.
|
||||||
/// predicate.
|
pub fn find_keys_in_current_env<'a>(
|
||||||
pub fn find_all_in_current_env<'a>(
|
|
||||||
&'a self,
|
&'a self,
|
||||||
pred: impl Fn(&KclValue) -> bool + 'a,
|
pred: impl Fn(&KclValue) -> bool + 'a,
|
||||||
) -> impl Iterator<Item = (&'a String, &'a KclValue)> {
|
) -> impl Iterator<Item = &'a String> {
|
||||||
self.memory.find_all_in_env(self.current_env, pred, self.id)
|
self.memory
|
||||||
|
.find_all_in_env(self.current_env, pred, self.id)
|
||||||
|
.map(|(k, _)| k)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Iterate over all key/value pairs in the specified environment which satisfy the provided
|
/// Iterate over all key/value pairs in the specified environment which satisfy the provided
|
||||||
/// predicate. `env` must either be read-only or owned by `self`.
|
/// predicate. `env` must either be read-only or owned by `self`.
|
||||||
pub fn find_all_in_env<'a>(
|
pub fn find_all_in_env(&self, env: EnvironmentRef) -> impl Iterator<Item = (&String, &KclValue)> {
|
||||||
&'a self,
|
self.memory.find_all_in_env(env, |_| true, self.id)
|
||||||
env: EnvironmentRef,
|
|
||||||
pred: impl Fn(&KclValue) -> bool + 'a,
|
|
||||||
) -> impl Iterator<Item = (&'a String, &'a KclValue)> {
|
|
||||||
self.memory.find_all_in_env(env, pred, self.id)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Walk all values accessible from any environment in the call stack.
|
/// Walk all values accessible from any environment in the call stack.
|
||||||
@ -781,7 +765,7 @@ impl<'a> Iterator for CallStackIterator<'a> {
|
|||||||
return next;
|
return next;
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(env_ref) = self.stack.memory.get_env(self.cur_env.index()).parent(self.cur_env.1) {
|
if let Some(env_ref) = self.stack.memory.get_env(self.cur_env.index()).parent() {
|
||||||
self.cur_env = env_ref;
|
self.cur_env = env_ref;
|
||||||
self.init_iter();
|
self.init_iter();
|
||||||
} else {
|
} else {
|
||||||
@ -816,23 +800,32 @@ impl<'a> Iterator for CallStackIterator<'a> {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
impl PartialEq for Stack {
|
impl PartialEq for Stack {
|
||||||
fn eq(&self, other: &Self) -> bool {
|
fn eq(&self, other: &Self) -> bool {
|
||||||
let vars: Vec<_> = self.find_all_in_current_env(|_| true).collect();
|
let vars: Vec<_> = self.find_keys_in_current_env(|_| true).collect();
|
||||||
let vars_other: Vec<_> = other.find_all_in_current_env(|_| true).collect();
|
let vars_other: Vec<_> = other.find_keys_in_current_env(|_| true).collect();
|
||||||
vars == vars_other
|
if vars != vars_other {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
vars.iter()
|
||||||
|
.all(|k| self.get(k, SourceRange::default()).unwrap() == other.get(k, SourceRange::default()).unwrap())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// An index pointing to an environment at a point in time (either a snapshot or the current version, see the module docs).
|
/// An index pointing to an environment at a point in time.
|
||||||
|
///
|
||||||
|
/// The first field indexes an environment, the second field is an epoch. An epoch of 0 is indicates
|
||||||
|
/// a dummy, error, or placeholder env ref, an epoch of `usize::MAX` represents the current most
|
||||||
|
/// recent epoch.
|
||||||
#[derive(Debug, Clone, Copy, Deserialize, Serialize, PartialEq, Hash, Eq, ts_rs::TS, JsonSchema)]
|
#[derive(Debug, Clone, Copy, Deserialize, Serialize, PartialEq, Hash, Eq, ts_rs::TS, JsonSchema)]
|
||||||
pub struct EnvironmentRef(usize, SnapshotRef);
|
pub struct EnvironmentRef(usize, usize);
|
||||||
|
|
||||||
impl EnvironmentRef {
|
impl EnvironmentRef {
|
||||||
fn dummy() -> Self {
|
fn dummy() -> Self {
|
||||||
Self(usize::MAX, SnapshotRef(usize::MAX))
|
Self(usize::MAX, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn is_regular(&self) -> bool {
|
fn is_regular(&self) -> bool {
|
||||||
self.0 < usize::MAX && self.1 .0 < usize::MAX
|
self.0 < usize::MAX && self.1 > 0
|
||||||
}
|
}
|
||||||
|
|
||||||
fn index(&self) -> usize {
|
fn index(&self) -> usize {
|
||||||
@ -842,33 +835,11 @@ impl EnvironmentRef {
|
|||||||
fn skip_env(&self) -> bool {
|
fn skip_env(&self) -> bool {
|
||||||
self.0 == usize::MAX
|
self.0 == usize::MAX
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/// An index pointing to a snapshot within a specific (unspecified) environment.
|
pub fn replace_env(&mut self, old: usize, new: usize) {
|
||||||
#[derive(Debug, Clone, Copy, Deserialize, Serialize, PartialEq, Hash, Eq, ts_rs::TS, JsonSchema)]
|
if self.0 == old {
|
||||||
struct SnapshotRef(usize);
|
self.0 = new;
|
||||||
|
}
|
||||||
impl SnapshotRef {
|
|
||||||
/// Represents no snapshot, use the current version of the environment.
|
|
||||||
fn none() -> Self {
|
|
||||||
Self(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
/// `self` represents a snapshot.
|
|
||||||
fn is_some(self) -> bool {
|
|
||||||
self.0 > 0
|
|
||||||
}
|
|
||||||
|
|
||||||
/// `self` represents the current version.
|
|
||||||
fn is_none(self) -> bool {
|
|
||||||
self.0 == 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// Precondition: self.is_some()
|
|
||||||
fn index(&self) -> usize {
|
|
||||||
// Note that `0` is a distinguished value meaning 'no snapshot', so the reference value
|
|
||||||
// is one greater than the index into the list of snapshots.
|
|
||||||
self.0 - 1
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -877,8 +848,8 @@ impl SnapshotRef {
|
|||||||
pub(crate) struct MemoryStats {
|
pub(crate) struct MemoryStats {
|
||||||
// Total number of environments created.
|
// Total number of environments created.
|
||||||
env_count: AtomicUsize,
|
env_count: AtomicUsize,
|
||||||
// Total number of snapshots created.
|
// Total number of epochs.
|
||||||
snapshot_count: AtomicUsize,
|
epoch_count: AtomicUsize,
|
||||||
// Total number of values inserted or updated.
|
// Total number of values inserted or updated.
|
||||||
mutation_count: AtomicUsize,
|
mutation_count: AtomicUsize,
|
||||||
// The number of envs we delete when popped from the call stack.
|
// The number of envs we delete when popped from the call stack.
|
||||||
@ -900,12 +871,10 @@ mod env {
|
|||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub(super) struct Environment {
|
pub(super) struct Environment {
|
||||||
bindings: UnsafeCell<IndexMap<String, KclValue>>,
|
bindings: UnsafeCell<IndexMap<String, (usize, KclValue)>>,
|
||||||
// invariant: self.parent.is_none() => forall s in self.snapshots: s.parent_snapshot.is_none()
|
|
||||||
snapshots: UnsafeCell<Vec<Snapshot>>,
|
|
||||||
// An outer scope, if one exists.
|
// An outer scope, if one exists.
|
||||||
parent: Option<EnvironmentRef>,
|
parent: Option<EnvironmentRef>,
|
||||||
is_root_env: bool,
|
might_be_refed: AtomicBool,
|
||||||
// The id of the `Stack` if this `Environment` is on a call stack. If this is >0 then it may
|
// The id of the `Stack` if this `Environment` is on a call stack. If this is >0 then it may
|
||||||
// only be read or written by that `Stack`; if 0 then the env is read-only.
|
// only be read or written by that `Stack`; if 0 then the env is read-only.
|
||||||
owner: AtomicUsize,
|
owner: AtomicUsize,
|
||||||
@ -918,9 +887,8 @@ mod env {
|
|||||||
assert!(self.owner.load(Ordering::Acquire) == 0);
|
assert!(self.owner.load(Ordering::Acquire) == 0);
|
||||||
Self {
|
Self {
|
||||||
bindings: UnsafeCell::new(self.get_bindings().clone()),
|
bindings: UnsafeCell::new(self.get_bindings().clone()),
|
||||||
snapshots: UnsafeCell::new(self.iter_snapshots().cloned().collect()),
|
|
||||||
parent: self.parent,
|
parent: self.parent,
|
||||||
is_root_env: self.is_root_env,
|
might_be_refed: AtomicBool::new(self.might_be_refed.load(Ordering::Acquire)),
|
||||||
owner: AtomicUsize::new(0),
|
owner: AtomicUsize::new(0),
|
||||||
_unpin: PhantomPinned,
|
_unpin: PhantomPinned,
|
||||||
}
|
}
|
||||||
@ -931,45 +899,19 @@ mod env {
|
|||||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||||
let parent = self
|
let parent = self
|
||||||
.parent
|
.parent
|
||||||
.map(|e| format!("EnvRef({}, {})", e.0, e.1 .0))
|
.map(|e| format!("EnvRef({}, {})", e.0, e.1))
|
||||||
.unwrap_or("_".to_owned());
|
.unwrap_or("_".to_owned());
|
||||||
let data: Vec<String> = self
|
let data: Vec<String> = self
|
||||||
.get_bindings()
|
.get_bindings()
|
||||||
.iter()
|
.iter()
|
||||||
.map(|(k, v)| format!("{k}: {}", v.human_friendly_type()))
|
.map(|(k, v)| format!("{k}: {}@{}", v.1.human_friendly_type(), v.0))
|
||||||
.collect();
|
.collect();
|
||||||
let snapshots: Vec<String> = self.iter_snapshots().map(|s| s.to_string()).collect();
|
|
||||||
write!(
|
write!(
|
||||||
f,
|
f,
|
||||||
"Env {{\n parent: {parent},\n owner: {},\n is root: {},\n bindings:\n {},\n snapshots:\n {}\n}}",
|
"Env {{\n parent: {parent},\n owner: {},\n ref'ed?: {},\n bindings:\n {}\n}}",
|
||||||
self.owner.load(Ordering::Relaxed),
|
self.owner.load(Ordering::Relaxed),
|
||||||
self.is_root_env,
|
self.might_be_refed.load(Ordering::Relaxed),
|
||||||
data.join("\n "),
|
data.join("\n "),
|
||||||
snapshots.join("\n ")
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug, Clone, PartialEq)]
|
|
||||||
struct Snapshot {
|
|
||||||
/// The version of the owning environment's parent environment corresponding to this snapshot.
|
|
||||||
parent_snapshot: Option<SnapshotRef>,
|
|
||||||
/// CoW'ed data from the environment.
|
|
||||||
data: IndexMap<String, KclValue>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl fmt::Display for Snapshot {
|
|
||||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
|
||||||
let parent = self.parent_snapshot.map(|s| s.0.to_string()).unwrap_or("_".to_owned());
|
|
||||||
let data: Vec<String> = self
|
|
||||||
.data
|
|
||||||
.iter()
|
|
||||||
.map(|(k, v)| format!("{k}: {}", v.human_friendly_type()))
|
|
||||||
.collect();
|
|
||||||
write!(
|
|
||||||
f,
|
|
||||||
"Snapshot {{\n parent: {parent},\n data: {},\n }}",
|
|
||||||
data.join("\n ")
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -977,80 +919,47 @@ mod env {
|
|||||||
impl Environment {
|
impl Environment {
|
||||||
/// Create a new environment, parent points to it's surrounding lexical scope or the std
|
/// Create a new environment, parent points to it's surrounding lexical scope or the std
|
||||||
/// env if it's a root scope.
|
/// env if it's a root scope.
|
||||||
pub(super) fn new(parent: Option<EnvironmentRef>, is_root_env: bool, owner: usize) -> Self {
|
pub(super) fn new(parent: Option<EnvironmentRef>, might_be_refed: bool, owner: usize) -> Self {
|
||||||
assert!(parent.map(|p| p.is_regular()).unwrap_or(true));
|
assert!(parent.map(|p| p.is_regular()).unwrap_or(true));
|
||||||
Self {
|
Self {
|
||||||
bindings: UnsafeCell::new(IndexMap::new()),
|
bindings: UnsafeCell::new(IndexMap::new()),
|
||||||
snapshots: UnsafeCell::new(Vec::new()),
|
|
||||||
parent,
|
parent,
|
||||||
is_root_env,
|
might_be_refed: AtomicBool::new(might_be_refed),
|
||||||
owner: AtomicUsize::new(owner),
|
owner: AtomicUsize::new(owner),
|
||||||
_unpin: PhantomPinned,
|
_unpin: PhantomPinned,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mark this env as read-only (see module docs).
|
/// Mark this env as read-only (see module docs).
|
||||||
pub(super) fn read_only(&self) {
|
pub(super) fn read_only(&self) {
|
||||||
self.owner.store(0, Ordering::Release);
|
self.owner.store(0, Ordering::Release);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mark this env as owned (see module docs).
|
/// Mark this env as owned (see module docs).
|
||||||
pub(super) fn restore_owner(&self, owner: usize) {
|
pub(super) fn restore_owner(&self, owner: usize) {
|
||||||
self.owner.store(owner, Ordering::Release);
|
self.owner.store(owner, Ordering::Release);
|
||||||
}
|
}
|
||||||
|
|
||||||
// SAFETY: either the owner of the env is on the Rust stack or the env is read-only.
|
/// Mark this environment as possibly having external references.
|
||||||
fn snapshots_len(&self) -> usize {
|
pub(super) fn mark_as_refed(&self) {
|
||||||
unsafe { self.snapshots.get().as_ref().unwrap().len() }
|
self.might_be_refed.store(true, Ordering::Release);
|
||||||
}
|
}
|
||||||
|
|
||||||
// SAFETY: either the owner of the env is on the Rust stack or the env is read-only.
|
// SAFETY: either the owner of the env is on the Rust stack or the env is read-only.
|
||||||
fn get_shapshot(&self, index: usize) -> &Snapshot {
|
fn get_bindings(&self) -> &IndexMap<String, (usize, KclValue)> {
|
||||||
unsafe { &self.snapshots.get().as_ref().unwrap()[index] }
|
|
||||||
}
|
|
||||||
|
|
||||||
// SAFETY: either the owner of the env is on the Rust stack or the env is read-only.
|
|
||||||
fn iter_snapshots(&self) -> impl Iterator<Item = &Snapshot> {
|
|
||||||
unsafe { self.snapshots.get().as_ref().unwrap().iter() }
|
|
||||||
}
|
|
||||||
|
|
||||||
fn cur_snapshot(&self, owner: usize) -> Option<&mut Snapshot> {
|
|
||||||
assert!(owner > 0 && self.owner.load(Ordering::Acquire) == owner);
|
|
||||||
unsafe { self.snapshots.get().as_mut().unwrap().last_mut() }
|
|
||||||
}
|
|
||||||
|
|
||||||
// SAFETY: either the owner of the env is on the Rust stack or the env is read-only.
|
|
||||||
fn get_bindings(&self) -> &IndexMap<String, KclValue> {
|
|
||||||
unsafe { self.bindings.get().as_ref().unwrap() }
|
unsafe { self.bindings.get().as_ref().unwrap() }
|
||||||
}
|
}
|
||||||
|
|
||||||
// SAFETY do not call this function while a previous mutable reference is live
|
// SAFETY do not call this function while a previous mutable reference is live
|
||||||
#[allow(clippy::mut_from_ref)]
|
#[allow(clippy::mut_from_ref)]
|
||||||
fn get_mut_bindings(&self, owner: usize) -> &mut IndexMap<String, KclValue> {
|
fn get_mut_bindings(&self, owner: usize) -> &mut IndexMap<String, (usize, KclValue)> {
|
||||||
assert!(owner > 0 && self.owner.load(Ordering::Acquire) == owner);
|
assert!(owner > 0 && self.owner.load(Ordering::Acquire) == owner);
|
||||||
unsafe { self.bindings.get().as_mut().unwrap() }
|
unsafe { self.bindings.get().as_mut().unwrap() }
|
||||||
}
|
}
|
||||||
|
|
||||||
// True if the env is empty and not a root env.
|
// True if the env is empty and has no external references.
|
||||||
pub(super) fn is_empty(&self) -> bool {
|
pub(super) fn is_empty(&self) -> bool {
|
||||||
self.snapshots_len() == 0 && self.get_bindings().is_empty() && !self.is_root_env
|
self.get_bindings().is_empty() && !self.might_be_refed.load(Ordering::Acquire)
|
||||||
}
|
|
||||||
|
|
||||||
fn push_snapshot(&self, parent: Option<SnapshotRef>, owner: usize) -> SnapshotRef {
|
|
||||||
let env_owner = self.owner.load(Ordering::Acquire);
|
|
||||||
// The env is read-only, no need to snapshot.
|
|
||||||
if env_owner == 0 {
|
|
||||||
return SnapshotRef::none();
|
|
||||||
}
|
|
||||||
assert!(
|
|
||||||
owner > 0 && env_owner == owner,
|
|
||||||
"mutating owner: {owner}, env: {self}({env_owner})"
|
|
||||||
);
|
|
||||||
unsafe {
|
|
||||||
let snapshots = self.snapshots.get().as_mut().unwrap();
|
|
||||||
snapshots.push(Snapshot::new(parent));
|
|
||||||
SnapshotRef(snapshots.len())
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Possibly compress this environment by deleting the memory.
|
/// Possibly compress this environment by deleting the memory.
|
||||||
@ -1062,116 +971,61 @@ mod env {
|
|||||||
/// See module docs for more details.
|
/// See module docs for more details.
|
||||||
pub(super) fn compact(&self, owner: usize) {
|
pub(super) fn compact(&self, owner: usize) {
|
||||||
// Don't compress if there might be a closure or import referencing us.
|
// Don't compress if there might be a closure or import referencing us.
|
||||||
if self.snapshots_len() != 0 || self.is_root_env {
|
if self.might_be_refed.load(Ordering::Acquire) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
*self.get_mut_bindings(owner) = IndexMap::new();
|
*self.get_mut_bindings(owner) = IndexMap::new();
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(super) fn get(
|
pub(super) fn get(&self, key: &str, epoch: usize, owner: usize) -> Result<&KclValue, Option<EnvironmentRef>> {
|
||||||
&self,
|
|
||||||
key: &str,
|
|
||||||
snapshot: SnapshotRef,
|
|
||||||
owner: usize,
|
|
||||||
) -> Result<&KclValue, Option<EnvironmentRef>> {
|
|
||||||
let env_owner = self.owner.load(Ordering::Acquire);
|
let env_owner = self.owner.load(Ordering::Acquire);
|
||||||
assert!(env_owner == 0 || env_owner == owner);
|
assert!(env_owner == 0 || env_owner == owner);
|
||||||
|
|
||||||
self.get_unchecked(key, snapshot)
|
self.get_unchecked(key, epoch)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get a value from memory without checking the env's ownership invariant. Prefer to use `get`.
|
/// Get a value from memory without checking the env's ownership invariant. Prefer to use `get`.
|
||||||
pub(super) fn get_unchecked(
|
pub(super) fn get_unchecked(&self, key: &str, epoch: usize) -> Result<&KclValue, Option<EnvironmentRef>> {
|
||||||
&self,
|
|
||||||
key: &str,
|
|
||||||
snapshot: SnapshotRef,
|
|
||||||
) -> Result<&KclValue, Option<EnvironmentRef>> {
|
|
||||||
if snapshot.is_some() {
|
|
||||||
for i in snapshot.index()..self.snapshots_len() {
|
|
||||||
match self.get_shapshot(i).data.get(key) {
|
|
||||||
Some(KclValue::Tombstone { .. }) => return Err(self.parent(snapshot)),
|
|
||||||
Some(v) => return Ok(v),
|
|
||||||
None => {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
self.get_bindings()
|
self.get_bindings()
|
||||||
.get(key)
|
.get(key)
|
||||||
.and_then(|v| match v {
|
.and_then(|(e, v)| if *e <= epoch { Some(v) } else { None })
|
||||||
KclValue::Tombstone { .. } => None,
|
.ok_or(self.parent)
|
||||||
_ => Some(v),
|
|
||||||
})
|
|
||||||
.ok_or(self.parent(snapshot))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Find the `EnvironmentRef` of the parent of this environment corresponding to the specified snapshot.
|
pub(super) fn update(&self, key: &str, f: impl Fn(&mut KclValue, usize), epoch: usize, owner: usize) {
|
||||||
pub(super) fn parent(&self, snapshot: SnapshotRef) -> Option<EnvironmentRef> {
|
let Some((_, value)) = self.get_mut_bindings(owner).get_mut(key) else {
|
||||||
if snapshot.is_none() {
|
debug_assert!(false, "Missing memory entry for {key}");
|
||||||
return self.parent;
|
return;
|
||||||
}
|
};
|
||||||
|
|
||||||
match self.get_shapshot(snapshot.index()).parent_snapshot {
|
f(value, epoch);
|
||||||
Some(sr) => Some(EnvironmentRef(self.parent.unwrap().0, sr)),
|
|
||||||
None => self.parent,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Iterate over all values in the environment at the specified snapshot.
|
pub(super) fn parent(&self) -> Option<EnvironmentRef> {
|
||||||
pub(super) fn values<'a>(&'a self, snapshot: SnapshotRef) -> Box<dyn Iterator<Item = &'a KclValue> + 'a> {
|
self.parent
|
||||||
if snapshot.is_none() {
|
}
|
||||||
return Box::new(self.get_bindings().values());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
/// Iterate over all values in the environment at the specified epoch.
|
||||||
|
pub(super) fn values<'a>(&'a self, epoch: usize) -> Box<dyn Iterator<Item = &'a KclValue> + 'a> {
|
||||||
Box::new(
|
Box::new(
|
||||||
self.get_bindings()
|
self.get_bindings()
|
||||||
.iter()
|
.values()
|
||||||
.filter_map(move |(k, v)| {
|
.filter_map(move |(e, v)| (*e <= epoch).then_some(v)),
|
||||||
(!self.snapshot_contains_key(k, snapshot) && !matches!(v, KclValue::Tombstone { .. }))
|
|
||||||
.then_some(v)
|
|
||||||
})
|
|
||||||
.chain(
|
|
||||||
self.iter_snapshots()
|
|
||||||
.flat_map(|s| s.data.values().filter(|v| !matches!(v, KclValue::Tombstone { .. }))),
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Pure insert, panics if `key` is already in this environment.
|
/// Pure insert, panics if `key` is already in this environment.
|
||||||
///
|
///
|
||||||
/// Precondition: !self.contains_key(key)
|
/// Precondition: !self.contains_key(key)
|
||||||
pub(super) fn insert(&self, key: String, value: KclValue, owner: usize) {
|
pub(super) fn insert(&self, key: String, epoch: usize, value: KclValue, owner: usize) {
|
||||||
debug_assert!(!self.get_bindings().contains_key(&key));
|
debug_assert!(!self.get_bindings().contains_key(&key));
|
||||||
if let Some(s) = self.cur_snapshot(owner) {
|
self.get_mut_bindings(owner).insert(key, (epoch, value));
|
||||||
s.data.insert(key.clone(), tombstone());
|
|
||||||
}
|
|
||||||
self.get_mut_bindings(owner).insert(key, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
pub(super) fn insert_or_update(&self, key: String, value: KclValue, owner: usize) {
|
|
||||||
if let Some(s) = self.cur_snapshot(owner) {
|
|
||||||
if !s.data.contains_key(&key) {
|
|
||||||
let old_value = self.get_bindings().get(&key).cloned().unwrap_or_else(tombstone);
|
|
||||||
s.data.insert(key.clone(), old_value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
self.get_mut_bindings(owner).insert(key, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Was the key contained in this environment at the specified point in time.
|
|
||||||
fn snapshot_contains_key(&self, key: &str, snapshot: SnapshotRef) -> bool {
|
|
||||||
for i in snapshot.index()..self.snapshots_len() {
|
|
||||||
if self.get_shapshot(i).data.contains_key(key) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Is the key currently contained in this environment.
|
/// Is the key currently contained in this environment.
|
||||||
pub(super) fn contains_key(&self, key: &str) -> bool {
|
pub(super) fn contains_key(&self, key: &str) -> bool {
|
||||||
!matches!(self.get_bindings().get(key), Some(KclValue::Tombstone { .. }) | None)
|
self.get_bindings().contains_key(key)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Iterate over all key/value pairs currently in this environment where the value satisfies
|
/// Iterate over all key/value pairs currently in this environment where the value satisfies
|
||||||
@ -1186,61 +1040,14 @@ mod env {
|
|||||||
|
|
||||||
self.get_bindings()
|
self.get_bindings()
|
||||||
.iter()
|
.iter()
|
||||||
.filter(move |(_, v)| f(v) && !matches!(v, KclValue::Tombstone { .. }))
|
.filter_map(move |(k, (_, v))| f(v).then_some((k, v)))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Take all bindings from the environment.
|
/// Take all bindings from the environment.
|
||||||
pub(super) fn take_bindings(self: Pin<&mut Self>) -> impl Iterator<Item = (String, KclValue)> {
|
pub(super) fn take_bindings(self: Pin<&mut Self>) -> impl Iterator<Item = (String, (usize, KclValue))> {
|
||||||
// SAFETY: caller must have unique access since self is mut. We're not moving or invalidating `self`.
|
// SAFETY: caller must have unique access since self is mut. We're not moving or invalidating `self`.
|
||||||
let bindings = std::mem::take(unsafe { self.bindings.get().as_mut().unwrap() });
|
let bindings = std::mem::take(unsafe { self.bindings.get().as_mut().unwrap() });
|
||||||
bindings
|
bindings.into_iter()
|
||||||
.into_iter()
|
|
||||||
.filter(move |(_, v)| !matches!(v, KclValue::Tombstone { .. }))
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Returns an iterator over any snapshots in this environment, returning the ref to the
|
|
||||||
/// snapshot and its parent.
|
|
||||||
pub(super) fn snapshot_parents(&self) -> impl Iterator<Item = (SnapshotRef, SnapshotRef)> + '_ {
|
|
||||||
self.iter_snapshots()
|
|
||||||
.enumerate()
|
|
||||||
.map(|(i, s)| (SnapshotRef(i + 1), s.parent_snapshot.unwrap()))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Snapshot {
|
|
||||||
fn new(parent_snapshot: Option<SnapshotRef>) -> Self {
|
|
||||||
Snapshot {
|
|
||||||
parent_snapshot,
|
|
||||||
data: IndexMap::new(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Build a new snapshot of the specified environment at the current moment.
|
|
||||||
///
|
|
||||||
/// This is non-trival since we have to build the tree of parent snapshots.
|
|
||||||
pub(super) fn snapshot(mem: &ProgramMemory, env_ref: EnvironmentRef, owner: usize) -> SnapshotRef {
|
|
||||||
let env = mem.get_env(env_ref.index());
|
|
||||||
let parent_snapshot = env.parent.map(|p| snapshot(mem, p, owner));
|
|
||||||
|
|
||||||
let env = mem.get_env(env_ref.index());
|
|
||||||
if env.snapshots_len() == 0 {
|
|
||||||
return env.push_snapshot(parent_snapshot, owner);
|
|
||||||
}
|
|
||||||
|
|
||||||
let prev_snapshot = env.cur_snapshot(owner).unwrap();
|
|
||||||
if prev_snapshot.data.is_empty() && prev_snapshot.parent_snapshot == parent_snapshot {
|
|
||||||
// If the prev snapshot is empty, reuse it.
|
|
||||||
return SnapshotRef(env.snapshots_len());
|
|
||||||
}
|
|
||||||
|
|
||||||
env.push_snapshot(parent_snapshot, owner)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn tombstone() -> KclValue {
|
|
||||||
KclValue::Tombstone {
|
|
||||||
value: (),
|
|
||||||
meta: Vec::new(),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1270,16 +1077,9 @@ mod test {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn expect_small_number(value: &KclValue) -> Option<i64> {
|
|
||||||
match value {
|
|
||||||
KclValue::Number { value, .. } if value > &0.0 && value < &10.0 => Some(*value as i64),
|
|
||||||
_ => None,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[track_caller]
|
#[track_caller]
|
||||||
fn assert_get_from(mem: &Stack, key: &str, n: i64, snapshot: EnvironmentRef) {
|
fn assert_get_from(mem: &Stack, key: &str, n: i64, snapshot: EnvironmentRef) {
|
||||||
match mem.memory.get_from_unchecked(key, snapshot, sr()).unwrap() {
|
match mem.memory.get_from_unchecked(key, snapshot).unwrap() {
|
||||||
KclValue::Number { value, .. } => assert_eq!(*value as i64, n),
|
KclValue::Number { value, .. } => assert_eq!(*value as i64, n),
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
}
|
}
|
||||||
@ -1318,7 +1118,7 @@ mod test {
|
|||||||
assert_get(mem, "a", 1);
|
assert_get(mem, "a", 1);
|
||||||
mem.add("b".to_owned(), val(3), sr()).unwrap();
|
mem.add("b".to_owned(), val(3), sr()).unwrap();
|
||||||
assert_get(mem, "b", 3);
|
assert_get(mem, "b", 3);
|
||||||
mem.memory.get_from_unchecked("b", sn, sr()).unwrap_err();
|
mem.memory.get_from_unchecked("b", sn).unwrap_err();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -1337,11 +1137,11 @@ mod test {
|
|||||||
assert_get(mem, "b", 3);
|
assert_get(mem, "b", 3);
|
||||||
assert_get(mem, "c", 6);
|
assert_get(mem, "c", 6);
|
||||||
assert_get_from(mem, "a", 1, sn1);
|
assert_get_from(mem, "a", 1, sn1);
|
||||||
mem.memory.get_from_unchecked("b", sn1, sr()).unwrap_err();
|
mem.memory.get_from_unchecked("b", sn1).unwrap_err();
|
||||||
mem.memory.get_from_unchecked("c", sn1, sr()).unwrap_err();
|
mem.memory.get_from_unchecked("c", sn1).unwrap_err();
|
||||||
assert_get_from(mem, "a", 1, sn2);
|
assert_get_from(mem, "a", 1, sn2);
|
||||||
assert_get_from(mem, "b", 3, sn2);
|
assert_get_from(mem, "b", 3, sn2);
|
||||||
mem.memory.get_from_unchecked("c", sn2, sr()).unwrap_err();
|
mem.memory.get_from_unchecked("c", sn2).unwrap_err();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -1481,7 +1281,7 @@ mod test {
|
|||||||
|
|
||||||
mem.pop_env();
|
mem.pop_env();
|
||||||
// old snapshot still untouched
|
// old snapshot still untouched
|
||||||
mem.memory.get_from_unchecked("b", sn, sr()).unwrap_err();
|
mem.memory.get_from_unchecked("b", sn).unwrap_err();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -1503,62 +1303,22 @@ mod test {
|
|||||||
|
|
||||||
mem.pop_env();
|
mem.pop_env();
|
||||||
// old snapshots still untouched
|
// old snapshots still untouched
|
||||||
mem.memory.get_from_unchecked("b", sn1, sr()).unwrap_err();
|
mem.memory.get_from_unchecked("b", sn1).unwrap_err();
|
||||||
assert_get_from(mem, "b", 3, sn2);
|
assert_get_from(mem, "b", 3, sn2);
|
||||||
mem.memory.get_from_unchecked("c", sn2, sr()).unwrap_err();
|
mem.memory.get_from_unchecked("c", sn2).unwrap_err();
|
||||||
assert_get_from(mem, "b", 4, sn3);
|
assert_get_from(mem, "b", 4, sn3);
|
||||||
mem.memory.get_from_unchecked("c", sn3, sr()).unwrap_err();
|
mem.memory.get_from_unchecked("c", sn3).unwrap_err();
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn snap_env_two_updates() {
|
|
||||||
let mem = &mut Stack::new_for_tests();
|
|
||||||
mem.add("a".to_owned(), val(1), sr()).unwrap();
|
|
||||||
|
|
||||||
let sn1 = mem.snapshot();
|
|
||||||
mem.add("b".to_owned(), val(3), sr()).unwrap();
|
|
||||||
let sn2 = mem.snapshot();
|
|
||||||
|
|
||||||
let callee_env = mem.current_env.0;
|
|
||||||
mem.push_new_env_for_call(sn2);
|
|
||||||
let sn3 = mem.snapshot();
|
|
||||||
mem.add("b".to_owned(), val(4), sr()).unwrap();
|
|
||||||
let sn4 = mem.snapshot();
|
|
||||||
mem.insert_or_update("b".to_owned(), val(6));
|
|
||||||
mem.memory.update_with_env("b", val(7), callee_env, mem.id);
|
|
||||||
|
|
||||||
assert_get(mem, "b", 6);
|
|
||||||
assert_get_from(mem, "b", 3, sn3);
|
|
||||||
assert_get_from(mem, "b", 4, sn4);
|
|
||||||
|
|
||||||
let vals: Vec<_> = mem.walk_call_stack().filter_map(expect_small_number).collect();
|
|
||||||
let expected = [6, 1, 3, 1, 7];
|
|
||||||
assert_eq!(vals, expected);
|
|
||||||
|
|
||||||
let popped = mem.pop_env();
|
|
||||||
assert_get(mem, "b", 7);
|
|
||||||
mem.memory.get_from_unchecked("b", sn1, sr()).unwrap_err();
|
|
||||||
assert_get_from(mem, "b", 3, sn2);
|
|
||||||
|
|
||||||
let vals: Vec<_> = mem.walk_call_stack().filter_map(expect_small_number).collect();
|
|
||||||
let expected = [1, 7];
|
|
||||||
assert_eq!(vals, expected);
|
|
||||||
|
|
||||||
let popped_env = mem.memory.get_env(popped.index());
|
|
||||||
let sp: Vec<_> = popped_env.snapshot_parents().collect();
|
|
||||||
assert_eq!(
|
|
||||||
sp,
|
|
||||||
vec![(SnapshotRef(1), SnapshotRef(2)), (SnapshotRef(2), SnapshotRef(2))]
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn squash_env() {
|
fn squash_env() {
|
||||||
let mem = &mut Stack::new_for_tests();
|
let mem = &mut Stack::new_for_tests();
|
||||||
mem.add("a".to_owned(), val(1), sr()).unwrap();
|
mem.add("a".to_owned(), val(1), sr()).unwrap();
|
||||||
|
mem.add("b".to_owned(), val(3), sr()).unwrap();
|
||||||
let sn1 = mem.snapshot();
|
let sn1 = mem.snapshot();
|
||||||
mem.push_new_env_for_call(sn1);
|
mem.push_new_env_for_call(sn1);
|
||||||
mem.add("b".to_owned(), val(2), sr()).unwrap();
|
mem.add("b".to_owned(), val(2), sr()).unwrap();
|
||||||
|
|
||||||
let sn2 = mem.snapshot();
|
let sn2 = mem.snapshot();
|
||||||
mem.add(
|
mem.add(
|
||||||
"f".to_owned(),
|
"f".to_owned(),
|
||||||
@ -1581,11 +1341,10 @@ mod test {
|
|||||||
KclValue::Function {
|
KclValue::Function {
|
||||||
value: FunctionSource::User { memory, .. },
|
value: FunctionSource::User { memory, .. },
|
||||||
..
|
..
|
||||||
} if memory == &sn1 => {}
|
} if memory.0 == mem.current_env.0 => {}
|
||||||
v => panic!("{v:#?}"),
|
v => panic!("{v:#?}, expected {sn1:?}"),
|
||||||
}
|
}
|
||||||
assert_eq!(mem.memory.envs().len(), 1);
|
assert_eq!(mem.memory.envs().len(), 2);
|
||||||
assert_eq!(mem.current_env, EnvironmentRef(0, SnapshotRef(0)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -95,11 +95,46 @@ pub struct DefaultPlanes {
|
|||||||
#[serde(tag = "type", rename_all = "camelCase")]
|
#[serde(tag = "type", rename_all = "camelCase")]
|
||||||
pub struct TagIdentifier {
|
pub struct TagIdentifier {
|
||||||
pub value: String,
|
pub value: String,
|
||||||
pub info: Option<TagEngineInfo>,
|
// Multi-version representation of info about the tag. Kept ordered. The usize is the epoch at which the info
|
||||||
|
// was written. Note that there might be multiple versions of tag info from the same epoch, the version with
|
||||||
|
// the higher index will be the most recent.
|
||||||
|
#[serde(skip)]
|
||||||
|
pub info: Vec<(usize, TagEngineInfo)>,
|
||||||
#[serde(skip)]
|
#[serde(skip)]
|
||||||
pub meta: Vec<Metadata>,
|
pub meta: Vec<Metadata>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl TagIdentifier {
|
||||||
|
/// Get the tag info for this tag at a specified epoch.
|
||||||
|
pub fn get_info(&self, at_epoch: usize) -> Option<&TagEngineInfo> {
|
||||||
|
for (e, info) in self.info.iter().rev() {
|
||||||
|
if *e <= at_epoch {
|
||||||
|
return Some(info);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
None
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Get the most recent tag info for this tag.
|
||||||
|
pub fn get_cur_info(&self) -> Option<&TagEngineInfo> {
|
||||||
|
self.info.last().map(|i| &i.1)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Add info from a different instance of this tag.
|
||||||
|
pub fn merge_info(&mut self, other: &TagIdentifier) {
|
||||||
|
assert_eq!(&self.value, &other.value);
|
||||||
|
'new_info: for (oe, ot) in &other.info {
|
||||||
|
for (e, _) in &self.info {
|
||||||
|
if e > oe {
|
||||||
|
continue 'new_info;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
self.info.push((*oe, ot.clone()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl Eq for TagIdentifier {}
|
impl Eq for TagIdentifier {}
|
||||||
|
|
||||||
impl std::fmt::Display for TagIdentifier {
|
impl std::fmt::Display for TagIdentifier {
|
||||||
@ -114,7 +149,7 @@ impl std::str::FromStr for TagIdentifier {
|
|||||||
fn from_str(s: &str) -> Result<Self, Self::Err> {
|
fn from_str(s: &str) -> Result<Self, Self::Err> {
|
||||||
Ok(Self {
|
Ok(Self {
|
||||||
value: s.to_string(),
|
value: s.to_string(),
|
||||||
info: None,
|
info: Vec::new(),
|
||||||
meta: Default::default(),
|
meta: Default::default(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -962,11 +997,7 @@ mod tests {
|
|||||||
/// Convenience function to get a JSON value from memory and unwrap.
|
/// Convenience function to get a JSON value from memory and unwrap.
|
||||||
#[track_caller]
|
#[track_caller]
|
||||||
fn mem_get_json(memory: &Stack, env: EnvironmentRef, name: &str) -> KclValue {
|
fn mem_get_json(memory: &Stack, env: EnvironmentRef, name: &str) -> KclValue {
|
||||||
memory
|
memory.memory.get_from_unchecked(name, env).unwrap().to_owned()
|
||||||
.memory
|
|
||||||
.get_from_unchecked(name, env, SourceRange::default())
|
|
||||||
.unwrap()
|
|
||||||
.to_owned()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test(flavor = "multi_thread")]
|
#[tokio::test(flavor = "multi_thread")]
|
||||||
@ -1976,4 +2007,41 @@ let w = f() + f()
|
|||||||
let result = ctx2.run_mock(program2, true).await.unwrap();
|
let result = ctx2.run_mock(program2, true).await.unwrap();
|
||||||
assert_eq!(result.variables.get("z").unwrap().as_f64().unwrap(), 3.0);
|
assert_eq!(result.variables.get("z").unwrap().as_f64().unwrap(), 3.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[tokio::test(flavor = "multi_thread")]
|
||||||
|
async fn read_tag_version() {
|
||||||
|
let ast = r#"fn bar(t) {
|
||||||
|
return startSketchOn(XY)
|
||||||
|
|> startProfileAt([0,0], %)
|
||||||
|
|> angledLine({
|
||||||
|
angle = -60,
|
||||||
|
length = segLen(t),
|
||||||
|
}, %)
|
||||||
|
|> line(end = [0, 0])
|
||||||
|
|> close()
|
||||||
|
}
|
||||||
|
|
||||||
|
sketch = startSketchOn(XY)
|
||||||
|
|> startProfileAt([0,0], %)
|
||||||
|
|> line(end = [0, 10])
|
||||||
|
|> line(end = [10, 0], tag = $tag0)
|
||||||
|
|> line(end = [0, 0])
|
||||||
|
|
||||||
|
fn foo() {
|
||||||
|
// tag0 tags an edge
|
||||||
|
return bar(tag0)
|
||||||
|
}
|
||||||
|
|
||||||
|
solid = sketch |> extrude(length = 10)
|
||||||
|
// tag0 tags a face
|
||||||
|
sketch2 = startSketchOn(solid, tag0)
|
||||||
|
|> startProfileAt([0,0], %)
|
||||||
|
|> line(end = [0, 1])
|
||||||
|
|> line(end = [1, 0])
|
||||||
|
|> line(end = [0, 0])
|
||||||
|
|
||||||
|
foo() |> extrude(length = 1)
|
||||||
|
"#;
|
||||||
|
parse_execute(ast).await.unwrap();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -118,7 +118,7 @@ impl ExecState {
|
|||||||
ExecOutcome {
|
ExecOutcome {
|
||||||
variables: self
|
variables: self
|
||||||
.stack()
|
.stack()
|
||||||
.find_all_in_env(main_ref, |_| true)
|
.find_all_in_env(main_ref)
|
||||||
.map(|(k, v)| (k.clone(), v.clone()))
|
.map(|(k, v)| (k.clone(), v.clone()))
|
||||||
.collect(),
|
.collect(),
|
||||||
operations: self.global.operations,
|
operations: self.global.operations,
|
||||||
@ -145,7 +145,7 @@ impl ExecState {
|
|||||||
ExecOutcome {
|
ExecOutcome {
|
||||||
variables: self
|
variables: self
|
||||||
.stack()
|
.stack()
|
||||||
.find_all_in_env(main_ref, |_| true)
|
.find_all_in_env(main_ref)
|
||||||
.map(|(k, v)| (k.clone(), v.clone()))
|
.map(|(k, v)| (k.clone(), v.clone()))
|
||||||
.collect(),
|
.collect(),
|
||||||
operations: Default::default(),
|
operations: Default::default(),
|
||||||
|
@ -2149,7 +2149,7 @@ impl From<&Node<TagDeclarator>> for TagIdentifier {
|
|||||||
fn from(tag: &Node<TagDeclarator>) -> Self {
|
fn from(tag: &Node<TagDeclarator>) -> Self {
|
||||||
TagIdentifier {
|
TagIdentifier {
|
||||||
value: tag.name.clone(),
|
value: tag.name.clone(),
|
||||||
info: None,
|
info: Vec::new(),
|
||||||
meta: vec![Metadata {
|
meta: vec![Metadata {
|
||||||
source_range: tag.into(),
|
source_range: tag.into(),
|
||||||
}],
|
}],
|
||||||
|
@ -286,13 +286,16 @@ impl Args {
|
|||||||
exec_state: &'e mut ExecState,
|
exec_state: &'e mut ExecState,
|
||||||
tag: &'a TagIdentifier,
|
tag: &'a TagIdentifier,
|
||||||
) -> Result<&'e crate::execution::TagEngineInfo, KclError> {
|
) -> Result<&'e crate::execution::TagEngineInfo, KclError> {
|
||||||
if let KclValue::TagIdentifier(t) = exec_state.stack().get_from_call_stack(&tag.value, self.source_range)? {
|
if let (epoch, KclValue::TagIdentifier(t)) =
|
||||||
Ok(t.info.as_ref().ok_or_else(|| {
|
exec_state.stack().get_from_call_stack(&tag.value, self.source_range)?
|
||||||
|
{
|
||||||
|
let info = t.get_info(epoch).ok_or_else(|| {
|
||||||
KclError::Type(KclErrorDetails {
|
KclError::Type(KclErrorDetails {
|
||||||
message: format!("Tag `{}` does not have engine info", tag.value),
|
message: format!("Tag `{}` does not have engine info", tag.value),
|
||||||
source_ranges: vec![self.source_range],
|
source_ranges: vec![self.source_range],
|
||||||
})
|
})
|
||||||
})?)
|
})?;
|
||||||
|
Ok(info)
|
||||||
} else {
|
} else {
|
||||||
Err(KclError::Type(KclErrorDetails {
|
Err(KclError::Type(KclErrorDetails {
|
||||||
message: format!("Tag `{}` does not exist", tag.value),
|
message: format!("Tag `{}` does not exist", tag.value),
|
||||||
@ -309,7 +312,7 @@ impl Args {
|
|||||||
where
|
where
|
||||||
'e: 'a,
|
'e: 'a,
|
||||||
{
|
{
|
||||||
if let Some(info) = &tag.info {
|
if let Some(info) = tag.get_cur_info() {
|
||||||
return Ok(info);
|
return Ok(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -324,7 +327,7 @@ impl Args {
|
|||||||
where
|
where
|
||||||
'e: 'a,
|
'e: 'a,
|
||||||
{
|
{
|
||||||
if let Some(info) = &tag.info {
|
if let Some(info) = tag.get_cur_info() {
|
||||||
if info.surface.is_some() {
|
if info.surface.is_some() {
|
||||||
return Ok(info);
|
return Ok(info);
|
||||||
}
|
}
|
||||||
|
@ -139,7 +139,7 @@ async fn inner_circle(
|
|||||||
|
|
||||||
let mut new_sketch = sketch.clone();
|
let mut new_sketch = sketch.clone();
|
||||||
if let Some(tag) = &tag {
|
if let Some(tag) = &tag {
|
||||||
new_sketch.add_tag(tag, ¤t_path);
|
new_sketch.add_tag(tag, ¤t_path, exec_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
new_sketch.paths.push(current_path);
|
new_sketch.paths.push(current_path);
|
||||||
@ -251,7 +251,7 @@ async fn inner_circle_three_point(
|
|||||||
|
|
||||||
let mut new_sketch = sketch.clone();
|
let mut new_sketch = sketch.clone();
|
||||||
if let Some(tag) = &tag {
|
if let Some(tag) = &tag {
|
||||||
new_sketch.add_tag(tag, ¤t_path);
|
new_sketch.add_tag(tag, ¤t_path, exec_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
new_sketch.paths.push(current_path);
|
new_sketch.paths.push(current_path);
|
||||||
@ -414,7 +414,7 @@ async fn inner_polygon(
|
|||||||
};
|
};
|
||||||
|
|
||||||
if let Some(tag) = &tag {
|
if let Some(tag) = &tag {
|
||||||
sketch.add_tag(tag, ¤t_path);
|
sketch.add_tag(tag, ¤t_path, exec_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
sketch.paths.push(current_path);
|
sketch.paths.push(current_path);
|
||||||
@ -450,7 +450,7 @@ async fn inner_polygon(
|
|||||||
};
|
};
|
||||||
|
|
||||||
if let Some(tag) = &tag {
|
if let Some(tag) = &tag {
|
||||||
sketch.add_tag(tag, ¤t_path);
|
sketch.add_tag(tag, ¤t_path, exec_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
sketch.paths.push(current_path);
|
sketch.paths.push(current_path);
|
||||||
|
@ -253,7 +253,7 @@ async fn straight_line(
|
|||||||
|
|
||||||
let mut new_sketch = sketch.clone();
|
let mut new_sketch = sketch.clone();
|
||||||
if let Some(tag) = &tag {
|
if let Some(tag) = &tag {
|
||||||
new_sketch.add_tag(tag, ¤t_path);
|
new_sketch.add_tag(tag, ¤t_path, exec_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
new_sketch.paths.push(current_path);
|
new_sketch.paths.push(current_path);
|
||||||
@ -489,7 +489,7 @@ async fn inner_angled_line(
|
|||||||
|
|
||||||
let mut new_sketch = sketch.clone();
|
let mut new_sketch = sketch.clone();
|
||||||
if let Some(tag) = &tag {
|
if let Some(tag) = &tag {
|
||||||
new_sketch.add_tag(tag, ¤t_path);
|
new_sketch.add_tag(tag, ¤t_path, exec_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
new_sketch.paths.push(current_path);
|
new_sketch.paths.push(current_path);
|
||||||
@ -1280,14 +1280,17 @@ pub(crate) async fn inner_start_profile_at(
|
|||||||
meta: vec![args.source_range.into()],
|
meta: vec![args.source_range.into()],
|
||||||
tags: if let Some(tag) = &tag {
|
tags: if let Some(tag) = &tag {
|
||||||
let mut tag_identifier: TagIdentifier = tag.into();
|
let mut tag_identifier: TagIdentifier = tag.into();
|
||||||
tag_identifier.info = Some(TagEngineInfo {
|
tag_identifier.info = vec![(
|
||||||
id: current_path.geo_meta.id,
|
exec_state.stack().current_epoch(),
|
||||||
sketch: path_id,
|
TagEngineInfo {
|
||||||
path: Some(Path::Base {
|
id: current_path.geo_meta.id,
|
||||||
base: current_path.clone(),
|
sketch: path_id,
|
||||||
}),
|
path: Some(Path::Base {
|
||||||
surface: None,
|
base: current_path.clone(),
|
||||||
});
|
}),
|
||||||
|
surface: None,
|
||||||
|
},
|
||||||
|
)];
|
||||||
IndexMap::from([(tag.name.to_string(), tag_identifier)])
|
IndexMap::from([(tag.name.to_string(), tag_identifier)])
|
||||||
} else {
|
} else {
|
||||||
Default::default()
|
Default::default()
|
||||||
@ -1442,7 +1445,7 @@ pub(crate) async fn inner_close(
|
|||||||
|
|
||||||
let mut new_sketch = sketch.clone();
|
let mut new_sketch = sketch.clone();
|
||||||
if let Some(tag) = &tag {
|
if let Some(tag) = &tag {
|
||||||
new_sketch.add_tag(tag, ¤t_path);
|
new_sketch.add_tag(tag, ¤t_path, exec_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
new_sketch.paths.push(current_path);
|
new_sketch.paths.push(current_path);
|
||||||
@ -1595,7 +1598,7 @@ pub(crate) async fn inner_arc(
|
|||||||
|
|
||||||
let mut new_sketch = sketch.clone();
|
let mut new_sketch = sketch.clone();
|
||||||
if let Some(tag) = &tag {
|
if let Some(tag) = &tag {
|
||||||
new_sketch.add_tag(tag, ¤t_path);
|
new_sketch.add_tag(tag, ¤t_path, exec_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
new_sketch.paths.push(current_path);
|
new_sketch.paths.push(current_path);
|
||||||
@ -1697,7 +1700,7 @@ pub(crate) async fn inner_arc_to(
|
|||||||
|
|
||||||
let mut new_sketch = sketch.clone();
|
let mut new_sketch = sketch.clone();
|
||||||
if let Some(tag) = &tag {
|
if let Some(tag) = &tag {
|
||||||
new_sketch.add_tag(tag, ¤t_path);
|
new_sketch.add_tag(tag, ¤t_path, exec_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
new_sketch.paths.push(current_path);
|
new_sketch.paths.push(current_path);
|
||||||
@ -1848,7 +1851,7 @@ async fn inner_tangential_arc(
|
|||||||
|
|
||||||
let mut new_sketch = sketch.clone();
|
let mut new_sketch = sketch.clone();
|
||||||
if let Some(tag) = &tag {
|
if let Some(tag) = &tag {
|
||||||
new_sketch.add_tag(tag, ¤t_path);
|
new_sketch.add_tag(tag, ¤t_path, exec_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
new_sketch.paths.push(current_path);
|
new_sketch.paths.push(current_path);
|
||||||
@ -1945,7 +1948,7 @@ async fn inner_tangential_arc_to(
|
|||||||
|
|
||||||
let mut new_sketch = sketch.clone();
|
let mut new_sketch = sketch.clone();
|
||||||
if let Some(tag) = &tag {
|
if let Some(tag) = &tag {
|
||||||
new_sketch.add_tag(tag, ¤t_path);
|
new_sketch.add_tag(tag, ¤t_path, exec_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
new_sketch.paths.push(current_path);
|
new_sketch.paths.push(current_path);
|
||||||
@ -2029,7 +2032,7 @@ async fn inner_tangential_arc_to_relative(
|
|||||||
|
|
||||||
let mut new_sketch = sketch.clone();
|
let mut new_sketch = sketch.clone();
|
||||||
if let Some(tag) = &tag {
|
if let Some(tag) = &tag {
|
||||||
new_sketch.add_tag(tag, ¤t_path);
|
new_sketch.add_tag(tag, ¤t_path, exec_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
new_sketch.paths.push(current_path);
|
new_sketch.paths.push(current_path);
|
||||||
@ -2125,7 +2128,7 @@ async fn inner_bezier_curve(
|
|||||||
|
|
||||||
let mut new_sketch = sketch.clone();
|
let mut new_sketch = sketch.clone();
|
||||||
if let Some(tag) = &tag {
|
if let Some(tag) = &tag {
|
||||||
new_sketch.add_tag(tag, ¤t_path);
|
new_sketch.add_tag(tag, ¤t_path, exec_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
new_sketch.paths.push(current_path);
|
new_sketch.paths.push(current_path);
|
||||||
@ -2254,7 +2257,7 @@ mod tests {
|
|||||||
|
|
||||||
str_json = serde_json::to_string(&TagIdentifier {
|
str_json = serde_json::to_string(&TagIdentifier {
|
||||||
value: "thing".to_string(),
|
value: "thing".to_string(),
|
||||||
info: None,
|
info: Vec::new(),
|
||||||
meta: Default::default(),
|
meta: Default::default(),
|
||||||
})
|
})
|
||||||
.unwrap();
|
.unwrap();
|
||||||
@ -2263,7 +2266,7 @@ mod tests {
|
|||||||
data,
|
data,
|
||||||
crate::std::sketch::FaceTag::Tag(Box::new(TagIdentifier {
|
crate::std::sketch::FaceTag::Tag(Box::new(TagIdentifier {
|
||||||
value: "thing".to_string(),
|
value: "thing".to_string(),
|
||||||
info: None,
|
info: Vec::new(),
|
||||||
meta: Default::default()
|
meta: Default::default()
|
||||||
}))
|
}))
|
||||||
);
|
);
|
||||||
|
@ -284,56 +284,7 @@ description: Variables in memory after executing angled_line.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
103,
|
|
||||||
142,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
19.93,
|
|
||||||
15.04
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 141,
|
|
||||||
"start": 135,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
23.08,
|
|
||||||
5.19
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
103,
|
|
||||||
142,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 141,
|
|
||||||
"start": 135,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -353,55 +304,6 @@ description: Variables in memory after executing angled_line.kcl
|
|||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
103,
|
|
||||||
142,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
19.93,
|
|
||||||
15.04
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 141,
|
|
||||||
"start": 135,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
23.08,
|
|
||||||
5.19
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
103,
|
|
||||||
142,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 141,
|
|
||||||
"start": 135,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -249,109 +249,11 @@ description: Variables in memory after executing artifact_graph_example_code1.kc
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
95,
|
|
||||||
131,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-5.0,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 130,
|
|
||||||
"start": 124,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
5.55,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
95,
|
|
||||||
131,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 130,
|
|
||||||
"start": 124,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg02": {
|
"seg02": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg02",
|
"value": "seg02"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
137,
|
|
||||||
171,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
5.55,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 170,
|
|
||||||
"start": 164,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
5.55,
|
|
||||||
-5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
137,
|
|
||||||
171,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 170,
|
|
||||||
"start": 164,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -779,109 +681,11 @@ description: Variables in memory after executing artifact_graph_example_code1.kc
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
95,
|
|
||||||
131,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-5.0,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 130,
|
|
||||||
"start": 124,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
5.55,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
95,
|
|
||||||
131,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 130,
|
|
||||||
"start": 124,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg02": {
|
"seg02": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg02",
|
"value": "seg02"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
137,
|
|
||||||
171,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
5.55,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 170,
|
|
||||||
"start": 164,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
5.55,
|
|
||||||
-5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
137,
|
|
||||||
171,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 170,
|
|
||||||
"start": 164,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -949,110 +753,12 @@ description: Variables in memory after executing artifact_graph_example_code1.kc
|
|||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
95,
|
|
||||||
131,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-5.0,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 130,
|
|
||||||
"start": 124,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
5.55,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
95,
|
|
||||||
131,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 130,
|
|
||||||
"start": 124,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg02": {
|
"seg02": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg02",
|
"value": "seg02"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
137,
|
|
||||||
171,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
5.55,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 170,
|
|
||||||
"start": 164,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
5.55,
|
|
||||||
-5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
137,
|
|
||||||
171,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 170,
|
|
||||||
"start": 164,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"sketch001": {
|
"sketch001": {
|
||||||
"type": "Sketch",
|
"type": "Sketch",
|
||||||
@ -1240,109 +946,11 @@ description: Variables in memory after executing artifact_graph_example_code1.kc
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
95,
|
|
||||||
131,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-5.0,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 130,
|
|
||||||
"start": 124,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
5.55,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
95,
|
|
||||||
131,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 130,
|
|
||||||
"start": 124,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg02": {
|
"seg02": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg02",
|
"value": "seg02"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
137,
|
|
||||||
171,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
5.55,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 170,
|
|
||||||
"start": 164,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
5.55,
|
|
||||||
-5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
137,
|
|
||||||
171,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 170,
|
|
||||||
"start": 164,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -1715,109 +1323,11 @@ description: Variables in memory after executing artifact_graph_example_code1.kc
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
95,
|
|
||||||
131,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-5.0,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 130,
|
|
||||||
"start": 124,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
5.55,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
95,
|
|
||||||
131,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 130,
|
|
||||||
"start": 124,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg02": {
|
"seg02": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg02",
|
"value": "seg02"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
137,
|
|
||||||
171,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
5.55,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 170,
|
|
||||||
"start": 164,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
5.55,
|
|
||||||
-5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
137,
|
|
||||||
171,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 170,
|
|
||||||
"start": 164,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
|
@ -6,119 +6,17 @@ description: Variables in memory after executing artifact_graph_example_code_no_
|
|||||||
"rectangleSegmentA001": {
|
"rectangleSegmentA001": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "rectangleSegmentA001",
|
"value": "rectangleSegmentA001"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
71,
|
|
||||||
121,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
5.82,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 120,
|
|
||||||
"start": 99,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "rectangleSegmentA001"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-5.72,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": null
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"rectangleSegmentB001": {
|
"rectangleSegmentB001": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "rectangleSegmentB001",
|
"value": "rectangleSegmentB001"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
127,
|
|
||||||
227,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-5.72,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 226,
|
|
||||||
"start": 205,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "rectangleSegmentB001"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-5.72,
|
|
||||||
8.21
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": null
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"rectangleSegmentC001": {
|
"rectangleSegmentC001": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "rectangleSegmentC001",
|
"value": "rectangleSegmentC001"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
233,
|
|
||||||
353,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-5.72,
|
|
||||||
8.21
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 352,
|
|
||||||
"start": 331,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "rectangleSegmentC001"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
5.82,
|
|
||||||
8.21
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": null
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"sketch003": {
|
"sketch003": {
|
||||||
"type": "Sketch",
|
"type": "Sketch",
|
||||||
@ -311,117 +209,15 @@ description: Variables in memory after executing artifact_graph_example_code_no_
|
|||||||
"tags": {
|
"tags": {
|
||||||
"rectangleSegmentA001": {
|
"rectangleSegmentA001": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "rectangleSegmentA001",
|
"value": "rectangleSegmentA001"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
71,
|
|
||||||
121,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
5.82,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 120,
|
|
||||||
"start": 99,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "rectangleSegmentA001"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-5.72,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": null
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"rectangleSegmentB001": {
|
"rectangleSegmentB001": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "rectangleSegmentB001",
|
"value": "rectangleSegmentB001"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
127,
|
|
||||||
227,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-5.72,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 226,
|
|
||||||
"start": 205,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "rectangleSegmentB001"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-5.72,
|
|
||||||
8.21
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": null
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"rectangleSegmentC001": {
|
"rectangleSegmentC001": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "rectangleSegmentC001",
|
"value": "rectangleSegmentC001"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
233,
|
|
||||||
353,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-5.72,
|
|
||||||
8.21
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 352,
|
|
||||||
"start": 331,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "rectangleSegmentC001"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
5.82,
|
|
||||||
8.21
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": null
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
|
@ -205,56 +205,7 @@ description: Variables in memory after executing artifact_graph_sketch_on_face_e
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
92,
|
|
||||||
125,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
4.0,
|
|
||||||
8.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 124,
|
|
||||||
"start": 118,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
9.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
92,
|
|
||||||
125,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 124,
|
|
||||||
"start": 118,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -629,56 +580,7 @@ description: Variables in memory after executing artifact_graph_sketch_on_face_e
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
92,
|
|
||||||
125,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
4.0,
|
|
||||||
8.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 124,
|
|
||||||
"start": 118,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
9.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
92,
|
|
||||||
125,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 124,
|
|
||||||
"start": 118,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -1258,56 +1160,7 @@ description: Variables in memory after executing artifact_graph_sketch_on_face_e
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
92,
|
|
||||||
125,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
4.0,
|
|
||||||
8.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 124,
|
|
||||||
"start": 118,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
9.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
92,
|
|
||||||
125,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 124,
|
|
||||||
"start": 118,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -1391,56 +1244,7 @@ description: Variables in memory after executing artifact_graph_sketch_on_face_e
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg02": {
|
"seg02": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg02",
|
"value": "seg02"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
577,
|
|
||||||
611,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
1.0,
|
|
||||||
1.5
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 610,
|
|
||||||
"start": 604,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
1.5,
|
|
||||||
3.5
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
577,
|
|
||||||
611,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 610,
|
|
||||||
"start": 604,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -2137,56 +1941,7 @@ description: Variables in memory after executing artifact_graph_sketch_on_face_e
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
92,
|
|
||||||
125,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
4.0,
|
|
||||||
8.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 124,
|
|
||||||
"start": 118,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
9.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
92,
|
|
||||||
125,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 124,
|
|
||||||
"start": 118,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -2270,56 +2025,7 @@ description: Variables in memory after executing artifact_graph_sketch_on_face_e
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg02": {
|
"seg02": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg02",
|
"value": "seg02"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
577,
|
|
||||||
611,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
1.0,
|
|
||||||
1.5
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 610,
|
|
||||||
"start": 604,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
1.5,
|
|
||||||
3.5
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
577,
|
|
||||||
611,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 610,
|
|
||||||
"start": 604,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -2378,110 +2084,12 @@ description: Variables in memory after executing artifact_graph_sketch_on_face_e
|
|||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
92,
|
|
||||||
125,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
4.0,
|
|
||||||
8.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 124,
|
|
||||||
"start": 118,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
9.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
92,
|
|
||||||
125,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 124,
|
|
||||||
"start": 118,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg02": {
|
"seg02": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg02",
|
"value": "seg02"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
577,
|
|
||||||
611,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
1.0,
|
|
||||||
1.5
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 610,
|
|
||||||
"start": 604,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
1.5,
|
|
||||||
3.5
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
577,
|
|
||||||
611,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 610,
|
|
||||||
"start": 604,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"sketch001": {
|
"sketch001": {
|
||||||
"type": "Sketch",
|
"type": "Sketch",
|
||||||
@ -2641,56 +2249,7 @@ description: Variables in memory after executing artifact_graph_sketch_on_face_e
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
92,
|
|
||||||
125,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
4.0,
|
|
||||||
8.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 124,
|
|
||||||
"start": 118,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
9.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
92,
|
|
||||||
125,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 124,
|
|
||||||
"start": 118,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -3019,56 +2578,7 @@ description: Variables in memory after executing artifact_graph_sketch_on_face_e
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
92,
|
|
||||||
125,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
4.0,
|
|
||||||
8.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 124,
|
|
||||||
"start": 118,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
9.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
92,
|
|
||||||
125,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 124,
|
|
||||||
"start": 118,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -3597,56 +3107,7 @@ description: Variables in memory after executing artifact_graph_sketch_on_face_e
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
92,
|
|
||||||
125,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
4.0,
|
|
||||||
8.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 124,
|
|
||||||
"start": 118,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
9.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
92,
|
|
||||||
125,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 124,
|
|
||||||
"start": 118,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -3730,56 +3191,7 @@ description: Variables in memory after executing artifact_graph_sketch_on_face_e
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg02": {
|
"seg02": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg02",
|
"value": "seg02"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
577,
|
|
||||||
611,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
1.0,
|
|
||||||
1.5
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 610,
|
|
||||||
"start": 604,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
1.5,
|
|
||||||
3.5
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
577,
|
|
||||||
611,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 610,
|
|
||||||
"start": 604,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -4430,56 +3842,7 @@ description: Variables in memory after executing artifact_graph_sketch_on_face_e
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
92,
|
|
||||||
125,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
4.0,
|
|
||||||
8.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 124,
|
|
||||||
"start": 118,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
9.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
92,
|
|
||||||
125,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 124,
|
|
||||||
"start": 118,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -4563,56 +3926,7 @@ description: Variables in memory after executing artifact_graph_sketch_on_face_e
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg02": {
|
"seg02": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg02",
|
"value": "seg02"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
577,
|
|
||||||
611,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
1.0,
|
|
||||||
1.5
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 610,
|
|
||||||
"start": 604,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
1.5,
|
|
||||||
3.5
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
577,
|
|
||||||
611,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 610,
|
|
||||||
"start": 604,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
|
@ -236,162 +236,15 @@ description: Variables in memory after executing basic_fillet_cube_close_opposit
|
|||||||
"tags": {
|
"tags": {
|
||||||
"thing": {
|
"thing": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing",
|
"value": "thing"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing2": {
|
"thing2": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing2",
|
"value": "thing2"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
130,
|
|
||||||
165,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
10.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 164,
|
|
||||||
"start": 157,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
10.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
130,
|
|
||||||
165,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 164,
|
|
||||||
"start": 157,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing3": {
|
"thing3": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing3",
|
"value": "thing3"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
171,
|
|
||||||
191,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
10.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 190,
|
|
||||||
"start": 183,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing3"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
171,
|
|
||||||
191,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 190,
|
|
||||||
"start": 183,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing3"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -427,163 +280,16 @@ description: Variables in memory after executing basic_fillet_cube_close_opposit
|
|||||||
"thing": {
|
"thing": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing",
|
"value": "thing"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing2": {
|
"thing2": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing2",
|
"value": "thing2"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
130,
|
|
||||||
165,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
10.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 164,
|
|
||||||
"start": 157,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
10.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
130,
|
|
||||||
165,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 164,
|
|
||||||
"start": 157,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing3": {
|
"thing3": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing3",
|
"value": "thing3"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
171,
|
|
||||||
191,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
10.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 190,
|
|
||||||
"start": 183,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing3"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
171,
|
|
||||||
191,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 190,
|
|
||||||
"start": 183,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing3"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -226,109 +226,11 @@ description: Variables in memory after executing basic_fillet_cube_end.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"thing": {
|
"thing": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing",
|
"value": "thing"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing2": {
|
"thing2": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing2",
|
"value": "thing2"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
130,
|
|
||||||
165,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
10.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 164,
|
|
||||||
"start": 157,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
10.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
130,
|
|
||||||
165,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 164,
|
|
||||||
"start": 157,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -364,109 +266,11 @@ description: Variables in memory after executing basic_fillet_cube_end.kcl
|
|||||||
"thing": {
|
"thing": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing",
|
"value": "thing"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing2": {
|
"thing2": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing2",
|
"value": "thing2"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
130,
|
|
||||||
165,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
10.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 164,
|
|
||||||
"start": 157,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
10.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
130,
|
|
||||||
165,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 164,
|
|
||||||
"start": 157,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -246,215 +246,19 @@ description: Variables in memory after executing basic_fillet_cube_next_adjacent
|
|||||||
"tags": {
|
"tags": {
|
||||||
"thing": {
|
"thing": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing",
|
"value": "thing"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing1": {
|
"thing1": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing1",
|
"value": "thing1"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
105,
|
|
||||||
139,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 138,
|
|
||||||
"start": 131,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing1"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
10.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
105,
|
|
||||||
139,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 138,
|
|
||||||
"start": 131,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing1"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing2": {
|
"thing2": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing2",
|
"value": "thing2"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
145,
|
|
||||||
180,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
10.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 179,
|
|
||||||
"start": 172,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
10.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
145,
|
|
||||||
180,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 179,
|
|
||||||
"start": 172,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing3": {
|
"thing3": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing3",
|
"value": "thing3"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
186,
|
|
||||||
206,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
10.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 205,
|
|
||||||
"start": 198,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing3"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
186,
|
|
||||||
206,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 205,
|
|
||||||
"start": 198,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing3"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -483,217 +287,21 @@ description: Variables in memory after executing basic_fillet_cube_next_adjacent
|
|||||||
"thing": {
|
"thing": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing",
|
"value": "thing"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing1": {
|
"thing1": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing1",
|
"value": "thing1"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
105,
|
|
||||||
139,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 138,
|
|
||||||
"start": 131,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing1"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
10.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
105,
|
|
||||||
139,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 138,
|
|
||||||
"start": 131,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing1"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing2": {
|
"thing2": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing2",
|
"value": "thing2"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
145,
|
|
||||||
180,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
10.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 179,
|
|
||||||
"start": 172,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
10.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
145,
|
|
||||||
180,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 179,
|
|
||||||
"start": 172,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing3": {
|
"thing3": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing3",
|
"value": "thing3"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
186,
|
|
||||||
206,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
10.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 205,
|
|
||||||
"start": 198,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing3"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
186,
|
|
||||||
206,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 205,
|
|
||||||
"start": 198,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing3"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -246,215 +246,19 @@ description: Variables in memory after executing basic_fillet_cube_previous_adja
|
|||||||
"tags": {
|
"tags": {
|
||||||
"thing": {
|
"thing": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing",
|
"value": "thing"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing1": {
|
"thing1": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing1",
|
"value": "thing1"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
105,
|
|
||||||
139,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 138,
|
|
||||||
"start": 131,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing1"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
10.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
105,
|
|
||||||
139,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 138,
|
|
||||||
"start": 131,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing1"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing2": {
|
"thing2": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing2",
|
"value": "thing2"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
145,
|
|
||||||
180,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
10.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 179,
|
|
||||||
"start": 172,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
10.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
145,
|
|
||||||
180,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 179,
|
|
||||||
"start": 172,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing3": {
|
"thing3": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing3",
|
"value": "thing3"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
186,
|
|
||||||
206,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
10.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 205,
|
|
||||||
"start": 198,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing3"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
186,
|
|
||||||
206,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 205,
|
|
||||||
"start": 198,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing3"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -483,217 +287,21 @@ description: Variables in memory after executing basic_fillet_cube_previous_adja
|
|||||||
"thing": {
|
"thing": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing",
|
"value": "thing"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing1": {
|
"thing1": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing1",
|
"value": "thing1"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
105,
|
|
||||||
139,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 138,
|
|
||||||
"start": 131,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing1"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
10.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
105,
|
|
||||||
139,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 138,
|
|
||||||
"start": 131,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing1"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing2": {
|
"thing2": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing2",
|
"value": "thing2"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
145,
|
|
||||||
180,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
10.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 179,
|
|
||||||
"start": 172,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
10.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
145,
|
|
||||||
180,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 179,
|
|
||||||
"start": 172,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing3": {
|
"thing3": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing3",
|
"value": "thing3"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
186,
|
|
||||||
206,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
10.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 205,
|
|
||||||
"start": 198,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing3"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
186,
|
|
||||||
206,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 205,
|
|
||||||
"start": 198,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing3"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -226,109 +226,11 @@ description: Variables in memory after executing basic_fillet_cube_start.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"thing": {
|
"thing": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing",
|
"value": "thing"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing2": {
|
"thing2": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing2",
|
"value": "thing2"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
130,
|
|
||||||
165,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
10.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 164,
|
|
||||||
"start": 157,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
10.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
130,
|
|
||||||
165,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 164,
|
|
||||||
"start": 157,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -364,109 +266,11 @@ description: Variables in memory after executing basic_fillet_cube_start.kcl
|
|||||||
"thing": {
|
"thing": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing",
|
"value": "thing"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
99,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 98,
|
|
||||||
"start": 92,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"thing2": {
|
"thing2": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "thing2",
|
"value": "thing2"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
130,
|
|
||||||
165,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
10.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 164,
|
|
||||||
"start": 157,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
10.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
130,
|
|
||||||
165,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 164,
|
|
||||||
"start": 157,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "thing2"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -182,56 +182,7 @@ description: Variables in memory after executing big_number_angle_to_match_lengt
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
101,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 100,
|
|
||||||
"start": 94,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
1.0,
|
|
||||||
3.82
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
101,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 100,
|
|
||||||
"start": 94,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -251,55 +202,6 @@ description: Variables in memory after executing big_number_angle_to_match_lengt
|
|||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
101,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 100,
|
|
||||||
"start": 94,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
1.0,
|
|
||||||
3.82
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
101,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 100,
|
|
||||||
"start": 94,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -182,56 +182,7 @@ description: Variables in memory after executing big_number_angle_to_match_lengt
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
101,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 100,
|
|
||||||
"start": 94,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
1.0,
|
|
||||||
3.82
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
101,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 100,
|
|
||||||
"start": 94,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -251,55 +202,6 @@ description: Variables in memory after executing big_number_angle_to_match_lengt
|
|||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
101,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 100,
|
|
||||||
"start": 94,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
1.0,
|
|
||||||
3.82
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
66,
|
|
||||||
101,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 100,
|
|
||||||
"start": 94,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -259,215 +259,19 @@ description: Variables in memory after executing fillet-and-shell.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"edge1": {
|
"edge1": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge1",
|
"value": "edge1"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
860,
|
|
||||||
908,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 907,
|
|
||||||
"start": 901,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge1"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
38.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
860,
|
|
||||||
908,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 907,
|
|
||||||
"start": 901,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge1"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"edge2": {
|
"edge2": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge2",
|
"value": "edge2"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
914,
|
|
||||||
971,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
38.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 970,
|
|
||||||
"start": 964,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge2"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
38.0,
|
|
||||||
73.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
914,
|
|
||||||
971,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 970,
|
|
||||||
"start": 964,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge2"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"edge3": {
|
"edge3": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge3",
|
"value": "edge3"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
977,
|
|
||||||
1026,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
38.0,
|
|
||||||
73.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1025,
|
|
||||||
"start": 1019,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge3"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
73.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
977,
|
|
||||||
1026,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1025,
|
|
||||||
"start": 1019,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge3"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"edge4": {
|
"edge4": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge4",
|
"value": "edge4"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1032,
|
|
||||||
1051,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
73.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1050,
|
|
||||||
"start": 1044,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge4"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1032,
|
|
||||||
1051,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1050,
|
|
||||||
"start": 1044,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge4"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -570,218 +374,22 @@ description: Variables in memory after executing fillet-and-shell.kcl
|
|||||||
"edge1": {
|
"edge1": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge1",
|
"value": "edge1"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
860,
|
|
||||||
908,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 907,
|
|
||||||
"start": 901,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge1"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
38.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
860,
|
|
||||||
908,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 907,
|
|
||||||
"start": 901,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge1"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"edge2": {
|
"edge2": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge2",
|
"value": "edge2"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
914,
|
|
||||||
971,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
38.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 970,
|
|
||||||
"start": 964,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge2"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
38.0,
|
|
||||||
73.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
914,
|
|
||||||
971,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 970,
|
|
||||||
"start": 964,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge2"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"edge3": {
|
"edge3": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge3",
|
"value": "edge3"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
977,
|
|
||||||
1026,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
38.0,
|
|
||||||
73.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1025,
|
|
||||||
"start": 1019,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge3"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
73.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
977,
|
|
||||||
1026,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1025,
|
|
||||||
"start": 1019,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge3"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"edge4": {
|
"edge4": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge4",
|
"value": "edge4"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1032,
|
|
||||||
1051,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
73.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1050,
|
|
||||||
"start": 1044,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge4"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1032,
|
|
||||||
1051,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1050,
|
|
||||||
"start": 1044,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge4"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"lengthBetweenScrews": {
|
"lengthBetweenScrews": {
|
||||||
"type": "Number",
|
"type": "Number",
|
||||||
|
@ -6,107 +6,12 @@ description: Variables in memory after executing flush_batch_on_end.kcl
|
|||||||
"arc000": {
|
"arc000": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "arc000",
|
"value": "arc000"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
282,
|
|
||||||
374,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ccw": true,
|
|
||||||
"center": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"from": [
|
|
||||||
0.2734,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"radius": 0.2734375,
|
|
||||||
"tag": {
|
|
||||||
"end": 371,
|
|
||||||
"start": 364,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "arc000"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.2734,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "Circle",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
282,
|
|
||||||
374,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 371,
|
|
||||||
"start": 364,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "arc000"
|
|
||||||
},
|
|
||||||
"type": "extrudeArc"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"arc001": {
|
"arc001": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "arc001",
|
"value": "arc001"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
437,
|
|
||||||
529,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ccw": true,
|
|
||||||
"center": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"from": [
|
|
||||||
0.182,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"radius": 0.182,
|
|
||||||
"tag": {
|
|
||||||
"end": 526,
|
|
||||||
"start": 519,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "arc001"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.182,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "Circle",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": null
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"innerDiameter": {
|
"innerDiameter": {
|
||||||
"type": "Number",
|
"type": "Number",
|
||||||
@ -216,47 +121,7 @@ description: Variables in memory after executing flush_batch_on_end.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"arc001": {
|
"arc001": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "arc001",
|
"value": "arc001"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
437,
|
|
||||||
529,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ccw": true,
|
|
||||||
"center": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"from": [
|
|
||||||
0.182,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"radius": 0.182,
|
|
||||||
"tag": {
|
|
||||||
"end": 526,
|
|
||||||
"start": 519,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "arc001"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.182,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "Circle",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": null
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -375,62 +240,7 @@ description: Variables in memory after executing flush_batch_on_end.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"arc000": {
|
"arc000": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "arc000",
|
"value": "arc000"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
282,
|
|
||||||
374,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ccw": true,
|
|
||||||
"center": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"from": [
|
|
||||||
0.2734,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"radius": 0.2734375,
|
|
||||||
"tag": {
|
|
||||||
"end": 371,
|
|
||||||
"start": 364,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "arc000"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.2734,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "Circle",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
282,
|
|
||||||
374,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 371,
|
|
||||||
"start": 364,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "arc000"
|
|
||||||
},
|
|
||||||
"type": "extrudeArc"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -557,62 +367,7 @@ description: Variables in memory after executing flush_batch_on_end.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"arc000": {
|
"arc000": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "arc000",
|
"value": "arc000"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
282,
|
|
||||||
374,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ccw": true,
|
|
||||||
"center": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"from": [
|
|
||||||
0.2734,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"radius": 0.2734375,
|
|
||||||
"tag": {
|
|
||||||
"end": 371,
|
|
||||||
"start": 364,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "arc000"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.2734,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "Circle",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
282,
|
|
||||||
374,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 371,
|
|
||||||
"start": 364,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "arc000"
|
|
||||||
},
|
|
||||||
"type": "extrudeArc"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -724,62 +479,7 @@ description: Variables in memory after executing flush_batch_on_end.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"arc000": {
|
"arc000": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "arc000",
|
"value": "arc000"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
282,
|
|
||||||
374,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ccw": true,
|
|
||||||
"center": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"from": [
|
|
||||||
0.2734,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"radius": 0.2734375,
|
|
||||||
"tag": {
|
|
||||||
"end": 371,
|
|
||||||
"start": 364,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "arc000"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.2734,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "Circle",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
282,
|
|
||||||
374,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 371,
|
|
||||||
"start": 364,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "arc000"
|
|
||||||
},
|
|
||||||
"type": "extrudeArc"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
|
@ -6,41 +6,7 @@ description: Variables in memory after executing helix_simple.kcl
|
|||||||
"edge001": {
|
"edge001": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge001",
|
"value": "edge001"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
102,
|
|
||||||
137,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 136,
|
|
||||||
"start": 128,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge001"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": null
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"helixPath": {
|
"helixPath": {
|
||||||
"type": "Helix",
|
"type": "Helix",
|
||||||
@ -144,41 +110,7 @@ description: Variables in memory after executing helix_simple.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"edge001": {
|
"edge001": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge001",
|
"value": "edge001"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
102,
|
|
||||||
137,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 136,
|
|
||||||
"start": 128,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge001"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
10.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": null
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@ -3130,9 +3130,9 @@ DATA;
|
|||||||
#3114 = CARTESIAN_POINT('NONE', (0.048520456863299005, 0.0259241924227962, -0.0635));
|
#3114 = CARTESIAN_POINT('NONE', (0.048520456863299005, 0.0259241924227962, -0.0635));
|
||||||
#3115 = CARTESIAN_POINT('NONE', (0.049982162299247915, 0.02652276054865913, -0.0635));
|
#3115 = CARTESIAN_POINT('NONE', (0.049982162299247915, 0.02652276054865913, -0.0635));
|
||||||
#3116 = CARTESIAN_POINT('NONE', (0.04998454467929601, 0.0265237361328811, -0.0635));
|
#3116 = CARTESIAN_POINT('NONE', (0.04998454467929601, 0.0265237361328811, -0.0635));
|
||||||
#3117 = CARTESIAN_POINT('NONE', (0.05122913065921652, 0.02734098682825494, -0.0635));
|
#3117 = CARTESIAN_POINT('NONE', (0.05122913065921652, 0.027340986828254945, -0.0635));
|
||||||
#3118 = CARTESIAN_POINT('NONE', (0.05123115916423112, 0.0273423188351717, -0.0635));
|
#3118 = CARTESIAN_POINT('NONE', (0.05123115916423112, 0.0273423188351717, -0.0635));
|
||||||
#3119 = CARTESIAN_POINT('NONE', (0.05233131396489245, 0.02841012801459595, -0.0635));
|
#3119 = CARTESIAN_POINT('NONE', (0.05233131396489244, 0.02841012801459595, -0.0635));
|
||||||
#3120 = CARTESIAN_POINT('NONE', (0.05233310706682833, 0.02841186839759081, -0.0635));
|
#3120 = CARTESIAN_POINT('NONE', (0.05233310706682833, 0.02841186839759081, -0.0635));
|
||||||
#3121 = CARTESIAN_POINT('NONE', (0.05325132178577861, 0.029746480521153525, -0.0635));
|
#3121 = CARTESIAN_POINT('NONE', (0.05325132178577861, 0.029746480521153525, -0.0635));
|
||||||
#3122 = CARTESIAN_POINT('NONE', (0.053252818350252196, 0.029748655756475853, -0.0635));
|
#3122 = CARTESIAN_POINT('NONE', (0.053252818350252196, 0.029748655756475853, -0.0635));
|
||||||
@ -3146,7 +3146,7 @@ DATA;
|
|||||||
#3130 = CARTESIAN_POINT('NONE', (0.05377787147891932, 0.03626137218954927, -0.0635));
|
#3130 = CARTESIAN_POINT('NONE', (0.05377787147891932, 0.03626137218954927, -0.0635));
|
||||||
#3131 = CARTESIAN_POINT('NONE', (0.05311782068660796, 0.037671541246280096, -0.0635));
|
#3131 = CARTESIAN_POINT('NONE', (0.05311782068660796, 0.037671541246280096, -0.0635));
|
||||||
#3132 = CARTESIAN_POINT('NONE', (0.053116744894044256, 0.03767383962907499, -0.0635));
|
#3132 = CARTESIAN_POINT('NONE', (0.053116744894044256, 0.03767383962907499, -0.0635));
|
||||||
#3133 = CARTESIAN_POINT('NONE', (0.052245347789390925, 0.038873214849470754, -0.0635));
|
#3133 = CARTESIAN_POINT('NONE', (0.052245347789390925, 0.03887321484947075, -0.0635));
|
||||||
#3134 = CARTESIAN_POINT('NONE', (0.052243927531228765, 0.038875169667127556, -0.0635));
|
#3134 = CARTESIAN_POINT('NONE', (0.052243927531228765, 0.038875169667127556, -0.0635));
|
||||||
#3135 = CARTESIAN_POINT('NONE', (0.051106743972721975, 0.03993868147771257, -0.0635));
|
#3135 = CARTESIAN_POINT('NONE', (0.051106743972721975, 0.03993868147771257, -0.0635));
|
||||||
#3136 = CARTESIAN_POINT('NONE', (0.05110489051897256, 0.03994041485658367, -0.0635));
|
#3136 = CARTESIAN_POINT('NONE', (0.05110489051897256, 0.03994041485658367, -0.0635));
|
||||||
@ -3170,7 +3170,7 @@ DATA;
|
|||||||
#3154 = CARTESIAN_POINT('NONE', (0.03885487097880529, 0.03668141824494867, -0.0635));
|
#3154 = CARTESIAN_POINT('NONE', (0.03885487097880529, 0.03668141824494867, -0.0635));
|
||||||
#3155 = CARTESIAN_POINT('NONE', (0.03836988050154247, 0.03505690447829534, -0.0635));
|
#3155 = CARTESIAN_POINT('NONE', (0.03836988050154247, 0.03505690447829534, -0.0635));
|
||||||
#3156 = CARTESIAN_POINT('NONE', (0.038369090033361856, 0.03505425674292381, -0.0635));
|
#3156 = CARTESIAN_POINT('NONE', (0.038369090033361856, 0.03505425674292381, -0.0635));
|
||||||
#3157 = CARTESIAN_POINT('NONE', (0.038238002370059775, 0.03335915927576296, -0.0635));
|
#3157 = CARTESIAN_POINT('NONE', (0.03823800237005977, 0.03335915927576296, -0.0635));
|
||||||
#3158 = CARTESIAN_POINT('NONE', (0.03823778871508804, 0.03335639649860827, -0.0635));
|
#3158 = CARTESIAN_POINT('NONE', (0.03823778871508804, 0.03335639649860827, -0.0635));
|
||||||
#3159 = CARTESIAN_POINT('NONE', (0.03846049670306094, 0.031704183926544456, -0.0635));
|
#3159 = CARTESIAN_POINT('NONE', (0.03846049670306094, 0.031704183926544456, -0.0635));
|
||||||
#3160 = CARTESIAN_POINT('NONE', (0.03846085968663755, 0.031701491045906485, -0.0635));
|
#3160 = CARTESIAN_POINT('NONE', (0.03846085968663755, 0.031701491045906485, -0.0635));
|
||||||
@ -3178,7 +3178,7 @@ DATA;
|
|||||||
#3162 = CARTESIAN_POINT('NONE', (0.038993806610203005, 0.03018950640785312, -0.0635));
|
#3162 = CARTESIAN_POINT('NONE', (0.038993806610203005, 0.03018950640785312, -0.0635));
|
||||||
#3163 = CARTESIAN_POINT('NONE', (0.03976112563142085, 0.028891173470131464, -0.0635));
|
#3163 = CARTESIAN_POINT('NONE', (0.03976112563142085, 0.028891173470131464, -0.0635));
|
||||||
#3164 = CARTESIAN_POINT('NONE', (0.039762376256534296, 0.02888905736492276, -0.0635));
|
#3164 = CARTESIAN_POINT('NONE', (0.039762376256534296, 0.02888905736492276, -0.0635));
|
||||||
#3165 = B_SPLINE_CURVE_WITH_KNOTS('NONE', 2, (#3102, #3103, #3104, #3105, #3106, #3107, #3108, #3109, #3110, #3111, #3112, #3113, #3114, #3115, #3116, #3117, #3118, #3119, #3120, #3121, #3122, #3123, #3124, #3125, #3126, #3127, #3128, #3129, #3130, #3131, #3132, #3133, #3134, #3135, #3136, #3137, #3138, #3139, #3140, #3141, #3142, #3143, #3144, #3145, #3146, #3147, #3148, #3149, #3150, #3151, #3152, #3153, #3154, #3155, #3156, #3157, #3158, #3159, #3160, #3161, #3162, #3163, #3164), .UNSPECIFIED., .F., .F., (3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3), (0, 0.01639344262295082, 0.03278688524590164, 0.04918032786885246, 0.06557377049180328, 0.0819672131147541, 0.09836065573770492, 0.11475409836065574, 0.13114754098360656, 0.14754098360655737, 0.1639344262295082, 0.18032786885245902, 0.19672131147540983, 0.21311475409836067, 0.22950819672131148, 0.24590163934426232, 0.26229508196721313, 0.27868852459016397, 0.29508196721311475, 0.3114754098360656, 0.3278688524590164, 0.3442622950819672, 0.36065573770491804, 0.3770491803278689, 0.39344262295081966, 0.4098360655737705, 0.42622950819672134, 0.4426229508196722, 0.45901639344262296, 0.4754098360655738, 0.49180327868852464, 0.5081967213114753, 0.5245901639344261, 0.540983606557377, 0.5573770491803278, 0.5737704918032787, 0.5901639344262295, 0.6065573770491803, 0.6229508196721312, 0.639344262295082, 0.6557377049180328, 0.6721311475409836, 0.6885245901639344, 0.7049180327868853, 0.721311475409836, 0.7377049180327868, 0.7540983606557377, 0.7704918032786885, 0.7868852459016393, 0.8032786885245902, 0.819672131147541, 0.8360655737704918, 0.8524590163934427, 0.8688524590163934, 0.8852459016393442, 0.9016393442622951, 0.9180327868852459, 0.9344262295081968, 0.9508196721311475, 0.9672131147540983, 0.9836065573770492, 1), .UNSPECIFIED.);
|
#3165 = B_SPLINE_CURVE_WITH_KNOTS('NONE', 2, (#3102, #3103, #3104, #3105, #3106, #3107, #3108, #3109, #3110, #3111, #3112, #3113, #3114, #3115, #3116, #3117, #3118, #3119, #3120, #3121, #3122, #3123, #3124, #3125, #3126, #3127, #3128, #3129, #3130, #3131, #3132, #3133, #3134, #3135, #3136, #3137, #3138, #3139, #3140, #3141, #3142, #3143, #3144, #3145, #3146, #3147, #3148, #3149, #3150, #3151, #3152, #3153, #3154, #3155, #3156, #3157, #3158, #3159, #3160, #3161, #3162, #3163, #3164), .UNSPECIFIED., .F., .F., (3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3), (-1, -0.9836065573770492, -0.9672131147540983, -0.9508196721311475, -0.9344262295081968, -0.9180327868852459, -0.9016393442622951, -0.8852459016393442, -0.8688524590163934, -0.8524590163934427, -0.8360655737704918, -0.819672131147541, -0.8032786885245902, -0.7868852459016393, -0.7704918032786885, -0.7540983606557377, -0.7377049180327868, -0.721311475409836, -0.7049180327868853, -0.6885245901639344, -0.6721311475409836, -0.6557377049180328, -0.639344262295082, -0.6229508196721312, -0.6065573770491803, -0.5901639344262295, -0.5737704918032787, -0.5573770491803278, -0.540983606557377, -0.5245901639344261, -0.5081967213114753, -0.49180327868852464, -0.4754098360655738, -0.45901639344262296, -0.4426229508196722, -0.42622950819672134, -0.4098360655737705, -0.39344262295081966, -0.3770491803278689, -0.36065573770491804, -0.3442622950819672, -0.3278688524590164, -0.3114754098360656, -0.29508196721311475, -0.27868852459016397, -0.26229508196721313, -0.24590163934426232, -0.22950819672131148, -0.21311475409836067, -0.19672131147540983, -0.18032786885245902, -0.1639344262295082, -0.14754098360655737, -0.13114754098360656, -0.11475409836065574, -0.09836065573770492, -0.0819672131147541, -0.06557377049180328, -0.04918032786885246, -0.03278688524590164, -0.01639344262295082, -0), .UNSPECIFIED.);
|
||||||
#3166 = DIRECTION('NONE', (0, 0, 1));
|
#3166 = DIRECTION('NONE', (0, 0, 1));
|
||||||
#3167 = VECTOR('NONE', #3166, 1);
|
#3167 = VECTOR('NONE', #3166, 1);
|
||||||
#3168 = CARTESIAN_POINT('NONE', (0.039762376256534296, 0.02888905736492276, -0.063501));
|
#3168 = CARTESIAN_POINT('NONE', (0.039762376256534296, 0.02888905736492276, -0.063501));
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -765,374 +765,31 @@ description: Variables in memory after executing exhaust-manifold.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1905,
|
|
||||||
1939,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
4.3,
|
|
||||||
-1.25
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1938,
|
|
||||||
"start": 1932,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
1.7,
|
|
||||||
-1.25
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1905,
|
|
||||||
1939,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1938,
|
|
||||||
"start": 1932,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg03": {
|
"seg03": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg03",
|
"value": "seg03"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2103,
|
|
||||||
2137,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.1573,
|
|
||||||
-1.25
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2136,
|
|
||||||
"start": 2130,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg03"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-1.2427,
|
|
||||||
-1.25
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2103,
|
|
||||||
2137,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2136,
|
|
||||||
"start": 2130,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg03"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg04": {
|
"seg04": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg04",
|
"value": "seg04"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2143,
|
|
||||||
2186,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-1.2427,
|
|
||||||
-1.25
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2185,
|
|
||||||
"start": 2179,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg04"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-1.2427,
|
|
||||||
1.35
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2143,
|
|
||||||
2186,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2185,
|
|
||||||
"start": 2179,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg04"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg05": {
|
"seg05": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg05",
|
"value": "seg05"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2192,
|
|
||||||
2225,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-1.2427,
|
|
||||||
1.35
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2224,
|
|
||||||
"start": 2218,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg05"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
1.8573,
|
|
||||||
1.35
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2192,
|
|
||||||
2225,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2224,
|
|
||||||
"start": 2218,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg05"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg07": {
|
"seg07": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg07",
|
"value": "seg07"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2390,
|
|
||||||
2433,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
4.1713,
|
|
||||||
1.35
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2432,
|
|
||||||
"start": 2426,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg07"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
7.2713,
|
|
||||||
1.35
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2390,
|
|
||||||
2433,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2432,
|
|
||||||
"start": 2426,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg07"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg08": {
|
"seg08": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg08",
|
"value": "seg08"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2439,
|
|
||||||
2490,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
7.2713,
|
|
||||||
1.35
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2489,
|
|
||||||
"start": 2483,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg08"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
7.2713,
|
|
||||||
-1.25
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2439,
|
|
||||||
2490,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2489,
|
|
||||||
"start": 2483,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg08"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg09": {
|
"seg09": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg09",
|
"value": "seg09"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2496,
|
|
||||||
2540,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
7.2713,
|
|
||||||
-1.25
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2539,
|
|
||||||
"start": 2533,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg09"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
5.8713,
|
|
||||||
-1.25
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2496,
|
|
||||||
2540,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2539,
|
|
||||||
"start": 2533,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg09"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -1211,380 +868,37 @@ description: Variables in memory after executing exhaust-manifold.kcl
|
|||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1905,
|
|
||||||
1939,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
4.3,
|
|
||||||
-1.25
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1938,
|
|
||||||
"start": 1932,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
1.7,
|
|
||||||
-1.25
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1905,
|
|
||||||
1939,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1938,
|
|
||||||
"start": 1932,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg03": {
|
"seg03": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg03",
|
"value": "seg03"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2103,
|
|
||||||
2137,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.1573,
|
|
||||||
-1.25
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2136,
|
|
||||||
"start": 2130,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg03"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-1.2427,
|
|
||||||
-1.25
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2103,
|
|
||||||
2137,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2136,
|
|
||||||
"start": 2130,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg03"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg04": {
|
"seg04": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg04",
|
"value": "seg04"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2143,
|
|
||||||
2186,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-1.2427,
|
|
||||||
-1.25
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2185,
|
|
||||||
"start": 2179,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg04"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-1.2427,
|
|
||||||
1.35
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2143,
|
|
||||||
2186,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2185,
|
|
||||||
"start": 2179,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg04"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg05": {
|
"seg05": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg05",
|
"value": "seg05"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2192,
|
|
||||||
2225,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-1.2427,
|
|
||||||
1.35
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2224,
|
|
||||||
"start": 2218,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg05"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
1.8573,
|
|
||||||
1.35
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2192,
|
|
||||||
2225,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2224,
|
|
||||||
"start": 2218,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg05"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg07": {
|
"seg07": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg07",
|
"value": "seg07"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2390,
|
|
||||||
2433,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
4.1713,
|
|
||||||
1.35
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2432,
|
|
||||||
"start": 2426,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg07"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
7.2713,
|
|
||||||
1.35
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2390,
|
|
||||||
2433,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2432,
|
|
||||||
"start": 2426,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg07"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg08": {
|
"seg08": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg08",
|
"value": "seg08"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2439,
|
|
||||||
2490,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
7.2713,
|
|
||||||
1.35
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2489,
|
|
||||||
"start": 2483,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg08"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
7.2713,
|
|
||||||
-1.25
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2439,
|
|
||||||
2490,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2489,
|
|
||||||
"start": 2483,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg08"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg09": {
|
"seg09": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg09",
|
"value": "seg09"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2496,
|
|
||||||
2540,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
7.2713,
|
|
||||||
-1.25
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2539,
|
|
||||||
"start": 2533,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg09"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
5.8713,
|
|
||||||
-1.25
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2496,
|
|
||||||
2540,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2539,
|
|
||||||
"start": 2533,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg09"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"wallThickness": {
|
"wallThickness": {
|
||||||
"type": "Number",
|
"type": "Number",
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -19,218 +19,22 @@ description: Variables in memory after executing mounting-plate.kcl
|
|||||||
"edge1": {
|
"edge1": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge1",
|
"value": "edge1"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
630,
|
|
||||||
698,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-3.0,
|
|
||||||
-5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 697,
|
|
||||||
"start": 691,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge1"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
3.0,
|
|
||||||
-5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
630,
|
|
||||||
698,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 697,
|
|
||||||
"start": 691,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge1"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"edge2": {
|
"edge2": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge2",
|
"value": "edge2"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
706,
|
|
||||||
772,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
3.0,
|
|
||||||
-5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 771,
|
|
||||||
"start": 765,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge2"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
3.0,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
706,
|
|
||||||
772,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 771,
|
|
||||||
"start": 765,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge2"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"edge3": {
|
"edge3": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge3",
|
"value": "edge3"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
780,
|
|
||||||
848,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
3.0,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 847,
|
|
||||||
"start": 841,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge3"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-3.0,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
780,
|
|
||||||
848,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 847,
|
|
||||||
"start": 841,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge3"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"edge4": {
|
"edge4": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge4",
|
"value": "edge4"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
856,
|
|
||||||
875,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-3.0,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 874,
|
|
||||||
"start": 868,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge4"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-3.0,
|
|
||||||
-5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
856,
|
|
||||||
875,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 874,
|
|
||||||
"start": 868,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge4"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"filletRadius": {
|
"filletRadius": {
|
||||||
"type": "Number",
|
"type": "Number",
|
||||||
@ -514,215 +318,19 @@ description: Variables in memory after executing mounting-plate.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"edge1": {
|
"edge1": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge1",
|
"value": "edge1"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
630,
|
|
||||||
698,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-3.0,
|
|
||||||
-5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 697,
|
|
||||||
"start": 691,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge1"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
3.0,
|
|
||||||
-5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
630,
|
|
||||||
698,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 697,
|
|
||||||
"start": 691,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge1"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"edge2": {
|
"edge2": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge2",
|
"value": "edge2"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
706,
|
|
||||||
772,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
3.0,
|
|
||||||
-5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 771,
|
|
||||||
"start": 765,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge2"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
3.0,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
706,
|
|
||||||
772,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 771,
|
|
||||||
"start": 765,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge2"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"edge3": {
|
"edge3": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge3",
|
"value": "edge3"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
780,
|
|
||||||
848,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
3.0,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 847,
|
|
||||||
"start": 841,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge3"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-3.0,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
780,
|
|
||||||
848,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 847,
|
|
||||||
"start": 841,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge3"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"edge4": {
|
"edge4": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge4",
|
"value": "edge4"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
856,
|
|
||||||
875,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-3.0,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 874,
|
|
||||||
"start": 868,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge4"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-3.0,
|
|
||||||
-5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
856,
|
|
||||||
875,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 874,
|
|
||||||
"start": 868,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge4"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -984,215 +592,19 @@ description: Variables in memory after executing mounting-plate.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"edge1": {
|
"edge1": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge1",
|
"value": "edge1"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
630,
|
|
||||||
698,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-3.0,
|
|
||||||
-5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 697,
|
|
||||||
"start": 691,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge1"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
3.0,
|
|
||||||
-5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
630,
|
|
||||||
698,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 697,
|
|
||||||
"start": 691,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge1"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"edge2": {
|
"edge2": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge2",
|
"value": "edge2"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
706,
|
|
||||||
772,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
3.0,
|
|
||||||
-5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 771,
|
|
||||||
"start": 765,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge2"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
3.0,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
706,
|
|
||||||
772,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 771,
|
|
||||||
"start": 765,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge2"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"edge3": {
|
"edge3": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge3",
|
"value": "edge3"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
780,
|
|
||||||
848,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
3.0,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 847,
|
|
||||||
"start": 841,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge3"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-3.0,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
780,
|
|
||||||
848,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 847,
|
|
||||||
"start": 841,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge3"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"edge4": {
|
"edge4": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "edge4",
|
"value": "edge4"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
856,
|
|
||||||
875,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-3.0,
|
|
||||||
5.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 874,
|
|
||||||
"start": 868,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge4"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-3.0,
|
|
||||||
-5.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
856,
|
|
||||||
875,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 874,
|
|
||||||
"start": 868,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "edge4"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
|
@ -1127,56 +1127,7 @@ description: Variables in memory after executing poopy-shoe.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
367,
|
|
||||||
424,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
1.5625,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 423,
|
|
||||||
"start": 417,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
3.0,
|
|
||||||
2.4898
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
367,
|
|
||||||
424,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 423,
|
|
||||||
"start": 417,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -1196,218 +1147,22 @@ description: Variables in memory after executing poopy-shoe.kcl
|
|||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
367,
|
|
||||||
424,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
1.5625,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 423,
|
|
||||||
"start": 417,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
3.0,
|
|
||||||
2.4898
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
367,
|
|
||||||
424,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 423,
|
|
||||||
"start": 417,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg02": {
|
"seg02": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg02",
|
"value": "seg02"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1168,
|
|
||||||
1225,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
1.5625,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1224,
|
|
||||||
"start": 1218,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
3.0,
|
|
||||||
2.4898
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1168,
|
|
||||||
1225,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1224,
|
|
||||||
"start": 1218,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg03": {
|
"seg03": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg03",
|
"value": "seg03"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
3511,
|
|
||||||
3547,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
7.0,
|
|
||||||
1.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 3546,
|
|
||||||
"start": 3540,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg03"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
7.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
3511,
|
|
||||||
3547,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 3546,
|
|
||||||
"start": 3540,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg03"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg04": {
|
"seg04": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg04",
|
"value": "seg04"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2882,
|
|
||||||
2901,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
7.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2900,
|
|
||||||
"start": 2894,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg04"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2882,
|
|
||||||
2901,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2900,
|
|
||||||
"start": 2894,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg04"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"sketch001": {
|
"sketch001": {
|
||||||
"type": "Sketch",
|
"type": "Sketch",
|
||||||
@ -1774,56 +1529,7 @@ description: Variables in memory after executing poopy-shoe.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
367,
|
|
||||||
424,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
1.5625,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 423,
|
|
||||||
"start": 417,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
3.0,
|
|
||||||
2.4898
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
367,
|
|
||||||
424,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 423,
|
|
||||||
"start": 417,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -2352,56 +2058,7 @@ description: Variables in memory after executing poopy-shoe.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg02": {
|
"seg02": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg02",
|
"value": "seg02"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1168,
|
|
||||||
1225,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
1.5625,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1224,
|
|
||||||
"start": 1218,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
3.0,
|
|
||||||
2.4898
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1168,
|
|
||||||
1225,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1224,
|
|
||||||
"start": 1218,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -3581,56 +3238,7 @@ description: Variables in memory after executing poopy-shoe.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg02": {
|
"seg02": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg02",
|
"value": "seg02"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1168,
|
|
||||||
1225,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
1.5625,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1224,
|
|
||||||
"start": 1218,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
3.0,
|
|
||||||
2.4898
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1168,
|
|
||||||
1225,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1224,
|
|
||||||
"start": 1218,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -3675,56 +3283,7 @@ description: Variables in memory after executing poopy-shoe.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg04": {
|
"seg04": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg04",
|
"value": "seg04"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2882,
|
|
||||||
2901,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
7.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2900,
|
|
||||||
"start": 2894,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg04"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2882,
|
|
||||||
2901,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2900,
|
|
||||||
"start": 2894,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg04"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -4032,56 +3591,7 @@ description: Variables in memory after executing poopy-shoe.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg03": {
|
"seg03": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg03",
|
"value": "seg03"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
3511,
|
|
||||||
3547,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
7.0,
|
|
||||||
1.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 3546,
|
|
||||||
"start": 3540,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg03"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
7.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
3511,
|
|
||||||
3547,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 3546,
|
|
||||||
"start": 3540,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg03"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -4556,56 +4066,7 @@ description: Variables in memory after executing poopy-shoe.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg03": {
|
"seg03": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg03",
|
"value": "seg03"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
3511,
|
|
||||||
3547,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
7.0,
|
|
||||||
1.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 3546,
|
|
||||||
"start": 3540,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg03"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
7.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
3511,
|
|
||||||
3547,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 3546,
|
|
||||||
"start": 3540,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg03"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -5806,56 +5267,7 @@ description: Variables in memory after executing poopy-shoe.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg02": {
|
"seg02": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg02",
|
"value": "seg02"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1168,
|
|
||||||
1225,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
1.5625,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1224,
|
|
||||||
"start": 1218,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
3.0,
|
|
||||||
2.4898
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1168,
|
|
||||||
1225,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1224,
|
|
||||||
"start": 1218,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -5900,56 +5312,7 @@ description: Variables in memory after executing poopy-shoe.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg04": {
|
"seg04": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg04",
|
"value": "seg04"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2882,
|
|
||||||
2901,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
7.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2900,
|
|
||||||
"start": 2894,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg04"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Inches"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
2882,
|
|
||||||
2901,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 2900,
|
|
||||||
"start": 2894,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg04"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -639,56 +639,7 @@ description: Variables in memory after executing poop_chute.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
298,
|
|
||||||
361,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
1.0625,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 360,
|
|
||||||
"start": 354,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
2.0,
|
|
||||||
0.9375
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
298,
|
|
||||||
361,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 360,
|
|
||||||
"start": 354,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -708,110 +659,12 @@ description: Variables in memory after executing poop_chute.kcl
|
|||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
298,
|
|
||||||
361,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
1.0625,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 360,
|
|
||||||
"start": 354,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
2.0,
|
|
||||||
0.9375
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
298,
|
|
||||||
361,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 360,
|
|
||||||
"start": 354,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg02": {
|
"seg02": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg02",
|
"value": "seg02"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1145,
|
|
||||||
1208,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
1.0625,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1207,
|
|
||||||
"start": 1201,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
2.0,
|
|
||||||
0.9375
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1145,
|
|
||||||
1208,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1207,
|
|
||||||
"start": 1201,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"sketch001": {
|
"sketch001": {
|
||||||
"type": "Sketch",
|
"type": "Sketch",
|
||||||
@ -1178,56 +1031,7 @@ description: Variables in memory after executing poop_chute.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
298,
|
|
||||||
361,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
1.0625,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 360,
|
|
||||||
"start": 354,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
2.0,
|
|
||||||
0.9375
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
298,
|
|
||||||
361,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 360,
|
|
||||||
"start": 354,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -1756,56 +1560,7 @@ description: Variables in memory after executing poop_chute.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"seg02": {
|
"seg02": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg02",
|
"value": "seg02"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1145,
|
|
||||||
1208,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
1.0625,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1207,
|
|
||||||
"start": 1201,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
2.0,
|
|
||||||
0.9375
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1145,
|
|
||||||
1208,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1207,
|
|
||||||
"start": 1201,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg02"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
|
@ -6,41 +6,7 @@ description: Variables in memory after executing revolve_about_edge.kcl
|
|||||||
"rectangleSegmentB001": {
|
"rectangleSegmentB001": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "rectangleSegmentB001",
|
"value": "rectangleSegmentB001"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
71,
|
|
||||||
119,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-25.0,
|
|
||||||
25.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 118,
|
|
||||||
"start": 97,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "rectangleSegmentB001"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-25.0,
|
|
||||||
-25.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": null
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"sketch001": {
|
"sketch001": {
|
||||||
"type": "Sketch",
|
"type": "Sketch",
|
||||||
@ -131,41 +97,7 @@ description: Variables in memory after executing revolve_about_edge.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"rectangleSegmentB001": {
|
"rectangleSegmentB001": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "rectangleSegmentB001",
|
"value": "rectangleSegmentB001"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
71,
|
|
||||||
119,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-25.0,
|
|
||||||
25.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 118,
|
|
||||||
"start": 97,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "rectangleSegmentB001"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-25.0,
|
|
||||||
-25.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": null
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -6,56 +6,7 @@ description: Variables in memory after executing sketch_on_face.kcl
|
|||||||
"here": {
|
"here": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "here",
|
"value": "here"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
74,
|
|
||||||
114,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
11.19,
|
|
||||||
28.35
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 113,
|
|
||||||
"start": 108,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "here"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
39.86,
|
|
||||||
15.1
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
74,
|
|
||||||
114,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 113,
|
|
||||||
"start": 108,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "here"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"part001": {
|
"part001": {
|
||||||
"type": "Solid",
|
"type": "Solid",
|
||||||
@ -270,56 +221,7 @@ description: Variables in memory after executing sketch_on_face.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"here": {
|
"here": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "here",
|
"value": "here"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
74,
|
|
||||||
114,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
11.19,
|
|
||||||
28.35
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 113,
|
|
||||||
"start": 108,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "here"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
39.86,
|
|
||||||
15.1
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
74,
|
|
||||||
114,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 113,
|
|
||||||
"start": 108,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "here"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -716,56 +618,7 @@ description: Variables in memory after executing sketch_on_face.kcl
|
|||||||
"tags": {
|
"tags": {
|
||||||
"here": {
|
"here": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "here",
|
"value": "here"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
74,
|
|
||||||
114,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
11.19,
|
|
||||||
28.35
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 113,
|
|
||||||
"start": 108,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "here"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
39.86,
|
|
||||||
15.1
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
74,
|
|
||||||
114,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 113,
|
|
||||||
"start": 108,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "here"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
|
@ -337,162 +337,15 @@ description: Variables in memory after executing sketch_on_face_after_fillets_re
|
|||||||
"tags": {
|
"tags": {
|
||||||
"innerEdge": {
|
"innerEdge": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "innerEdge",
|
"value": "innerEdge"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1181,
|
|
||||||
1239,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-8.0,
|
|
||||||
5.6793
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1238,
|
|
||||||
"start": 1228,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "innerEdge"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-0.3207,
|
|
||||||
5.6793
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1181,
|
|
||||||
1239,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1238,
|
|
||||||
"start": 1228,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "innerEdge"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"outerEdge": {
|
"outerEdge": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "outerEdge",
|
"value": "outerEdge"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1048,
|
|
||||||
1093,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1092,
|
|
||||||
"start": 1082,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "outerEdge"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
6.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1048,
|
|
||||||
1093,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1092,
|
|
||||||
"start": 1082,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "outerEdge"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1099,
|
|
||||||
1142,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
6.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1141,
|
|
||||||
"start": 1135,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-8.0,
|
|
||||||
6.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1099,
|
|
||||||
1142,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1141,
|
|
||||||
"start": 1135,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
@ -541,110 +394,12 @@ description: Variables in memory after executing sketch_on_face_after_fillets_re
|
|||||||
"innerEdge": {
|
"innerEdge": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "innerEdge",
|
"value": "innerEdge"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1181,
|
|
||||||
1239,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-8.0,
|
|
||||||
5.6793
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1238,
|
|
||||||
"start": 1228,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "innerEdge"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-0.3207,
|
|
||||||
5.6793
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1181,
|
|
||||||
1239,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1238,
|
|
||||||
"start": 1228,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "innerEdge"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"outerEdge": {
|
"outerEdge": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "outerEdge",
|
"value": "outerEdge"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1048,
|
|
||||||
1093,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1092,
|
|
||||||
"start": 1082,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "outerEdge"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
6.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1048,
|
|
||||||
1093,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1092,
|
|
||||||
"start": 1082,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "outerEdge"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"p": {
|
"p": {
|
||||||
"type": "Number",
|
"type": "Number",
|
||||||
@ -662,56 +417,7 @@ description: Variables in memory after executing sketch_on_face_after_fillets_re
|
|||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1099,
|
|
||||||
1142,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
6.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1141,
|
|
||||||
"start": 1135,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-8.0,
|
|
||||||
6.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1099,
|
|
||||||
1142,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1141,
|
|
||||||
"start": 1135,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"shelfMountL": {
|
"shelfMountL": {
|
||||||
"type": "Number",
|
"type": "Number",
|
||||||
@ -1230,162 +936,15 @@ description: Variables in memory after executing sketch_on_face_after_fillets_re
|
|||||||
"tags": {
|
"tags": {
|
||||||
"innerEdge": {
|
"innerEdge": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "innerEdge",
|
"value": "innerEdge"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1181,
|
|
||||||
1239,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
-8.0,
|
|
||||||
5.6793
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1238,
|
|
||||||
"start": 1228,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "innerEdge"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-0.3207,
|
|
||||||
5.6793
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1181,
|
|
||||||
1239,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1238,
|
|
||||||
"start": 1228,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "innerEdge"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"outerEdge": {
|
"outerEdge": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "outerEdge",
|
"value": "outerEdge"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1048,
|
|
||||||
1093,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1092,
|
|
||||||
"start": 1082,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "outerEdge"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
0.0,
|
|
||||||
6.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1048,
|
|
||||||
1093,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1092,
|
|
||||||
"start": 1082,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "outerEdge"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"seg01": {
|
"seg01": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "seg01",
|
"value": "seg01"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1099,
|
|
||||||
1142,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"from": [
|
|
||||||
0.0,
|
|
||||||
6.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1141,
|
|
||||||
"start": 1135,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-8.0,
|
|
||||||
6.0
|
|
||||||
],
|
|
||||||
"type": "ToPoint",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
1099,
|
|
||||||
1142,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 1141,
|
|
||||||
"start": 1135,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "seg01"
|
|
||||||
},
|
|
||||||
"type": "extrudePlane"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
|
@ -9,62 +9,7 @@ description: Variables in memory after executing sketch_on_face_circle_tagged.kc
|
|||||||
"myCircle": {
|
"myCircle": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "myCircle",
|
"value": "myCircle"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
298,
|
|
||||||
350,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ccw": true,
|
|
||||||
"center": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"from": [
|
|
||||||
5.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"radius": 5.0,
|
|
||||||
"tag": {
|
|
||||||
"end": 349,
|
|
||||||
"start": 340,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "myCircle"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
5.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "Circle",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
298,
|
|
||||||
350,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 349,
|
|
||||||
"start": 340,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "myCircle"
|
|
||||||
},
|
|
||||||
"type": "extrudeArc"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"part001": {
|
"part001": {
|
||||||
"type": "Solid",
|
"type": "Solid",
|
||||||
@ -603,62 +548,7 @@ description: Variables in memory after executing sketch_on_face_circle_tagged.kc
|
|||||||
"tags": {
|
"tags": {
|
||||||
"myCircle": {
|
"myCircle": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "myCircle",
|
"value": "myCircle"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
298,
|
|
||||||
350,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ccw": true,
|
|
||||||
"center": [
|
|
||||||
0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"from": [
|
|
||||||
5.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"radius": 5.0,
|
|
||||||
"tag": {
|
|
||||||
"end": 349,
|
|
||||||
"start": 340,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "myCircle"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
5.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"type": "Circle",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": {
|
|
||||||
"faceId": "[uuid]",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
298,
|
|
||||||
350,
|
|
||||||
0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 349,
|
|
||||||
"start": 340,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "myCircle"
|
|
||||||
},
|
|
||||||
"type": "extrudeArc"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artifactId": "[uuid]",
|
"artifactId": "[uuid]",
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -32,134 +32,17 @@ description: Variables in memory after executing tan_arc_x_line.kcl
|
|||||||
"arc1": {
|
"arc1": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "arc1",
|
"value": "arc1"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
191,
|
|
||||||
252,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ccw": true,
|
|
||||||
"center": [
|
|
||||||
-0.9397,
|
|
||||||
-0.342
|
|
||||||
],
|
|
||||||
"from": [
|
|
||||||
-0.0,
|
|
||||||
0.0
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 251,
|
|
||||||
"start": 246,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "arc1"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-1.846,
|
|
||||||
0.0806
|
|
||||||
],
|
|
||||||
"type": "TangentialArc",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": null
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"arc2": {
|
"arc2": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "arc2",
|
"value": "arc2"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
258,
|
|
||||||
344,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ccw": true,
|
|
||||||
"center": [
|
|
||||||
-1.3928,
|
|
||||||
-0.1307
|
|
||||||
],
|
|
||||||
"from": [
|
|
||||||
-1.846,
|
|
||||||
0.0806
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 343,
|
|
||||||
"start": 338,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "arc2"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-1.2218,
|
|
||||||
-0.6006
|
|
||||||
],
|
|
||||||
"type": "TangentialArc",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": null
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"arc3": {
|
"arc3": {
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"type": "TagIdentifier",
|
"type": "TagIdentifier",
|
||||||
"value": "arc3",
|
"value": "arc3"
|
||||||
"info": {
|
|
||||||
"type": "TagEngineInfo",
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sketch": "[uuid]",
|
|
||||||
"path": {
|
|
||||||
"__geoMeta": {
|
|
||||||
"id": "[uuid]",
|
|
||||||
"sourceRange": [
|
|
||||||
350,
|
|
||||||
437,
|
|
||||||
0
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ccw": false,
|
|
||||||
"center": [
|
|
||||||
-1.0508,
|
|
||||||
-1.0704
|
|
||||||
],
|
|
||||||
"from": [
|
|
||||||
-1.2218,
|
|
||||||
-0.6006
|
|
||||||
],
|
|
||||||
"tag": {
|
|
||||||
"end": 436,
|
|
||||||
"start": 431,
|
|
||||||
"type": "TagDeclarator",
|
|
||||||
"value": "arc3"
|
|
||||||
},
|
|
||||||
"to": [
|
|
||||||
-0.5977,
|
|
||||||
-1.2817
|
|
||||||
],
|
|
||||||
"type": "TangentialArc",
|
|
||||||
"units": {
|
|
||||||
"type": "Mm"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"surface": null
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"r": {
|
"r": {
|
||||||
"type": "Number",
|
"type": "Number",
|
||||||
|
@ -217,7 +217,6 @@ const sk2 = startSketchOn('XY')
|
|||||||
p: {
|
p: {
|
||||||
type: 'TagIdentifier',
|
type: 'TagIdentifier',
|
||||||
value: 'p',
|
value: 'p',
|
||||||
info: expect.any(Object),
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
paths: [
|
paths: [
|
||||||
@ -317,7 +316,6 @@ const sk2 = startSketchOn('XY')
|
|||||||
o: {
|
o: {
|
||||||
type: 'TagIdentifier',
|
type: 'TagIdentifier',
|
||||||
value: 'o',
|
value: 'o',
|
||||||
info: expect.any(Object),
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
paths: [
|
paths: [
|
||||||
|
@ -179,7 +179,6 @@ const newVar = myVar + 1`
|
|||||||
myPath: {
|
myPath: {
|
||||||
type: 'TagIdentifier',
|
type: 'TagIdentifier',
|
||||||
value: 'myPath',
|
value: 'myPath',
|
||||||
info: expect.any(Object),
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
paths: [
|
paths: [
|
||||||
|
Reference in New Issue
Block a user