Code: Select all
OS: Windows 10 Version 2009
Word size of FreeCAD: 64-bit
Version: 0.20.29177 (Git)
Build type: Release
Branch: releases/FreeCAD-0-20
Hash: 68e337670e227889217652ddac593c93b5e8dc94
Python 3.8.10, Qt 5.15.2, Coin 4.0.1, Vtk 8.2.0, OCC 7.6.2
Locale: English/United States (en_US)
Installed mods:
* Assembly4 0.12.0
* CurvedShapes 1.0.3
* Curves 0.4.4
* fasteners 0.3.45
* fcgear 1.0.0
* MOOC 2022.4.21
* sheetmetal 0.2.49
I originally put this in the following post as I was following that thread as I had similar problems with Spreadsheet WB. However, after thinking about it. I decided that this is a different issue and decided to give it, its own topic.
Changing value in Spreadshet does not update linked Constraints
I was finally able to put together some files that cause me the problem with the spreadsheet values I have not updating properly. I don't think this is the same issue as reported in the above post, but it might be related.
In my case, I'm working with Assemblies. I have a Master Spreadsheet that I use to set and send values to other spreadsheets for the various parts I'm working with on my assembly. The Master acts as a control location for changes I want to make to move various parts as well as stores common measurements that I might need on two separate parts. This allows me to keep my parts parametric and reduce the chances I run into the TNP. It is a bit of work to do it this way, but I rarely have problems. It is advisable to load the Master file first when loading my assembly, although it normally works if you don't too.
In my example, I'm building a telescope mount. I've built the parts and assembled them. I have 4 parts that make it up so far. 01_Pedestal_Base, 02_Level_Mount_Bottom, 03_Level_Mount_Top, and 04_Horizontal_Adjustment_Plate. The assembly is held by Telescope_Assembly.
So to duplicate the problem I am having, first, open all the files and navigate to the Telescope_Assembly file to show the top view of the mount.
Notice that this is built so that the top plate can be rotated 15 degrees to the left or right with two bolts that allow fine adjustment. The three inside bolts, when loosened, will slide on a curved slot.
I control the rotation of this top plate in the Master, SSS_Master spreadsheet. You can change the value of the "Side to Side Degrees" value shown highlighted in Red.
So here is the problem. When I change the value in the Master Spreadsheet to something between -15 to 15 degrees, it updates the spreadsheet. If you go back to the Telescope Assembly tab and look at the top, when you hit the refresh key, the top moves as expected. However, the fine adjust bolts do not. They are controlled by another spreadsheet but should be updated at the same time this other value is updated.
If you go to the 03_Level_Mount_Top file and then open the SSS_LevelMountMount spreadsheet, you will see the following info.
The "Polar Alignment Adjustment" value is imported directly from the Master Spreadsheet and should have changed to the correct value after I entered in the master spreadsheet. If I right-click on the cell and "Recompute", the value updates to the change. However, there are two more values on the spreadsheet that are supposed to update when this cell changes (Polar Align Bolt Left and Polar Align Bolt Right). However, they do not change.
I can hit the Refresh button (as it is active), but that doesn't force those cells to recompute. I have to manually go to each cell, right-click, and Recompute. They then update as expected.
If I go back to my Telescope Assembly tab to look at the to view, I can hit the Refresh button and not the fine-adjust bolts now move to where they are supposed to.
Now if I want to change the value to another one, I have to repeat this whole process, change the Master value, recompute the three cells in he SSS_LevelMountMount spreadsheet, and then recompute and it will move again.
This is a relatively simple assembly here with only a few moving parts where it is not too hard to find the right cells to update. However, most of my assemblies are much more complicated with a lot more parts tied together and the only way I can get them to update any links if I change the Master is to save the file, close it, and then open everything back up. MOST of the time as each page is loaded, it then correctly updates the values. However, I have ran into a few situations where that didn't happen and I've gone on to keep building and not have the latest information. When It does update later, I find that I have to go back and fix things.
Anyway, I have noticed that version 20 is MUCH less reliable when it comes to updating links. I did not have this problem often with version 19. when I did, it was usually because I had an error somewhere in a spreadsheet that was holding up the recalculating.
I'm hoping that those of you that understand that back side of this can figure out what is going wrong and come up with a fix for me. If you have any other questions, please let me know. Now that I have a smaller set that I can provide it is easier for me to give examples.
I'll upload the files in the next post as I've run out of upload files on this post.