View Issue Details

IDProjectCategoryView StatusLast Update
0002266FreeCADBugpublic2017-10-10 11:59
Reporterjouke Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformlinuxOSubuntuOS Version14.04
Product Version0.17 
Summary0002266: error cutting helix from cylinder
DescriptionUsing a the development version cloned from the master git archive :

batave :git rev-parse master
b28680f3d8a1807ac6a24565fde27268853d8cc5


When cutting a solid helix (created by sweeping a sketched rectangle along a helix path) the resulting solid has holes.
Using salome (based on the same opencascade library) the operation works correctly.
Steps To Reproduceload the attached file. The cut object s flawed.
Tagsboolean, OCC 7.1, OCC Bug, upstream
FreeCAD Information

Activities

jouke

2015-09-16 07:44

reporter  

JY.fcstd (Attachment missing)

Kunda1

2017-01-23 21:17

administrator   ~0007924

OP please test on a more recent version of FC. Also please print the contents of Help > About FreeCAD > Copy to clipboard

Forum thread: https://forum.freecadweb.org/viewtopic.php?f=10&t=20161

normandc

2017-01-25 02:59

manager   ~0007972

This is a typical error with Boolean operations on threads. There are tens of topics about this on the forum, and I feel the reporter should have opened a forum topic first rather than adding yet another report about this well-known issue. This is also the recommended procedure in the "READ FIRST BEFORE REPORTING" link.

The fix is simple, rotate Sketch001 on the Z axis by a few degrees (actually it can be as small as 0.005 degrees) to make sure the seam edge of Pad's inner cylindrical surface is not aligned with the Sweep starting end.

We've always assumed it's an OCC issue, thus unfixable in FreeCAD, which is why I'm surprised it works in Salome. This new info sheds some doubt to this assumption, but FreeCAD developers would need to figure this out. On the other hand, more info on what OCC version is used by Salome, along with the Salome file would be appropriate.

normandc

2017-01-25 03:00

manager  

JY_fixed_normandc1.fcstd (Attachment missing)

Kunda1

2017-01-29 15:19

administrator   ~0008082

@jouke please respond to the above requests. ^

Kunda1

2017-02-07 02:41

administrator   ~0008230

@jouke ping

Kunda1

2017-05-11 14:20

administrator   ~0008958

@jouke please reupload attached file. It was lost in the recent backup. Sorry for the inconvenience.

normandc

2017-05-11 23:03

manager   ~0008967

Re-uploaded fixed file. The only change compared to jouke's original is the rotation of Sketch001 as explained in comment #0007972.

Kunda1

2017-05-12 11:33

administrator   ~0008968

We've always assumed it's an OCC issue, thus unfixable in FreeCAD, which is why I'm surprised it works in Salome. This new info sheds some doubt to this assumption, but FreeCAD developers would need to figure this out. On the other hand, more info on what OCC version is used by Salome, along with the Salome file would be appropriate.

NormandC

I've messaged @jouke (hopefully the same person) on the forums (https://forum.freecadweb.org/memberlist.php?mode=viewprofile&u=14914)

jouke

2017-05-12 11:38

reporter   ~0008969

Last edited: 2017-05-12 11:39

Sorry for the late reply ... I kind of lost track of this issue. I tested the file
on
OS: Ubuntu 16.04.2 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.11051 (Git)
Build type: None
Branch: master
Hash: 32176dba86db44775be51c5d8514a229fb27111f
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0

