FashionFreedom / Seamly2D

Open source patternmaking software to democratize fashion.
https://seamly.io
GNU General Public License v3.0
616 stars 111 forks source link

Feature: Make variables available global in a project #1078

Closed SebNik1 closed 8 months ago

SebNik1 commented 8 months ago

Dear seamly community, once again thank you for making this great tool happen. Now to my suggestion:

I am constructing bags in seamly 2d. Usually those have several parts and I make a new draft block for every major piece. Now again I am running into a problem.

I nead a measure from the third bag part (draft block 3) I constructed and I want to use it in the second part (draft block 2). But this variable name from draft block 3 is not in the variable table of draft block 2.

On the other hand I can use all variables from draft block 1 + 2 in draft block 3.

Maybe I'm getting this wrong but it seems the variable table grows but newer variables are not available in the parts constructed first. Is this intentional?

My suggestion is to update the variable table globally so all variables are available in all draft blocks.

I am looking forward to your opinion! Thank you Sebastian

DSCaskey commented 8 months ago

My suggestion is to update the variable table globally so all variables are available in all draft blocks.

Not possible. Due to the nature of the application and the use of formulas, a tool can only use variables created before it. The app parses the xml doc in a chronological timeline. For ex... point A2 only knows about point A and A1.... but has no clue if Point A3 to An... or for that matter B, B1..., C, C1... exists. It's like reading a book. If you're on chapter 3, you know what happened in chapters 1 & 2... but you have know idea what's in chapter 7... farless how the story ends.

Rule of thumb is... a tool can use variables from tool created before it. A Draftblock can use vars from draftblocks created before it. B can use A, but A can't use B. This is an immutable fact.

There's nothing preventing one from using just one draftblock. You can create any number pattern pieces from a block so you don't have to draft each piece in a seperate block.

Closing as not able to impliment.