View Issue Details

IDProjectCategoryView StatusLast Update
0002602FreeCADBugpublic2018-04-04 23:48
ReporterDeepSOICAssigned To 
Status confirmedResolutionopen 
Product Version0.17 
Target Version0.18Fixed in Version 
Summary0002602: New SubList property Py API messes up the order of linked elements
DescriptionReassigning property of type PropertyLinkSubList via Python can result in the link order change.
The links to elements of the same object are grouped together, even if there is a link to other object in between.
Steps To Reproduce1. Open attached file.
2. in Py console:

sk = App.ActiveDocument.Sketch003
sk.ExternalGeometry = sk.ExternalGeometry

3. Recompute. Sketch003 transforms into a mess, and can't be edited.
Additional Informationsee forum thread: "Sketcher bug: reassigning external geometry breaks the sketch"

OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.7802 (Git)
Build type: Release
Branch: BodyBase4
Hash: cfb0c93bd359e338158129670195922cd5699216
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17



2016-06-24 20:20


breaking sketch.FCStd (Attachment missing)


2017-01-27 03:11

manager   ~0008013

bumped thread


2017-01-27 11:44

manager   ~0008021

Issue is still present on
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.9803 (Git)
Build type: Debug
Branch: (HEAD detached at FC/master)
Hash: dd63fe92107a87f6003f33518e387743a2090a1c
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.0.0


2017-06-20 20:09



2017-06-20 20:13

manager   ~0009471

@abdullah care to weigh in on this issue?


2017-06-21 13:58

manager   ~0009482


@DeepSOIC writes the reports very accurately, so it is exactly what he says it is. It is not the sketcher, it is the python API to that property, that I think it is this function void PropertyLinkList::setPyObject(PyObject *value), which is in the base application (not even a module).

So, it is a confirmed bug that has to be dealt with...


2018-02-11 19:04

administrator   ~0010941

Maybe we can implement our own container class (Python sequence protocol) which returns the items in the same order as we had in the past. This container class provides a method to group the items the way how it's done now.


2018-04-04 23:48

developer   ~0011127

reuploading lost attachment...

breaking sketch-2.FCStd (8,514 bytes)

Issue History

Date Modified Username Field Change
2016-06-24 20:19 DeepSOIC New Issue
2016-06-24 20:20 DeepSOIC File Added: breaking sketch.FCStd
2017-01-27 03:11 Kunda1 Note Added: 0008013
2017-01-27 03:11 Kunda1 Status new => feedback
2017-01-27 11:44 Kunda1 Note Added: 0008021
2017-01-27 11:44 Kunda1 Status feedback => confirmed
2017-01-27 11:50 Kunda1 File Added: breaking sketch.png
2017-03-10 23:14 Kunda1 Tag Attached: API
2017-03-10 23:16 Kunda1 Product Version => 0.17
2017-03-10 23:16 Kunda1 Target Version => 0.17
2017-06-20 20:09 Kunda1 File Added: A0FD3B85-81DA-4824-99C8-C3A69020FE89-2571-0000041C3F964D8D.png
2017-06-20 20:09 Kunda1 File Deleted: breaking sketch.png
2017-06-20 20:13 Kunda1 Note Added: 0009471
2017-06-21 13:58 abdullah Note Added: 0009482
2018-02-11 18:45 wmayer Target Version 0.17 => 0.18
2018-02-11 19:04 wmayer Note Added: 0010941
2018-04-04 23:48 DeepSOIC File Added: breaking sketch-2.FCStd
2018-04-04 23:48 DeepSOIC Note Added: 0011127