Skip to main content

Include Cutting Instructions

To include cutting instructions with your part, use the annotations plugin (included by default via core-plugins) to add the cutlist.addCut method to your part's store.

tip

The grainline macro and the cutonfold macro will automatically add grain and fold information to the cutting instructions

tip

These cutting instructions get used by the title macro, so be sure to add them before adding your part's title.

note
addCut() Parameters

Pass an object to the store.cutlist.addCut method with any of the following keys; any you don't provide will be filled with the defaults:

KeyTypeDefaultDescription
cutNumber|false2the number of pieces to cut from the specified material. Pass false to clear all cutting instructions for the material
materialString'fabric'the translation key of the material to cut from
identicalBooleanfalseshould even numbers of pieces be cut in the same direction? false for mirrored
biasBooleanfalseshould the pieces in these cutting instructions be cut on the bias? 'false' uses grainline instruction or leaves orientation as is
ignoreOnFoldBooleanfalseshould these cutting instructions ignore any cutOnFold information set by the part

You can use any string you want for your material, but here are some standard ones we have translation for

KeyTranslation
fabricMain Fabric
liningLining
canvasCanvas
lmhCanavasLight to Medium Hair Canvas
heavyCanvasHeavyweight Hair Canvas
interfacingInterfacing
plasticPlastic
ribbingRibbing

Basic Usage

For simple cutting instructions, you can rely on the default method parameters

const part = {
name: 'example.front',
draft: ({ part, store }) => {
// add instructions to cut two mirrored from main fabric
store.cutlist.addCut()
},
}

Intermediate Usage

For many designs, you'll want more than just "Cut 2 mirrored from Main Fabric"

Specifying materials, number of pieces, orientation

You can override the default values to specify different materials, number of pieces to cut, and whether they should be mirrored or identical

const part = {
name: 'example.front',
draft: ({ part, store }) => {
// add instructions to cut three identical from lining
store.cutlist.addCut({ cut: 3, material: 'lining', identical: true })
},
}

Instructions for multiple materials

You can add as many sets of instructions as you need

const part = {
name: 'example.front',
draft: ({ part, store }) => {
// add instructions to cut four mirrored from main fabric
store.cutlist.addCut({ cut: 4 })
// add instructions to cut three identical from lining
store.cutlist.addCut({ cut: 3, material: 'lining', identical: true })
},
}

Advanced usage

Cut some on the fold, some not

Sometimes you want some pieces cut on the fold and others cut as halves to seam together.

const part = {
name: 'example.front',
draft: ({ part, points, Point, macro, store }) => {
// set the cut on fold line
points.p1 = new Point(0, 0)
points.p2 = new Point(0, 10)

// pieces should be cut on the fold
macro('cutonfold', { from: points.p1, to: points.p2 })

// cut two on the fold
store.cutlist.addCut()
// cut two, not on the fold
store.cutlist.addCut({ cut: 2, ignoreOnFold: true })
},
}

Cut some on the grain, some on the bias

You set the grainline on a piece, but you also need some to be cut on the bias

const part = {
name: 'example.front',
draft: ({ part, points, Point, macro, store }) => {
// set the cut on fold line
points.p1 = new Point(0, 0)
points.p2 = new Point(0, 10)

// the grain runs from p1 to p2
macro('grainline', { from: points.p1, to: points.p2 })

// cut two mirrored on the grain
store.cutlist.addCut()
// cut two mirrored on the bias
store.cutlist.addCut({ cut: 2, bias: true })
},
}