View Issue Details

IDProjectCategoryView StatusLast Update
0001266FreeCADBugpublic2014-01-16 13:08
Reporterulrich1a Assigned Towmayer  
Status closedResolutionreopened 
Product Versiontrunk 
Fixed in Version0.14 
Summary0001266: Part Common fails with two surface objects
DescriptionMake 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 InformationOS: 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
TagsNo tags attached.
FreeCAD Information


2013-10-04 11:30


common_bug.fcstd (Attachment missing)


2013-10-06 09:06

administrator   ~0003715

Last edited: 2013-10-06 09:09

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.


2013-10-06 13:39

reporter   ~0003717

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:
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.


2013-10-07 13:10

administrator   ~0003718

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.


2013-10-07 13:43

administrator   ~0003719

git show cdea437


2014-01-15 22:47

developer   ~0004079

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.

Related Changesets

FreeCAD: master 08698154

2014-01-16 14:04:19


Details Diff
+ fixes 0001266: Part Common fails with two surface objects Affected Issues
mod - src/Mod/Part/Gui/Command.cpp Diff File

Issue History

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