Assembly recursive update, Assembly 2

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
engelant
Posts: 2
Joined: Sat Jun 03, 2017 9:27 pm

Assembly recursive update, Assembly 2

Post by engelant »

Hi There guys,
so from time to time I use freecad, and more and more I'm looking forward to what at some point it can become.

Still, with the current 0.17 build and assembly2 I'm able to put some usefull stuff together.
Since I somtimes just roughly know what I'm building, but not the exact dimensions I very much liked the idea of putting a spreadsheet in the assembly file and reference the dimensions from there. And although autocomplete doesn't seem to work between files, if entered correctly the relation works as expected.

Now if I change a value in the spredsheet, I need to save the spreadsheet, open each (affected) component, save it and use the reload button in the assembly view. Since there can be an assembly inside an assembly (e.g. bearing), that seems unfortunate to do if the model uses sufficent different parts.

Now since it all can be interacted with python I would like to have a littele script, that recursivly walks trough all contained parts and updates/saves them. Since I was not able to perform this myself I would like to ask sombody familiar with freecad's python api for help.

Thanks in Advance
Anton
Last edited by jmaustpc on Tue Jun 13, 2017 3:39 am, edited 2 times in total.
Reason: Edit topic title to clarify that this is about Assembly 2
User avatar
silopolis
Posts: 74
Joined: Thu Oct 20, 2016 10:06 pm

Re: Assembly recursive update, Assembly 2

Post by silopolis »

Hi,
engelant wrote: Sat Jun 03, 2017 9:42 pm [...] I very much liked the idea of putting a spreadsheet in the assembly file and reference the dimensions from there. And although autocomplete doesn't seem to work between files, if entered correctly the relation works as expected.

Now if I change a value in the spreadsheet, I need to save the spreadsheet, open each (affected) component, save it and use the reload button in the assembly view. Since there can be an assembly inside an assembly (e.g. bearing), that seems unfortunate to do if the model uses sufficient different parts.

Now since it all can be interacted with python I would like to have a little script, that recursively walks trough all contained parts and updates/saves them. Since I was not able to perform this myself I would like to ask somebody familiar with freecad's python api for help.
To new to FreeCAD to know if it a generally spread way of working but at Ieast I work and organize my projects the same way, and indeed it is a pain at some point to keep all the models updated with the evolution of values.

So I fully agree that some way of doing it automatically would be great and this made me think of a "Force" mode for the already existing "Update parts" button, that could be toggled holding the shift key or such...

BTW, you may be interested following work by user Salp here https://forum.freecadweb.org/viewtopic.php?f=4&t=25691 aiming to integrate FC and LibreOffice that I hope will bring us spreadsheets on steroids !
Post Reply