View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003626 | FreeCAD | Bug | public | 2018-10-09 10:56 | 2021-03-28 15:34 |
Reporter | egil | Assigned To | |||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 0.18 | ||||
Target Version | 0.19 | Fixed in Version | 0.19 | ||
Summary | 0003626: OpenSCAD causes Multifusion failed with some empty translates | ||||
Description | Having 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 Reproduce | Reproduce 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 Information | OS: 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) | ||||
Tags | OpenSCAD | ||||
FreeCAD Information | |||||
|
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. |
|
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.) |
|
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)
translate([1,0,0]) if (0) cube(); translate([2,0,0]) if (0) cube(); translate([3,0,0]) if (1) cube(); |
|
Thanks @keithsloan52 confirmed and setting 0.18 target. |
|
bumping to 0.19 |
|
I just tested this and the problem seems resolved: the behavior is correct in OS: Windows 10 Version 2004 Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.19.23971 (Git) Build type: Debug Branch: master Hash: a3fb41502b079a86175e6a414d82956a48bab4e2 Python version: 3.8.6+ Qt version: 5.15.1 Coin version: 4.0.1 OCC version: 7.5.0 Locale: English/United States (en_US) |
|
@egil please retest |
|
Now works entirely fine for me on version 0.19 release 2021/02/01 13:28:00. Thanks, much appreciated! |
|
For completeness: OS: Ubuntu 18.04.5 LTS (ubuntu:GNOME/ubuntu) Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.19. Build type: Release Branch: unknown Hash: 5e07d708db9c17b86ab26b5955e7c819803e77b3 Python version: 3.6.9 Qt version: 5.9.5 Coin version: 4.0.0a OCC version: 7.3.0 Locale: English/UnitedStates (en_US) |
|
Issue seems resolved in v0.19. Closing |
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 | |
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 |
2021-02-06 06:50 | abdullah | Target Version | => 0.20 |
2021-02-07 21:14 | chennes | Note Added: 0015300 | |
2021-02-07 21:37 | Kunda1 | Note Added: 0015302 | |
2021-02-08 09:35 | egil | Note Added: 0015308 | |
2021-02-08 09:38 | egil | Note Added: 0015309 | |
2021-03-28 15:34 | Kunda1 | Status | confirmed => closed |
2021-03-28 15:34 | Kunda1 | Resolution | open => fixed |
2021-03-28 15:34 | Kunda1 | Fixed in Version | => 0.19 |
2021-03-28 15:34 | Kunda1 | Note Added: 0015565 | |
2021-03-28 15:34 | Kunda1 | Target Version | 0.20 => 0.19 |