View Issue Details

IDProjectCategoryView StatusLast Update
0002715FreeCADFeaturepublic2018-10-03 21:37
Reportercaijulong Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
Product Version0.16 
Summary0002715: The result for fillet of the union of cube and sphere is wrong
DescriptionI made an union of cube and sphere, and then made a fillet on one edge(closed to sphere) of the union.The result is not right.
Steps To ReproduceUse the attached project
TagsOCC Bug, upstream
FreeCAD Information

Activities

caijulong

2016-09-30 05:29

reporter  

Fillet.7z (Attachment missing)

normandc

2016-10-15 20:44

manager   ~0007375

I can reproduce on
OS: Ubuntu 14.04.5 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6703 (Git)
Build type: None
Branch: releases/FreeCAD-0-16
Hash: 2ce5c8d2e3020d05005ed71f710e09e9aa561f40
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17

To devs: am I right in believing this is an OCC issue FreeCAD has no control on? Or would it be a FreeCAD issue somewhat?

If the former, then this would need to be reported upstream to the OCCT bug tracker by someone with an account and knowledge of DRAWEXE.

normandc

2016-10-15 20:46

manager   ~0007376

That being said caijulong, you should have first reported this in the FreeCAD forum, as explained in the "Please read first before reporting" link. That link is just over the "Report issue" link in the Issues menu. You couldn't have missed it...

It is very simple to work around this bug. Simply apply the fillet on the cube *before* fusing to the sphere.

Kunda1

2017-01-15 02:14

administrator   ~0007776

I've seen @shoogen report upstream OCC bugs.
@normandc please advise how to proceed with this ticket?

wmayer

2017-09-02 12:25

administrator   ~0010061

In OCC 6.8 the result is always broken when doing a fillet on an edge (there are three of them) that hits the seam edge of the sphere.

In 7.2 the result is even worse. For two of the edges (where the sphere intersects the box) the output shape is completely empty (BRep_API: command not done) and for the third edge several faces are missing.
When using one of the other edges that intersect the sphere the CPU load goes to 100% and doesn't end in a reasonable time (in case it even does since I stopped the process after a minute).

So compared to older occ versions this is a great regression!

Kunda1

2018-01-18 14:27

administrator   ~0010790

@caijulong could you possibly re-upload Fillet.7z ?

Kunda1

2018-02-18 12:46

administrator   ~0010964

@caijulong ping

caijulong

2018-02-22 04:04

reporter   ~0010969

@Kunda1,sorry about the late reply.
I can't find the old file.
Just reproduce one.
Fillet.FCStd (9,846 bytes)

normandc

2018-02-22 04:22

manager   ~0010970

Thanks for providing a new file. For future reference to rebuild the example file:

  1. Create Part Cube with default parameters.
  2. Create Part Sphere with default parameters.
  3. Fuse them.
  4. Select Edge5 (the vertical edge on the cube centred to the origin).
  5. Create Part Fillet of 1mm.

There is another workaround than creating the fillet before the fuse: just rotate the sphere so that its seam does not intersect the edge to be filleted. Set sphere's axis to (1, 0, 0) and set angle to 90º. This repairs the model. See attached.
Fillet_normandc1.FCStd (16,803 bytes)

wmayer

2018-10-03 17:59

administrator   ~0011903

The actual problems seems to be related to older OCCT versions. At some point the tolerances of the model are broken leading to huge values like 363.5 (instead of 1e-7).
This makes then the fillet to fail.

With OCCT 7.0 or later the tolerances are not broken any more and thus no error occurs. But one needs to start from scratch because the broken tolerance values are saved into the BRep files.

Kunda1

2018-10-03 20:06

administrator   ~0011906

@wmayer how to proceed with this ticket then?

wmayer

2018-10-03 21:37

administrator   ~0011909

What we need are some shape healing functions and therefore the file can be used for testing purposes.

I changed the category from bug to feature request.

Issue History

Date Modified Username Field Change
2016-09-30 05:29 caijulong New Issue
2016-09-30 05:29 caijulong File Added: Fillet.7z
2016-09-30 05:30 caijulong Tag Attached: Part
2016-10-15 20:44 normandc Note Added: 0007375
2016-10-15 20:46 normandc Note Added: 0007376
2016-10-15 20:47 normandc Priority high => normal
2016-10-15 20:47 normandc Severity major => minor
2016-10-15 20:48 normandc Tag Attached: OCC Bug
2017-01-15 02:11 Kunda1 Tag Attached: OCC 7.2
2017-01-15 02:12 Kunda1 Tag Detached: Part
2017-01-15 02:14 Kunda1 Note Added: 0007776
2017-01-15 02:15 Kunda1 Tag Attached: upstream
2017-01-27 01:36 Kunda1 Tag Detached: OCC 7.2
2017-09-02 12:25 wmayer Note Added: 0010061
2018-01-18 14:27 Kunda1 Status new => feedback
2018-01-18 14:27 Kunda1 Note Added: 0010790
2018-02-18 12:46 Kunda1 Note Added: 0010964
2018-02-22 04:04 caijulong File Added: Fillet.FCStd
2018-02-22 04:04 caijulong Note Added: 0010969
2018-02-22 04:04 caijulong Status feedback => new
2018-02-22 04:22 normandc File Added: Fillet_normandc1.FCStd
2018-02-22 04:22 normandc Note Added: 0010970
2018-10-03 17:59 wmayer Note Added: 0011903
2018-10-03 20:06 Kunda1 Note Added: 0011906
2018-10-03 21:37 wmayer Category Bug => Feature
2018-10-03 21:37 wmayer Note Added: 0011909