Compare commits

...

3 Commits

Author SHA1 Message Date
8f7ef4967f Update docs 2025-05-07 13:36:42 -05:00
859243ba32 Update snapshots 2025-05-07 13:35:34 -05:00
2eeffe92ba Update fillet+chamfer with new API options 2025-05-07 13:35:33 -05:00
84 changed files with 1166 additions and 1903 deletions

View File

@ -0,0 +1,16 @@
---
title: "cutStrategy::automatic"
subtitle: "Constant in cutStrategy"
excerpt: "Try the fast but simple Basic strategy, and if that fails, try the slow and complex CSG strategy."
layout: manual
---
Try the fast but simple Basic strategy, and if that fails, try the slow and complex CSG strategy.
```kcl
cutStrategy::automatic: string = "automatic"
```

View File

@ -0,0 +1,16 @@
---
title: "cutStrategy::basic"
subtitle: "Constant in cutStrategy"
excerpt: "The basic strategy is fastest, but it can't handle complicated cases (like chamfering two edges that touch)."
layout: manual
---
The basic strategy is fastest, but it can't handle complicated cases (like chamfering two edges that touch).
```kcl
cutStrategy::basic: string = "basic"
```

View File

@ -0,0 +1,16 @@
---
title: "cutStrategy::csg"
subtitle: "Constant in cutStrategy"
excerpt: "The CSG strategy is slowest, but it can handle complex cases (like chamfering two edges that touch)."
layout: manual
---
The CSG strategy is slowest, but it can handle complex cases (like chamfering two edges that touch).
```kcl
cutStrategy::csg: string = "csg"
```

View File

@ -13,6 +13,7 @@ chamfer(
length: number(Length), length: number(Length),
tags: [Edge; 1+], tags: [Edge; 1+],
tag?: tag, tag?: tag,
strategy?: string,
): Solid ): Solid
``` ```
@ -28,6 +29,7 @@ a sharp, straight transitional edge.
| `length` | `number(Length)` | The length of the chamfer | Yes | | `length` | `number(Length)` | The length of the chamfer | Yes |
| `tags` | [`[Edge; 1+]`](/docs/kcl-std/types/std-types-Edge) | The paths you want to chamfer | Yes | | `tags` | [`[Edge; 1+]`](/docs/kcl-std/types/std-types-Edge) | The paths you want to chamfer | Yes |
| [`tag`](/docs/kcl-std/types/std-types-tag) | [`tag`](/docs/kcl-std/types/std-types-tag) | Create a new tag which refers to this chamfer | No | | [`tag`](/docs/kcl-std/types/std-types-tag) | [`tag`](/docs/kcl-std/types/std-types-tag) | Create a new tag which refers to this chamfer | No |
| `strategy` | [`string`](/docs/kcl-std/types/std-types-string) | Which strategy should be used to perform this chamfer? | No |
### Returns ### Returns

View File

@ -14,6 +14,7 @@ fillet(
tags: [Edge; 1+], tags: [Edge; 1+],
tolerance?: number(Length), tolerance?: number(Length),
tag?: tag, tag?: tag,
strategy?: string,
): Solid ): Solid
``` ```
@ -30,6 +31,7 @@ will smoothly blend the transition.
| `tags` | [`[Edge; 1+]`](/docs/kcl-std/types/std-types-Edge) | The paths you want to fillet | Yes | | `tags` | [`[Edge; 1+]`](/docs/kcl-std/types/std-types-Edge) | The paths you want to fillet | Yes |
| `tolerance` | `number(Length)` | The tolerance for this fillet | No | | `tolerance` | `number(Length)` | The tolerance for this fillet | No |
| [`tag`](/docs/kcl-std/types/std-types-tag) | [`tag`](/docs/kcl-std/types/std-types-tag) | Create a new tag which refers to this fillet | No | | [`tag`](/docs/kcl-std/types/std-types-tag) | [`tag`](/docs/kcl-std/types/std-types-tag) | Create a new tag which refers to this fillet | No |
| `strategy` | [`string`](/docs/kcl-std/types/std-types-string) | Which strategy should be used to perform this chamfer? | No |
### Returns ### Returns

View File

@ -124,6 +124,10 @@ layout: manual
* [`Y`](/docs/kcl-std/consts/std-Y) * [`Y`](/docs/kcl-std/consts/std-Y)
* [`YZ`](/docs/kcl-std/consts/std-YZ) * [`YZ`](/docs/kcl-std/consts/std-YZ)
* [`Z`](/docs/kcl-std/consts/std-Z) * [`Z`](/docs/kcl-std/consts/std-Z)
* [**std::cutStrategy**](/docs/kcl-std/modules/std-cutStrategy)
* [`cutStrategy::automatic`](/docs/kcl-std/consts/std-cutStrategy-automatic)
* [`cutStrategy::basic`](/docs/kcl-std/consts/std-cutStrategy-basic)
* [`cutStrategy::csg`](/docs/kcl-std/consts/std-cutStrategy-csg)
* [**std::math**](/docs/kcl-std/modules/std-math) * [**std::math**](/docs/kcl-std/modules/std-math)
* [`E`](/docs/kcl-std/consts/std-math-E) * [`E`](/docs/kcl-std/consts/std-math-E)
* [`PI`](/docs/kcl-std/consts/std-math-PI) * [`PI`](/docs/kcl-std/consts/std-math-PI)

View File

@ -0,0 +1,18 @@
---
title: "cutStrategy"
subtitle: "Module in std"
excerpt: ""
layout: manual
---
## Functions and constants
* [`cutStrategy::automatic`](/docs/kcl-std/consts/std-cutStrategy-automatic)
* [`cutStrategy::basic`](/docs/kcl-std/consts/std-cutStrategy-basic)
* [`cutStrategy::csg`](/docs/kcl-std/consts/std-cutStrategy-csg)

View File

@ -12,6 +12,7 @@ Contains frequently used constants, functions for interacting with the KittyCAD
## Modules ## Modules
* [`array`](/docs/kcl-std/modules/std-array) * [`array`](/docs/kcl-std/modules/std-array)
* [`cutStrategy::cutStrategy`](/docs/kcl-std/modules/std-cutStrategy)
* [`math`](/docs/kcl-std/modules/std-math) * [`math`](/docs/kcl-std/modules/std-math)
* [`sketch`](/docs/kcl-std/modules/std-sketch) * [`sketch`](/docs/kcl-std/modules/std-sketch)
* [`solid`](/docs/kcl-std/modules/std-solid) * [`solid`](/docs/kcl-std/modules/std-solid)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 72 KiB

18
rust/Cargo.lock generated
View File

@ -535,7 +535,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c"
dependencies = [ dependencies = [
"lazy_static", "lazy_static",
"windows-sys 0.59.0", "windows-sys 0.52.0",
] ]
[[package]] [[package]]
@ -963,7 +963,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d"
dependencies = [ dependencies = [
"libc", "libc",
"windows-sys 0.59.0", "windows-sys 0.52.0",
] ]
[[package]] [[package]]
@ -1746,7 +1746,7 @@ checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9"
dependencies = [ dependencies = [
"hermit-abi", "hermit-abi",
"libc", "libc",
"windows-sys 0.59.0", "windows-sys 0.52.0",
] ]
[[package]] [[package]]
@ -2079,9 +2079,9 @@ dependencies = [
[[package]] [[package]]
name = "kittycad-modeling-cmds" name = "kittycad-modeling-cmds"
version = "0.2.115" version = "0.2.116"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e95dfcade93787f8a7529ad7b9b81f038823e273e7684297085ef720962b7497" checksum = "6eed6c8a18f47919c0f873d58226438b737e3f873359b264bcf377f8843727b0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"chrono", "chrono",
@ -2986,7 +2986,7 @@ dependencies = [
"once_cell", "once_cell",
"socket2", "socket2",
"tracing", "tracing",
"windows-sys 0.59.0", "windows-sys 0.52.0",
] ]
[[package]] [[package]]
@ -3305,7 +3305,7 @@ dependencies = [
"errno", "errno",
"libc", "libc",
"linux-raw-sys", "linux-raw-sys",
"windows-sys 0.59.0", "windows-sys 0.52.0",
] ]
[[package]] [[package]]
@ -3899,7 +3899,7 @@ dependencies = [
"getrandom 0.3.1", "getrandom 0.3.1",
"once_cell", "once_cell",
"rustix", "rustix",
"windows-sys 0.59.0", "windows-sys 0.52.0",
] ]
[[package]] [[package]]
@ -4752,7 +4752,7 @@ version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
dependencies = [ dependencies = [
"windows-sys 0.59.0", "windows-sys 0.52.0",
] ]
[[package]] [[package]]

View File

@ -332,11 +332,10 @@ pub enum SweepEdgeSubType {
pub struct EdgeCut { pub struct EdgeCut {
pub id: ArtifactId, pub id: ArtifactId,
pub sub_type: EdgeCutSubType, pub sub_type: EdgeCutSubType,
pub consumed_edge_id: ArtifactId,
#[serde(default, skip_serializing_if = "Vec::is_empty")] #[serde(default, skip_serializing_if = "Vec::is_empty")]
pub edge_ids: Vec<ArtifactId>, pub edge_ids: Vec<ArtifactId>,
#[serde(default, skip_serializing_if = "Option::is_none")] #[serde(default, skip_serializing_if = "Vec::is_empty")]
pub surface_id: Option<ArtifactId>, pub surface_ids: Vec<ArtifactId>,
pub code_ref: CodeRef, pub code_ref: CodeRef,
} }
@ -679,7 +678,7 @@ impl EdgeCut {
let Artifact::EdgeCut(new) = new else { let Artifact::EdgeCut(new) = new else {
return Some(new); return Some(new);
}; };
merge_opt_id(&mut self.surface_id, new.surface_id); merge_ids(&mut self.surface_ids, new.surface_ids);
merge_ids(&mut self.edge_ids, new.edge_ids); merge_ids(&mut self.edge_ids, new.edge_ids);
None None
@ -1270,22 +1269,19 @@ fn artifacts_to_update(
} }
ModelingCmd::Solid3dFilletEdge(cmd) => { ModelingCmd::Solid3dFilletEdge(cmd) => {
let mut return_arr = Vec::new(); let mut return_arr = Vec::new();
let mut surface_ids = Vec::with_capacity(cmd.extra_face_ids.len() + 1);
surface_ids.push(id);
for id in &cmd.extra_face_ids {
surface_ids.push(id.into());
}
return_arr.push(Artifact::EdgeCut(EdgeCut { return_arr.push(Artifact::EdgeCut(EdgeCut {
id, id,
sub_type: cmd.cut_type.into(), sub_type: cmd.cut_type.into(),
consumed_edge_id: cmd.edge_id.into(), edge_ids: cmd.edge_ids.iter().copied().map(From::from).collect(),
edge_ids: Vec::new(), surface_ids,
surface_id: None,
code_ref, code_ref,
})); }));
let consumed_edge = artifacts.get(&ArtifactId::new(cmd.edge_id)); // TODO: Handle other types like SweepEdge.
if let Some(Artifact::Segment(consumed_edge)) = consumed_edge {
let mut new_segment = consumed_edge.clone();
new_segment.edge_cut_id = Some(id);
return_arr.push(Artifact::Segment(new_segment));
} else {
// TODO: Handle other types like SweepEdge.
}
return Ok(return_arr); return Ok(return_arr);
} }
ModelingCmd::EntityMakeHelixFromParams(_) => { ModelingCmd::EntityMakeHelixFromParams(_) => {

View File

@ -82,7 +82,7 @@ impl Artifact {
Artifact::Wall(a) => vec![a.seg_id, a.sweep_id], Artifact::Wall(a) => vec![a.seg_id, a.sweep_id],
Artifact::Cap(a) => vec![a.sweep_id], Artifact::Cap(a) => vec![a.sweep_id],
Artifact::SweepEdge(a) => vec![a.seg_id, a.sweep_id], Artifact::SweepEdge(a) => vec![a.seg_id, a.sweep_id],
Artifact::EdgeCut(a) => vec![a.consumed_edge_id], Artifact::EdgeCut(a) => a.edge_ids.clone(),
Artifact::EdgeCutEdge(a) => vec![a.edge_cut_id], Artifact::EdgeCutEdge(a) => vec![a.edge_cut_id],
Artifact::Helix(a) => a.axis_id.map(|id| vec![id]).unwrap_or_default(), Artifact::Helix(a) => a.axis_id.map(|id| vec![id]).unwrap_or_default(),
} }
@ -175,9 +175,7 @@ impl Artifact {
// consumed_edge_id. // consumed_edge_id.
let mut ids = Vec::new(); let mut ids = Vec::new();
ids.extend(&a.edge_ids); ids.extend(&a.edge_ids);
if let Some(surface_id) = a.surface_id { ids.extend(&a.surface_ids);
ids.push(surface_id);
}
ids ids
} }
Artifact::EdgeCutEdge(a) => { Artifact::EdgeCutEdge(a) => {

View File

@ -96,6 +96,7 @@ pub(crate) fn read_std(mod_name: &str) -> Option<&'static str> {
"solid" => Some(include_str!("../std/solid.kcl")), "solid" => Some(include_str!("../std/solid.kcl")),
"units" => Some(include_str!("../std/units.kcl")), "units" => Some(include_str!("../std/units.kcl")),
"array" => Some(include_str!("../std/array.kcl")), "array" => Some(include_str!("../std/array.kcl")),
"cutStrategy" => Some(include_str!("../std/cutStrategy.kcl")),
"transform" => Some(include_str!("../std/transform.kcl")), "transform" => Some(include_str!("../std/transform.kcl")),
_ => None, _ => None,
} }

View File

@ -778,6 +778,18 @@ impl<'a> FromKclValue<'a> for TagNode {
} }
} }
impl<'a> FromKclValue<'a> for kcmc::shared::CutStrategy {
fn from_kcl_val(arg: &'a KclValue) -> Option<Self> {
match arg.as_str() {
Some("automatic") => Some(Self::Automatic),
Some("basic") => Some(Self::Basic),
Some("csg") => Some(Self::Csg),
Some(_) => None,
None => None,
}
}
}
impl<'a> FromKclValue<'a> for TagIdentifier { impl<'a> FromKclValue<'a> for TagIdentifier {
fn from_kcl_val(arg: &'a KclValue) -> Option<Self> { fn from_kcl_val(arg: &'a KclValue) -> Option<Self> {
arg.get_tag_identifier().ok() arg.get_tag_identifier().ok()

View File

@ -2,7 +2,7 @@
use anyhow::Result; use anyhow::Result;
use kcmc::{each_cmd as mcmd, length_unit::LengthUnit, shared::CutType, ModelingCmd}; use kcmc::{each_cmd as mcmd, length_unit::LengthUnit, shared::CutType, ModelingCmd};
use kittycad_modeling_cmds as kcmc; use kittycad_modeling_cmds::{self as kcmc, shared::CutStrategy};
use super::args::TyF64; use super::args::TyF64;
use crate::{ use crate::{
@ -21,19 +21,24 @@ pub(crate) const DEFAULT_TOLERANCE: f64 = 0.0000001;
pub async fn chamfer(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> { pub async fn chamfer(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
let solid = args.get_unlabeled_kw_arg_typed("solid", &RuntimeType::Primitive(PrimitiveType::Solid), exec_state)?; let solid = args.get_unlabeled_kw_arg_typed("solid", &RuntimeType::Primitive(PrimitiveType::Solid), exec_state)?;
let length: TyF64 = args.get_kw_arg_typed("length", &RuntimeType::length(), exec_state)?; let length: TyF64 = args.get_kw_arg_typed("length", &RuntimeType::length(), exec_state)?;
let tolerance: Option<TyF64> = args.get_kw_arg_opt_typed("tolerance", &RuntimeType::length(), exec_state)?;
let strategy: Option<CutStrategy> = args.get_kw_arg_opt("strategy")?;
let tags = args.kw_arg_array_and_source::<EdgeReference>("tags")?; let tags = args.kw_arg_array_and_source::<EdgeReference>("tags")?;
let tag = args.get_kw_arg_opt("tag")?; let tag = args.get_kw_arg_opt("tag")?;
super::fillet::validate_unique(&tags)?; super::fillet::validate_unique(&tags)?;
let tags: Vec<EdgeReference> = tags.into_iter().map(|item| item.0).collect(); let tags: Vec<EdgeReference> = tags.into_iter().map(|item| item.0).collect();
let value = inner_chamfer(solid, length, tags, tag, exec_state, args).await?; let value = inner_chamfer(solid, length, tags, tolerance, strategy, tag, exec_state, args).await?;
Ok(KclValue::Solid { value }) Ok(KclValue::Solid { value })
} }
#[allow(clippy::too_many_arguments)]
async fn inner_chamfer( async fn inner_chamfer(
solid: Box<Solid>, solid: Box<Solid>,
length: TyF64, length: TyF64,
tags: Vec<EdgeReference>, tags: Vec<EdgeReference>,
tolerance: Option<TyF64>,
strategy: Option<CutStrategy>,
tag: Option<TagNode>, tag: Option<TagNode>,
exec_state: &mut ExecState, exec_state: &mut ExecState,
args: Args, args: Args,
@ -46,44 +51,57 @@ async fn inner_chamfer(
source_ranges: vec![args.source_range], source_ranges: vec![args.source_range],
})); }));
} }
if tags.is_empty() {
return Err(KclError::Semantic(KclErrorDetails {
source_ranges: vec![args.source_range],
message: "You must chamfer at least one tag".to_owned(),
}));
}
let mut solid = solid.clone(); let mut solid = solid.clone();
for edge_tag in tags { let edge_ids: Vec<_> = tags
let edge_id = match edge_tag { .into_iter()
EdgeReference::Uuid(uuid) => uuid, .map(|edge_tag| edge_tag.get_engine_id(exec_state, &args))
EdgeReference::Tag(edge_tag) => args.get_tag_engine_info(exec_state, &edge_tag)?.id, .collect::<Result<Vec<_>, _>>()?;
};
let id = exec_state.next_uuid();
args.batch_end_cmd(
id,
ModelingCmd::from(mcmd::Solid3dFilletEdge {
edge_id,
object_id: solid.id,
radius: LengthUnit(length.to_mm()),
tolerance: LengthUnit(DEFAULT_TOLERANCE), // We can let the user set this in the future.
cut_type: CutType::Chamfer,
}),
)
.await?;
let id = exec_state.next_uuid();
let mut extra_face_ids = Vec::new();
let num_extra_ids = edge_ids.len() - 1;
for _ in 0..num_extra_ids {
extra_face_ids.push(exec_state.next_uuid());
}
let strategy = strategy.unwrap_or_default();
args.batch_end_cmd(
id,
ModelingCmd::from(mcmd::Solid3dFilletEdge {
edge_id: None,
edge_ids: edge_ids.clone(),
extra_face_ids: extra_face_ids.clone(),
strategy,
object_id: solid.id,
radius: LengthUnit(length.to_mm()),
tolerance: LengthUnit(tolerance.as_ref().map(|t| t.to_mm()).unwrap_or(DEFAULT_TOLERANCE)),
cut_type: CutType::Chamfer,
}),
)
.await?;
for edge_id in edge_ids {
solid.edge_cuts.push(EdgeCut::Chamfer { solid.edge_cuts.push(EdgeCut::Chamfer {
id, id,
edge_id, edge_id,
length: length.clone(), length: length.clone(),
tag: Box::new(tag.clone()), tag: Box::new(tag.clone()),
}); });
}
if let Some(ref tag) = tag { if let Some(ref tag) = tag {
solid.value.push(ExtrudeSurface::Chamfer(ChamferSurface { solid.value.push(ExtrudeSurface::Chamfer(ChamferSurface {
face_id: id, face_id: id,
tag: Some(tag.clone()), tag: Some(tag.clone()),
geo_meta: GeoMeta { geo_meta: GeoMeta {
id, id,
metadata: args.source_range.into(), metadata: args.source_range.into(),
}, },
})); }));
}
} }
Ok(solid) Ok(solid)

View File

@ -3,7 +3,7 @@
use anyhow::Result; use anyhow::Result;
use indexmap::IndexMap; use indexmap::IndexMap;
use kcmc::{each_cmd as mcmd, length_unit::LengthUnit, shared::CutType, ModelingCmd}; use kcmc::{each_cmd as mcmd, length_unit::LengthUnit, shared::CutType, ModelingCmd};
use kittycad_modeling_cmds as kcmc; use kittycad_modeling_cmds::{self as kcmc, shared::CutStrategy};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use super::{args::TyF64, DEFAULT_TOLERANCE}; use super::{args::TyF64, DEFAULT_TOLERANCE};
@ -62,59 +62,88 @@ pub async fn fillet(exec_state: &mut ExecState, args: Args) -> Result<KclValue,
let solid = args.get_unlabeled_kw_arg_typed("solid", &RuntimeType::solid(), exec_state)?; let solid = args.get_unlabeled_kw_arg_typed("solid", &RuntimeType::solid(), exec_state)?;
let radius: TyF64 = args.get_kw_arg_typed("radius", &RuntimeType::length(), exec_state)?; let radius: TyF64 = args.get_kw_arg_typed("radius", &RuntimeType::length(), exec_state)?;
let tolerance: Option<TyF64> = args.get_kw_arg_opt_typed("tolerance", &RuntimeType::length(), exec_state)?; let tolerance: Option<TyF64> = args.get_kw_arg_opt_typed("tolerance", &RuntimeType::length(), exec_state)?;
let strategy: Option<CutStrategy> = args.get_kw_arg_opt("strategy")?;
let tags = args.kw_arg_array_and_source::<EdgeReference>("tags")?; let tags = args.kw_arg_array_and_source::<EdgeReference>("tags")?;
let tag = args.get_kw_arg_opt("tag")?; let tag = args.get_kw_arg_opt("tag")?;
// Run the function. // Run the function.
validate_unique(&tags)?; validate_unique(&tags)?;
let tags: Vec<EdgeReference> = tags.into_iter().map(|item| item.0).collect(); let tags: Vec<EdgeReference> = tags.into_iter().map(|item| item.0).collect();
let value = inner_fillet(solid, radius, tags, tolerance, tag, exec_state, args).await?; let value = inner_fillet(solid, radius, tags, tolerance, strategy, tag, exec_state, args).await?;
Ok(KclValue::Solid { value }) Ok(KclValue::Solid { value })
} }
#[allow(clippy::too_many_arguments)]
async fn inner_fillet( async fn inner_fillet(
solid: Box<Solid>, solid: Box<Solid>,
radius: TyF64, radius: TyF64,
tags: Vec<EdgeReference>, tags: Vec<EdgeReference>,
tolerance: Option<TyF64>, tolerance: Option<TyF64>,
strategy: Option<CutStrategy>,
tag: Option<TagNode>, tag: Option<TagNode>,
exec_state: &mut ExecState, exec_state: &mut ExecState,
args: Args, args: Args,
) -> Result<Box<Solid>, KclError> { ) -> Result<Box<Solid>, KclError> {
// If you try and tag multiple edges with a tagged fillet, we want to return an
// error to the user that they can only tag one edge at a time.
if tag.is_some() && tags.len() > 1 {
return Err(KclError::Type(KclErrorDetails {
message: "You can only tag one edge at a time with a tagged fillet. Either delete the tag for the fillet fn if you don't need it OR separate into individual fillet functions for each tag.".to_string(),
source_ranges: vec![args.source_range],
}));
}
if tags.is_empty() {
return Err(KclError::Semantic(KclErrorDetails {
source_ranges: vec![args.source_range],
message: "You must fillet at least one tag".to_owned(),
}));
}
let mut solid = solid.clone(); let mut solid = solid.clone();
for edge_tag in tags { let edge_ids: Vec<_> = tags
let edge_id = edge_tag.get_engine_id(exec_state, &args)?; .into_iter()
.map(|edge_tag| edge_tag.get_engine_id(exec_state, &args))
.collect::<Result<Vec<_>, _>>()?;
let id = exec_state.next_uuid(); let id = exec_state.next_uuid();
args.batch_end_cmd( let mut extra_face_ids = Vec::new();
id, let num_extra_ids = edge_ids.len() - 1;
ModelingCmd::from(mcmd::Solid3dFilletEdge { for _ in 0..num_extra_ids {
edge_id, extra_face_ids.push(exec_state.next_uuid());
object_id: solid.id, }
radius: LengthUnit(radius.to_mm()), let strategy = strategy.unwrap_or_default();
tolerance: LengthUnit(tolerance.as_ref().map(|t| t.to_mm()).unwrap_or(DEFAULT_TOLERANCE)), args.batch_end_cmd(
cut_type: CutType::Fillet, id,
}), ModelingCmd::from(mcmd::Solid3dFilletEdge {
) edge_id: None,
.await?; edge_ids: edge_ids.clone(),
extra_face_ids: extra_face_ids.clone(),
strategy,
object_id: solid.id,
radius: LengthUnit(radius.to_mm()),
tolerance: LengthUnit(tolerance.as_ref().map(|t| t.to_mm()).unwrap_or(DEFAULT_TOLERANCE)),
cut_type: CutType::Fillet,
}),
)
.await?;
for edge_id in edge_ids {
solid.edge_cuts.push(EdgeCut::Fillet { solid.edge_cuts.push(EdgeCut::Fillet {
id, id,
edge_id, edge_id,
radius: radius.clone(), radius: radius.clone(),
tag: Box::new(tag.clone()), tag: Box::new(tag.clone()),
}); });
}
if let Some(ref tag) = tag { if let Some(ref tag) = tag {
solid.value.push(ExtrudeSurface::Fillet(FilletSurface { solid.value.push(ExtrudeSurface::Fillet(FilletSurface {
face_id: id, face_id: id,
tag: Some(tag.clone()), tag: Some(tag.clone()),
geo_meta: GeoMeta { geo_meta: GeoMeta {
id, id,
metadata: args.source_range.into(), metadata: args.source_range.into(),
}, },
})); }));
}
} }
Ok(solid) Ok(solid)

View File

@ -0,0 +1,9 @@
@no_std
@settings(defaultLengthUnit = mm, kclVersion = 1.0)
/// Try the fast but simple Basic strategy, and if that fails, try the slow and complex CSG strategy.
export automatic = "automatic"
/// The basic strategy is fastest, but it can't handle complicated cases (like chamfering two edges that touch).
export basic = "basic"
/// The CSG strategy is slowest, but it can handle complex cases (like chamfering two edges that touch).
export csg = "csg"

View File

@ -16,6 +16,7 @@ export import * from "std::sketch"
export import * from "std::solid" export import * from "std::solid"
export import * from "std::transform" export import * from "std::transform"
export import "std::turns" export import "std::turns"
export import "std::cutStrategy"
export XY = { export XY = {
origin = { x = 0, y = 0, z = 0 }, origin = { x = 0, y = 0, z = 0 },

View File

@ -71,6 +71,8 @@ export fn fillet(
tolerance?: number(Length), tolerance?: number(Length),
/// Create a new tag which refers to this fillet /// Create a new tag which refers to this fillet
tag?: tag, tag?: tag,
/// Which strategy should be used to perform this chamfer?
strategy?: string,
): Solid {} ): Solid {}
/// Cut a straight transitional edge along a tagged path. /// Cut a straight transitional edge along a tagged path.
@ -146,6 +148,8 @@ export fn chamfer(
tags: [Edge; 1+], tags: [Edge; 1+],
/// Create a new tag which refers to this chamfer /// Create a new tag which refers to this chamfer
tag?: tag, tag?: tag,
/// Which strategy should be used to perform this chamfer?
strategy?: string,
): Solid {} ): Solid {}
/// Remove volume from a 3-dimensional shape such that a wall of the /// Remove volume from a 3-dimensional shape such that a wall of the

View File

@ -418,10 +418,15 @@ description: Artifact commands artifact_graph_example_code1.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 5.0, "radius": 5.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {

View File

@ -70,7 +70,7 @@ flowchart LR
6 x--> 26 6 x--> 26
6 --- 30 6 --- 30
6 --- 37 6 --- 37
6 --- 42 6 <--x 42
7 --- 21 7 --- 21
7 x--> 26 7 x--> 26
7 --- 31 7 --- 31

View File

@ -401,22 +401,18 @@ description: Artifact commands basic_fillet_cube_close_opposite.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 2.0, "radius": 2.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]"
"cmdId": "[uuid]", ]
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 2.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {

View File

@ -25,7 +25,6 @@ flowchart LR
21["SweepEdge Adjacent"] 21["SweepEdge Adjacent"]
22["SweepEdge Adjacent"] 22["SweepEdge Adjacent"]
23["EdgeCut Fillet<br>[221, 281, 0]"] 23["EdgeCut Fillet<br>[221, 281, 0]"]
24["EdgeCut Fillet<br>[221, 281, 0]"]
1 --- 2 1 --- 2
2 --- 3 2 --- 3
2 --- 4 2 --- 4
@ -49,7 +48,7 @@ flowchart LR
6 x--> 13 6 x--> 13
6 --- 18 6 --- 18
6 --- 19 6 --- 19
6 --- 24 6 <--x 23
8 --- 9 8 --- 9
8 --- 10 8 --- 10
8 --- 11 8 --- 11

View File

@ -401,22 +401,18 @@ description: Artifact commands basic_fillet_cube_end.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 2.0, "radius": 2.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]"
"cmdId": "[uuid]", ]
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 2.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {

View File

@ -25,7 +25,6 @@ flowchart LR
21["SweepEdge Adjacent"] 21["SweepEdge Adjacent"]
22["SweepEdge Adjacent"] 22["SweepEdge Adjacent"]
23["EdgeCut Fillet<br>[209, 267, 0]"] 23["EdgeCut Fillet<br>[209, 267, 0]"]
24["EdgeCut Fillet<br>[209, 267, 0]"]
1 --- 2 1 --- 2
2 --- 3 2 --- 3
2 --- 4 2 --- 4
@ -37,7 +36,7 @@ flowchart LR
3 x--> 13 3 x--> 13
3 --- 18 3 --- 18
3 --- 20 3 --- 20
3 --- 24 3 <--x 23
4 --- 10 4 --- 10
4 x--> 13 4 x--> 13
4 --- 17 4 --- 17

View File

@ -401,10 +401,15 @@ description: Artifact commands basic_fillet_cube_next_adjacent.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 2.0, "radius": 2.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {

View File

@ -401,10 +401,15 @@ description: Artifact commands basic_fillet_cube_previous_adjacent.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 2.0, "radius": 2.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {

View File

@ -401,22 +401,18 @@ description: Artifact commands basic_fillet_cube_start.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 2.0, "radius": 2.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]"
"cmdId": "[uuid]", ]
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 2.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
} }
] ]

