Redefine Size Name

Yes, children’s sizes are often according to age and the x is probably for tall or a bit heavy for their age. One can never create something that will suite all size charts around the world and across the spectrum, but I think this can be modified to create your own ‘in house’ size charts. I know of some who use alpha, alpha-numeric and others that only use a symbol. I don’t think it’s viable to cater for everyone, but I’m sure we can make it easier for everyone who is learning patternmaking or learning to use Seamly to have a kickoff point that actually makes sense to most.

The height option is very difficult to use, since there are very few patternmaking systems that give you the miniscule increment for height along with the size. Most patternmaking systems for women make patterns for 164cm or 170cm tall ladies - I’m around 162cm, so I always have to make everything shorter. This is where one finds “Increase length here” lines on a pattern, which is normally good enough for me. I totally ignore the Height increment and only use the size increment.

Another anomaly that one must bare in mind is that most patternmaking systems only produce patterns for a B cup bra and it’s very hard to grade the pattern from a B cup to J cup. These are things that you specialize in with your patternmaking. There is no way a measurements file can allow for this automatically.

It’s the same when it comes to plus sizes. Every person who wears a plus size may not be overweight. It may only be that they’re tall, or they’re pear shaped. It’s not easy to create a multisize measurement table for these, either.

I would suggest sticking to the normal height and B cup sizes until you have more experience and then you can create your own measurement charts for the different categories of measurements. Or you can work strictly off the ASTM charts for the different sections. It’s totally up to you, what part of the market you service, what are your plans for the future and then direct your energies to creating your measurement charts to suit your needs. I’ve had a lot of fun with this and now find that I pretty much know my size 34 is an 8, etc. so that I don’t have to flip between the SeamlyME to check what size I need to print my pattern in :grin:

It all boils down to “Start off as you mean to go on”.

Unless there’s something I’m missing, this is my understanding of the “sizes” (and the heights, but we’ll stick with the sizes for discussion). There is a list of placeholders - defined in the GSizes enumerator GSizes::S22… GSizes::S72, which are used in switch statements… these could easily be named S1…S26. The enum is also used to fill the dropdown boxes… depending on which sizes you choose to use (and are set to “true” in the XML < sizes >) the code reads the value of the enum and adds it as a dropdown item. So if you use S22, the the first item in the drop down is 22… and so on. If we change the values in the enums - which can be anything - for example lets says we set GSizes::S22 = 999… then if you use S22, the item in the dropdown will display “999”.

Or to put in in spreasheet terms we currently have 26 sizes with

row 1   GSizes::S22    22  s1  false
row 2   GSizes::S24    24  s2  false
....
row 26  GSizes::S72    72  s72 false

where it could just as well be:

row 1   GSizes::S1    22  s22  false
row 2   GSizes::S2    24  s24  false
....
row 26  GSizes::S26   72  s72  false

where I’m saying we make it user defineable so you could produce this if you want:

row 1   GSizes::S1    8   s1  true
row 2   GSizes::S2    10  s2  true
....
row 26  GSizes::S26   58  s26 false

as far as I know the value of the size is not used in any calculations, but maybe the (row) count is… based on the “increment”?

As I 'm thinking this further through, it might make sense that the user defined set of sizes gets embeded in the < sizes > element in the pattern XML… that way the size set stays with the pattern. So we would extend the attributes to be something like

< sizes useAll="false" s1="8" useS1="true" s2="10" useS2="tue"
...s26="58" useS26="false">

And again… further down the road we could implement “presets” for the size chart… such as in the chart you posted, so a user could simply select from a drop down a preset size set, without having to fill in a set of sizes in the prefs.

2 Likes

Hi Grace, Thank you for this explanation.

I think I might have misinterpreted the use of “height” in the SeamlyME manual. I have incorporated it into how I do my sizes. I had understood that if the measurement was vertical, the increment was to be entered as part of the height, and if it was a width, the increment was to be entered as a size. I am not using all of my measurements, so perhaps this has not caused me a problem yet for that reason.

Since I must have misunderstood the intention of “height”, then I see that my question is not relevant.

BTW, I am interested in learning how to do a princess seam. If you have any insight into this, I would be grateful if I could learn this technique.

Sandra

2 Likes

Douglas/ Grace,

Another thought - see:

