FreeCAD / FreeCAD

This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler.
https://www.freecad.org
Other
19.59k stars 4.03k forks source link

[Regression] PartDesign: Data compatibility issue of Revolution from ShapeBinder (RC2) #17184

Open marbocub opened 2 weeks ago

marbocub commented 2 weeks ago

Is there an existing issue for this?

Problem description

I found a data compatibility issue in FreeCAD 1.0 RC2.

An example is attached.

When opening it in FreeCAD 1.0 RC2 or weekly build 38923, a recalicuration error occurs.

Revolution: SketchBased: No face selected

Then I deleted Revolution and try to re-create new Revolution by same process before, a different error occurs.

Revolution: Axis must not be perpendicular to the sketch plane
Revolution: Could not create face from sketch.
Intersecting sketch entities in a sketch are not allowed.

On the other hand, when opening or recalicurating the example in FreeCAD 0.21.2, there are no errors.

It may be related to #11934 or #16700.

Full version info

OS: Windows 11 build 26100
Word size of FreeCAD: 64-bit
Version: 1.0.0RC2.38806 (Git)
Build type: Release
Branch: (HEAD detached at 1.0rc2)
Hash: 3d63fc6c2f665a8d5e6468845a419bcac80756c7
Python 3.11.9, Qt 5.15.13, Coin 4.0.3, Vtk 9.2.6, OCC 7.7.2
Locale: Japanese/Japan (ja_JP)
Stylesheet/Theme/QtStyle: FreeCAD Dark.qss/FreeCAD Dark/Fusion
Installed mods: 
  * Assembly4 0.50.15
-----
OS: Windows 11 build 26100
Word size of FreeCAD: 64-bit
Version: 1.1.0dev.38923 (Git)
Build type: Release
Branch: main
Hash: d20cb9e6ee198beb2bfd7e72d3dec0a575e3f28c
Python 3.11.9, Qt 5.15.13, Coin 4.0.3, Vtk 9.2.6, OCC 7.7.2
Locale: Japanese/Japan (ja_JP)
Stylesheet/Theme/QtStyle: FreeCAD Dark.qss/FreeCAD Dark/Fusion
Installed mods: 
  * Assembly4 0.50.15

Subproject(s) affected?

PartDesign

Anything else?

Example.zip

Code of Conduct

luzpaz commented 2 weeks ago

On the other hand, when opening or recalicurating the example in FreeCAD 0.21.2, there are no errors.

Therefore this is a regression ?

marbocub commented 2 weeks ago

Thank you. The Example.FCStd created by using ver.0.21.2.

I have real data containing this compatibility issue created by 0.21 or below. If it is useful for analyzing this issue I can upload it.

luzpaz commented 1 week ago

Yes, if you could make those files available that would be ideal.

luzpaz commented 1 week ago

@FlachyJoe any chance you could evaluate this ticket?

marbocub commented 1 week ago

A CAD file is attached. Revolution, Revolution001, Revolution004 and Revolution005 have the issue. RealExample.zip

FlachyJoe commented 1 week ago

Hi ! The problem is with ShapeBinder, they can't be used as Profile for revolution. If we replace them with SubShapeBinder and set the Profile to (Binder, 'Face1') it works as expected. I've not look at the code yet but we certainly loose the ShapeBinder compatibility somewhere and as we don't propose them anymore in the PartDesign toolbar it was not noticed before.

EDIT : if the ShapeBinder.Support is a Face it's ok but it fails if its a Wire, the face is not created from the wire.

FlachyJoe commented 3 days ago

In fact the given file has two problems: