Skip to main content

@freesewing/models

FreeSewing's models package bundles measurements for a set of models which are used to test FreeSewing's designs.

It is published on NPM as @freesewing/models .
The source code for this package is available in our monorepo on Codeberg under packages/models .

note

This package does not provide a default export.

Installation

npm install --save @freesewing/models

About the models

Models have names like cisFemaleAdult34, cisMaleDoll30, and cisFemaleGiant150.

These names are constructed according to the 3 aspects that make up the model:

  • Gender: cisFemale or cisMale
  • Group: Adult, Doll, or Giant
  • Size: a number
    • For Adult models, the size number is the neck circumference in millimeters, Example: 34 for 34 mm.
    • For Doll and Giant models, the size number is a whole number which is the percentage to scale a base model. Examples:
      • 30 for a 30% size reduction for a doll
      • 150 for a 150% size increase for a giant

Available models

  • cisFemaleAdult: sizes 28, 30, 32, 34, 36, 38, 40, 42, 44, and 46
  • cisMaleAdult: sizes 32, 34, 36, 38, 40, 42, 44, 46, 48, and 50
  • cisFemaleDoll: sizes 10, 20, 30, 40, 50, and 60
  • cisMaleDoll: sizes 10, 20, 30, 40, 50, and 60
  • cisFemaleGiant: sizes 150, 200, 250, and 300
  • cisMaleGiant: sizes 150, 200, 250, and 300

Named Exports

adult

An object holding all adult models.

import { adults } from '@freesewing/models'

cisFemaleAdult

An object holding all cisfemale adult models.

import { cisFemaleAdult } from '@freesewing/models'

cisFemaleAdult28

An object holding the cisfemale adult size 28 model.

import { cisFemaleAdult28 } from '@freesewing/models'

cisFemaleAdult30

An object holding the cisfemale adult size 30 model.

import { cisFemaleAdult30 } from '@freesewing/models'

cisFemaleAdult32

An object holding the cisfemale adult size 32 model.

import { cisFemaleAdult32 } from '@freesewing/models'

cisFemaleAdult34

An object holding the cisfemale adult size 34 model.

import { cisFemaleAdult34 } from '@freesewing/models'

cisFemaleAdult36

An object holding the cisfemale adult size 36 model.

import { cisFemaleAdult36 } from '@freesewing/models'

cisFemaleAdult38

An object holding the cisfemale adult size 38 model.

import { cisFemaleAdult38 } from '@freesewing/models'

cisFemaleAdult40

An object holding the cisfemale adult size 40 model.

import { cisFemaleAdult40 } from '@freesewing/models'

cisFemaleAdult42

An object holding the cisfemale adult size 42 model.

import { cisFemaleAdult42 } from '@freesewing/models'

cisFemaleAdult44

An object holding the cisfemale adult size 44 model.

import { cisFemaleAdult44 } from '@freesewing/models'

cisFemaleAdult46

An object holding the cisfemale adult size 46 model.

import { cisFemaleAdult46 } from '@freesewing/models'

cisFemaleDoll

An object holding all cisfemale doll models.

import { cisFemaleDoll } from '@freesewing/models'

cisFemaleDoll10

An object holding the cisfemale doll size 10 model.

import { cisFemaleDoll10 } from '@freesewing/models'

cisFemaleDoll20

An object holding the cisfemale doll size 20 model.

import { cisFemaleDoll20 } from '@freesewing/models'

cisFemaleDoll30

An object holding the cisfemale doll size 30 model.

import { cisFemaleDoll30 } from '@freesewing/models'

cisFemaleDoll40

An object holding the cisfemale doll size 40 model.

import { cisFemaleDoll40 } from '@freesewing/models'

cisFemaleDoll50

An object holding the cisfemale doll size 50 model.

import { cisFemaleDoll50 } from '@freesewing/models'

cisFemaleDoll60

An object holding the cisfemale doll size 60 model.

import { cisFemaleDoll60 } from '@freesewing/models'

cisFemaleGiant

An object holding all cisfemale giant models.

import { cisFemaleGiant } from '@freesewing/models'

cisFemaleGiant150

An object holding the cisfemale giant size 150 model.

import { cisFemaleGiant150 } from '@freesewing/models'

