execute chamfers and fillets early if in a pattern (#2759)

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* bump kcl version

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* fix others

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
This commit is contained in:
Jess Frazelle
2024-06-23 19:19:24 -07:00
committed by GitHub
parent cd33b40c37
commit 31b0766754
73 changed files with 62964 additions and 719 deletions

View File

@ -8,7 +8,7 @@ use serde::{Deserialize, Serialize};
use crate::{
errors::{KclError, KclErrorDetails},
executor::{ExtrudeGroup, MemoryItem},
executor::{ExtrudeGroup, FilletOrChamfer, MemoryItem},
std::Args,
};
@ -89,6 +89,7 @@ async fn inner_chamfer(
}));
}
let mut fillet_or_chamfers = Vec::new();
for tag in data.tags {
let edge_id = match tag {
EdgeReference::Uuid(uuid) => uuid,
@ -110,8 +111,9 @@ async fn inner_chamfer(
}
};
let id = uuid::Uuid::new_v4();
args.batch_end_cmd(
uuid::Uuid::new_v4(),
id,
ModelingCmd::Solid3DFilletEdge {
edge_id,
object_id: extrude_group.id,
@ -121,7 +123,16 @@ async fn inner_chamfer(
},
)
.await?;
fillet_or_chamfers.push(FilletOrChamfer::Chamfer {
id,
edge_id,
length: data.length,
});
}
let mut extrude_group = extrude_group.clone();
extrude_group.fillet_or_chamfers = fillet_or_chamfers;
Ok(extrude_group)
}