View File

@ -25,7 +25,6 @@ flowchart LR
21["SweepEdge Adjacent"] 21["SweepEdge Adjacent"]
22["SweepEdge Adjacent"] 22["SweepEdge Adjacent"]
23["EdgeCut Fillet<br>[209, 251, 0]"] 23["EdgeCut Fillet<br>[209, 251, 0]"]
24["EdgeCut Fillet<br>[209, 251, 0]"]
1 --- 2 1 --- 2
2 --- 3 2 --- 3
2 --- 4 2 --- 4
@ -37,7 +36,7 @@ flowchart LR
3 x--> 13 3 x--> 13
3 --- 17 3 --- 17
3 --- 20 3 --- 20
3 --- 24 3 <--x 23
4 --- 10 4 --- 10
4 x--> 13 4 x--> 13
4 --- 18 4 --- 18
@ -46,7 +45,7 @@ flowchart LR
5 x--> 13 5 x--> 13
5 --- 15 5 --- 15
5 --- 22 5 --- 22
5 --- 23 5 <--x 23
6 --- 11 6 --- 11
6 x--> 13 6 x--> 13
6 --- 16 6 --- 16

View File

@ -401,46 +401,22 @@ description: Artifact commands clone_w_fillets.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 2.0, "radius": 2.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 2.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 2.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 2.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {

View File

@ -25,9 +25,6 @@ flowchart LR
21["SweepEdge Adjacent"] 21["SweepEdge Adjacent"]
22["SweepEdge Adjacent"] 22["SweepEdge Adjacent"]
23["EdgeCut Fillet<br>[416, 609, 0]"] 23["EdgeCut Fillet<br>[416, 609, 0]"]
24["EdgeCut Fillet<br>[416, 609, 0]"]
25["EdgeCut Fillet<br>[416, 609, 0]"]
26["EdgeCut Fillet<br>[416, 609, 0]"]
1 --- 2 1 --- 2
2 --- 3 2 --- 3
2 --- 4 2 --- 4
@ -73,8 +70,8 @@ flowchart LR
16 <--x 14 16 <--x 14
17 <--x 14 17 <--x 14
18 <--x 14 18 <--x 14
19 <--x 26 19 <--x 23
20 <--x 25 20 <--x 23
21 <--x 24 21 <--x 23
22 <--x 23 22 <--x 23
``` ```

View File

@ -528,46 +528,22 @@ description: Artifact commands fillet-and-shell.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 1.0, "radius": 1.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {

View File

@ -114,9 +114,6 @@ flowchart LR
84["SweepEdge Adjacent"] 84["SweepEdge Adjacent"]
85["SweepEdge Adjacent"] 85["SweepEdge Adjacent"]
86["EdgeCut Fillet<br>[1068, 1274, 0]"] 86["EdgeCut Fillet<br>[1068, 1274, 0]"]
87["EdgeCut Fillet<br>[1068, 1274, 0]"]
88["EdgeCut Fillet<br>[1068, 1274, 0]"]
89["EdgeCut Fillet<br>[1068, 1274, 0]"]
1 --- 7 1 --- 7
2 --- 8 2 --- 8
3 --- 9 3 --- 9
@ -248,8 +245,8 @@ flowchart LR
74 <--x 69 74 <--x 69
75 <--x 69 75 <--x 69
76 <--x 69 76 <--x 69
81 <--x 89 81 <--x 86
82 <--x 88 82 <--x 86
83 <--x 87 83 <--x 86
84 <--x 86 84 <--x 86
``` ```

View File

@ -4559,190 +4559,46 @@ description: Artifact commands 80-20-rail.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 1.5239999999999998, "radius": 1.5239999999999998,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]",
"command": { "[uuid]",
"type": "solid3d_fillet_edge", "[uuid]",
"object_id": "[uuid]", "[uuid]",
"edge_id": "[uuid]", "[uuid]",
"radius": 1.5239999999999998, "[uuid]",
"tolerance": 0.0000001, "[uuid]",
"cut_type": "fillet" "[uuid]",
} "[uuid]",
}, "[uuid]",
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.5239999999999998,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.5239999999999998,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.5239999999999998,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.5239999999999998,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.5239999999999998,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.5239999999999998,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.5239999999999998,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.5239999999999998,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.5239999999999998,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.5239999999999998,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.5239999999999998,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.5239999999999998,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.5239999999999998,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.5239999999999998,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {
@ -4911,190 +4767,46 @@ description: Artifact commands 80-20-rail.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 0.7619999999999999, "radius": 0.7619999999999999,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]",
"command": { "[uuid]",
"type": "solid3d_fillet_edge", "[uuid]",
"object_id": "[uuid]", "[uuid]",
"edge_id": "[uuid]", "[uuid]",
"radius": 0.7619999999999999, "[uuid]",
"tolerance": 0.0000001, "[uuid]",
"cut_type": "fillet" "[uuid]",
} "[uuid]",
}, "[uuid]",
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.7619999999999999,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.7619999999999999,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.7619999999999999,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.7619999999999999,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.7619999999999999,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.7619999999999999,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.7619999999999999,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.7619999999999999,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.7619999999999999,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.7619999999999999,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.7619999999999999,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.7619999999999999,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.7619999999999999,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.7619999999999999,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {

View File

@ -271,37 +271,7 @@ flowchart LR
265["SweepEdge Adjacent"] 265["SweepEdge Adjacent"]
266["SweepEdge Adjacent"] 266["SweepEdge Adjacent"]
267["EdgeCut Fillet<br>[5122, 5827, 0]"] 267["EdgeCut Fillet<br>[5122, 5827, 0]"]
268["EdgeCut Fillet<br>[5122, 5827, 0]"] 268["EdgeCut Fillet<br>[5835, 6539, 0]"]
269["EdgeCut Fillet<br>[5122, 5827, 0]"]
270["EdgeCut Fillet<br>[5122, 5827, 0]"]
271["EdgeCut Fillet<br>[5122, 5827, 0]"]
272["EdgeCut Fillet<br>[5122, 5827, 0]"]
273["EdgeCut Fillet<br>[5122, 5827, 0]"]
274["EdgeCut Fillet<br>[5122, 5827, 0]"]
275["EdgeCut Fillet<br>[5122, 5827, 0]"]
276["EdgeCut Fillet<br>[5122, 5827, 0]"]
277["EdgeCut Fillet<br>[5122, 5827, 0]"]
278["EdgeCut Fillet<br>[5122, 5827, 0]"]
279["EdgeCut Fillet<br>[5122, 5827, 0]"]
280["EdgeCut Fillet<br>[5122, 5827, 0]"]
281["EdgeCut Fillet<br>[5122, 5827, 0]"]
282["EdgeCut Fillet<br>[5122, 5827, 0]"]
283["EdgeCut Fillet<br>[5835, 6539, 0]"]
284["EdgeCut Fillet<br>[5835, 6539, 0]"]
285["EdgeCut Fillet<br>[5835, 6539, 0]"]
286["EdgeCut Fillet<br>[5835, 6539, 0]"]
287["EdgeCut Fillet<br>[5835, 6539, 0]"]
288["EdgeCut Fillet<br>[5835, 6539, 0]"]
289["EdgeCut Fillet<br>[5835, 6539, 0]"]
290["EdgeCut Fillet<br>[5835, 6539, 0]"]
291["EdgeCut Fillet<br>[5835, 6539, 0]"]
292["EdgeCut Fillet<br>[5835, 6539, 0]"]
293["EdgeCut Fillet<br>[5835, 6539, 0]"]
294["EdgeCut Fillet<br>[5835, 6539, 0]"]
295["EdgeCut Fillet<br>[5835, 6539, 0]"]
296["EdgeCut Fillet<br>[5835, 6539, 0]"]
297["EdgeCut Fillet<br>[5835, 6539, 0]"]
298["EdgeCut Fillet<br>[5835, 6539, 0]"]
1 --- 2 1 --- 2
1 --- 3 1 --- 3
2 --- 4 2 --- 4
@ -1015,36 +985,36 @@ flowchart LR
200 <--x 138 200 <--x 138
201 <--x 138 201 <--x 138
202 <--x 138 202 <--x 138
206 <--x 288 206 <--x 268
208 <--x 294 208 <--x 268
212 <--x 270 212 <--x 267
213 <--x 277 213 <--x 267
215 <--x 268 215 <--x 267
216 <--x 281 216 <--x 267
217 <--x 289 217 <--x 268
220 <--x 296 220 <--x 268
222 <--x 269 222 <--x 267
225 <--x 287 225 <--x 268
226 <--x 298 226 <--x 268
227 <--x 273 227 <--x 267
228 <--x 276 228 <--x 267
229 <--x 274 229 <--x 267
231 <--x 283 231 <--x 268
232 <--x 297 232 <--x 268
235 <--x 292 235 <--x 268
237 <--x 279 237 <--x 267
238 <--x 271 238 <--x 267
240 <--x 284 240 <--x 268
242 <--x 293 242 <--x 268
243 <--x 272 243 <--x 267
246 <--x 286 246 <--x 268
252 <--x 280 252 <--x 267
253 <--x 275 253 <--x 267
254 <--x 295 254 <--x 268
255 <--x 267 255 <--x 267
256 <--x 291 256 <--x 268
257 <--x 285 257 <--x 268
262 <--x 278 262 <--x 267
264 <--x 282 264 <--x 267
265 <--x 290 265 <--x 268
``` ```

View File

@ -5160,94 +5160,30 @@ description: Artifact commands axial-fan.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 7.5, "radius": 7.5,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]",
"command": { "[uuid]",
"type": "solid3d_fillet_edge", "[uuid]",
"object_id": "[uuid]", "[uuid]",
"edge_id": "[uuid]", "[uuid]"
"radius": 7.5, ]
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 7.5,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 7.5,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 7.5,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 7.5,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 7.5,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 7.5,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {
@ -5575,22 +5511,18 @@ description: Artifact commands axial-fan.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 2.0, "radius": 2.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]"
"cmdId": "[uuid]", ]
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 2.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {

View File

@ -314,15 +314,7 @@ flowchart LR
266["SweepEdge Adjacent"] 266["SweepEdge Adjacent"]
267["SweepEdge Adjacent"] 267["SweepEdge Adjacent"]
268["EdgeCut Fillet<br>[5131, 5642, 1]"] 268["EdgeCut Fillet<br>[5131, 5642, 1]"]
269["EdgeCut Fillet<br>[5131, 5642, 1]"] 269["EdgeCut Fillet<br>[412, 470, 3]"]
270["EdgeCut Fillet<br>[5131, 5642, 1]"]
271["EdgeCut Fillet<br>[5131, 5642, 1]"]
272["EdgeCut Fillet<br>[5131, 5642, 1]"]
273["EdgeCut Fillet<br>[5131, 5642, 1]"]
274["EdgeCut Fillet<br>[5131, 5642, 1]"]
275["EdgeCut Fillet<br>[5131, 5642, 1]"]
276["EdgeCut Fillet<br>[412, 470, 3]"]
277["EdgeCut Fillet<br>[412, 470, 3]"]
1 --- 8 1 --- 8
1 --- 9 1 --- 9
1 --- 10 1 --- 10
@ -563,7 +555,7 @@ flowchart LR
71 x--> 178 71 x--> 178
71 --- 217 71 --- 217
71 --- 262 71 --- 262
71 --- 277 71 <--x 269
72 --- 158 72 --- 158
72 x--> 181 72 x--> 181
72 --- 203 72 --- 203
@ -888,13 +880,13 @@ flowchart LR
221 <--x 188 221 <--x 188
222 <--x 188 222 <--x 188
203 <--x 189 203 <--x 189
217 <--x 276 217 <--x 269
223 <--x 268 223 <--x 268
224 <--x 274 224 <--x 268
225 <--x 270 225 <--x 268
226 <--x 273 226 <--x 268
264 <--x 271 264 <--x 268
265 <--x 269 265 <--x 268
266 <--x 275 266 <--x 268
267 <--x 272 267 <--x 268
``` ```

View File

@ -1414,10 +1414,15 @@ description: Artifact commands bracket.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 16.125347184188833, "radius": 16.125347184188833,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {
@ -1436,10 +1441,15 @@ description: Artifact commands bracket.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 6.35, "radius": 6.35,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {
@ -1458,46 +1468,22 @@ description: Artifact commands bracket.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 12.7, "radius": 12.7,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 12.7,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 12.7,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 12.7,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {

View File

@ -60,9 +60,6 @@ flowchart LR
52["EdgeCut Fillet<br>[3596, 3676, 0]"] 52["EdgeCut Fillet<br>[3596, 3676, 0]"]
53["EdgeCut Fillet<br>[3677, 3754, 0]"] 53["EdgeCut Fillet<br>[3677, 3754, 0]"]
54["EdgeCut Fillet<br>[3780, 3922, 0]"] 54["EdgeCut Fillet<br>[3780, 3922, 0]"]
55["EdgeCut Fillet<br>[3780, 3922, 0]"]
56["EdgeCut Fillet<br>[3780, 3922, 0]"]
57["EdgeCut Fillet<br>[3780, 3922, 0]"]
1 --- 4 1 --- 4
33 x--> 2 33 x--> 2
32 x--> 3 32 x--> 3
@ -91,7 +88,7 @@ flowchart LR
8 x--> 34 8 x--> 34
8 --- 40 8 --- 40
8 --- 47 8 --- 47
8 --- 54 8 <--x 54
9 --- 32 9 --- 32
9 x--> 34 9 x--> 34
9 --- 41 9 --- 41
@ -104,7 +101,7 @@ flowchart LR
11 x--> 34 11 x--> 34
11 --- 38 11 --- 38
11 --- 48 11 --- 48
11 --- 56 11 <--x 54
12 --- 28 12 --- 28
12 x--> 34 12 x--> 34
12 --- 39 12 --- 39
@ -165,8 +162,8 @@ flowchart LR
41 <--x 35 41 <--x 35
42 <--x 35 42 <--x 35
43 <--x 35 43 <--x 35
38 <--x 55 38 <--x 54
40 <--x 57 40 <--x 54
49 <--x 53 49 <--x 53
51 <--x 52 51 <--x 52
``` ```

View File

@ -608,7 +608,7 @@ flowchart LR
83 --- 246 83 --- 246
83 --- 289 83 --- 289
90 --- 159 90 --- 159
90 x--> 192 90 x--> 193
90 --- 226 90 --- 226
90 --- 271 90 --- 271
104 --- 151 104 --- 151
@ -910,7 +910,7 @@ flowchart LR
211 <--x 191 211 <--x 191
212 <--x 191 212 <--x 191
213 <--x 191 213 <--x 191
226 <--x 193 226 <--x 192
239 <--x 195 239 <--x 195
240 <--x 195 240 <--x 195
241 <--x 195 241 <--x 195

View File

@ -418,46 +418,22 @@ description: Artifact commands enclosure.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 12.0, "radius": 12.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 12.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 12.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 12.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {
@ -2898,46 +2874,22 @@ description: Artifact commands enclosure.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 12.0, "radius": 12.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 12.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 12.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 12.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {
@ -3884,46 +3836,22 @@ description: Artifact commands enclosure.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 9.0, "radius": 9.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 9.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 9.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 9.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {

View File

@ -184,17 +184,8 @@ flowchart LR
144["SweepEdge Adjacent"] 144["SweepEdge Adjacent"]
145["SweepEdge Adjacent"] 145["SweepEdge Adjacent"]
146["EdgeCut Fillet<br>[789, 1071, 0]"] 146["EdgeCut Fillet<br>[789, 1071, 0]"]
147["EdgeCut Fillet<br>[789, 1071, 0]"] 147["EdgeCut Fillet<br>[3611, 3893, 0]"]
148["EdgeCut Fillet<br>[789, 1071, 0]"] 148["EdgeCut Fillet<br>[5399, 5681, 0]"]
149["EdgeCut Fillet<br>[789, 1071, 0]"]
150["EdgeCut Fillet<br>[3611, 3893, 0]"]
151["EdgeCut Fillet<br>[3611, 3893, 0]"]
152["EdgeCut Fillet<br>[3611, 3893, 0]"]
153["EdgeCut Fillet<br>[3611, 3893, 0]"]
154["EdgeCut Fillet<br>[5399, 5681, 0]"]
155["EdgeCut Fillet<br>[5399, 5681, 0]"]
156["EdgeCut Fillet<br>[5399, 5681, 0]"]
157["EdgeCut Fillet<br>[5399, 5681, 0]"]
1 --- 8 1 --- 8
2 --- 9 2 --- 9
2 --- 14 2 --- 14
@ -435,15 +426,15 @@ flowchart LR
121 <--x 113 121 <--x 113
122 <--x 113 122 <--x 113
131 <--x 146 131 <--x 146
132 <--x 149 132 <--x 146
133 <--x 148 133 <--x 146
134 <--x 147 134 <--x 146
135 <--x 150 135 <--x 147
136 <--x 152 136 <--x 147
137 <--x 153 137 <--x 147
138 <--x 151 138 <--x 147
139 <--x 155 139 <--x 148
140 <--x 154 140 <--x 148
141 <--x 156 141 <--x 148
142 <--x 157 142 <--x 148
``` ```

View File

@ -4062,22 +4062,18 @@ description: Artifact commands exhaust-manifold.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 38.099999999999994, "radius": 38.099999999999994,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]"
"cmdId": "[uuid]", ]
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 38.099999999999994,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {
@ -4106,22 +4102,18 @@ description: Artifact commands exhaust-manifold.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 6.35, "radius": 6.35,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]"
"cmdId": "[uuid]", ]
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 6.35,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {

View File

@ -218,9 +218,7 @@ flowchart LR
174["SweepEdge Adjacent"] 174["SweepEdge Adjacent"]
175["SweepEdge Adjacent"] 175["SweepEdge Adjacent"]
176["EdgeCut Fillet<br>[3990, 4124, 0]"] 176["EdgeCut Fillet<br>[3990, 4124, 0]"]
177["EdgeCut Fillet<br>[3990, 4124, 0]"] 177["EdgeCut Fillet<br>[4130, 4264, 0]"]
178["EdgeCut Fillet<br>[4130, 4264, 0]"]
179["EdgeCut Fillet<br>[4130, 4264, 0]"]
1 --- 11 1 --- 11
2 --- 10 2 --- 10
3 --- 13 3 --- 13
@ -535,8 +533,8 @@ flowchart LR
152 <--x 135 152 <--x 135
153 <--x 135 153 <--x 135
154 <--x 135 154 <--x 135
165 <--x 179 165 <--x 177
167 <--x 178 167 <--x 177
168 <--x 177 168 <--x 176
174 <--x 176 174 <--x 176
``` ```

View File

@ -666,46 +666,22 @@ description: Artifact commands focusrite-scarlett-mounting-bracket.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 6.0, "radius": 6.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 6.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 6.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 6.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {
@ -1279,22 +1255,18 @@ description: Artifact commands focusrite-scarlett-mounting-bracket.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 2.5, "radius": 2.5,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]"
"cmdId": "[uuid]", ]
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 2.5,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {
@ -1888,22 +1860,18 @@ description: Artifact commands focusrite-scarlett-mounting-bracket.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 2.5, "radius": 2.5,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]"
"cmdId": "[uuid]", ]
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 2.5,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {

View File

@ -143,13 +143,8 @@ flowchart LR
127["SweepEdge Adjacent"] 127["SweepEdge Adjacent"]
128["SweepEdge Adjacent"] 128["SweepEdge Adjacent"]
129["EdgeCut Fillet<br>[1449, 1708, 0]"] 129["EdgeCut Fillet<br>[1449, 1708, 0]"]
130["EdgeCut Fillet<br>[1449, 1708, 0]"] 130["EdgeCut Fillet<br>[2472, 2617, 0]"]
131["EdgeCut Fillet<br>[1449, 1708, 0]"] 131["EdgeCut Fillet<br>[3300, 3445, 0]"]
132["EdgeCut Fillet<br>[1449, 1708, 0]"]
133["EdgeCut Fillet<br>[2472, 2617, 0]"]
134["EdgeCut Fillet<br>[2472, 2617, 0]"]
135["EdgeCut Fillet<br>[3300, 3445, 0]"]
136["EdgeCut Fillet<br>[3300, 3445, 0]"]
1 --- 6 1 --- 6
2 --- 7 2 --- 7
2 --- 8 2 --- 8
@ -449,12 +444,12 @@ flowchart LR
103 <--x 82 103 <--x 82
104 <--x 82 104 <--x 82
105 <--x 82 105 <--x 82
107 <--x 132 107 <--x 129
108 <--x 130 108 <--x 129
111 <--x 129 111 <--x 129
112 <--x 131 112 <--x 129
115 <--x 133 115 <--x 130
116 <--x 134 116 <--x 130
119 <--x 136 119 <--x 131
121 <--x 135 121 <--x 131
``` ```

View File

@ -1559,22 +1559,18 @@ description: Artifact commands food-service-spatula.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 5.0, "radius": 5.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]"
"cmdId": "[uuid]", ]
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 5.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {
@ -2184,22 +2180,18 @@ description: Artifact commands food-service-spatula.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 4.0, "radius": 4.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]"
"cmdId": "[uuid]", ]
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 4.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {

View File

@ -157,9 +157,7 @@ flowchart LR
141["SweepEdge Adjacent"] 141["SweepEdge Adjacent"]
142["SweepEdge Adjacent"] 142["SweepEdge Adjacent"]
143["EdgeCut Fillet<br>[2546, 2687, 0]"] 143["EdgeCut Fillet<br>[2546, 2687, 0]"]
144["EdgeCut Fillet<br>[2546, 2687, 0]"] 144["EdgeCut Fillet<br>[3357, 3488, 0]"]
145["EdgeCut Fillet<br>[3357, 3488, 0]"]
146["EdgeCut Fillet<br>[3357, 3488, 0]"]
1 --- 6 1 --- 6
1 --- 8 1 --- 8
1 --- 9 1 --- 9
@ -485,8 +483,8 @@ flowchart LR
112 <--x 94 112 <--x 94
113 <--x 94 113 <--x 94
114 <--x 94 114 <--x 94
120 <--x 145 120 <--x 144
124 <--x 146 124 <--x 144
135 <--x 143 135 <--x 143
137 <--x 144 137 <--x 143
``` ```

View File

@ -4789,46 +4789,22 @@ description: Artifact commands gridfinity-baseplate-magnets.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 4.0, "radius": 4.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 4.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 4.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 4.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {
@ -5907,46 +5883,22 @@ description: Artifact commands gridfinity-baseplate-magnets.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 4.0, "radius": 4.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 4.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 4.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 4.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {

View File

@ -158,13 +158,7 @@ flowchart LR
142["SweepEdge Adjacent"] 142["SweepEdge Adjacent"]
143["SweepEdge Adjacent"] 143["SweepEdge Adjacent"]
144["EdgeCut Fillet<br>[5152, 5491, 0]"] 144["EdgeCut Fillet<br>[5152, 5491, 0]"]
145["EdgeCut Fillet<br>[5152, 5491, 0]"] 145["EdgeCut Fillet<br>[5816, 6160, 0]"]
146["EdgeCut Fillet<br>[5152, 5491, 0]"]
147["EdgeCut Fillet<br>[5152, 5491, 0]"]
148["EdgeCut Fillet<br>[5816, 6160, 0]"]
149["EdgeCut Fillet<br>[5816, 6160, 0]"]
150["EdgeCut Fillet<br>[5816, 6160, 0]"]
151["EdgeCut Fillet<br>[5816, 6160, 0]"]
1 <--x 8 1 <--x 8
1 --- 12 1 --- 12
2 <--x 7 2 <--x 7
@ -439,11 +433,11 @@ flowchart LR
124 <--x 107 124 <--x 107
125 <--x 107 125 <--x 107
131 <--x 144 131 <--x 144
132 <--x 147 132 <--x 144
133 <--x 145 133 <--x 144
134 <--x 146 134 <--x 144
135 <--x 150 135 <--x 145
136 <--x 148 136 <--x 145
137 <--x 151 137 <--x 145
138 <--x 149 138 <--x 145
``` ```

View File

@ -1374,46 +1374,22 @@ description: Artifact commands gridfinity-bins-stacking-lip.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 0.8, "radius": 0.8,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.8,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.8,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.8,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {
@ -3922,46 +3898,22 @@ description: Artifact commands gridfinity-bins-stacking-lip.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 3.75, "radius": 3.75,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 3.75,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 3.75,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 3.75,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {

View File

@ -284,13 +284,7 @@ flowchart LR
264["SweepEdge Adjacent"] 264["SweepEdge Adjacent"]
265["SweepEdge Adjacent"] 265["SweepEdge Adjacent"]
266["EdgeCut Fillet<br>[2865, 3095, 0]"] 266["EdgeCut Fillet<br>[2865, 3095, 0]"]
267["EdgeCut Fillet<br>[2865, 3095, 0]"] 267["EdgeCut Fillet<br>[4934, 5167, 0]"]
268["EdgeCut Fillet<br>[2865, 3095, 0]"]
269["EdgeCut Fillet<br>[2865, 3095, 0]"]
270["EdgeCut Fillet<br>[4934, 5167, 0]"]
271["EdgeCut Fillet<br>[4934, 5167, 0]"]
272["EdgeCut Fillet<br>[4934, 5167, 0]"]
273["EdgeCut Fillet<br>[4934, 5167, 0]"]
1 <--x 10 1 <--x 10
1 --- 14 1 --- 14
2 <--x 11 2 <--x 11
@ -945,11 +939,11 @@ flowchart LR
182 <--x 163 182 <--x 163
183 <--x 163 183 <--x 163
231 <--x 266 231 <--x 266
232 <--x 269 232 <--x 266
233 <--x 267 233 <--x 266
234 <--x 268 234 <--x 266
249 <--x 270 249 <--x 267
250 <--x 273 250 <--x 267
251 <--x 272 251 <--x 267
252 <--x 271 252 <--x 267
``` ```

View File

@ -1374,46 +1374,22 @@ description: Artifact commands gridfinity-bins.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 0.8, "radius": 0.8,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.8,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.8,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.8,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {
@ -3922,46 +3898,22 @@ description: Artifact commands gridfinity-bins.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 3.75, "radius": 3.75,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 3.75,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 3.75,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 3.75,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {

View File

@ -124,13 +124,7 @@ flowchart LR
112["SweepEdge Adjacent"] 112["SweepEdge Adjacent"]
113["SweepEdge Adjacent"] 113["SweepEdge Adjacent"]
114["EdgeCut Fillet<br>[2606, 2836, 0]"] 114["EdgeCut Fillet<br>[2606, 2836, 0]"]
115["EdgeCut Fillet<br>[2606, 2836, 0]"] 115["EdgeCut Fillet<br>[4704, 4937, 0]"]
116["EdgeCut Fillet<br>[2606, 2836, 0]"]
117["EdgeCut Fillet<br>[2606, 2836, 0]"]
118["EdgeCut Fillet<br>[4704, 4937, 0]"]
119["EdgeCut Fillet<br>[4704, 4937, 0]"]
120["EdgeCut Fillet<br>[4704, 4937, 0]"]
121["EdgeCut Fillet<br>[4704, 4937, 0]"]
1 <--x 6 1 <--x 6
1 --- 10 1 --- 10
2 <--x 7 2 <--x 7
@ -381,11 +375,11 @@ flowchart LR
78 <--x 75 78 <--x 75
79 <--x 75 79 <--x 75
95 <--x 114 95 <--x 114
96 <--x 117 96 <--x 114
97 <--x 115 97 <--x 114
98 <--x 116 98 <--x 114
105 <--x 118 105 <--x 115
106 <--x 121 106 <--x 115
107 <--x 120 107 <--x 115
108 <--x 119 108 <--x 115
``` ```

View File

@ -435,46 +435,22 @@ description: Artifact commands keyboard.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 15.239999999999998, "radius": 15.239999999999998,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 15.239999999999998,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 15.239999999999998,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 15.239999999999998,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {

View File

@ -1096,9 +1096,6 @@ flowchart LR
1032["SweepEdge Adjacent"] 1032["SweepEdge Adjacent"]
1033["SweepEdge Adjacent"] 1033["SweepEdge Adjacent"]
1034["EdgeCut Fillet<br>[932, 1089, 0]"] 1034["EdgeCut Fillet<br>[932, 1089, 0]"]
1035["EdgeCut Fillet<br>[932, 1089, 0]"]
1036["EdgeCut Fillet<br>[932, 1089, 0]"]
1037["EdgeCut Fillet<br>[932, 1089, 0]"]
1 --- 29 1 --- 29
2 --- 36 2 --- 36
3 --- 44 3 --- 44
@ -1427,7 +1424,7 @@ flowchart LR
60 x--> 561 60 x--> 561
60 --- 652 60 --- 652
60 --- 859 60 --- 859
60 --- 1037 60 <--x 1034
61 --- 386 61 --- 386
61 x--> 561 61 x--> 561
61 --- 654 61 --- 654
@ -1436,7 +1433,7 @@ flowchart LR
62 x--> 561 62 x--> 561
62 --- 653 62 --- 653
62 --- 860 62 --- 860
62 --- 1035 62 <--x 1034
63 --- 388 63 --- 388
63 x--> 561 63 x--> 561
63 --- 651 63 --- 651
@ -3764,5 +3761,5 @@ flowchart LR
649 <--x 616 649 <--x 616
700 <--x 617 700 <--x 617
652 <--x 1034 652 <--x 1034
653 <--x 1036 653 <--x 1034
``` ```

View File

@ -1106,46 +1106,22 @@ description: Artifact commands mounting-plate.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 12.7, "radius": 12.7,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 12.7,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 12.7,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 12.7,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {

View File

@ -50,9 +50,6 @@ flowchart LR
36["SweepEdge Adjacent"] 36["SweepEdge Adjacent"]
37["SweepEdge Adjacent"] 37["SweepEdge Adjacent"]
38["EdgeCut Fillet<br>[1927, 2192, 0]"] 38["EdgeCut Fillet<br>[1927, 2192, 0]"]
39["EdgeCut Fillet<br>[1927, 2192, 0]"]
40["EdgeCut Fillet<br>[1927, 2192, 0]"]
41["EdgeCut Fillet<br>[1927, 2192, 0]"]
1 --- 2 1 --- 2
1 --- 3 1 --- 3
1 --- 4 1 --- 4
@ -121,8 +118,8 @@ flowchart LR
31 <--x 29 31 <--x 29
32 <--x 29 32 <--x 29
33 <--x 29 33 <--x 29
34 <--x 39 34 <--x 38
35 <--x 41 35 <--x 38
36 <--x 40 36 <--x 38
37 <--x 38 37 <--x 38
``` ```

View File

@ -418,46 +418,22 @@ description: Artifact commands multi-axis-robot.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 50.8, "radius": 50.8,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "chamfer" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 50.8,
"tolerance": 0.0000001,
"cut_type": "chamfer"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 50.8,
"tolerance": 0.0000001,
"cut_type": "chamfer"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 50.8,
"tolerance": 0.0000001,
"cut_type": "chamfer"
} }
}, },
{ {
@ -672,10 +648,15 @@ description: Artifact commands multi-axis-robot.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 2.54, "radius": 2.54,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {
@ -2074,10 +2055,15 @@ description: Artifact commands multi-axis-robot.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 2.54, "radius": 2.54,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {
@ -2679,10 +2665,15 @@ description: Artifact commands multi-axis-robot.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 2.54, "radius": 2.54,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {
@ -3336,10 +3327,15 @@ description: Artifact commands multi-axis-robot.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 2.54, "radius": 2.54,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {
@ -4157,10 +4153,15 @@ description: Artifact commands multi-axis-robot.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 2.54, "radius": 2.54,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {
@ -4345,10 +4346,15 @@ description: Artifact commands multi-axis-robot.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 2.54, "radius": 2.54,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {
@ -6438,10 +6444,15 @@ description: Artifact commands multi-axis-robot.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 2.54, "radius": 2.54,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {

View File

@ -393,17 +393,14 @@ flowchart LR
341["SweepEdge Adjacent"] 341["SweepEdge Adjacent"]
342["SweepEdge Adjacent"] 342["SweepEdge Adjacent"]
343["SweepEdge Adjacent"] 343["SweepEdge Adjacent"]
344["EdgeCut Chamfer<br>[795, 1072, 1]"] 344["EdgeCut Fillet<br>[795, 1072, 1]"]
345["EdgeCut Chamfer<br>[795, 1072, 1]"] 345["EdgeCut Fillet<br>[1312, 1373, 1]"]
346["EdgeCut Chamfer<br>[795, 1072, 1]"] 346["EdgeCut Fillet<br>[339, 401, 3]"]
347["EdgeCut Chamfer<br>[795, 1072, 1]"] 347["EdgeCut Fillet<br>[1088, 1150, 3]"]
348["EdgeCut Fillet<br>[1312, 1373, 1]"] 348["EdgeCut Fillet<br>[1875, 1937, 3]"]
349["EdgeCut Fillet<br>[339, 401, 3]"] 349["EdgeCut Fillet<br>[940, 1002, 4]"]
350["EdgeCut Fillet<br>[1088, 1150, 3]"] 350["EdgeCut Fillet<br>[1297, 1359, 4]"]
351["EdgeCut Fillet<br>[1875, 1937, 3]"] 351["EdgeCut Fillet<br>[1171, 1233, 5]"]
352["EdgeCut Fillet<br>[940, 1002, 4]"]
353["EdgeCut Fillet<br>[1297, 1359, 4]"]
354["EdgeCut Fillet<br>[1171, 1233, 5]"]
1 --- 7 1 --- 7
2 --- 12 2 --- 12
3 --- 13 3 --- 13
@ -1066,15 +1063,15 @@ flowchart LR
265 <--x 238 265 <--x 238
248 <--x 239 248 <--x 239
264 <--x 243 264 <--x 243
246 <--x 349 246 <--x 346
247 <--x 351 247 <--x 348
249 <--x 352 249 <--x 349
254 <--x 348 254 <--x 345
270 <--x 350 270 <--x 347
271 <--x 354 271 <--x 351
278 <--x 353 278 <--x 350
335 <--x 345 335 <--x 344
336 <--x 347 336 <--x 344
337 <--x 344 337 <--x 344
338 <--x 346 338 <--x 344
``` ```

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 72 KiB

View File

@ -3678,22 +3678,18 @@ description: Artifact commands pipe-flange-assembly.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 0.508, "radius": 0.508,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]"
"cmdId": "[uuid]", ]
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.508,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {

View File

@ -284,7 +284,6 @@ flowchart LR
236["SweepEdge Adjacent"] 236["SweepEdge Adjacent"]
237["SweepEdge Adjacent"] 237["SweepEdge Adjacent"]
238["EdgeCut Fillet<br>[576, 642, 5]"] 238["EdgeCut Fillet<br>[576, 642, 5]"]
239["EdgeCut Fillet<br>[576, 642, 5]"]
1 --- 23 1 --- 23
2 --- 25 2 --- 25
3 --- 26 3 --- 26
@ -449,7 +448,7 @@ flowchart LR
60 x--> 172 60 x--> 172
60 --- 181 60 --- 181
60 --- 212 60 --- 212
60 --- 239 60 <--x 238
61 --- 147 61 --- 147
61 x--> 161 61 x--> 161
61 --- 201 61 --- 201

View File

@ -1468,46 +1468,22 @@ description: Artifact commands sheet-metal-bracket.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 12.7, "radius": 12.7,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 12.7,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 12.7,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 12.7,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {

View File

@ -137,9 +137,6 @@ flowchart LR
125["SweepEdge Adjacent"] 125["SweepEdge Adjacent"]
126["SweepEdge Adjacent"] 126["SweepEdge Adjacent"]
127["EdgeCut Fillet<br>[2644, 2815, 0]"] 127["EdgeCut Fillet<br>[2644, 2815, 0]"]
128["EdgeCut Fillet<br>[2644, 2815, 0]"]
129["EdgeCut Fillet<br>[2644, 2815, 0]"]
130["EdgeCut Fillet<br>[2644, 2815, 0]"]
1 --- 6 1 --- 6
76 x--> 2 76 x--> 2
74 x--> 3 74 x--> 3
@ -226,7 +223,7 @@ flowchart LR
21 x--> 77 21 x--> 77
21 --- 98 21 --- 98
21 --- 107 21 --- 107
21 --- 130 21 <--x 127
22 --- 74 22 --- 74
22 x--> 77 22 x--> 77
22 --- 88 22 --- 88
@ -267,7 +264,7 @@ flowchart LR
32 x--> 77 32 x--> 77
32 --- 86 32 --- 86
32 --- 110 32 --- 110
32 --- 127 32 <--x 127
34 --- 56 34 --- 56
34 x--> 74 34 x--> 74
34 --- 82 34 --- 82
@ -446,6 +443,6 @@ flowchart LR
100 <--x 78 100 <--x 78
101 <--x 78 101 <--x 78
102 <--x 78 102 <--x 78
86 <--x 129 86 <--x 127
98 <--x 128 98 <--x 127
``` ```

View File

@ -234,22 +234,18 @@ description: Artifact commands socket-head-cap-screw.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 0.508, "radius": 0.508,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]"
"cmdId": "[uuid]", ]
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.508,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {
@ -895,10 +891,15 @@ description: Artifact commands socket-head-cap-screw.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 0.508, "radius": 0.508,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {

View File

@ -55,8 +55,7 @@ flowchart LR
47["SweepEdge Adjacent"] 47["SweepEdge Adjacent"]
48["SweepEdge Adjacent"] 48["SweepEdge Adjacent"]
49["EdgeCut Fillet<br>[798, 864, 0]"] 49["EdgeCut Fillet<br>[798, 864, 0]"]
50["EdgeCut Fillet<br>[798, 864, 0]"] 50["EdgeCut Fillet<br>[1571, 1630, 0]"]
51["EdgeCut Fillet<br>[1571, 1630, 0]"]
1 --- 4 1 --- 4
29 x--> 2 29 x--> 2
31 x--> 3 31 x--> 3
@ -80,7 +79,7 @@ flowchart LR
7 x--> 31 7 x--> 31
7 --- 40 7 --- 40
7 --- 48 7 --- 48
7 --- 50 7 <--x 49
8 --- 26 8 --- 26
8 x--> 29 8 x--> 29
8 --- 36 8 --- 36
@ -163,6 +162,6 @@ flowchart LR
37 <--x 30 37 <--x 30
38 <--x 30 38 <--x 30
39 <--x 30 39 <--x 30
33 <--x 51 33 <--x 50
40 <--x 49 40 <--x 49
``` ```

View File

@ -641,46 +641,22 @@ description: Artifact commands walkie-talkie.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 8.254999999999999, "radius": 8.254999999999999,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "chamfer" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 8.254999999999999,
"tolerance": 0.0000001,
"cut_type": "chamfer"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 8.254999999999999,
"tolerance": 0.0000001,
"cut_type": "chamfer"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 8.254999999999999,
"tolerance": 0.0000001,
"cut_type": "chamfer"
} }
}, },
{ {
@ -40241,46 +40217,22 @@ description: Artifact commands walkie-talkie.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]",
"[uuid]",
"[uuid]"
],
"radius": 1.27, "radius": 1.27,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]",
"cmdId": "[uuid]", "[uuid]",
"range": [], "[uuid]"
"command": { ]
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.27,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.27,
"tolerance": 0.0000001,
"cut_type": "fillet"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.27,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {
@ -42256,10 +42208,18 @@ description: Artifact commands walkie-talkie.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 1.27, "radius": 1.27,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "chamfer" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": [
"[uuid]"
]
} }
}, },
{ {
@ -42268,10 +42228,18 @@ description: Artifact commands walkie-talkie.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 1.27, "radius": 1.27,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "chamfer" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": [
"[uuid]"
]
} }
}, },
{ {
@ -42280,10 +42248,18 @@ description: Artifact commands walkie-talkie.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 1.27, "radius": 1.27,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "chamfer" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": [
"[uuid]"
]
} }
}, },
{ {
@ -42292,58 +42268,18 @@ description: Artifact commands walkie-talkie.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 1.27, "radius": 1.27,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "chamfer" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]"
"cmdId": "[uuid]", ]
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.27,
"tolerance": 0.0000001,
"cut_type": "chamfer"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.27,
"tolerance": 0.0000001,
"cut_type": "chamfer"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.27,
"tolerance": 0.0000001,
"cut_type": "chamfer"
}
},
{
"cmdId": "[uuid]",
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 1.27,
"tolerance": 0.0000001,
"cut_type": "chamfer"
} }
}, },
{ {

View File

@ -393,22 +393,12 @@ flowchart LR
351["SweepEdge Adjacent"] 351["SweepEdge Adjacent"]
352["SweepEdge Adjacent"] 352["SweepEdge Adjacent"]
353["SweepEdge Adjacent"] 353["SweepEdge Adjacent"]
354["EdgeCut Chamfer<br>[657, 888, 2]"] 354["EdgeCut Fillet<br>[657, 888, 2]"]
355["EdgeCut Chamfer<br>[657, 888, 2]"] 355["EdgeCut Fillet<br>[667, 873, 6]"]
356["EdgeCut Chamfer<br>[657, 888, 2]"] 356["EdgeCut Fillet<br>[707, 853, 8]"]
357["EdgeCut Chamfer<br>[657, 888, 2]"] 357["EdgeCut Fillet<br>[707, 853, 8]"]
358["EdgeCut Fillet<br>[667, 873, 6]"] 358["EdgeCut Fillet<br>[707, 853, 8]"]
359["EdgeCut Fillet<br>[667, 873, 6]"] 359["EdgeCut Fillet<br>[707, 853, 8]"]
360["EdgeCut Fillet<br>[667, 873, 6]"]
361["EdgeCut Fillet<br>[667, 873, 6]"]
362["EdgeCut Chamfer<br>[707, 853, 8]"]
363["EdgeCut Chamfer<br>[707, 853, 8]"]
364["EdgeCut Chamfer<br>[707, 853, 8]"]
365["EdgeCut Chamfer<br>[707, 853, 8]"]
366["EdgeCut Chamfer<br>[707, 853, 8]"]
367["EdgeCut Chamfer<br>[707, 853, 8]"]
368["EdgeCut Chamfer<br>[707, 853, 8]"]
369["EdgeCut Chamfer<br>[707, 853, 8]"]
1 --- 18 1 --- 18
2 --- 22 2 --- 22
3 --- 23 3 --- 23
@ -709,7 +699,6 @@ flowchart LR
115 --- 179 115 --- 179
115 x--> 228 115 x--> 228
115 --- 256 115 --- 256
115 x--> 307
115 --- 308 115 --- 308
164 <--x 116 164 <--x 116
116 --- 184 116 --- 184
@ -1161,20 +1150,20 @@ flowchart LR
294 <--x 244 294 <--x 244
295 <--x 244 295 <--x 244
296 <--x 244 296 <--x 244
301 <--x 362 301 <--x 356
303 <--x 365 303 <--x 356
305 <--x 360 305 <--x 355
306 <--x 359 306 <--x 355
307 <--x 361 307 <--x 355
308 <--x 358 308 <--x 355
314 <--x 363 314 <--x 357
315 <--x 364 315 <--x 357
319 <--x 369 319 <--x 358
320 <--x 367 320 <--x 358
322 <--x 355 322 <--x 354
323 <--x 356 323 <--x 354
324 <--x 354 324 <--x 354
325 <--x 357 325 <--x 354
350 <--x 368 350 <--x 359
353 <--x 366 353 <--x 359
``` ```

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View File

@ -1023,10 +1023,15 @@ description: Artifact commands pattern_into_union.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 0.1, "radius": 0.1,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {
@ -2002,10 +2007,15 @@ description: Artifact commands pattern_into_union.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 0.1, "radius": 0.1,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {

View File

@ -584,22 +584,18 @@ description: Artifact commands pentagon_fillet_sugar.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 5.0, "radius": 5.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]"
"cmdId": "[uuid]", ]
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 5.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {
@ -712,22 +708,18 @@ description: Artifact commands pentagon_fillet_sugar.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 5.0, "radius": 5.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]"
"cmdId": "[uuid]", ]
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 5.0,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {

View File

@ -44,9 +44,7 @@ flowchart LR
36["SweepEdge Adjacent"] 36["SweepEdge Adjacent"]
37["SweepEdge Adjacent"] 37["SweepEdge Adjacent"]
38["EdgeCut Fillet<br>[685, 812, 0]"] 38["EdgeCut Fillet<br>[685, 812, 0]"]
39["EdgeCut Fillet<br>[685, 812, 0]"] 39["EdgeCut Fillet<br>[896, 1023, 0]"]
40["EdgeCut Fillet<br>[896, 1023, 0]"]
41["EdgeCut Fillet<br>[896, 1023, 0]"]
1 --- 4 1 --- 4
22 x--> 2 22 x--> 2
23 x--> 3 23 x--> 3
@ -80,12 +78,12 @@ flowchart LR
10 x--> 22 10 x--> 22
10 --- 29 10 --- 29
10 --- 34 10 --- 34
10 --- 38 10 <--x 38
11 --- 19 11 --- 19
11 x--> 23 11 x--> 23
11 --- 28 11 --- 28
11 --- 33 11 --- 33
11 --- 40 11 <--x 39
16 --- 21 16 --- 21
16 --- 22 16 --- 22
16 --- 23 16 --- 23
@ -119,6 +117,6 @@ flowchart LR
30 <--x 27 30 <--x 27
31 <--x 27 31 <--x 27
32 <--x 27 32 <--x 27
28 <--x 41 28 <--x 39
29 <--x 39 29 <--x 38
``` ```

View File

@ -234,22 +234,18 @@ description: Artifact commands rotate_after_fillet.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 0.02, "radius": 0.02,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]"
"cmdId": "[uuid]", ]
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.02,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {
@ -895,10 +891,15 @@ description: Artifact commands rotate_after_fillet.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 0.02, "radius": 0.02,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {

View File

@ -55,8 +55,7 @@ flowchart LR
47["SweepEdge Adjacent"] 47["SweepEdge Adjacent"]
48["SweepEdge Adjacent"] 48["SweepEdge Adjacent"]
49["EdgeCut Fillet<br>[456, 522, 0]"] 49["EdgeCut Fillet<br>[456, 522, 0]"]
50["EdgeCut Fillet<br>[456, 522, 0]"] 50["EdgeCut Fillet<br>[1381, 1440, 0]"]
51["EdgeCut Fillet<br>[1381, 1440, 0]"]
1 --- 4 1 --- 4
29 x--> 2 29 x--> 2
31 x--> 3 31 x--> 3
@ -80,7 +79,7 @@ flowchart LR
7 x--> 31 7 x--> 31
7 --- 40 7 --- 40
7 --- 48 7 --- 48
7 --- 50 7 <--x 49
8 --- 26 8 --- 26
8 x--> 29 8 x--> 29
8 --- 36 8 --- 36
@ -163,6 +162,6 @@ flowchart LR
37 <--x 30 37 <--x 30
38 <--x 30 38 <--x 30
39 <--x 30 39 <--x 30
33 <--x 51 33 <--x 50
40 <--x 49 40 <--x 49
``` ```

View File

@ -234,22 +234,18 @@ description: Artifact commands scale_after_fillet.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 0.02, "radius": 0.02,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]"
"cmdId": "[uuid]", ]
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.02,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {
@ -895,10 +891,15 @@ description: Artifact commands scale_after_fillet.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 0.02, "radius": 0.02,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {

View File

@ -55,8 +55,7 @@ flowchart LR
47["SweepEdge Adjacent"] 47["SweepEdge Adjacent"]
48["SweepEdge Adjacent"] 48["SweepEdge Adjacent"]
49["EdgeCut Fillet<br>[456, 522, 0]"] 49["EdgeCut Fillet<br>[456, 522, 0]"]
50["EdgeCut Fillet<br>[456, 522, 0]"] 50["EdgeCut Fillet<br>[1381, 1440, 0]"]
51["EdgeCut Fillet<br>[1381, 1440, 0]"]
1 --- 4 1 --- 4
29 x--> 2 29 x--> 2
31 x--> 3 31 x--> 3
@ -80,7 +79,7 @@ flowchart LR
7 x--> 31 7 x--> 31
7 --- 40 7 --- 40
7 --- 48 7 --- 48
7 --- 50 7 <--x 49
8 --- 26 8 --- 26
8 x--> 29 8 x--> 29
8 --- 36 8 --- 36
@ -163,6 +162,6 @@ flowchart LR
37 <--x 30 37 <--x 30
38 <--x 30 38 <--x 30
39 <--x 30 39 <--x 30
33 <--x 51 33 <--x 50
40 <--x 49 40 <--x 49
``` ```

View File

@ -418,10 +418,15 @@ description: Artifact commands sketch-on-chamfer-two-times-different-order.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 20.0, "radius": 20.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {
@ -430,10 +435,15 @@ description: Artifact commands sketch-on-chamfer-two-times-different-order.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 50.0, "radius": 50.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "chamfer" "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {
@ -452,10 +462,15 @@ description: Artifact commands sketch-on-chamfer-two-times-different-order.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 50.0, "radius": 50.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "chamfer" "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {

View File

@ -65,7 +65,6 @@ flowchart LR
1 --- 6 1 --- 6
2 <--x 5 2 <--x 5
2 --- 7 2 --- 7
12 <--x 2
3 <--x 4 3 <--x 4
3 --- 8 3 --- 8
19 <--x 3 19 <--x 3
@ -100,7 +99,7 @@ flowchart LR
10 x--> 37 10 x--> 37
10 --- 41 10 --- 41
10 --- 50 10 --- 50
10 --- 56 10 <--x 56
11 --- 29 11 --- 29
11 x--> 37 11 x--> 37
11 --- 43 11 --- 43

View File

@ -418,10 +418,15 @@ description: Artifact commands sketch-on-chamfer-two-times.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 20.0, "radius": 20.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {
@ -430,10 +435,15 @@ description: Artifact commands sketch-on-chamfer-two-times.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 50.0, "radius": 50.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "chamfer" "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {
@ -442,10 +452,15 @@ description: Artifact commands sketch-on-chamfer-two-times.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 50.0, "radius": 50.0,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "chamfer" "cut_type": "chamfer",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {

View File

@ -65,7 +65,6 @@ flowchart LR
1 --- 6 1 --- 6
2 <--x 5 2 <--x 5
2 --- 7 2 --- 7
12 <--x 2
3 <--x 4 3 <--x 4
3 --- 8 3 --- 8
19 <--x 3 19 <--x 3
@ -100,7 +99,7 @@ flowchart LR
10 x--> 37 10 x--> 37
10 --- 42 10 --- 42
10 --- 50 10 --- 50
10 --- 56 10 <--x 56
11 --- 29 11 --- 29
11 x--> 37 11 x--> 37
11 --- 43 11 --- 43

View File

@ -529,10 +529,15 @@ description: Artifact commands sketch_on_face_after_fillets_referencing_face.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 0.25, "radius": 0.25,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {
@ -551,10 +556,15 @@ description: Artifact commands sketch_on_face_after_fillets_referencing_face.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 0.5707134902949093, "radius": 0.5707134902949093,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {

View File

@ -234,22 +234,18 @@ description: Artifact commands translate_after_fillet.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]",
"[uuid]"
],
"radius": 0.02, "radius": 0.02,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
} "strategy": "automatic",
}, "extra_face_ids": [
{ "[uuid]"
"cmdId": "[uuid]", ]
"range": [],
"command": {
"type": "solid3d_fillet_edge",
"object_id": "[uuid]",
"edge_id": "[uuid]",
"radius": 0.02,
"tolerance": 0.0000001,
"cut_type": "fillet"
} }
}, },
{ {
@ -895,10 +891,15 @@ description: Artifact commands translate_after_fillet.kcl
"command": { "command": {
"type": "solid3d_fillet_edge", "type": "solid3d_fillet_edge",
"object_id": "[uuid]", "object_id": "[uuid]",
"edge_id": "[uuid]", "edge_id": null,
"edge_ids": [
"[uuid]"
],
"radius": 0.02, "radius": 0.02,
"tolerance": 0.0000001, "tolerance": 0.0000001,
"cut_type": "fillet" "cut_type": "fillet",
"strategy": "automatic",
"extra_face_ids": []
} }
}, },
{ {

View File

@ -55,8 +55,7 @@ flowchart LR
47["SweepEdge Adjacent"] 47["SweepEdge Adjacent"]
48["SweepEdge Adjacent"] 48["SweepEdge Adjacent"]
49["EdgeCut Fillet<br>[456, 522, 0]"] 49["EdgeCut Fillet<br>[456, 522, 0]"]
50["EdgeCut Fillet<br>[456, 522, 0]"] 50["EdgeCut Fillet<br>[1381, 1440, 0]"]
51["EdgeCut Fillet<br>[1381, 1440, 0]"]
1 --- 4 1 --- 4
29 x--> 2 29 x--> 2
31 x--> 3 31 x--> 3
@ -80,7 +79,7 @@ flowchart LR
7 x--> 31 7 x--> 31
7 --- 40 7 --- 40
7 --- 48 7 --- 48
7 --- 50 7 <--x 49
8 --- 26 8 --- 26
8 x--> 29 8 x--> 29
8 --- 36 8 --- 36
@ -163,6 +162,6 @@ flowchart LR
37 <--x 30 37 <--x 30
38 <--x 30 38 <--x 30
39 <--x 30 39 <--x 30
33 <--x 51 33 <--x 50
40 <--x 49 40 <--x 49
``` ```