View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001257||FreeCAD||Bug||public||2013-09-26 14:21||2014-03-02 12:13|
|Target Version||Fixed in Version||0.14|
|Summary||0001257: Crash on fuse() of two simple extrusions|
|Description||The attached test script reliably crashes FreeCAD. It seems to be related to the fact that the two shapes touch; if I move them apart, things work properly.|
|Tags||No tags attached.|
The above script works for me. No crash!
If you plan to only translate or rotate a shape then never use transformGeometry() because it changes the underlying geometry -- usually to B-spline curves/surfaces. Use tramsformShape() instead
It's a known problem (of the CAD kernel) that boolean operations often fail if faces only touch.
I wonder if the fact I use transformGeometry is why my fuse operations are so slow.
I tried transformShape, but for particular object I tried it on that produced an empty shape. What types of shapes will transformShape accept? It didn't seem to like wires.
FWIW, my platform is a Mac, 10.8.4, 64 bit.
Never mind, I see why I had trouble with transformShape. Inconsistent API: transformGeometry leaves "self" alone and returns a new object which is the transformed one, while transformShape changes the "self" object and returns None.
The __doc__ strings are not at all clear about this.
And yes, I tried that and it works, and my design builds a whole lot faster now. Thanks very much.
||git show 5f7ed33 clarifies the API|
|2013-09-26 14:21||pkoning||New Issue|
|2013-09-26 14:21||pkoning||File Added: fusebug.py|
|2013-09-26 18:38||wmayer||Note Added: 0003681|
|2013-09-26 19:37||pkoning||Note Added: 0003683|
|2013-09-26 22:58||pkoning||Note Added: 0003686|
|2014-03-02 12:13||wmayer||Note Added: 0004352|
|2014-03-02 12:13||wmayer||Status||new => closed|
|2014-03-02 12:13||wmayer||Resolution||open => fixed|
|2014-03-02 12:13||wmayer||Fixed in Version||=> 0.14|