View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002507||PartDesign||Bug||public||2016-04-15 07:48||2018-01-03 14:29|
|Target Version||0.17||Fixed in Version||0.17|
|Summary||0002507: Migration of 0.16 files fail|
|Description||Attached files cannot be migrated to 0.17 PartDesign workflow. As they are PartDesign features only this must work|
|Steps To Reproduce||1. Load file into FreeCAD|
2. Start migration routine
3. Find exclamation marks at multiple features
|related to||0003095||closed||PartDesign||Manual migration from 0.16 models to 0.17 models not possible|
|related to||0002087||new||Assembly||The Part Design migration needs to be tested and updated to new structure|
|related to||0002512||closed||ickby||PartDesign||Pad/Pocket does not work with independent figures in sketch (new Partdesign)|
MISE_cf_retainer_1.6.FCStd (410,611 bytes)
M3SE_top_cover_1.6.FCStd (790,410 bytes)
||Tried to migrate the attached bejant's file from this post http://forum.freecadweb.org/viewtopic.php?f=3&t=15240&hilit=rotate&start=10#p121655 and it also fails. Do not know if it is the same issue but could be handy to test.|
20160414a-NutTom.fcstd (26,013 bytes)
Note, the errors you get are not related to the migration function. You can easily test this with the Force-Recompute macro.
for obj in FreeCAD.ActiveDocument.Objects:
When running this macro then afterwards exactly the same objects are broken as when running the migration function.
For MISE_cf_retainer_1.6.FCStd these are: Pocket, Fillet, Fillet007
For M3SE_top_cover_1.6.FCStd these are: screw posts001, screw holes001, power vga nic holes 001, front wall holes001, Pad008, Pad009
For 20160414a-NutTom.fcstd this is Pad001
So, the big question is what's the actual reason. It could be also related to the topological naming issue.
For 20160414a-NutTom.fcstd and the broken pocket in MISE_cf_retainer_1.6.FCStd the reason is clearly the limited capabilites of the new pad/pocket function.
In the past it supported to get a compound of faces when filling a sketch (which may have several wires). Now the function ProfileBased::getVerifiedFace always expects a *single* face which might be OK for the very first sketch in the model history but is wrong for any subsequent sketch (at least as long as a single solid is the result of the following operation)
The error then is raised in line 206 where makeFace still correctly returns a compound of faces but the cast TopoDS::Face raises the exception.
Btw, makeFace may also return an empty shape which getVerifiedFace doesn't check at all. Here it should check for this and raise an exception with a meaningful text.
||yes this is clearly wrong behavior, the enforcement of a single solid should happen elsewhere.|
||I don't know if something changed or if I could have done this before, but today I am able to work on the MISE_* documents above by just answering No to the migrate prompt that pops up. Everything seems to work exactly the same as before, allowing for a couple issues that don't have anything to do with this bug. (Delete option removed from right-click menu on model tree items. Start page keeps re-appearing and minimizing my drawing page even though I had closed it.)|
||Related forum thread: https://forum.freecadweb.org/viewtopic.php?f=22&t=21674|
Since bug severity was set as major by @ickby, I'm setting target version to 0.17 so this report appears in the roadmap.
Behaviour has changed somewhat. For file 20160414a-NutTom.fcstd on recompute the sketch solver reports an error about conflicting constraints. When removing them then a recompute creates a fully valid document.
When creating a Part container then the migration works successfully.
Looking a bit further.
The real problem was the function ProfileBased::getVerifiedFace which didn't support multi-wire sketches but this has been fixed with
And as said above the errors you get is not due to a broken migration function but because the model has some flaws.
Currently the real limitation is that the Part container isn't created automatically any more as it was in the past. So, by doing this the ticket can be considered as fixed.
||Automatic creation of the part container was broken with https://github.com/FreeCAD/FreeCAD/commit/dd8709467289a1a4a3da7c325cda9a503521896d (removal of PartDesign_Part command) and is fixed with https://github.com/FreeCAD/FreeCAD/commit/433f36630403e5bec095111d4b887c837a393566|
|2016-04-15 07:48||ickby||New Issue|
|2016-04-15 07:48||ickby||Status||new => assigned|
|2016-04-15 07:48||ickby||Assigned To||=> ickby|
|2016-04-15 07:48||ickby||File Added: MISE_cf_retainer_1.6.FCStd|
|2016-04-15 07:48||ickby||File Added: M3SE_top_cover_1.6.FCStd|
|2016-04-15 09:55||cox||Note Added: 0006972|
|2016-04-15 09:55||cox||File Added: 20160414a-NutTom.fcstd|
|2016-04-17 08:12||wmayer||Note Added: 0006983|
|2016-04-17 08:56||wmayer||Note Added: 0006984|
|2016-04-17 11:39||wmayer||Relationship added||related to 0002512|
|2016-04-17 18:18||ickby||Note Added: 0006986|
|2016-04-21 16:13||bkw||Note Added: 0006995|
|2017-05-02 21:51||Kunda1||Note Added: 0008866|
|2017-06-17 23:51||normandc||Product Version||=> 0.17|
|2017-06-17 23:51||normandc||Target Version||=> 0.17|
|2017-06-17 23:51||normandc||Note Added: 0009433|
|2017-06-17 23:51||normandc||Note Edited: 0009433||View Revisions|
|2017-06-22 16:08||Kunda1||Relationship added||related to 0003095|
|2017-06-22 16:10||Kunda1||Relationship added||related to 0002087|
|2017-06-22 16:10||Kunda1||Tag Attached: migration|
|2018-01-02 17:02||wmayer||Note Added: 0010672|
|2018-01-02 18:20||wmayer||Note Added: 0010675|
|2018-01-03 14:29||wmayer||Status||assigned => closed|
|2018-01-03 14:29||wmayer||Resolution||open => fixed|
|2018-01-03 14:29||wmayer||Fixed in Version||=> 0.17|
|2018-01-03 14:29||wmayer||Note Added: 0010684|