In the pop-up there is a list of items that I can select to be on the label. Any chance I could define a variable that can be printed on the label? i.e. have a way of converting size 34 to another number/ character, for eg. 8 and printing 8 on the label (could allow a combination of letters/ numbers)? Perhaps in the custom variable field, if size is 34, then “My Size” is 8. Then be able to see “My Size” on this pop-up and select it to be printed on the label??

Sandra

2 Likes

Well… you’re not going to like my response… the placeholders are also hardcoded. They’re also translated, but that’s neither here nor there. < sigh >

I’m assuming they have to be tied into the schema as well. The issue is programming it so that the placeholders can be embedded with the pattern file, Otherwise if the pattern is shared (which is the BIG picture idea behnd the project), that placeholder and it’s contents has to be visible to whom ever is using the pattern. Saving custom placeholders in a user’s settings won’t work, as not everyone would have your settings.

I guess what I’m getting at, we would need reserved placeholders for custom user defined placeholders. Does that make sense? That being said… I think the better solution in the long run is to figure out how to make the range of sizes user defineable. That way it would all be cohesive between the UI, labels, and XML.

3 Likes

Sigh :slight_smile: I see it is not an easy solution. I was hoping there may have been something quick. I think I read that the whole size routine may be re-written at some point? I will wait for that with interest. Thank you for your time Douglas! :+1:

2 Likes

Again, unless I’m missing something (wouldn’t be the first time - lol) … not rewriting the whole size (and height) routine(s), just making it so we could change the names. And of course converting the size tags in the XML… don’t have to, but it just makes it clearer that GSizes::S1 and s1 rather than GSizes::S22 and s22 would refer to the 1st size of 26.

If it were me it would have been GSizes::S1=“22” instead of GSizes::S22=“22” and s1=“false” instead of s22=“false”, but that’s just part of the quirky way RT the original dev thinks. Actually if it were me the pattern files would be a more efficent binary format rather than XML, and we would have already moved on to using Qt6, but that’s another whole can of worms.

1 Like

Let’s start with this one. The sizes element should always be with the measurement chart around which the pattern is created. So if I’m making a pattern for a child, then I’ll load the child measurement chart into Seamly2D before I start drafting the pattern. So all the presets for a measurement chart should be in SeamlyME and Seamly2D will limit the sizes according to the presets stated in SeamlyME. So if a size chart will only cover 3 sizes and the presets are set to those 3, then there will only be those 3 sizes available in Seamly2D in the dropdown menu.

Hee-hee… I ain’t a programmer :grin: so I really don’t understand the reason why there have to be placeholders at all. All that I do know is that if my measurement file covers 6 sizes and the 1st size = size 8, and I tell the program that I want 6 sizes in total and each size must be incremented by 2, then it will give me 8, 10, 12, 14, 16, 18 in the dropdown menu. If I tell it that the 1st size is 32, then I’ll get 32, 34, 36, 38, 40, 42 in the dropdown menu.

If I tell it that the 1st size is 1 and the increments are 1, and it covers 4 sizes, then I’ll get 1, 2, 3, 4 in the dropdown. So if the sizes have an S in front of the number, then what the program should read is S1, S2, S3, S4 while only showing 1, 2, 3, 4.

Can’t those placeholders be programmed to get the number from the data entered when the measurement file is created? Because, as far as I can see (being totally dumb), these are just numbers that are used to draw out and calculate other numbers that are entered later.

LOL, yes, I was also totally confused by it in the beginning & totally harrassed everyone until someone told me just to ignore it. Now with time, I do understand that magic that can happen if you are lucky enough to be able to read Russian, because it’s tiny increments that are used to create military uniforms - or that is my understanding, since I’ve never gotten my hands on those measurements & nor do I read Russian.

Princess seam is easy, it’s just cutting through the pattern from the shoulder dart point to the waist dart point with a curved line.

image

Most patternmaking systems teach this as a basic bodice. What you do with this basic bodice is according to the design that you are creating. So if you want a princess seam, it’s there. If you want to just use the darts, then just use the darts. This is what makes having basic patterns and keeping them as the base of all designs, makes total sense :slight_smile:

2 Likes

You don’t need to define a variable, you can just type in what you want to appear.

The place holders are related to the label templates… like pSize is a place holder for the actual size. It’s the same idea of making a mailing label in Office, where the document has placeholder for Name, Address, City, State, Country… and it’s filled in when you run a mail merge from a list of names. No different with Seamly2D. The question Sandra raised is can we have user defined placeholders… yes, but we still need to reserve a block of user defined placeholders - which we can change the displayed name by defining it as something other than say pCustom1. The way a lot of the UI works - for example the drop downs - is there is a map which has a key and a value. For example there’s the color item key “deeppink” which has the text value of “Deep Pink”. The text is what you see, the key is what the app uses to search or what Qt uses to set the pen color. We could just as easily rename “deeppink”

