Users can request paperless patterns by setting the paperless setting to true.

We can get that value of the setting from the part.shorthand() method. It will be the last shorthand we need:

let {
} = part.shorthand();

The idea behind paperless patterns is that users don’t need to print your pattern in order to use it. Instead, we include dimensions on the pattern that allows them to transfer the pattern directly onto fabric, or onto an intermediate medium such as tracing paper.

In addition, FreeSewing will automatically render a grid for each pattern part with metric or imperial marcations, depending on the units requested by the user.

While the grid gets added automatically, the dimensions you have to add yourself. Thankfully, there’s macros that can help you with that, specifically:

  • The hd macro adds a horizontal dimension
  • The vd macro adds a vertical dimension
  • The ld macro adds a linear dimension
  • The pd macro adds a path dimension that follows a given path
Add links to macro docs

Let’s look at the code:

if (paperless) {
  // Add dimensions
  macro("hd", {
    from: points.bottomLeftStart,
    to: points.bottomRightEnd,
    y: points.bottomLeft.y + 15
  macro("vd", {
    from: points.bottomRightStart,
    to: points.bottom,
    x: points.bottomRight.x + 15
  macro("vd", {
    from: points.bottomRightStart,
    to: points.right,
    x: points.bottomRight.x + 30
  macro("vd", {
    from: points.bottomRightStart,
    to: points.tipLeftTopStart,
    x: points.bottomRight.x + 45
  macro("hd", {
    from: points.left,
    to: points.right,
    y: points.left.y + 25
  macro("ld", {
    from: points.tipLeftBottomEnd,
    to: points.tipLeftTopStart,
    d: 15

There’s a lot going on, but it’s mostly repetition. Let’s look at the end result, and discuss:

/>17.55cm 16.83cm 21.39cm 31.14cm 10.92cm 3.32cm finishWithBiasTape 1 bib tutorial v2.3.0 freesewing tutorial v2.3.0 Freesewing is made by Joost De Cock and contributors with the financial support of our patrons The inside of this box should measure 10cm x 5cm The outside of this box should measure 4" x 2"
Your paperless bib

We used the hd macro to add two horizontal dimensions:

  • One at the bottom for the width of our bib
  • One for the width of the neck opening

The hd macro takes a from and to point as well as a y value that says at what Y-value to draw the dimension.

We’ve also added three vd macros for the vertical dimensions on the right.

They also takes a from and to point, but expect a x parameter to indicate at what X-value the dimension should be drawn.

Finally, we added a ld macro for the linear dimension at the top that marks the width of our strap. While most dimensions are horizontal or vertical, sometimes you want a straight line from the from to the to points like in this case.

The ld macro takes a d argument (short for delta) that indicates how far the dimension should be offset from the line from the from to the to point, if at all.

Making your pattern paperless is the icing on the cake. Time to wrap up, go over what we’ve learned, and give some pointers on where to go from here.