Regression in PartDesign mirror

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
chrisb
Veteran
Posts: 54164
Joined: Tue Mar 17, 2015 9:14 am

Regression in PartDesign mirror

Post by chrisb »

When mirroring not the latest, but a former pad, then not only the mirror is filled, but also the original again. Thus all pockets are lost.
I have added two bodies, one made with sketch based features, the other made from primitives. Both show the error.

See Pad and pocket at the top, and the mirror of the pad at the bottom:
SnipScreenshot-3b7eb8.png
SnipScreenshot-3b7eb8.png (3.22 KiB) Viewed 1782 times
Error in this version:
OS: macOS 10.16
Word size of FreeCAD: 64-bit
Version: 0.20.25157 (Git)
Build type: Release
Branch: master
Hash: 257cdd8f423f1530b8df6f53e242de629fee4e85
Python version: 3.9.5
Qt version: 5.12.9
Coin version: 4.0.0
OCC version: 7.5.2
Locale: C/Default (C)


This is how it should look like:
SnipScreenshot-e65798.png
SnipScreenshot-e65798.png (1.46 KiB) Viewed 1774 times
Works in this version:
OS: macOS 10.16
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.24267 (Git)
Build type: Release
Branch: master
Hash: b2ca86d8d72b636011a73394bf9bcdedb3b109b7
Python version: 3.8.8
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: C/Default (C)
Attachments
mirror_fills_pocket.FCStd
(26.94 KiB) Downloaded 49 times
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
Shalmeneser
Veteran
Posts: 9546
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Regression in PartDesign mirror

Post by Shalmeneser »

You need to select Pad + Pocket (in this order) to do the symmetry of everything.

(My understanding : the selection is copied at the 1st place and at the symmetrical place.)
Last edited by Shalmeneser on Fri Jul 02, 2021 9:36 pm, edited 1 time in total.
User avatar
M4x
Veteran
Posts: 1480
Joined: Sat Mar 11, 2017 9:23 am
Location: Germany

Re: Regression in PartDesign mirror

Post by M4x »

Confirmed. The results looks good if you're setting the tip to Pad/ Box before the mirroring.

Code: Select all

OS: Ubuntu 20.04.2 LTS (ubuntu:GNOME/ubuntu)
Word size of FreeCAD: 64-bit
Version: 0.20.25131 (Git) AppImage
Build type: Release
Branch: master
Hash: 7c519689f0d5ea78fb3292be36a857d283c05507
Python version: 3.9.5
Qt version: 5.12.9
Coin version: 4.0.0
OCC version: 7.5.2
Locale: English/United States (en_US)
And it's working as it should without changing the tip with this version:

Code: Select all

OS: Ubuntu 20.04.2 LTS (ubuntu:GNOME/ubuntu)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.24276 (Git) AppImage
Build type: Release
Branch: (HEAD detached at 0.19.1)
Hash: a88db11e0a908f6e38f92bfc5187b13ebe470438
Python version: 3.8.8
Qt version: 5.12.9
Coin version: 4.0.0
OCC version: 7.4.0
Locale: English/United States (en_US)
Shalmeneser wrote: Fri Jul 02, 2021 9:29 pm You need to select Pad + Pocket (in this order) to do the symmetry of everything.
That's not what chrisb is describing here. Have a look at his "this is how it should look like" screenshot in the initial post.
user1234
Veteran
Posts: 3475
Joined: Mon Jul 11, 2016 5:08 pm

Re: Regression in PartDesign mirror

Post by user1234 »

Shalmeneser wrote: Fri Jul 02, 2021 9:29 pm You need to select Pad + Pocket (in this order) to do the symmetry of everything.
+1, this is the behavior always and is correct.

Greetings
user1234
chrisb
Veteran
Posts: 54164
Joined: Tue Mar 17, 2015 9:14 am

Re: Regression in PartDesign mirror

Post by chrisb »

user1234 wrote: Fri Jul 02, 2021 9:35 pm +1, this is the behavior always and is correct.
What do you mean by "always"? That's not how it used to be, and there are usecases where not everything should be mirrored. I agree that it could be useful to have pattern/mirror functions which operate on "everything up to the selected feature", but this case is different. A mirror should add a mirror and nothing else.
This regression would break quite some existing models.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
user1234
Veteran
Posts: 3475
Joined: Mon Jul 11, 2016 5:08 pm

Re: Regression in PartDesign mirror

Post by user1234 »

Oh, now i see. Sorry, my fault. The small edge is filled. Yes, that is a regression. Maybe related to the this https://forum.freecadweb.org/viewtopic.php?t=57658?

Greetings
user1234
chrisb
Veteran
Posts: 54164
Joined: Tue Mar 17, 2015 9:14 am

Re: Regression in PartDesign mirror

Post by chrisb »

user1234 wrote: Sat Jul 03, 2021 12:37 amMaybe related to the this https://forum.freecadweb.org/viewtopic.php?t=57658?
I'm afraid that this case is more complicated, because the linked issue occurred only with primitives. Here it happens on sketch based features as well.
M4x wrote: Fri Jul 02, 2021 9:33 pm The results looks good if you're setting the tip to Pad/ Box before the mirroring.
In this case it could be a solution, but it's a different use case, because it mirrors the last feature. Imagine a model with fillets or cutting things off around the first box (which simulates a "common" operation). That would require a complete rework of the model.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
user1234
Veteran
Posts: 3475
Joined: Mon Jul 11, 2016 5:08 pm

Re: Regression in PartDesign mirror

Post by user1234 »

chrisb wrote: Sat Jul 03, 2021 5:07 amI'm afraid that this case is more complicated
True, that is an other case. But in general ithe transform (array) tools seems to have issues.

Greetings
user1234
User avatar
Shalmeneser
Veteran
Posts: 9546
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Regression in PartDesign mirror

Post by Shalmeneser »

Symmetry of the pad keeps the hole in v0.19.

Code: Select all

OS: Linux Mint 19.3 (MATE/mate)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.24276 (Git) AppImage
Build type: Release
Branch: (HEAD detached at 0.19.1)
Hash: a88db11e0a908f6e38f92bfc5187b13ebe470438
Python version: 3.8.8
Qt version: 5.12.9
Coin version: 4.0.0
OCC version: 7.4.0
Locale: French/France (fr_FR)
Symmetry of the pad doesn't keep the hole in v0.20.

Code: Select all

OS: Linux Mint 19.3 (MATE/mate)
Word size of FreeCAD: 64-bit
Version: 0.20.25131 (Git) AppImage
Build type: Release
Branch: master
Hash: 7c519689f0d5ea78fb3292be36a857d283c05507
Python version: 3.9.5
Qt version: 5.12.9
Coin version: 4.0.0
OCC version: 7.5.2
Locale: French/France (fr_FR)
chrisb
Veteran
Posts: 54164
Joined: Tue Mar 17, 2015 9:14 am

Re: Regression in PartDesign mirror

Post by chrisb »

Thanks for all the confirmations! Is here anyone around having the same version with OCC 7.5.2 and an older version?
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Post Reply