const QString ColorDeepPink         = QStringLiteral("deeppink");

to “My Really Wild Deep Pink” here:

        case 10: // ColorDeepPink
            name = tr("Deep Pink");

Just as we could rename pCustom1’s text value to what ever we want to define it as. Question is… what data source would it be tied to?

As far as the “sizes”… sometimes it just easy to program when you have a defined number of objects in a set / list / vector / whatever, rather than it being dynamic. In your example you’re just saying use the 6th size in the list, followed by 7, 8, 9, 10 and 11… so yeah… in the dropdown it’s items #1, 2, 3, 4, 5, and 6.

I actually thought of another option… maybe easier to do - for now. Just extend the enum. :slight_smile: May have to re think the dialog to select which sizes to use, but much easier to do.

enum class GSizes : unsigned char { ALL,
S22=22, S24=24, S26=26, S28=28, S30=30, S32=32, S34=34, S36=36, 38=38, S40=40,
S42=42, S44=44, S46=46, S48=48, S50=50, S52=52, S54=54, S56=56, S58=58, S60=60,
S62=62, S64=64, S66=66, S68=68, S70=70, S72=72 };

Just add S2=2, S4=4… S20=20, and all the rest of the code ot handle the additional 10 sizes… same with the heights as well - although I don’t know if that’s as important. :slight_smile:

BTW… in case you’re wondering, since it’s not given, it’s implied that GSizes::ALL = 0… which would present a problem if you wanted S0=0. Could possibly change ALL to -1, and then all the code that may be relying it being 0… theoretically though that shouldn’t be an issue, as that’s why you use an enum instead of a hardcoded number as you only need change the enum and not all the code.

1 Like

:grin: :smiling_face_with_three_hearts: :heart_eyes: Now you’re on the same page as I am. It’s what I suggested years ago, but was told it’s impossible.

Ah! Could be why I was told it’s impossible.

As always, you’re a total star. Thank you very much.

1 Like

Or as the case probably was… I don’t think it’s needed so I’m not going to do it. :wink:

Well… if you look closely at the enum code I posted it implicitly defines the enum as unsigned… meaning it can be + or -. So there;s no reason why ALL can’t be -1. The -1 can more or less be hidden. For ex you could have size = GSizes::ALL… and then test if (size == GSizes::ALL) {do this}… where the -1 is never used other than in the enum. You could use if (size == -1) {do this} and it would be exactly the same, but GSizes::ALL gives it more meaning than -1. There’s probably not a single code file that doesn’t use an enum - whether it’s a Qt defined one, or Seamly a defined one.

2 Likes

Love you to bits, @Douglas. I think you have a better idea of what I envisage and what I’d like to work with :grin: I’ll leave it in your very capable hands to do what’s best. I’ll just be around if you need me :star_struck:

1 Like

Hi Grace, I’ve read about the princess seam approach you talk about, but my starting point is a bodysuit with negative ease and no darts. I created my Sloper using a commercial pattern for a bodysuit.

Maybe I’m calling the seam the wrong thing, but I want to create a seam along the same line as a princess seam. At this point I’m thinking I need to use my dress form / mannequin and drape it with tape to create one and then create a paper version that I can translate into seamly.

I was hoping there was an easier way.

Sandra

1 Like

Yes, the method that I showed you above is the same method. Instead of possitive ease, you enter the negative ease (this is why I like having the ease in the Variables) and instead of darts, you shape the seamline between the darts and cut the panels (pattern pieces). The darts become the seam lines, just joined together with a bit of a curve. This will make the seams instead of the darts. And you shape the top as you wish.

image

image

image

image

And then… If you want the seam at the armhole:

image

And then, of course, you can go this way, too.

2 Likes

Thanks Grace. Is there a standard for determining the location of the bust point. I could eye ball it, but I was wondering?

1 Like

Yes, @SandraB, it’s all in the measurements that are used to create the pattern, but here’s an easy way to find the bust point in an existing pattern.

@Grace this looks like some pictures from a book. Can you tell me which book? I will probably buy the book

Thanks

2 Likes

Hi @AnnaFields

They’re from Helen Joseph-Armstrong’s book “Patternmaking for Fashion Design”

1 Like