View Issue Details

IDProjectCategoryView StatusLast Update
0003333Part[FreeCAD] Bugpublic2018-09-25 16:35
Reporterfabien.cherblancAssigned Towmayer 
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
PlatformLinuxOSUbuntuOS Version16.04
Product Version[FreeCAD] 0.17 
Target VersionFixed in Version[FreeCAD] 0.18 
Summary0003333: Wrong behaviour of fuse operation
DescriptionThe fuse operation between 2 intersecting shapes returns a compound of shapes instead of a unique shape. For instance (see attached example), with 2 planar Faces, the fuse operation returns a Compound of 5 Faces. These 5 Faces corresponds to the common part plus the 4 parts that belongs to only one Faces.
Using Salome-Meca, the same operation gives the appropriate result.
Steps To ReproduceTo reproduce the bug, a python script and 2 brep files are attached to this message.
Additional InformationOS: Ubuntu 16.04.3 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.13165 (Git)
Build type: None
Branch: master
Hash: acded1c954b54e5497a661b4b0c7524d345ce2fc
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
Locale: French/France (fr_FR)
Tagsboolean

Relationships

related to 0002676 closedwmayer Differences in python API depending on OCC version 

Activities

fabien.cherblanc

2018-01-29 08:09

reporter  

test.py (197 bytes)

import FreeCAD
import Part

face1 = Part.read("face1.brep")
face2 = Part.read("face2.brep")

fuse = face1.fuse(face2)
print "fuse contains %i Faces"%len(fuse.Faces)
fuse.exportBrep("fuse.brep")

test.py (197 bytes)
face1.brep (1,057 bytes)
face2.brep (1,057 bytes)

fabien.cherblanc

2018-01-30 10:29

reporter   ~0010896

Last edited: 2018-01-30 11:11

View 3 revisions

Through the discussion of a previous bug report (#2676), i realised that this behaviour matches to what is written in OCCT manual: "Case 12: Two faces that have a common part".
So, this is not a bug, just a strange and inappropriate behaviour of OCCT.

In Salome-Meca, a post-processing operation should correct this to return a unique fused face.

Kunda1

2018-01-30 11:13

manager   ~0010897

Looks like #2676 is postponed to after 0.17 release. @wmayer care to weigh in?

Kunda1

2018-05-31 17:28

manager   ~0011335

@wmayer care to weigh in?

wmayer

2018-09-25 15:56

administrator   ~0011839

https://github.com/FreeCAD/FreeCAD/commit/dfd3d86b227099bab3649624507fcb205cdd93a2

There is a new method TopoShape::makeShell that tries to create a shell of the faces of a compound. Therefore the compound must consists of only faces and nothing else.

Issue History

Date Modified Username Field Change
2018-01-29 08:09 fabien.cherblanc New Issue
2018-01-29 08:09 fabien.cherblanc File Added: test.py
2018-01-29 08:09 fabien.cherblanc File Added: face1.brep
2018-01-29 08:09 fabien.cherblanc File Added: face2.brep
2018-01-29 08:09 fabien.cherblanc Tag Attached: boolean
2018-01-30 10:29 fabien.cherblanc Note Added: 0010896
2018-01-30 10:30 fabien.cherblanc Note Edited: 0010896 View Revisions
2018-01-30 11:11 Kunda1 Note Edited: 0010896 View Revisions
2018-01-30 11:12 Kunda1 Relationship added related to 0002676
2018-01-30 11:13 Kunda1 Note Added: 0010897
2018-01-30 11:14 Kunda1 Tag Attached: #pending
2018-05-31 17:28 Kunda1 Note Added: 0011335
2018-09-25 15:56 wmayer Assigned To => wmayer
2018-09-25 15:56 wmayer Status new => closed
2018-09-25 15:56 wmayer Resolution open => fixed
2018-09-25 15:56 wmayer Fixed in Version => 0.18
2018-09-25 15:56 wmayer Note Added: 0011839
2018-09-25 16:35 Kunda1 Tag Detached: #pending