Master spreadsheet. Any plans for that?

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
Post Reply
Konstantin
Posts: 261
Joined: Wed Jul 23, 2014 10:10 am

Master spreadsheet. Any plans for that?

Post by Konstantin »

Making my guitar again, want to make it completely parametric, to choose 6 or 7or 8 strings, scale, fretboard radius, body shape and sculpting parameters, experimenting with bridge construction. FreeCAD's philosophy (as I understand it) wants to have every part in a separate file, and only assembly them in "master file", that's cool, but... How about one spreadsheet for all of them? Now I have a copy of parameters spreadsheet in every file, so if I change something, I must change it in every file by hand, I can live with this, in my weird project, but is there any plans to have such thing in future?

Oh... Sorry, missed, wanted to post it in discussion section. Is it possible to move it there?
jmaustpc
Veteran
Posts: 11207
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Re: Master spreadsheet. Any plans for that?

Post by jmaustpc »

the current behaviour is explained in the wiki here
http://www.freecadweb.org/wiki/index.ph ... nt_linking
Konstantin wrote:Oh... Sorry, missed, wanted to post it in discussion section. Is it possible to move it there?
Its OK here, I think its more of a Help question anyway, since (with limitations) the functionality is already in FreeCAD 0.16

I assume you are asking about FreeCAD 0.16? This functionality is not in earlier versions.
Konstantin wrote:FreeCAD's philosophy (as I understand it) wants to have every part in a separate file

That is not completely correct. It is a work around for complex models where without it, FreeCAD would become painfully slow, and some other situations. But generally you should be able to model all your components in one fcstd file.
Konstantin
Posts: 261
Joined: Wed Jul 23, 2014 10:10 am

Re: Master spreadsheet. Any plans for that?

Post by Konstantin »

Oh... Silly me... I somehow missed that part. Thank you for the explanation.

THANK YOU!!!
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: Master spreadsheet. Any plans for that?

Post by triplus »

Hi @Konstantin.

Current recommended work flow mostly comes down to FreeCAD not having assembly capabilities (by default). Once that change FreeCAD should support multi document work flow.
Konstantin
Posts: 261
Joined: Wed Jul 23, 2014 10:10 am

Re: Master spreadsheet. Any plans for that?

Post by Konstantin »

Hm. When typing
MasterSpreadsheetFile#Param.B6
it says "no document found: MasterSpreadsheet".

Ok. If it's to complex to program, I can live without it.
jmaustpc
Veteran
Posts: 11207
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Re: Master spreadsheet. Any plans for that?

Post by jmaustpc »

Konstantin wrote:Hm. When typing
MasterSpreadsheetFile#Param.B6
it says "no document found: MasterSpreadsheet".

Ok. If it's to complex to program, I can live without it.
Quote from the wiki
Assuming you named the master document "master" you can access an alias like this: master#Spreadsheet.Length
Based on that I assume that you have to create an alias for the cell you want to reference. For example, perhaps cell b6 may be given an alias of "widgetlength". I suggest you first experiment by doing exactly as the wiki says and then try various experiments to see if other things work.

Also the above quote shows different code to what you said you used. it should be nameoffilecontainingthespreadsheet#nameofspreadsheetwithinthefile.alisofcellwithinthatspreadsheet.

Name of file, note that you have to open the file save it and reopen it so that it has the correct name according to the wiki.

Name of spreadsheet, note that there are two things a "name" (made at creation and can not be edited) and "label" (what you see, can be edited and is usually initially the same as "name" at creation)

So it is possible that you may have to use the spreadsheet name, although I would have thought label would also work, you would have to try it and see.

Multi document support in general has been planned for a long time, and is expected to come eventually along with Assembly, but multi document usage is not a required work around for the lack of a native Assembly workbench in FreeCAD, there are other tricks that work fine in one file, the main reason for multi documents at this time is to ease management of a complex models in two ways,
1) by making it less complex and less confusing for the human operator by creating components of a complex model in different files
2) by speeding up FreeCAD when a recompute of the complex model becomes annoyingly slow

Jim
Konstantin
Posts: 261
Joined: Wed Jul 23, 2014 10:10 am

Re: Master spreadsheet. Any plans for that?

Post by Konstantin »

Actually, I tried to do as described in wiki. Here's what I deed: Created empty folder, created a new FreeCAD file, named it "master", saved in this file, created a spreadsheet in it, named "Spreadsheet", assigned B1 as 10, named it "Lenght", saved, closed. Created a new file, created a new sketch, saved, closed. Reopened, In this sketch created a line, constraint, but when I type "master#S" - appears message "no document found: master". And no matter what I type, message remains and I can't press Ok. One of things I think- can it be because it was programmed and checked on windows? Because windows cuts down ".fsctd" and linux not. Can it be? I tried to give it a full name, but parser is unhappy again.

OS: Ubuntu 14.04.2 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6698 (Git)
Build type: None
Branch: master
Hash: ca7c5d31a4d61f32a25b71025b14641a6e378328
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
ankou29666
Posts: 10
Joined: Tue Mar 14, 2017 12:58 pm
Location: BZH, France

Re: Master spreadsheet. Any plans for that?

Post by ankou29666 »

Same issue for me. Excepted that I don't even get the "document not found" error message.

I did as described in the wiki, and as obviously did Konstantin : created a root dir for my project, created the master file named "00_MyMachine.fcstd", and created inside it a spreadsheet named "Input" and a few parameters like "glass_thickness", "depth_profile", "width_profile", "rising_profile", "rising_profile_angle" among much other stuff to be added.

I created in the same directory (acceptable for testing purpose, due to the numerous number of parts and files in my project, better put that into subdirs for better organisation) another file named "1A_Structure.fcstd" file that intends to refer the spreadsheet from the master file.
No matter I try "00_MyMachine#Input.width_profile" or 00_MyMachine.fcstd#Input.width_profile" as suggested in the previous post, I get nothing but the "failed to parse expression" message.

Edit : ok what an idiot ... variable names cannot start with a number. Thus the file name cannot either.

However, there still are a few questions that I'm still uncertain about :
But how the word censored are managed the referenced to external documents ? Shall the master file kept open for it's content to be accessible to other documents ? Even if slave files are in subdirectories of the directory containing the master assembly file ?

Must I re-open every slave document for the new values to be updated ? (updating the updated parts in assembly2 still remains manual with the appropriate button)

OS: Ubuntu 16.10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6707 (Git)
Build type: None
Branch: releases/FreeCAD-0-16
Hash: 5465bc47c95db45e0be85dc0e2872419efadce0f
Python version: 2.7.12+
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
User avatar
bgoodr
Posts: 228
Joined: Sat Jun 14, 2014 9:40 pm

Re: Master spreadsheet. Any plans for that?

Post by bgoodr »

I consider the need to open subsidiary files a bug that needs to be addressed. I filed https://www.freecadweb.org/tracker/view.php?id=3271 accordingly.
Post Reply