With Object Type = Bodies, the Mirror, Rectangular Pattern and Circular
Pattern dialogs sent the feature that created each picked body
({"features": ["Extrude1"]}), so the copies replayed only that feature and
lost everything done to the body afterwards (a fillet, a chamfer, a cut).
They now send the bodies themselves ({"bodies": [...]}), which the commands
already support and the Path Pattern dialog already did. Picking Features
is unchanged.
Editing a body Mirror or Pattern from the timeline now reopens the dialog
with its bodies selected.
Copies made this way take the body-copy names ("Body1 (2)"), as the
commands already give; pattern_direction_edge now looks up "Body1 (3)".
Tests: UI scenarios mirror_body_keeps_fillets and pattern_body_keeps_fillets
(filleted cube, copy and edit through the dialogs); both fail without the
fix with the copies' sharp 8000 mm3 volume.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
80 lines
965 B
JSON
80 lines
965 B
JSON
[
|
|
{
|
|
"note": "A Rectangular Pattern's direction can be a straight model edge (as in Fusion), not only an origin axis or a sketch line."
|
|
},
|
|
{
|
|
"call": "engine.execute",
|
|
"params": {
|
|
"command": "solid.box",
|
|
"params": {
|
|
"length": 20,
|
|
"width": 10,
|
|
"height": 10
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"call": "ui.view",
|
|
"params": {
|
|
"view": "home"
|
|
}
|
|
},
|
|
{
|
|
"start": "solid.pattern.rectangular"
|
|
},
|
|
{
|
|
"click": {
|
|
"world": [
|
|
10,
|
|
5,
|
|
10
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"click": {
|
|
"handle": "dialog:Direction"
|
|
}
|
|
},
|
|
{
|
|
"click": {
|
|
"world": [
|
|
10,
|
|
0,
|
|
10
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"click": {
|
|
"handle": "dialog:OK"
|
|
}
|
|
},
|
|
{
|
|
"expect": {
|
|
"dialog": null,
|
|
"bodies": 3
|
|
}
|
|
},
|
|
{
|
|
"note": "Along the picked edge (an edge along X points +X, as the axis would): copies 20 mm apart."
|
|
},
|
|
{
|
|
"expect": {
|
|
"bbox": {
|
|
"body": "Body1 (3)",
|
|
"min": [
|
|
40,
|
|
0,
|
|
0
|
|
],
|
|
"max": [
|
|
60,
|
|
10,
|
|
10
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|