FreeCAD freezes and starts to allocate more and more memory. The memory allocation happens because the selection's internal list "_SelList" grows and grows and starting from the 2nd element all entries are identical. For the first element only the x,y,z coordinates are different.
Looking at the call stack this is what happens:
DlgFilletEdges::onSelectionChanged reacts on the selection change and calls DlgFilletEdges::toggleCheckState. This calls Gui::Selection().addSelection() where object name is Box and sub-name e.g. Edge3.
Internally SelectionSingleton::checkSelection() fills up the passed reference of _SelObj and sets FeatName to "Part" and SubName to "Box.Edge3" and then it tries to find this entry in _SelList but cannot find it there because the passed pObjectName is still set to "Box".
Zolko wrote: ↑Mon Sep 02, 2019 11:11 am
When I insert a link (App::Link), it has a Placement and a Link Placement property, which seem identical: when I modify one, the other is changed. What is the rationale behind it ? Testing with the lates AppImage 18009 on Linux:
They are internally synchronized. When 'LinkTransform' is set to true. The Link will hide its Placement property from the property editor. Instead, the editor will display the linked object's Placement in green font. In fact, any property showing green belongs to the linked object.
When 'LinkTransform' is false, the link display the 3D view object independent of its original placement. When it is true, it is synced to the linked object's placement. You can set additional placement (now accessible as the LinkPlacement property) as an offset. See the video demo below
link-transform.webm
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
Zolko wrote: ↑Mon Sep 02, 2019 11:11 am
When I insert a link (App::Link), it has a Placement and a Link Placement property, which seem identical: when I modify one, the other is changed. What is the rationale behind it ?
When 'LinkTransform' is false, the link display the 3D view object independent of its original placement. When it is true, it is synced to the linked object's placement. You can set additional placement (now accessible as the LinkPlacement property) as an offset. See the video demo below
I'm sorry, I don't understand. And I think you forgot to attach the demo video. You mean that if LinkTransform==False, then there are 2 successive Placements applied to it: Placement and LinkPlacement ? What is the use-case ?
Zolko wrote: ↑Mon Sep 02, 2019 4:49 pm
I'm sorry, I don't understand. And I think you forgot to attach the demo video. You mean that if LinkTransform==False, then there are 2 successive Placements applied to it: Placement and LinkPlacement ? What is the use-case ?
Two sucessive placements, yes, but it is the Link's LinkPlacement (which can be considered as an alias to Link's Placement), and the linked object's Placement. Being able to track linked object's placement is very important in many use case, like the asm3 constraining element is a link that follows its target.
realthunder wrote: ↑Mon Sep 02, 2019 10:30 pm
Being able to track linked object's placement is very important in many use case, like the asm3 constraining element is a link that follows its target.
OK. I always think about App::Link as links between documents, not links inside the same document.
May I suggest that the boolean's name LinkTransform is not very self-explanatory ?
Zolko wrote: ↑Tue Sep 03, 2019 6:26 am
May I suggest that the boolean's name LinkTransform is not very self-explanatory ?
Yes, it is not the best choice. But changing the property name is not worth it IMO. Maybe some more explanatory tooltips. Normal user shouldn't need to change this property anyway. There are two Link creation buttons exposed now. The second button is meant to create a placement tracking link.
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
Reverting of some models still crashes FreeCAD. Other models are ok.
- download the model attached to this post: https://forum.freecadweb.org/viewtopic. ... 34#p331325
- start FreeCAD
- open 0902-thick_cb.FCStd
- File->Revert
->Crash
OS: macOS High Sierra (10.13)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.18009 (Git)
Build type: Release
Branch: master
Hash: 0641ca0d1e020d18f23d2adb49959195266f04f7
Python version: 3.7.3
Qt version: 5.12.1
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/Germany (en_DE)
realthunder wrote: ↑Tue Sep 03, 2019 6:59 am
...
There are two Link creation buttons exposed now. The second button is meant to create a placement tracking link.
I created the Std LinkMake page in the wiki to start collecting information on how to use these tools.
The second button calls Std LinkMakeRelative but is still empty. If you already have user documentation on how to use these new tools, then we can start filling the pages in the wiki, and creating examples that everybody can reference.
There were also many icons added, I guess for further buttons or menu commands. They were added to the src/Gui/Icons section in Artwork.
vocx wrote: ↑Tue Sep 03, 2019 11:39 pm
The second button calls Std LinkMakeRelative but is still empty. If you already have user documentation on how to use these new tools, then we can start filling the pages in the wiki, and creating examples that everybody can reference.
I have a recent adjustment of this button function. I'll put more details when I submit the PR.
There were also many icons added, I guess for further buttons or menu commands. They were added to the src/Gui/Icons section in Artwork.
I'll add details for that too.
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal