View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000586 | FreeCAD | Bug | public | 2012-02-03 23:14 | 2016-02-07 06:43 |
| Reporter | rdwatkins | Assigned To | jmaustpc | ||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | closed | Resolution | no change required | ||
| Product Version | 0.12 | ||||
| Summary | 0000586: V0.13 on Ubuntu 10.04 Part Workbench Union of Spheres and Cylinders 90deg Fails | ||||
| Description | With 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. | ||||
| Tags | No tags attached. | ||||
| FreeCAD Information | |||||
|
2012-02-03 23:14
|
|
|
|
See additional discussion in this forum topic: http://forum.freecadweb.org/viewtopic.php?f=3&t=2192&p=16206#p16206 |
|
|
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. |
|
|
> 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. |
|
|
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) |
|
|
|
|
|
|
|
|
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 |
|
|
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 |
|
|
|
|
|
|
|
|
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. :-) |
|
|
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. |
| 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 |
FreeCAD