View Issue Details

IDProjectCategoryView StatusLast Update
0003626FreeCADBugpublic2019-09-05 20:44
Reporteregil Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status confirmedResolutionopen 
Product Version0.18 
Target Version0.19Fixed in Version 
Summary0003626: OpenSCAD causes Multifusion failed with some empty translates
DescriptionHaving more than one translates that ends up in an "if (false)" seems to create a "MultiFusion failed" exception. The issue was found in a rather complex Openscad design, but I believe I have been able to find a simple way to reproduce.
Steps To ReproduceReproduce by opening the OpenSCAD workbench and add the following:

translate([1,0,0]) if (0) cube();
translate([2,0,0]) if (0) cube();
translate([3,0,0]) if (1) cube();

Press "Add". Instead of a single cube, as expected, nothing appears and the console says:
      Exception: MultiFusion failed

In the real world, the if statements were complex, but the issue is the same with these trivial cases. The absolutely smallest construct I can find that triggers the same issue is:

translate([1,0,0]) if (0);
translate([2,0,0]) if (0);
cube();

With only one empty translate, it is OK. The issue is the same also when importing OpenSCAD files.
Additional InformationOS: Ubuntu 16.04.5 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.14908 (Git)
Build type: Release
Branch: master
Hash: ebec4cd5e25aff48f4d72714a60a007d59509f2e
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)
TagsOpenSCAD
FreeCAD Information

Activities

Kunda1

2018-10-09 12:18

administrator   ~0011989

Last edited: 2018-10-09 12:19

View 2 revisions

Please open a thread on the forum before posting bugs per our guidelines. Please do that now and make sure to link this ticket to the thread and vice-versa.

egil

2018-10-09 18:07

reporter   ~0011990

I've now started a thread that is linked back to this bug on the forum.

(My impression from the guidelines was only to start a thread if one is not sure it is a bug, or if it is a feature request. Pretty convinced this one is a genuine bug, and that it is narrowed down pretty well.)

keithsloan52

2018-10-15 16:02

developer   ~0012032

I have taken a quick look at this problem. I first created a couple of test scad files based on the reported bug. These do indeed produce the error Exception (Mon Oct 15 16:48:31 2018): MultiFusion failed with

FreeCAD 0.17
OS: Mac OS X
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.13519 (Git)
Build type: Release
Branch: (HEAD detached at 1a8b868)
Hash: 1a8b868018f45ea486c0023fdbfeb06febc1fb89
Python version: 2.7.14
Qt version: 5.10.1
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: English/UnitedKingdom (en_GB)

But they do not fail with FreeCAD 0.16
i.e.
OS: Mac OS X
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6706 (Git)
Build type: Release
Branch: tag: 0.16.6706
Hash: f86a4e411ff7848dea98d7242f43b7774bee8fa0
Python version: 2.7.11
Qt version: 4.8.7
Coin version: 3.1.3
OCC version: 6.8.0.oce-0.17

I don't think there is any related difference between importCSG.py in FreeCAD 0.16 and FreeCAD 0.17 so this points to a regression in FreeCAD 0.17 in the Part::MultiFuse function. i.e. the error is being generated when importCSG.py tries to execute myfuse = doc.addObject('Part::MultiFuse',name)

testTrans1.scad (102 bytes)
testTrans2.scad (62 bytes)

Kunda1

2018-10-15 16:06

administrator   ~0012033

Thanks @keithsloan52 confirmed and setting 0.18 target.

Kunda1

2019-09-05 20:44

administrator   ~0013542

bumping to 0.19

Issue History

Date Modified Username Field Change
2018-10-09 10:56 egil New Issue
2018-10-09 10:56 egil Tag Attached: OpenSCAD
2018-10-09 12:18 Kunda1 Status new => feedback
2018-10-09 12:18 Kunda1 Note Added: 0011989
2018-10-09 12:18 Kunda1 Note View State: 0011989: private
2018-10-09 12:19 Kunda1 Note Edited: 0011989 View Revisions
2018-10-09 12:19 Kunda1 Note View State: 0011989: public
2018-10-09 18:07 egil Note Added: 0011990
2018-10-09 18:07 egil Status feedback => new
2018-10-15 16:02 keithsloan52 File Added: testTrans1.scad
2018-10-15 16:02 keithsloan52 File Added: testTrans2.scad
2018-10-15 16:02 keithsloan52 Note Added: 0012032
2018-10-15 16:06 Kunda1 Status new => confirmed
2018-10-15 16:06 Kunda1 Target Version => 0.18
2018-10-15 16:06 Kunda1 Note Added: 0012033
2019-09-05 20:44 Kunda1 Note Added: 0013542
2019-09-05 20:44 Kunda1 Target Version 0.18 => 0.19