View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002227 | PartDesign | Bug | public | 2015-08-25 02:35 | 2018-10-03 21:02 |
Reporter | berka | Assigned To | abdullah | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | Mac Intel | OS | OS X | OS Version | 10.10.4 (14E46) |
Product Version | 0.15 | ||||
Target Version | 0.18 | Fixed in Version | 0.18 | ||
Summary | 0002227: Fillet silently fails on face with too many edges | ||||
Description | If I try to fillet a face with many edges (724 on my experiment), the operation almost-silently fails. A brief error message flashed through the status bar, which prompted me to dig deeper. Python Console says:
The Report view says: traceback><type 'exceptions.SyntaxError'>: ('EOL while scanning string literal', ('<string>', 1, 4056, 'App.activeDocument().Fillet.Base = (App.ActiveDocument.MultiTransform,["Edge4","Edge7","Edge10","Edge12","Edge13","Edge14","Edge15","Edge16","Edge17","Edge18","Edge19","Edge20","Edge21","Edge22","Edge23","Edge24","Edge25","Edge26","Edge27","Edge28","Edge29","Edge30","Edge31","Edge32","Edge33","Edge34","Edge35","Edge36","Edge37","Edge38","Edge39","Edge40","Edge41","Edge42","Edge43","Edge44","Edge45","Edge46","Edge47","Edge48","Edge49","Edge50","Edge51","Edge52","Edge53","Edge54","Edge55","Edge56","Edge57","Edge58","Edge59","Edge60","Edge61","Edge62","Edge63","Edge64","Edge65","Edge66","Edge67","Edge68","Edge69","Edge70","Edge71","Edge72","Edge73","Edge74","Edge75","Edge76","Edge77","Edge78","Edge79","Edge80","Edge81","Edge82","Edge83","Edge84","Edge85","Edge86","Edge87","Edge88","Edge89","Edge90","Edge91","Edge92","Edge93","Edge94","Edge95","Edge96","Edge97","Edge98","Edge99","Edge100","Edge101","Edge102","Edge103","Edge104","Edge105","Edge106","Edge107","Edge108","Edge109","Edge110","Edge111","Edge112","Edge113","Edge114","Edge115","Edge116","Edge117","Edge118","Edge119","Edge120","Edge121","Edge122","Edge123","Edge124","Edge125","Edge126","Edge127","Edge128","Edge129","Edge130","Edge131","Edge132","Edge133","Edge134","Edge135","Edge136","Edge137","Edge138","Edge139","Edge140","Edge141","Edge142","Edge143","Edge144","Edge145","Edge146","Edge147","Edge148","Edge149","Edge150","Edge151","Edge152","Edge153","Edge154","Edge155","Edge156","Edge157","Edge158","Edge159","Edge160","Edge161","Edge162","Edge163","Edge164","Edge165","Edge166","Edge167","Edge168","Edge169","Edge170","Edge171","Edge172","Edge173","Edge174","Edge175","Edge176","Edge177","Edge178","Edge179","Edge180","Edge181","Edge182","Edge183","Edge184","Edge185","Edge186","Edge187","Edge188","Edge189","Edge190","Edge191","Edge192","Edge193","Edge194","Edge195","Edge196","Edge197","Edge198","Edge199","Edge200","Edge201","Edge202","Edge203","Edge204","Edge205","Edge206","Edg I'll attach a sample document where a 15x6 array of pockets works (slowly...), but 30x6 array of pockets fails. I didn't try to find the breaking point... | ||||
Steps To Reproduce | Make a rectangle sketch; pad it. Make an array of square pockets on a face. Try to fillet the array. If face has too many edges (e.g. 30x6 array), fillet almost-silently fails. | ||||
Additional Information | OS: Mac OS X Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.15.4671 (Git) Branch: releases/FreeCAD-0-15 Hash: 244b3aef360841646cbfe80a1b225c8b39c8380c Python version: 2.7.9 Qt version: 4.8.6 Coin version: 4.0.0a OCC version: 6.8.0.oce-0.17 | ||||
Tags | #pending, OCC 7.1, OCC Bug, upstream | ||||
FreeCAD Information | |||||
|
|
|
Reproduced with sample file on 0.16: OS: Mac OS X Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.16.6702 (Git) Build type: Release Branch: (detached from d2a08df) Hash: d2a08df5e2db1c9c1dfa39dd45f1a306b3955cdc Python version: 2.7.11 Qt version: 4.8.7 Coin version: 3.1.3 OCC version: 6.8.0.oce-0.17 |
|
Forum thread: https://forum.freecadweb.org/viewtopic.php?f=10&t=20257 |
|
In FreeCAD 0.17 I get an error "Failed to create chamfer". The PartDesign Chamfer Parameters dialog in Tasks panel remains active after closing the error message. There is no output in the Python console nor in the Report view. N.B. Because of the changes to PartDesign in current master, I needed to migrate the file (from the Part Design menu) and activate the Body prior to creating the PartDesign Chamfer. I think this needs to be tested with FreeCAD compiled with the latest version of OCC 7.1.0, which I don't have. OS: Ubuntu 14.04.5 LTS Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.17.9822 (Git) Build type: None Branch: master Hash: 0df4af4ba5e6edce825af6ecf6d024c704292633 Python version: 2.7.6 Qt version: 4.8.6 Coin version: 4.0.0a OCC version: 6.8.0.oce-0.17 |
|
@normandc would you say the same for 0002309 ? |
|
AFAICT 0002309 is a different issue. On a side note: the forced side scrolling due to the width of the Description window is annoying... |
|
I asked NormandC if he would test with OCC 7.1.0, his response: Still the same result in master based on OCCT 7.1.0. Maybe this is not related to the OCCT kernel, but rather to FreeCAD's own inability to treat as many edges. I don't have the knowledge to go further. OS: Ubuntu 16.04.2 LTS Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.17.10802 (Git) Build type: None Branch: master Hash: 10ce910c03347a90712327a7cc7be2bcdee13afc Python version: 2.7.12 Qt version: 4.8.7 Coin version: 4.0.0a OCC version: 7.1.0 |
|
Filleting Face5 fails with error "Failed to create fillet". This comes from OCC:
OS: Ubuntu 16.04.2 LTS Word size of OS: 64-bit Word size of FreeCAD: 64-bit Version: 0.17.11154 +2 (Git) Build type: Debug Branch: fixes_2530 Hash: 72730bc25e374a4875d3322a22696557380a00d1 Python version: 2.7.12 Qt version: 4.8.7 Coin version: 4.0.0a OCC version: 7.1.0 Another test filleting about 30 edges of the square pattern, when changing from 1mm to 0,4 mm radius, ended up in me killing FC after 30 minutes of full 1 core activity. |
|
|
|
Well, I had a detailed note written and there was a problem with the security token so I lost all of it. Brief summary: 1. Yes, I can still reproduce a problem with the file provided after migration, the problem now is "Failed to create Fillet" and this error comes directly from OCC. It is still to identify what exactly doesn't OCC like. 2. I have identified one general problem with Fillets OCC has, when a line is split into contiguous segments like in the attachment. Then filleting fails. 3. However, FC has no (general) problem with tons of edges. My example filleting 1604 edges (see attachment) works, it takes time, but it works. 4. The UI for adding and removing edges is tedious, slow, if somebody is forced to be productive with it, there are high chances of that person ultimately committing suicide. Probably it makes sense to create a separate feature request asking for an improvement. (Admin Edit: see 0003060 ) 5. I do not know if it was ever talked about, but a refined feature would be great to put it just before filleting in case of contiguous segments. You most likely would lose the toponaming (when ready), but the alternative is going out of PDN to do a Part->Refine and then Fillet (where you would most probably use Part->Fillet as you are already out of the body). Somebody with greater experience could evaluate this need. 6. It is part of the complaint in this ticket, the notification to the user is quite deficient. I want to improve this in a uniform way. I will wait for the last PR of exception improvements gets merged. Then I will make something similar for App::DocumentObjectExecReturn. |
|
@Abdullah I created 0003060 while chuckling about comment No. 4 Feel free split this ticket up in to other ticket sales if needed. FYI, the OCC part is an upstream bug ? If so we should report it. |
|
@kunda1 Thanks! As for the question. I am undecided. I am not sure about whether it can be considered to be a bug, or simply we are not supposed to pretend to have a such a part filleted (we should first refine the part and then apply the Fillet). Unless somebody else have a strong opinion about this, I think it would be interesting to "tag" problems with Part/Part Design Filleting tool and try to identify more corner cases. Then we may be in a better position to decided whether to report and what to report. It has happened to me during actual use of PDN that the filleting tool has caused FC to crash. Unfortunately we do not have reproducible tickets for that yet. If that crash comes from OCC then it would make a lot of sense to report it. |
|
@kunda1 1. The problem with the file is that the right most column is too close to the border, so 1 mm is just too much for a fillet, with 0,2 mm it works just fine. So OCC Fillet limitations: a. Contiguous colinear segments b. Insufficient space for a fillet. In the meantime, I have coded FeatureFillet to return an error if the radius of the fillet is zero. Giving a zero radius Fillet was causing FC to hang. |
|
- It is acknowledged that the information provided to the user is not appropriate. - The problem, other than the stated OCC limitations, is no longer reproducible if appropriate radius having regard to the part is selected. |
|
@abdullah is there still an upstream limitation for OCC7.2 ? |
|
@kunda1 I am not sure what you mean. I use opencascade from the PPA which currently is 7.1. I have not tested 7.2 is that is what you mean. |
|
@abdullah yes, that's exactly what I mean. I know some devs have been able to compile FC with OCC7.2 (I thought you were one of them). Disregard the message then. Perhaps @wmayer can weigh in ? |
|
@wmayer can you test this with OCC7.2 ? |
|
The error posted by the OP is a duplicate of 0002309 which is fixed for more than a year now. |
|
@wmayer and what of the fate of this ticket? |
|
@wmayer sorry to ping you on this, but I'm trying to keep all the OCC bugs organized in https://forum.freecadweb.org/viewtopic.php?f=10&t=20264 Can you make a verdict on this ? |
|
The original issue with the broken Python command was fixed a long time ago. After fixing this the new issue is the filleting. But this fails because of incorrect user input. In order to better analyse what really happens is to reduce the grid array e.g. to 2x2 elements as the fillet operation is much faster then. When measuring the smallest distance between the hole and the border you will see it's 1.61 and thus the maximum fillet radius is ~0.8 and the default of 1 mm makes it to fail. When manually setting the radius to 0.8 then everything works as expected. |
Date Modified | Username | Field | Change |
---|---|---|---|
2015-08-25 02:35 | berka | New Issue | |
2015-08-25 02:35 | berka | File Added: FilletManyEdges.FCStd | |
2016-04-23 20:53 | berka | Note Added: 0006999 | |
2017-01-26 21:41 | Kunda1 | Note Added: 0008001 | |
2017-01-26 21:41 | Kunda1 | Tag Attached: #pending | |
2017-01-28 10:59 | Kunda1 | Relationship added | related to 0002309 |
2017-01-29 17:34 | normandc | Note Added: 0008086 | |
2017-01-29 18:51 | Kunda1 | Tag Attached: OCC 7.1 | |
2017-01-29 18:51 | Kunda1 | Tag Attached: OCC Bug | |
2017-01-29 18:51 | Kunda1 | Tag Attached: upstream | |
2017-01-29 18:56 | Kunda1 | Note Added: 0008087 | |
2017-01-29 20:06 | normandc | Note Added: 0008093 | |
2017-01-29 20:06 | normandc | Note Edited: 0008093 | |
2017-01-29 20:07 | normandc | Note Edited: 0008093 | |
2017-01-29 20:19 | Kunda1 | Description Updated | |
2017-05-02 21:56 | Kunda1 | Note Added: 0008867 | |
2017-05-29 15:04 | abdullah | Note Added: 0009187 | |
2017-05-30 17:06 | abdullah | File Added: Fillet_ok_1604edges.png | |
2017-05-30 17:06 | abdullah | File Added: Fillet_contiguous_edges.png | |
2017-05-30 17:06 | abdullah | Note Added: 0009194 | |
2017-05-30 18:39 | Kunda1 | Note Edited: 0009194 | |
2017-05-30 18:43 | Kunda1 | Note Added: 0009195 | |
2017-05-30 18:43 | Kunda1 | Relationship added | related to 0003060 |
2017-05-30 20:01 | abdullah | Note Added: 0009196 | |
2017-05-30 20:51 | abdullah | Note Added: 0009197 | |
2017-05-30 21:26 | abdullah | Assigned To | => abdullah |
2017-05-30 21:26 | abdullah | Status | new => acknowledged |
2017-05-30 21:26 | abdullah | Note Added: 0009198 | |
2018-01-18 14:37 | Kunda1 | Note Added: 0010791 | |
2018-01-19 16:22 | abdullah | Note Added: 0010793 | |
2018-01-19 16:24 | Kunda1 | Note Added: 0010794 | |
2018-02-18 12:42 | Kunda1 | Note Added: 0010963 | |
2018-02-19 09:31 | wmayer | Note Added: 0010965 | |
2018-02-21 14:38 | Kunda1 | Relationship replaced | duplicate of 0002309 |
2018-02-21 14:39 | Kunda1 | Note Added: 0010968 | |
2018-03-03 11:07 | Kunda1 | Note Added: 0010993 | |
2018-06-12 20:16 | Kunda1 | Target Version | => 0.18 |
2018-10-03 21:02 | wmayer | Status | acknowledged => closed |
2018-10-03 21:02 | wmayer | Resolution | open => fixed |
2018-10-03 21:02 | wmayer | Fixed in Version | => 0.18 |
2018-10-03 21:02 | wmayer | Note Added: 0011907 |