Control measurements

Sorry that I bother again. for example as I want to check the curve length of the sleeve with the armhole length. it is possible to calculate in the variable table. It works with the curve length once. As soon I do a refresh i get zero. Right now I have to add added control points. No clue if it just with multisize mea. Right now this is what I do

2 Likes

It works the first time because it’s working off of everything being loaded, but in the normal course of operation the Variables are read before the draft, (& after the Measurement file,) so the null input is rendered as zero.

The only way to fix this is to make it re-read the draft three or so times before rendering, which would make Seamly run slow & hot.

If you’d like to describe in more detail what you are trying to acheive, someone may be able to help you figure out a better way to acheive your goals.

:unicorn:

1 Like

I can assume you used draft variables in a custom variable… which as @Pneumarian pointed out you can’t do, as the custom variables are parsed first, then the draft variables.

I have made a change to the Variables table → FX editor so you can no longer add draft variables to a custom variable with the FX editor, as they will not show up in the tabs…only the Measurements, Custom Variables, and Functions.

image

I then need to figure out how to highlight or explain why and what to do when a custom variable in a table is invalid because it uses another variable defined in a row below it… i.e. parsed after it, which will also yield a null value.

2 Likes

I hide a little calculation in a line on the sleeve to check this, so that it’s not totally taking up space in the pattern drafting, that I can check easily:

3 Likes

@MG2024 When using Seamly, everything is read in order.

  1. Measurement file, in sorted order.
  2. Pattern Variables, in sorted order.
  3. Draft Block A, in order of tool usage/object placement.
  4. Draft Block B, in order…
  5. Et cetera.

So, as @Grace suggests, as you establish your armscye, place a point labeled “z1” (or whatever is apt.) & use as your variable “Line_A_z1” (assuming that you’re working on block A, & have A as the basepoint for point z1.)

While it would be nice to be able to have pattern variables based on elements of the pattern, it would just exacerbate an existing problem with inefficiency, especially in checks to block infinite loops, (which may not be a problem with your needs, but someone will stumble in to an infinite loop if it’s not blocked.)

:unicorn:

1 Like

@MG2024

Just to be clear… Sorted in time of creation order. Basically if you read the xml file the pattern is parsed and created in the exact order as you read the pattern file from start to finish.

1 Like

@MG2024

Just to be clear… Sorted in time of creation order. Basically if you read the xml file the pattern is parsed and created in the exact order as you read the pattern file from start to finish.

1 Like

I could add a simple “print value” tool that only adds a label to the pattern with 2 parameters:

  • Name
  • Value

Where value is a formula field than can be populated using the fx dialog.

And the result would be to display “Name: Value” in the label. It would be a little bit more user-friendly than having to create an unuseful line.

It shouldn’t be too complicated to implement, as this is a tool that does almost nothing, everything is already implemented…

Would it help ? :blush:

I could implement this when I’m finished with the saving of the images in the software, if you think it’s a good idea.

1 Like

With such tool you could display the length of the armhole in the pattern:

“Armhole: xxx cm”

Using a “if” statement in the value field you could also display some mesurement verifications, for exemple checking if the armhole length minus the sleeve length is within a certain range:

“Armhole and sleeve correspond: 1/0”

2 Likes

I’m not sure what you’re saying here, since when you change the sorting of the measurements in the file, SeamlyMe saves them to their new positions, so that the sorted order is the order they appear in the xml.

Same with the pattern variables, which I should probably call Custom Pattern Variables for clarity.

So I feel like we must be meaning something different by “creation order”

:unicorn:

1 Like

Do I correctly understand you to be speaking of a text variant of the picture feature you’ve been working on? (I’m used to thinking of Seamly labels only in the context of the Piece mode.)

:unicorn:

1 Like

No, nothing to do with the image feature.

By “label” I was meaning “a piece of text displayed in the pattern in draft mode”, such as the point names. But in this case it would be just the text without the point. :blush:

It’s basically an upgraded “text” tool in draft mode.

2 Likes

Not quite as easy as you think. Have to add all the usual tool stuff along with a new schema. I would suggest though to use 2 VGraphicsSimpleTextItems… one for the Name, the other for the Value. Then there’s the issue of where to anchor the text to? Could this also be a tool that could be expanded on to create “Dimension Lines” of sorts? That might actually be in the list of Github issues. In fact a “Dimension” tool class makes good sense as it will avoid confusion with (Point) Names, Labels, and Text. Last thing I want is another tool, item, label, or class named “Label”.

I think it would be useful.

3 Likes

Why not using only 1 VGraphicsSimpleTextItems and format the string to concatenate the name and the value? It would be simpler to implement, especially since it would be a single QGraphicsItem…

I don’t think it needs to be anchored to the draft block, it could be a simple movable QGraphicsItem like the images :blush:

At least at first. If we also use those text items in the future to display the length of dimension lines, there it would be useful to anchor the text to the line.

Indeed :joy:

2 Likes