And the holes are still there (I haven't re-tested the Salome option). Turning the sketch works though. Thanks for the feedback.
Jouke

JY-2.fcstd (92,381 bytes)

jouke

2017-05-12 11:45

reporter   ~0008970

... and the Salome file and versions
JY.hdf (2,865,572 bytes)

Kunda1

2017-05-12 12:02

administrator   ~0008971

Thanks!
CC @NormandC

Kunda1

2017-06-28 23:26

administrator   ~0009591

@normandc do you mind linking my existing dupe tickets to this one if they exist on the tracker?

normandc

2017-08-02 11:06

manager   ~0009864

Unfortunately the Salome screenshot does not tell us on which OCC version it is based on. OCC has not even reached 7.2.0, so the 7.5.1 version number shown is unrelated.

normandc

2017-08-02 11:24

manager   ~0009865

I found the Salome 7.5.1 Release Notes (on which Salome-Meca 2015.1 is based on). http://files.salome-platform.org/Salome/Salome7.5.1/SALOME_7_5_1_Release_Notes.pdf

It is based on OCC 6.8.0. It has been patched by the Salome team to fix some issues, but their descriptions in the PDF do not seem related to the current issue which in any case still exists in FreeCAD 0.17 using OCC 7.1.0.

normandc

2017-08-02 11:51

manager   ~0009866

Out of curiosity, I downloaded a Ubuntu 16.04 Binary of SALOME 8.2.0 and launched it, opened the JY.hdf file and exported it to BREP so I could open it in FreeCAD 0.17. The Part Check Geometry tool reports multiple "BOPAlgo_InvalidCurveOnSurface" errors with RunBOPCheck parameter set to true. No errors if RunBOPCheck is set to false.

Next I opened the JY-2.fcstd file and set the document to recompute (right-click on the document label in the Model tree) and refreshed the document. This fixes the issue, and Check Geometry with RunBOPCheck set to true reports no error.

The issue would appear to be resolved in the following FreeCAD version.

OS: Ubuntu 16.04.2 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.11704 (Git)
Build type: None
Branch: master
Hash: ea708c14b0c87b4217e9d6d548f7aebff742c19c
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
Locale: French/Canada (fr_CA)

Kunda1

2017-08-02 12:17

administrator   ~0009867

@normandc is this an upstream issue then ? If this is solved feel free to resolve/close it. Thanks!

Kunda1

2017-10-06 17:07

administrator   ~0010254

Closing as is fixed by upstream in OCC7.1

Issue History

Date Modified Username Field Change
2015-09-16 07:44 jouke New Issue
2015-09-16 07:44 jouke File Added: JY.fcstd
2017-01-23 21:17 Kunda1 Note Added: 0007924
2017-01-23 21:17 Kunda1 Status new => feedback
2017-01-23 21:18 Kunda1 Tag Attached: #pending
2017-01-25 02:59 normandc Note Added: 0007972
2017-01-25 03:00 normandc File Added: JY_fixed_normandc1.fcstd
2017-01-29 15:19 Kunda1 Note Added: 0008082
2017-02-07 02:41 Kunda1 Note Added: 0008230
2017-05-11 14:20 Kunda1 Note Added: 0008958
2017-05-11 23:03 normandc File Added: JY_fixed_normandc1-2.fcstd
2017-05-11 23:03 normandc Note Added: 0008967
2017-05-12 11:33 Kunda1 Note Added: 0008968
2017-05-12 11:38 jouke File Added: JY-2.fcstd
2017-05-12 11:38 jouke Note Added: 0008969
2017-05-12 11:38 jouke Status feedback => new
2017-05-12 11:39 jouke Note Edited: 0008969
2017-05-12 11:45 jouke File Added: JY.hdf
2017-05-12 11:45 jouke File Added: Screenshot_2017-05-12_13-46-46.png
2017-05-12 11:45 jouke Note Added: 0008970
2017-05-12 12:02 Kunda1 Note Added: 0008971
2017-05-12 12:03 Kunda1 Product Version => 0.17
2017-06-28 23:26 Kunda1 Note Added: 0009591
2017-06-28 23:27 Kunda1 Tag Attached: boolean
2017-08-02 11:06 normandc Note Added: 0009864
2017-08-02 11:24 normandc Note Added: 0009865
2017-08-02 11:51 normandc Note Added: 0009866
2017-08-02 12:17 Kunda1 Note Added: 0009867
2017-10-06 17:06 Kunda1 Tag Attached: OCC 7.1
2017-10-06 17:06 Kunda1 Tag Attached: upstream
2017-10-06 17:06 Kunda1 Tag Detached: #pending
2017-10-06 17:07 Kunda1 Note Added: 0010254
2017-10-06 17:07 Kunda1 Status new => resolved
2017-10-06 17:07 Kunda1 Resolution open => fixed
2017-10-06 17:09 Kunda1 Tag Attached: OCC Bug
2017-10-10 11:59 Kunda1 Status resolved => closed