cisFemaleGiant200

An object holding the cisfemale giant size 200 model.

import { cisFemaleGiant200 } from '@freesewing/models'

cisFemaleGiant250

An object holding the cisfemale giant size 250 model.

import { cisFemaleGiant250 } from '@freesewing/models'

cisFemaleGiant300

An object holding the cisfemale giant size 300 model.

import { cisFemaleGiant300 } from '@freesewing/models'

cisMaleAdult

An object holding all cismale adult models.

import { cisMaleAdult } from '@freesewing/models'

cisMaleAdult32

An object holding the cismale adult size 32 model.

import { cisMaleAdult32 } from '@freesewing/models'

cisMaleAdult34

An object holding the cismale adult size 34 model.

import { cisMaleAdult34 } from '@freesewing/models'

cisMaleAdult36

An object holding the cismale adult size 36 model.

import { cisMaleAdult36 } from '@freesewing/models'

cisMaleAdult38

An object holding the cismale adult size 38 model.

import { cisMaleAdult38 } from '@freesewing/models'

cisMaleAdult40

An object holding the cismale adult size 40 model.

import { cisMaleAdult40 } from '@freesewing/models'

cisMaleAdult42

An object holding the cismale adult size 42 model.

import { cisMaleAdult42 } from '@freesewing/models'

cisMaleAdult44

An object holding the cismale adult size 44 model.

import { cisMaleAdult44 } from '@freesewing/models'

cisMaleAdult46

An object holding the cismale adult size 46 model.

import { cisMaleAdult46 } from '@freesewing/models'

cisMaleAdult48

An object holding the cismale adult size 48 model.

import { cisMaleAdult48 } from '@freesewing/models'

cisMaleAdult50

An object holding the cismale adult size 50 model.

import { cisMaleAdult50 } from '@freesewing/models'

cisMaleDoll

An object holding all cismale doll models.

import { cisMaleDoll } from '@freesewing/models'

cisMaleDoll10

An object holding the cismale doll size 10 model.

import { cisMaleDoll10 } from '@freesewing/models'

cisMaleDoll20

An object holding the cismale doll size 20 model.

import { cisMaleDoll20 } from '@freesewing/models'

cisMaleDoll30

An object holding the cismale doll size 30 model.

import { cisMaleDoll30 } from '@freesewing/models'

cisMaleDoll40

An object holding the cismale doll size 40 model.

import { cisMaleDoll40 } from '@freesewing/models'

cisMaleDoll50

An object holding the cismale doll size 50 model.

import { cisMaleDoll50 } from '@freesewing/models'

cisMaleDoll60

An object holding the cismale doll size 60 model.

import { cisMaleDoll60 } from '@freesewing/models'

cisMaleGiant

An object holding all models.

import { cisMaleGiant } from '@freesewing/models'

cisMaleGiant150

An object holding the cismale giant size 150 model.

import { cisMaleGiant150 } from '@freesewing/models'

cisMaleGiant200

An object holding the cismale giant size 200 model.

import { cisMaleGiant200 } from '@freesewing/models'

cisMaleGiant250

An object holding the cismale giant size 250 model.

import { cisMaleGiant250 } from '@freesewing/models'

cisMaleGiant300

An object holding the cismale giant size 300 model.

import { cisMaleGiant300 } from '@freesewing/models'

doll

An object holding all doll models.

import { doll } from '@freesewing/models'

giant

An object holding all giant models.

import { giant } from '@freesewing/models'

groups

An array with the different types of model groups.

import { groups } from '@freesewing/models'

measurements

Holds an array of (the IDs of) all measurements used by FreeSewing designs.

import { measurements } from '@freesewing/models'

sizes

Holds an object with the various available sizes, grouped by model type.

import { sizes } from '@freesewing/models'

Notes

These model measurement values were arbitrarily chosen by FreeSewing. They do not correspond to any existing statistical data or official size charts. You should not expect that these models will produce garments that fit the same as clothing store sizes.

To create our models, measurement values for a base cisFemale and cisMale model were first chosen. Then, for all other models their measurement values were generated from the base values using a mathematical formula which scales and adjusts the values. The mathematical formula is designed to produce approximate measurements which are realistic enough to be useful.