View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001266 | FreeCAD | Bug | public | 2013-10-04 11:30 | 2014-01-16 13:08 |
Reporter | ulrich1a | Assigned To | wmayer | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | reopened | ||
Product Version | trunk | ||||
Fixed in Version | 0.14 | ||||
Summary | 0001266: Part Common fails with two surface objects | ||||
Description | Make a plane in the Part workbench. Make a sketch with a rectangle and extrude the rectangle in the Part workbench. Move the objects so that they intersect. Make the common of both objects. Result: Cannot compute Inventor representation for the shape of Common. I would expect an rectangular wire. Fuse and cut works, but why not common? I have added the objects that gave the error to me. | ||||
Additional Information | OS: Debian GNU/Linux 7.1 (wheezy) Platform: 32-bit Version: 0.14.2601 (Git) Branch: master Hash: 74fda05d7736c36876681b46abd59fa5b48382f6 Python version: 2.7.3 Qt version: 4.8.2 Coin version: 3.1.3 SoQt version: 1.5.0 | ||||
Tags | No tags attached. | ||||
FreeCAD Information | |||||
2013-10-04 11:30
|
|
|
Boolean operations are supposed to be used for solids. In some cases it works also for non-solids but there is absolutely no guarantee for this. Instead of using the Common function you can use the Section command which returns the expected wire. |
|
This command is part of the Part-workbench, which deals with solids as well as surfaces and even lines and points. So there is no logical reason and no help hint, why an intersection is thought to work only for solids. Cad-users could use the intersection, in order to create complex shape 3-Dimensional wires, which is not possible with a sketch for example. I do not know, which underlying opencascade function is used. But a search gave: http://opencascade.sourcearchive.com/documentation/6.3.0.dfsg.1-1/BRepAlgoAPI__Section_8hxx-source.html Here the intersections is said to work on shape and geometries. Surfaces are included. My case is just an example. What I wanted to have, is the intersection between two curved surfaces, which cannot be done with the section command. |
|
Only because these functions are part of the Part workbench does not automatically mean that it works for all kind of shapes. > Here the intersections is said to work on shape and geometries. Surfaces are included. Again, this is the command "Section" which gives a valid result. The command you used instead is called "common" and is offered by BRepAlgoAPI_Common. So, to fix this issue there will be a check now that explicitly disallows the use of non-solids. |
|
git show cdea437 |
|
disabling all booleans for faces does not solve the problem. It removes an essential function. It would be fine to ask the user every time he supplies mixed shapes types. Or maybe even warn for all solids. I need booleans on faces, because if i extrude first, OCCT is prone to let the booleans fail because of coincident geometry. Doing booleans on face on the same plane has been much more stable in the past. |
Date Modified | Username | Field | Change |
---|---|---|---|
2013-10-04 11:30 | ulrich1a | New Issue | |
2013-10-04 11:30 | ulrich1a | File Added: common_bug.fcstd | |
2013-10-06 09:06 | wmayer | Note Added: 0003715 | |
2013-10-06 09:09 | wmayer | Note Edited: 0003715 | |
2013-10-06 13:39 | ulrich1a | Note Added: 0003717 | |
2013-10-07 13:10 | wmayer | Note Added: 0003718 | |
2013-10-07 13:43 | wmayer | Note Added: 0003719 | |
2013-10-07 13:43 | wmayer | Status | new => closed |
2013-10-07 13:43 | wmayer | Resolution | open => fixed |
2013-10-07 13:43 | wmayer | Fixed in Version | => 0.14 |
2014-01-15 22:47 | shoogen | Note Added: 0004079 | |
2014-01-15 22:47 | shoogen | Status | closed => feedback |
2014-01-15 22:47 | shoogen | Resolution | fixed => reopened |
2014-01-16 13:08 | wmayer | Changeset attached | => FreeCAD Master master 08698154 |
2014-01-16 13:08 | wmayer | Assigned To | => wmayer |
2014-01-16 13:08 | wmayer | Status | feedback => closed |