transformations in PartDesign in 0.17

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!
Post Reply
HoWil
Veteran
Posts: 1279
Joined: Sun Jun 14, 2015 7:31 pm
Location: Austria

transformations in PartDesign in 0.17

Post by HoWil »

Hello,
I experience some frustration with transformations in PartDesign in current 0.17 :x . At first I thougth I am doing somthing wrong but now I have tested the same workflow in 0.16 and there everthing is working.

Basically, I want to mirror a PartDesign Pad.
EDIT: this is just one example!
Here is what I have done in some pics:
Creating a sketch and padding it
Screenshot from 2017-04-05 09-40-20.png
Screenshot from 2017-04-05 09-40-20.png (123.79 KiB) Viewed 2458 times
Screenshot from 2017-04-05 09-40-30.png
Screenshot from 2017-04-05 09-40-30.png (149.07 KiB) Viewed 2458 times
Trying to mirror it :!:
Screenshot from 2017-04-05 09-40-42.png
Screenshot from 2017-04-05 09-40-42.png (135.54 KiB) Viewed 2458 times
Note that the shown phantom is wrong :!: :!: ; its flipped upside down on the sketching plane and also mirrored on the horizontal axis not the vertical one as selected. Custom reference selection does not help here.

Here is the same thing in 0.16
Screenshot from 2017-04-05 09-45-55.png
Screenshot from 2017-04-05 09-45-55.png (109.42 KiB) Viewed 2458 times
I did not find a related bug in the tracker when searching in PartDesing for Transformation or Mirror. Is this really not reported yet? Should I do it?
Thanks in advance?
BR,
HoWil

OS: Ubuntu 16.04.2 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.10680 (Git)
Build type: None
Branch: master
Hash: add9bf910bbb37c35738b01d38c7fe28b75fb8e3
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0


OS: Ubuntu 16.04.2 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6453 (Git)
Build type: None
Branch: master
Hash: a3209e1aee00730d13359eeed595cb93b6b127f9
Python version: 2.7.11
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
User avatar
kkremitzki
Veteran
Posts: 2515
Joined: Thu Mar 03, 2016 9:52 pm
Location: Illinois

Re: transformations in PartDesign in 0.17

Post by kkremitzki »

Yeah, that certainly seems like a bug. I can take a look now.
Like my FreeCAD work? I'd appreciate any level of support via Patreon, Liberapay, or PayPal! Read more about what I do at my blog.
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: transformations in PartDesign in 0.17

Post by DeepSOIC »

I've seen that too, but with primitives. I thought this was caused by special way their placement work, but from this post it looks like it's broken even more.
HoWil
Veteran
Posts: 1279
Joined: Sun Jun 14, 2015 7:31 pm
Location: Austria

Re: transformations in PartDesign in 0.17

Post by HoWil »

Here the two demo files in the hope it will give some insight.
demo016_transformations_in_PDwb.fcstd
(6.8 KiB) Downloaded 31 times
demo017_transformations_in_PDwb.fcstd
(9.94 KiB) Downloaded 36 times
BR HoWil

ps.: the 0.17 is now
OS: Ubuntu 16.04.2 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.10686 (Git)
Build type: None
Branch: master
Hash: a253af0b9fb24d5b765d2d86a6adb9d6744991e6
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
HoWil
Veteran
Posts: 1279
Joined: Sun Jun 14, 2015 7:31 pm
Location: Austria

Re: transformations in PartDesign in 0.17

Post by HoWil »

kkremitzki wrote:Yeah, that certainly seems like a bug. I can take a look now.
Shall I file a but ticket?
BR,
HoWil
User avatar
kkremitzki
Veteran
Posts: 2515
Joined: Thu Mar 03, 2016 9:52 pm
Location: Illinois

Re: transformations in PartDesign in 0.17

Post by kkremitzki »

HoWil wrote:
kkremitzki wrote:Yeah, that certainly seems like a bug. I can take a look now.
Shall I file a but ticket?
BR,
HoWil
No need, I can create one.

Just to update, I spent some time looking at PartDesign::Mirrored but didn't have any luck with a C++ resolution. I figured it would be useful to write a test which passes on 0.16 and fails on 0.17 for this bug. Here it is: https://github.com/kkremitzki/FreeCAD/c ... 591b41ef1d

If you add PartDesignMirroredTestCases to TestPartDesignApp.py in a 0.16 build, as well as an "import Part" at the beginning, you can run TestPartDesignApp from the Self-test button in the Test WB and see that it passes. Adding the class in 0.17 results in a failing test. It makes a cube with unit volume and then tests for the mirrored 2-cube to have volume > 1. It would probably be better though to test something like abs(Mirrored.Shape.Volume - 2) < "machine epsilon". I think I saw something like that available in the C++ side of FreeCAD.

This was just for learning purposes since a 0.16-friendly test makes no sense to add to master, but it does raise a question about committing tests which are known to fail because of a buggy tool. Won't that be annoying to look at in the CI for example? Or is that the point :lol:
Like my FreeCAD work? I'd appreciate any level of support via Patreon, Liberapay, or PayPal! Read more about what I do at my blog.
ickby
Veteran
Posts: 3116
Joined: Wed Oct 05, 2011 7:36 am

Re: transformations in PartDesign in 0.17

Post by ickby »

but it does raise a question about committing tests which are known to fail because of a buggy tool. Won't that be annoying to look at in the CI for example? Or is that the point :lol:
A failing test should not be added to master, as this woul dbreak the whole CI chain and makes life very hard for the guys merging pull requests (as they don't see anymore if the pullrequest breaks the build)

A failing test should be used to start of a bugfix and after the fix shouldpass. It will than be commited together with the fix to master to prevent any regression on the fixed behavior.
User avatar
kkremitzki
Veteran
Posts: 2515
Joined: Thu Mar 03, 2016 9:52 pm
Location: Illinois

Re: transformations in PartDesign in 0.17

Post by kkremitzki »

ickby wrote:
but it does raise a question about committing tests which are known to fail because of a buggy tool. Won't that be annoying to look at in the CI for example? Or is that the point :lol:
A failing test should not be added to master, as this woul dbreak the whole CI chain and makes life very hard for the guys merging pull requests (as they don't see anymore if the pullrequest breaks the build)

A failing test should be used to start of a bugfix and after the fix shouldpass. It will than be commited together with the fix to master to prevent any regression on the fixed behavior.
Ah, of course, that makes sense. Thanks.
Like my FreeCAD work? I'd appreciate any level of support via Patreon, Liberapay, or PayPal! Read more about what I do at my blog.
User avatar
kkremitzki
Veteran
Posts: 2515
Joined: Thu Mar 03, 2016 9:52 pm
Location: Illinois

Re: transformations in PartDesign in 0.17

Post by kkremitzki »

Finally created an issue to keep track of this: https://www.freecadweb.org/tracker/view.php?id=3006
Like my FreeCAD work? I'd appreciate any level of support via Patreon, Liberapay, or PayPal! Read more about what I do at my blog.
tzahov
Posts: 1
Joined: Sun Apr 23, 2017 11:22 am

Re: transformations in PartDesign in 0.17

Post by tzahov »

I can confirm the behaviour. What is interesting part-design mirroring was working fine some time ago in 0.17. Will try to find the version which broke it and report here.
Best

Using latest daily build 20170420 on Ubuntu 17.04
Post Reply