1
0
Fork 0
freesewing/markdown/dev/reference/plugins/annotations/en.md

6.2 KiB

title
plugin-annotations

Published as @freesewing/plugin-annotations, this plugin provides a variety of macros and snippets to annotate designs.

The annotations plugin provides the following snippets:

The annotations plugin provides the following macros:

The annotations plugin also provides methods to the Store for adding cutting instructions

For an in-depth look at how to add cutting instructions to your part, see our cutlist how-to

Installation

npm install @freesewing/plugin-annotations

Usage

Either add it as a part plugin in your design, or add it to a pattern instance with Pattern.use().

To import the plugin for use:

import { annotationsPlugin } from '@freesewing/plugin-banner'
// or
import { pluginAnnotations } from '@freesewing/plugin-banner'

Methods

store.cutlist.addCut

The store.cutlist.addCut() method will add a set of cutting instructions for the part

Signature

store.cutlist.addCut(Object so)

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:

Key Type Default Description
cut Number|false 2 the number of pieces to cut from the specified material. Pass false to clear all cutting instructions for the material
material String 'fabric' the translation key of the material to cut from
identical Boolean false should even numbers of pieces be cut in the same direction? false for mirrored
bias Boolean false should the pieces in these cutting instructions be cut on the bias
ignoreOnFold Boolean false should 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
Key Translation
fabric Main Fabric
lining Lining
canvas Canvas
lmhCanavas Light to Medium Hair Canvas
heavyCanvas Heavyweight Hair Canvas
interfacing Interfacing
plastic Plastic
ribbing Ribbing

Example

import {pluginCutlist} from '@freesewing/plugin-cutlist'

const part = {
	name: 'example.front',
	plugins: [pluginCutlist],
	draft: ({part, store}) => {
		// add instructions to cut two from main fabric
		store.cutlist.addCut()
		// add instructions to cut four on the bias from lining
		store.cutlist.addCut({cut: 4, material: 'lining', bias: true, })
		return part
	}
}

You can also add multiple sets of cutting instructions for the same material

import {pluginCutlist} from '@freesewing/plugin-cutlist'

const part = {
	name: 'example.front',
	plugins: [pluginCutlist],
	draft: ({part, store}) => {
		// add instructions to 1 from lining
		store.cutlist.addCut({cut: 1, material: 'lining'})
		// add instructions to cut 1 on the bias from lining
		store.cutlist.addCut({cut: 1, material: 'lining', bias: true, })
		return part
	}
}

store.cutlist.removeCut

The store.cutlist.removeCut() method will remove cutting instructions from the part

Signature

store.cutlist.removeCut(String material)

Example

import {pluginCutlist} from '@freesewing/plugin-cutlist'

const part = {
	name: 'example.front',
	plugins: [pluginCutlist],
	draft: ({part, store}) => {
		// remove all cutting instructions for all materials
		store.cutlist.removeCut()

		// remove cutting instructions for just one material
		store.cutlist.removeCut('fabric')
		return part
	}
}

store.cutlist.setGrain

The store.cutlist.setGrain() method will record the angle of the grainline annotation. This method is called internally by plugin-grainline to store information for cutting layout tools. You shouldn't have to call it, but it's there if you need it.

Signature

store.cutlist.setGrain(Number grainAngle)

Example

import {pluginCutlist} from '@freesewing/plugin-cutlist'

const part = {
	name: 'example.front',
	plugins: [pluginCutlist],
	draft: ({part, store}) => {
		// set the grainline angle
		store.cutlist.setGrain(0)
		return part
	}
}

store.cutlist.setCutOnFold

The store.cutlist.setCutOnFold() method will record the points that make up the cut on fold line. This method is called internally by plugin-cutonfold to store information for cutting layout tools. You shouldn't have to call it, but it's there if you need it.

Signature

store.cutlist.setCutOnFold(Point p1, Point p2)

Example

import {pluginCutlist} from '@freesewing/plugin-cutlist'

const part = {
	name: 'example.front',
	plugins: [pluginCutlist],
	draft: ({part, points, Point, store}) => {
		// set the cut on fold line
		points.p1 = new Point(0, 0)
		points.p2 = new Point(0, 10)
		store.cutlist.setCutOnFold(points.p1, points.p2)
		return part
	}
}

Notes

The annotations plugin is part of our plugin-bundle