fix dumb ass logic bug with edge cuts, actually extends edge cuts array versus overwriting it lolz (#3928)

* dumb ass logic bug with edge cuts

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

* change order

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

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)

* Revert "A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)"

This reverts commit 1ad9eb315e.

* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)

* Revert "A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)"

This reverts commit 4004c9c1db.

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)

* Revert "A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)"

This reverts commit 57d0d05d06.

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
Jess Frazelle
2024-09-19 14:50:36 -07:00
committed by GitHub
parent d8236dd8da
commit d1f9a02ffa
7 changed files with 103 additions and 8 deletions

View File

@ -128,7 +128,6 @@ async fn inner_chamfer(
}
let mut extrude_group = extrude_group.clone();
let mut edge_cuts = Vec::new();
for edge_tag in data.tags {
let edge_id = match edge_tag {
EdgeReference::Uuid(uuid) => uuid,
@ -152,7 +151,7 @@ async fn inner_chamfer(
)
.await?;
edge_cuts.push(EdgeCut::Chamfer {
extrude_group.edge_cuts.push(EdgeCut::Chamfer {
id,
edge_id,
length: data.length,
@ -171,7 +170,5 @@ async fn inner_chamfer(
}
}
extrude_group.edge_cuts = edge_cuts;
Ok(extrude_group)
}

View File

@ -133,7 +133,6 @@ async fn inner_fillet(
}
let mut extrude_group = extrude_group.clone();
let mut edge_cuts = Vec::new();
for edge_tag in data.tags {
let edge_id = match edge_tag {
EdgeReference::Uuid(uuid) => uuid,
@ -157,7 +156,7 @@ async fn inner_fillet(
)
.await?;
edge_cuts.push(EdgeCut::Fillet {
extrude_group.edge_cuts.push(EdgeCut::Fillet {
id,
edge_id,
radius: data.radius,
@ -176,8 +175,6 @@ async fn inner_fillet(
}
}
extrude_group.edge_cuts = edge_cuts;
Ok(extrude_group)
}

View File

@ -0,0 +1,48 @@
const sketch001 = startSketchOn('XZ')
|> startProfileAt([75.8, 317.2], %) // [$startCapTag, $EndCapTag]
|> angledLine([0, 268.43], %, $rectangleSegmentA001)
|> angledLine([
segAng(rectangleSegmentA001) - 90,
217.26
], %, $seg01)
|> angledLine([
segAng(rectangleSegmentA001),
-segLen(rectangleSegmentA001)
], %)
|> lineTo([profileStartX(%), profileStartY(%)], %, $seg02)
|> close(%)
const extrude001 = extrude(100, sketch001)
|> fillet({ radius: 20, tags: [seg01] }, %)
|> chamfer({
length: 50,
tags: [getOppositeEdge(seg01)]
}, %, $seg03)
|> chamfer({ length: 50, tags: [seg02] }, %, $seg04)
const sketch003 = startSketchOn(extrude001, seg04)
|> startProfileAt([-69.1, 277.34], %)
|> angledLine([0, 41.48], %, $rectangleSegmentA003)
|> angledLine([
segAng(rectangleSegmentA003) - 90,
104.8
], %, $rectangleSegmentB002)
|> angledLine([
segAng(rectangleSegmentA003),
-segLen(rectangleSegmentA003)
], %, $rectangleSegmentC002)
|> lineTo([profileStartX(%), profileStartY(%)], %)
|> close(%)
const sketch002 = startSketchOn(extrude001, seg03)
|> startProfileAt([159.25, 278.35], %)
|> angledLine([0, 40.82], %, $rectangleSegmentA002)
|> angledLine([
segAng(rectangleSegmentA002) - 90,
132.27
], %, $rectangleSegmentB001)
|> angledLine([
segAng(rectangleSegmentA002),
-segLen(rectangleSegmentA002)
], %, $rectangleSegmentC001)
|> lineTo([profileStartX(%), profileStartY(%)], %)
|> close(%)
const extrude002 = extrude(50, sketch002)

View File

@ -0,0 +1,48 @@
const sketch001 = startSketchOn('XZ')
|> startProfileAt([75.8, 317.2], %) // [$startCapTag, $EndCapTag]
|> angledLine([0, 268.43], %, $rectangleSegmentA001)
|> angledLine([
segAng(rectangleSegmentA001) - 90,
217.26
], %, $seg01)
|> angledLine([
segAng(rectangleSegmentA001),
-segLen(rectangleSegmentA001)
], %)
|> lineTo([profileStartX(%), profileStartY(%)], %, $seg02)
|> close(%)
const extrude001 = extrude(100, sketch001)
|> fillet({ radius: 20, tags: [seg01] }, %)
|> chamfer({ length: 50, tags: [seg02] }, %, $seg04)
|> chamfer({
length: 50,
tags: [getOppositeEdge(seg01)]
}, %, $seg03)
const sketch003 = startSketchOn(extrude001, seg04)
|> startProfileAt([-69.1, 277.34], %)
|> angledLine([0, 41.48], %, $rectangleSegmentA003)
|> angledLine([
segAng(rectangleSegmentA003) - 90,
104.8
], %, $rectangleSegmentB002)
|> angledLine([
segAng(rectangleSegmentA003),
-segLen(rectangleSegmentA003)
], %, $rectangleSegmentC002)
|> lineTo([profileStartX(%), profileStartY(%)], %)
|> close(%)
const sketch002 = startSketchOn(extrude001, seg03)
|> startProfileAt([159.25, 278.35], %)
|> angledLine([0, 40.82], %, $rectangleSegmentA002)
|> angledLine([
segAng(rectangleSegmentA002) - 90,
132.27
], %, $rectangleSegmentB001)
|> angledLine([
segAng(rectangleSegmentA002),
-segLen(rectangleSegmentA002)
], %, $rectangleSegmentC001)
|> lineTo([profileStartX(%), profileStartY(%)], %)
|> close(%)
const extrude002 = extrude(50, sketch002)

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

View File

@ -57,3 +57,8 @@ kcl_test!("lego", kcl_test_lego);
kcl_test!("riddle_small", kcl_test_riddle_small);
kcl_test!("tan_arc_x_line", kcl_test_tan_arc_x_line);
kcl_test!("fillet-and-shell", kcl_test_fillet_and_shell);
kcl_test!("sketch-on-chamfer-two-times", kcl_test_sketch_on_chamfer_two_times);
kcl_test!(
"sketch-on-chamfer-two-times-different-order",
kcl_test_sketch_on_chamfer_two_times_different_order
);