View Issue Details

IDProjectCategoryView StatusLast Update
0000586FreeCADBugpublic2016-02-07 06:43
Reporterrdwatkins Assigned Tojmaustpc  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionno change required 
Product Version0.12 
Summary0000586: V0.13 on Ubuntu 10.04 Part Workbench Union of Spheres and Cylinders 90deg Fails
DescriptionWith the attached file:
1. Try union of all shapes from Part Workbench. Get Fusion result with red circle and "!" for symbol, no image on display. Delete Fusion result, select all shapes, restore visibility with [space].
2. Try union of all shapes EXCEPT the spheres. Get Fusion result with red circle and "!" for symbol, no image on display. Delete Fusion result, select all hidden shapes, restore visibility with [space].
3. Try union of top half-cylinder and right half-cylinder. Get Fusion result with red circle and "!" for symbol, no image on display. Delete Fusion result, select all hidden shapes, restore visibility with [space].
4. Try union of top half-cylinder and right sphere. Get Fusion result that shows normal result, but a tapered oddly shape is in the position of the top half-cylinder, and an angled truncated cylinder is in the location previously occupied by the right sphere. Delete Fusion result, select all hidden shapes, restore visibility with [space].
5. Try union of two spheres, successful Fusion result. Try union of top half-cylinder with fusion of spheres. Get Fusion001 result that shows oddly shaped region where top cylinder was, and two truncated angled cylinders where spheres were. Any attempt at fusion of Fusion001 with an end half-cylinder will result in a Fusion002 with an error indicator and an invisible fused region. Attempting union of Fusion001 with Box seems to hang the computer, but eventually produces Fusion002 that hides the Box and looks even stranger than the Fusion001 result.
TagsNo tags attached.
FreeCAD Information

Activities

2012-02-03 23:14

 

BugExample.fcstd (Attachment missing)

normandc

2012-02-04 15:21

manager   ~0001608

See additional discussion in this forum topic:

http://forum.freecadweb.org/viewtopic.php?f=3&t=2192&p=16206#p16206

rdwatkins

2012-02-09 00:00

reporter   ~0001625

Some additional experimentation was done. I believe the problem is not in the OpenCasCade library, but in the way FreeCAD is generating the 3D models or model elements. The basis for this is that I was able to export STEP files from FreeCAD for the parts that would not properly process using boolean operations, import those shapes into another program VariCAD, merge the shapes, export the merged shape to STEP from VariCAD, import the STEP files into FreeCAD, THEN PROPERLY perform a union or intersection or cut in FreeCAD with the existing model and the imported STEP.

wmayer

2012-02-09 10:53

administrator   ~0001626

> I believe the problem is not in the OpenCasCade library, but in the way FreeCAD is generating the 3D models or model elements.

No, that's the wrong conclusion. The fact that you modify the shapes in another CAD package and reload them into FreeCAD the internal B-REP structure has completely changed. So, the problem is that the boolean operations have problems with the original B-REP structure but works with the modified one. Thus, it's still a problem with the boolean operation algorithm and not how we call it in FreeCAD.

BTW, the API call is very easy and there is actually nothing you can make wrong.

ryback08

2012-02-18 22:54

reporter   ~0001640

I post here because maybe it is the same bug

I would like to use "Filled_Shape" fonction in Part Module (0.13 on linux)
I have this error message :
App::Document::_RecomputeFeature(): Unknown exception in Feature "Filled_shape" thrown

The same operation works on windows (on windows, this fonction works but the result of filled shape is not correct)

shoogen

2015-03-01 21:07

developer  

union1-fuzzy.txt (Attachment missing)

shoogen

2015-03-01 21:07

developer  

union1.txt (Attachment missing)

shoogen

2015-03-01 21:44

developer   ~0005848

In my branch (dev-fuzzyboolean) the MultiFuse Features uses booleans with multiple tools and with the fuzzy value. This works not as I expected. http://tracker.dev.opencascade.org/view.php?id=25880

pierstitus

2016-02-02 16:33

reporter   ~0006794

I experience the same or a similar bug, while doing a fusion between a sphere and a cylinder with the same diameter.
Often it goes well, sometimes there is no geometry at all, sometimes only the cylinder or part of it.
See the code attached in fusion_bug.py and the resulting fcstd for an example.


OS: Ubuntu 15.10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6348 (Git)
Build type: None
Branch: master
Hash: 5fbdd4ac6624e32ba3a3e5523a31d56fe3ba7ae6
Python version: 2.7.10
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17

pierstitus

2016-02-02 16:34

reporter  

fusion_bug.py (Attachment missing)

pierstitus

2016-02-02 16:34

reporter  

fusion_bug.fcstd (Attachment missing)

jmaustpc

2016-02-07 06:39

manager   ~0006812

When I run your macro I get an error

Traceback (most recent call last):
  File "/home/user/Downloads/fusion_bug.py", line 24, in <module>
    rotation_direction(vec_to - vec_from))
  File "/home/user/Downloads/fusion_bug.py", line 12, in rotation_direction
    return Base.Rotation(other.cross(vec), math.degrees(VecUtils.angle(vec,other)))
<type 'exceptions.NameError'>: global name 'VecUtils' is not defined


when I open you fcstd file I see the issue (the solid is not valid) but a simple recompute fixes it for me as I have a far newer OCE than you.

Both the original and you second models have co-plannar faces and or tangent faces between the items being fused. These are both likely top cause issues and are generally bad modelling practice. But the issue anyway is OCE or OCC (Open Cascade) not directly FreeCAD.

OS: Ubuntu 12.04.5 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6389 (Git)
Build type: Release
Branch: master
Hash: 1867c0d276b4e3d7106e7eeaf08acd892ad1b850
Python version: 2.7.3
Qt version: 4.8.2
Coin version: 3.1.3
OCC version: 6.9.1.oce-0.18-dev

Thank you for taking the time to find the old ticket, you have help me clean up tickets by brining this one to the top... for future reference its best to discuss any possible bugs or issues in the forums first and then only create a ticket if needed thus keeping ticket quantity low and quality high. :-)

jmaustpc

2016-02-07 06:43

manager   ~0006813

These appears to be OCE/OCC Boolean bugs of a Fuse with co-planar and or tangent faces between the solids being fused.

the last example works with a later OCE/OCC, so I will close this ticket.

Issue History

Date Modified Username Field Change
2012-02-03 23:14 rdwatkins New Issue
2012-02-03 23:14 rdwatkins File Added: BugExample.fcstd
2012-02-04 15:21 normandc Note Added: 0001608
2012-02-09 00:00 rdwatkins Note Added: 0001625
2012-02-09 10:53 wmayer Note Added: 0001626
2012-02-18 22:54 ryback08 Note Added: 0001640
2015-03-01 21:07 shoogen File Added: union1-fuzzy.txt
2015-03-01 21:07 shoogen File Added: union1.txt
2015-03-01 21:44 shoogen Note Added: 0005848
2016-02-02 16:33 pierstitus Note Added: 0006794
2016-02-02 16:34 pierstitus File Added: fusion_bug.py
2016-02-02 16:34 pierstitus File Added: fusion_bug.fcstd
2016-02-07 06:39 jmaustpc Note Added: 0006812
2016-02-07 06:43 jmaustpc Note Added: 0006813
2016-02-07 06:43 jmaustpc Status new => closed
2016-02-07 06:43 jmaustpc Assigned To => jmaustpc
2016-02-07 06:43 jmaustpc Resolution open => no change required