chore: Removed non-English dev docs
This commit is contained in:
parent
5cc58b0d00
commit
30859e9bb2
654 changed files with 0 additions and 20957 deletions
|
@ -1,153 +0,0 @@
|
|||
---
|
||||
title: Completing your pattern
|
||||
order: 260
|
||||
---
|
||||
|
||||
When we started out, we said a good part boilerplate looks like this:
|
||||
|
||||
```js
|
||||
export default function(part) {
|
||||
let { Point, points, Path, paths } = part.shorthand();
|
||||
// Design pattern here
|
||||
|
||||
// Complete?
|
||||
if (complete) {
|
||||
if (sa) {
|
||||
}
|
||||
// Paperless?
|
||||
if (paperless) {
|
||||
}
|
||||
}
|
||||
return part;
|
||||
}
|
||||
```
|
||||
|
||||
So far, we've kept to the *// Design pattern here* area, but now we're going to work on the area under *// Complete?*
|
||||
|
||||
<Note>
|
||||
|
||||
###### The point of (non) complete patterns
|
||||
|
||||
Users can set the `complete` setting to `false`. When that's the case, you
|
||||
should draft a base outline of the pattern, rather than a fully detailed pattern.i
|
||||
|
||||
This has different uses, such as generating patterns to be cut out with a laser cutter.
|
||||
|
||||
</Note>
|
||||
|
||||
The `complete` setting is `true` by default, but the user can change it. To access the setting, we merely have to tell `part.shorthand()` that we'd like to access it.
|
||||
|
||||
While we're at it, also add `snippets` and `Snippet`, like this:
|
||||
|
||||
```js
|
||||
let {
|
||||
Point,
|
||||
points,
|
||||
Path,
|
||||
paths,
|
||||
measurements,
|
||||
options,
|
||||
macro,
|
||||
complete,
|
||||
snippets,
|
||||
Snippet
|
||||
} = part.shorthand();
|
||||
```
|
||||
|
||||
## Adding snippets
|
||||
|
||||
Snippets are little re-useable things to embellish your pattern with. Things like buttons or buttonholes, a logo, or snaps:
|
||||
|
||||
```js
|
||||
// Complete?
|
||||
if (complete) {
|
||||
snippets.snapMale = new Snippet("snap-male", points.snapLeft);
|
||||
snippets.snapFemale = new Snippet("snap-female", points.snapRight)
|
||||
.attr("opacity", 0.5);
|
||||
|
||||
if (sa) {
|
||||
}
|
||||
// Paperless?
|
||||
if (paperless) {
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
We've added a `snap-male` and `snap-female` snippet to the points we had foreseen for that.
|
||||
|
||||
Because the female snippet is at the back of the fabric, we've made it semi-transparent by setting the `opacity` attribute to `0.5`. Yes, you can do that.
|
||||
|
||||
<Tip>
|
||||
|
||||
Any attributes you set will be added to the SVG output.
|
||||
|
||||
</Tip>
|
||||
|
||||
Since we're adding snippets, let's throw a logo on there to:
|
||||
|
||||
```js
|
||||
points.logo = new Point(0, 0);
|
||||
snippets.logo = new Snippet("logo", points.logo);
|
||||
```
|
||||
|
||||
## Seam allowance
|
||||
|
||||
Just like users can choose whether they want a complete pattern or not, they can choose whether they want to include seam allowance on the pattern or not.
|
||||
|
||||
This is why we have this condition:
|
||||
|
||||
```js
|
||||
if (sa) {
|
||||
}
|
||||
```
|
||||
|
||||
Our bib does not use seam allowance. Instead we'll finish it with bias tape. So you can simply remove that condition.
|
||||
|
||||
However, for future refefence, `sa` is a variable that you can get from `part.shorthand()` just like `complete`. But instead of `true` or `false` it will hold the amount if seam allowance in mm.
|
||||
|
||||
Note that you can still do `if (sa)` because zero is *falsy*.
|
||||
|
||||
We won't be adding seam allowance, but we will be doing something that is essentially the same. Rather than draw an outline outside our bib to indicate the seam allowance, we'll draw one within our bib to mark the bias tape:
|
||||
|
||||
```js
|
||||
paths.bias = paths.seam
|
||||
.offset(-5)
|
||||
.attr("class", "various dashed")
|
||||
.attr("data-text", "finishWithBiasTape")
|
||||
.attr("data-text-class", "center fill-various");
|
||||
```
|
||||
|
||||
The `path.offset()` method makes it trivial to add seam allowance, since it will contruct a path parallel at the distance you pass it. 9 times out of 10, you'll be using it as `path.offset(sa)`.
|
||||
|
||||
Note that we're also using the attributes again, to change the look of the line, and add text to it, as explained in [Adding text](/concepts/adding-text).
|
||||
|
||||
## Scalebox and title
|
||||
|
||||
Two more macros and we're done.
|
||||
|
||||
The `title` macro adds a title to our part. It's not that big a deal here since we only have one part in our pattern. But patterns typically have many different parts, some of them which might look rather similar. That's why you should number your parts and give them a name.
|
||||
|
||||
The `title` macro can help you with that:
|
||||
|
||||
```js
|
||||
points.title = points.bottom.shift(-90, 45);
|
||||
macro("title", {
|
||||
at: points.title,
|
||||
nr: 1,
|
||||
title: "bib"
|
||||
});
|
||||
```
|
||||
|
||||
The `scalebox` macro prints a box of an exact size. It is used by people who print the pattern to make sure their print is correctly scaled.
|
||||
|
||||
```js
|
||||
points.scalebox = points.title.shift(-90, 55);
|
||||
macro("scalebox", { at: points.scalebox });
|
||||
```
|
||||
|
||||
And with that, our pattern is now *complete*:
|
||||
|
||||
<Example pattern="tutorial" part="step11" caption="We used attributed to add color, dashes, text on a path and even opacity" />
|
||||
|
||||
We're not done yet though. There's one more thing the user can ask for: a *paperless* pattern.
|
||||
|
|
@ -1,153 +0,0 @@
|
|||
---
|
||||
title: Completing your pattern
|
||||
order: 260
|
||||
---
|
||||
|
||||
When we started out, we said a good part boilerplate looks like this:
|
||||
|
||||
```js
|
||||
export default function(part) {
|
||||
let { Point, points, Path, paths } = part.shorthand();
|
||||
// Design pattern here
|
||||
|
||||
// Complete?
|
||||
if (complete) {
|
||||
if (sa) {
|
||||
}
|
||||
// Paperless?
|
||||
if (paperless) {
|
||||
}
|
||||
}
|
||||
return part;
|
||||
}
|
||||
```
|
||||
|
||||
So far, we've kept to the *// Design pattern here* area, but now we're going to work on the area under *// Complete?*
|
||||
|
||||
<Note>
|
||||
|
||||
###### The point of (non) complete patterns
|
||||
|
||||
Users can set the `complete` setting to `false`. When that's the case, you
|
||||
should draft a base outline of the pattern, rather than a fully detailed pattern.i
|
||||
|
||||
This has different uses, such as generating patterns to be cut out with a laser cutter.
|
||||
|
||||
</Note>
|
||||
|
||||
The `complete` setting is `true` by default, but the user can change it. To access the setting, we merely have to tell `part.shorthand()` that we'd like to access it.
|
||||
|
||||
While we're at it, also add `snippets` and `Snippet`, like this:
|
||||
|
||||
```js
|
||||
let {
|
||||
Point,
|
||||
points,
|
||||
Path,
|
||||
paths,
|
||||
measurements,
|
||||
options,
|
||||
macro,
|
||||
complete,
|
||||
snippets,
|
||||
Snippet
|
||||
} = part.shorthand();
|
||||
```
|
||||
|
||||
## Adding snippets
|
||||
|
||||
Snippets are little re-useable things to embellish your pattern with. Things like buttons or buttonholes, a logo, or snaps:
|
||||
|
||||
```js
|
||||
// Complete?
|
||||
if (complete) {
|
||||
snippets.snapMale = new Snippet("snap-male", points.snapLeft);
|
||||
snippets.snapFemale = new Snippet("snap-female", points.snapRight)
|
||||
.attr("opacity", 0.5);
|
||||
|
||||
if (sa) {
|
||||
}
|
||||
// Paperless?
|
||||
if (paperless) {
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
We've added a `snap-male` and `snap-female` snippet to the points we had foreseen for that.
|
||||
|
||||
Because the female snippet is at the back of the fabric, we've made it semi-transparent by setting the `opacity` attribute to `0.5`. Yes, you can do that.
|
||||
|
||||
<Tip>
|
||||
|
||||
Any attributes you set will be added to the SVG output.
|
||||
|
||||
</Tip>
|
||||
|
||||
Since we're adding snippets, let's throw a logo on there to:
|
||||
|
||||
```js
|
||||
points.logo = new Point(0, 0);
|
||||
snippets.logo = new Snippet("logo", points.logo);
|
||||
```
|
||||
|
||||
## Seam allowance
|
||||
|
||||
Just like users can choose whether they want a complete pattern or not, they can choose whether they want to include seam allowance on the pattern or not.
|
||||
|
||||
This is why we have this condition:
|
||||
|
||||
```js
|
||||
if (sa) {
|
||||
}
|
||||
```
|
||||
|
||||
Our bib does not use seam allowance. Instead we'll finish it with bias tape. So you can simply remove that condition.
|
||||
|
||||
However, for future refefence, `sa` is a variable that you can get from `part.shorthand()` just like `complete`. But instead of `true` or `false` it will hold the amount if seam allowance in mm.
|
||||
|
||||
Note that you can still do `if (sa)` because zero is *falsy*.
|
||||
|
||||
We won't be adding seam allowance, but we will be doing something that is essentially the same. Rather than draw an outline outside our bib to indicate the seam allowance, we'll draw one within our bib to mark the bias tape:
|
||||
|
||||
```js
|
||||
paths.bias = paths.seam
|
||||
.offset(-5)
|
||||
.attr("class", "various dashed")
|
||||
.attr("data-text", "finishWithBiasTape")
|
||||
.attr("data-text-class", "center fill-various");
|
||||
```
|
||||
|
||||
The `path.offset()` method makes it trivial to add seam allowance, since it will contruct a path parallel at the distance you pass it. 9 times out of 10, you'll be using it as `path.offset(sa)`.
|
||||
|
||||
Note that we're also using the attributes again, to change the look of the line, and add text to it, as explained in [Adding text](/concepts/adding-text).
|
||||
|
||||
## Scalebox and title
|
||||
|
||||
Two more macros and we're done.
|
||||
|
||||
The `title` macro adds a title to our part. It's not that big a deal here since we only have one part in our pattern. But patterns typically have many different parts, some of them which might look rather similar. That's why you should number your parts and give them a name.
|
||||
|
||||
The `title` macro can help you with that:
|
||||
|
||||
```js
|
||||
points.title = points.bottom.shift(-90, 45);
|
||||
macro("title", {
|
||||
at: points.title,
|
||||
nr: 1,
|
||||
title: "bib"
|
||||
});
|
||||
```
|
||||
|
||||
The `scalebox` macro prints a box of an exact size. It is used by people who print the pattern to make sure their print is correctly scaled.
|
||||
|
||||
```js
|
||||
points.scalebox = points.title.shift(-90, 55);
|
||||
macro("scalebox", { at: points.scalebox });
|
||||
```
|
||||
|
||||
And with that, our pattern is now *complete*:
|
||||
|
||||
<Example pattern="tutorial" part="step11" caption="We used attributed to add color, dashes, text on a path and even opacity" />
|
||||
|
||||
We're not done yet though. There's one more thing the user can ask for: a *paperless* pattern.
|
||||
|
|
@ -1,153 +0,0 @@
|
|||
---
|
||||
title: Compléter votre patron
|
||||
order: 260
|
||||
---
|
||||
|
||||
Lorsque nous avons commencé, nous avons dit qu'une bonne partie standard ressemblait à cela :
|
||||
|
||||
```js
|
||||
export default function(part) {
|
||||
let { Point, points, Path, paths } = part.shorthand();
|
||||
// Design pattern here
|
||||
|
||||
// Complete?
|
||||
if (complete) {
|
||||
if (sa) {
|
||||
}
|
||||
// Paperless?
|
||||
if (paperless) {
|
||||
}
|
||||
}
|
||||
return part;
|
||||
}
|
||||
```
|
||||
|
||||
So far, we've kept to the *// Design pattern here* area, but now we're going to work on the area under *// Complete?*
|
||||
|
||||
<Note>
|
||||
|
||||
###### The point of (non) complete patterns
|
||||
|
||||
Users can set the `complete` setting to `false`. When that's the case, you
|
||||
should draft a base outline of the pattern, rather than a fully detailed pattern.i
|
||||
|
||||
This has different uses, such as generating patterns to be cut out with a laser cutter.
|
||||
|
||||
</Note>
|
||||
|
||||
Le réglage `complete` est sur `true` par défaut, mais l'utilisateur peut le modifier. Pour accéder à ce paramètre, nous avons juste à dire à `part.shorthand()` que nous aimerions y avoir accès.
|
||||
|
||||
Tant que nous y sommes, ajoutons également `snippets` et `Snippet`, comme ceci :
|
||||
|
||||
```js
|
||||
let {
|
||||
Point,
|
||||
points,
|
||||
Path,
|
||||
paths,
|
||||
measurements,
|
||||
options,
|
||||
macro,
|
||||
complete,
|
||||
snippets,
|
||||
Snippet
|
||||
} = part.shorthand();
|
||||
```
|
||||
|
||||
## Adding snippets
|
||||
|
||||
Les snippets sont de petites choses réutilisables pour embellir notre patron. Des choses comme les boutons et les boutonnières, un logo, ou des boutons pression :
|
||||
|
||||
```js
|
||||
// Complete?
|
||||
if (complete) {
|
||||
snippets.snapMale = new Snippet("snap-male", points.snapLeft);
|
||||
snippets.snapFemale = new Snippet("snap-female", points.snapRight)
|
||||
.attr("opacity", 0.5);
|
||||
|
||||
if (sa) {
|
||||
}
|
||||
// Paperless?
|
||||
if (paperless) {
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Nous avons ajouté des snippets `snap-male` (pression mâle) et `snap-female` (pression femelle) aux points que nous avons envisagés pour cela.
|
||||
|
||||
Etant donné que la pression femelle est sur l'envers du tissu, nous l'avons rendue semi-transparente en réglant l'attribut `opacity` (opacité) à `0.5`. Oui, vous pouvez faire ça.
|
||||
|
||||
<Tip>
|
||||
|
||||
Tous les attributs que vous réglez seront ajoutés à la sortie SVG.
|
||||
|
||||
</Tip>
|
||||
|
||||
Puisque nous ajoutons des snippets, mettons-y également un logo :
|
||||
|
||||
```js
|
||||
points.logo = new Point(0, 0);
|
||||
snippets.logo = new Snippet("logo", points.logo);
|
||||
```
|
||||
|
||||
## Seam allowance
|
||||
|
||||
De la même façon que les utilisateurs peuvent choisir s'ils désirent un patron complet ou non, ils peuvent choisir d'inclure ou non des marges de couture sur le patron.
|
||||
|
||||
Voici pourquoi nous avons cette condition :
|
||||
|
||||
```js
|
||||
if (sa) {
|
||||
}
|
||||
```
|
||||
|
||||
Notre bavoir n'utilise pas de marge de couture. Nous allons employer du biais pour la finition. Alors vous pouvez simplement supprimer cette condition.
|
||||
|
||||
Toutefois, pour de futures références, `sa` (pour seam allowance) est la variable que vous pouvez obtenir de `part.shorthand()` tout comme `complete`. Mais au lieu des valeurs `true` ou `false`, elle contiendra la quantité de marge de couture en mm.
|
||||
|
||||
Note that you can still do `if (sa)` because zero is *falsy*.
|
||||
|
||||
Nous n'ajouterons pas de marge de couture, mais nous allons faire quelque chose qui s'en rapproche dans l'absolu. Plutôt que de dessiner un contour hors de notre bavoir pour indiquer la marge de couture, nous allons en dessiner un au sein de notre bavoir pour signifier le ruban de biais :
|
||||
|
||||
```js
|
||||
paths.bias = paths.seam
|
||||
.offset(-5)
|
||||
.attr("class", "various dashed")
|
||||
.attr("data-text", "finishWithBiasTape")
|
||||
.attr("data-text-class", "center fill-various");
|
||||
```
|
||||
|
||||
La méthode `path.offset()` rend la tâche d'ajouter une marge de couture triviale, étant donné qu'elle construit un chemin parallèle à la distance que vous désirez. 9 fois sur 10, vous l'utiliserez en tant que `path.offset(sa)`.
|
||||
|
||||
Notez que nous employons de nouveau les attributs, pour modifier l'aspect de la ligne, et pour ajouter du texte dessus, comme expliqué dans [Ajouter du texte](fr/concepts/adding-text).
|
||||
|
||||
## Echelle et titre
|
||||
|
||||
Deux macros en plus et nous aurons terminé.
|
||||
|
||||
La macro `title` ajoute un titre à notre partie. Ce n'est pas indispensable ici puisque nous n'avons qu'une seule partie. Mais les patrons ont en général différentes parties, quelques unes d'entre elles peuvent se ressembler. C'est pourquoi vous devriez numéroter vos parties et leur donner un nom.
|
||||
|
||||
La macro `title` est là pour vous aider :
|
||||
|
||||
```js
|
||||
points.title = points.bottom.shift(-90, 45);
|
||||
macro("title", {
|
||||
at: points.title,
|
||||
nr: 1,
|
||||
title: "bib"
|
||||
});
|
||||
```
|
||||
|
||||
La macro `scalebox` imprime un carré de dimensions exactes. Elle est utilisée par les personnes qui impriment leur patron afin qu'elles puissent vérifier que leur impression est à la bonne échelle.
|
||||
|
||||
```js
|
||||
points.scalebox = points.title.shift(-90, 55);
|
||||
macro("scalebox", { at: points.scalebox });
|
||||
```
|
||||
|
||||
And with that, our pattern is now *complete*:
|
||||
|
||||
<Example pattern="tutorial" part="step11" caption="We used attributed to add color, dashes, text on a path and even opacity" />
|
||||
|
||||
Nous n'avons pas tout à fait terminé cependant. There's one more thing the user can ask for: a *paperless* pattern.
|
||||
|
|
@ -1,153 +0,0 @@
|
|||
---
|
||||
title: Je patroon vervolledigen
|
||||
order: 260
|
||||
---
|
||||
|
||||
Helemaal in het begin hebben we gezegd dat een goede boilerplate voor onderdelen er zo uitziet:
|
||||
|
||||
```js
|
||||
export default function(part) {
|
||||
let { Point, points, Path, paths } = part.shorthand();
|
||||
// Ontwerp je patroon hier
|
||||
|
||||
// Complete?
|
||||
if (complete) {
|
||||
if (sa) {
|
||||
}
|
||||
// Paperless?
|
||||
if (paperless) {
|
||||
}
|
||||
}
|
||||
return part;
|
||||
}
|
||||
```
|
||||
|
||||
So far, we've kept to the *// Design pattern here* area, but now we're going to work on the area under *// Complete?*
|
||||
|
||||
<Note>
|
||||
|
||||
###### The point of (non) complete patterns
|
||||
|
||||
Users can set the `complete` setting to `false`. When that's the case, you
|
||||
should draft a base outline of the pattern, rather than a fully detailed pattern.i
|
||||
|
||||
This has different uses, such as generating patterns to be cut out with a laser cutter.
|
||||
|
||||
</Note>
|
||||
|
||||
De instelling `complete` staat standaard op `true`, maar de gebruiker kan dat veranderen. Je krijgt toegang tot deze instelling via `part.shorthand()`.
|
||||
|
||||
Als we toch bezig zijn, kunnen we ook `snippets` en `Snippet` toevoegen:
|
||||
|
||||
```js
|
||||
let {
|
||||
Point,
|
||||
points,
|
||||
Path,
|
||||
paths,
|
||||
measurements,
|
||||
options,
|
||||
macro,
|
||||
complete,
|
||||
snippets,
|
||||
Snippet
|
||||
} = part.shorthand();
|
||||
```
|
||||
|
||||
## Snippets toevoegen
|
||||
|
||||
Snippets zijn kleine, herbruikbare dingen die je aan je patroon toevoegt, zoals knopen en knoopsgaten, een logo of een markering voor drukknopen:
|
||||
|
||||
```js
|
||||
// Complete?
|
||||
if (complete) {
|
||||
snippets.snapMale = new Snippet("snap-male", points.snapLeft);
|
||||
snippets.snapFemale = new Snippet("snap-female", points.snapRight)
|
||||
.attr("opacity", 0.5);
|
||||
|
||||
if (sa) {
|
||||
}
|
||||
// Paperless?
|
||||
if (paperless) {
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Je hebt nu een snippet toegevoegd voor beide delen van een drukknoop, `snap-male` en `snap-female`, op de punten die we daarvoor voorzien hadden.
|
||||
|
||||
Omdat het 'vrouwtje' van de drukknoop aan de achterkant van de stof zit, maak je het halftransparant door de eigenschap `opacity` in te stellen op `0.5`. Jep, dat kan.
|
||||
|
||||
<Tip>
|
||||
|
||||
Alle eigenschappen die je instelt, worden toegevoegd aan de SVG-output.
|
||||
|
||||
</Tip>
|
||||
|
||||
Nu we toch snippets aan het maken zijn, kunnen we ook een logo toevoegen:
|
||||
|
||||
```js
|
||||
points.logo = new Point(0, 0);
|
||||
snippets.logo = new Snippet("logo", points.logo);
|
||||
```
|
||||
|
||||
## Naadtoeslag
|
||||
|
||||
Net zoals ze de keuze hebben tussen een compleet patroon of een vereenvoudigd, kunnen gebruikers ook kiezen of ze naadwaarde willen toevoegen aan het patroon of niet.
|
||||
|
||||
Daarvoor dient deze voorwaarde:
|
||||
|
||||
```js
|
||||
if (sa) {
|
||||
}
|
||||
```
|
||||
|
||||
Ons slabbetje heeft geen naadwaarde omdat we het afwerken met biaislint. Je kan de voorwaarde in dit geval dus gewoon weglaten.
|
||||
|
||||
Maar voor een volgende keer, wanneer je wél de optie van naadwaarde nodig hebt: `sa` (kort voor 'seam allowance' of naadwaarde) is een variabele die je instelt in `part.shorthand()`, net zoals `complete`. In plaats van `true` of `false` voeg je hier de naadwaarde toe in millimeter.
|
||||
|
||||
Note that you can still do `if (sa)` because zero is *falsy*.
|
||||
|
||||
We voegen hier dus geen naadwaarde toe, maar we doen iets dat op hetzelfde neerkomt. In plaats van een extra lijn toe te voegen aan de buitenkant van het slabbetje om de naadwaarde aan te geven, tekenen we een lijn aan de binnenkant om de rand van het biaislint aan te geven:
|
||||
|
||||
```js
|
||||
paths.bias = paths.seam
|
||||
.offset(-5)
|
||||
.attr("class", "various dashed")
|
||||
.attr("data-text", "finishWithBiasTape")
|
||||
.attr("data-text-class", "center fill-various");
|
||||
```
|
||||
|
||||
De `path.offset()`-methode maakt het onnodig om naadwaarde toe te voegen, aangezien het een parallel pad toevoegt op de afstand die je instelt. Negen van de tien keer ga je dat gebruiken als `path.offset(sa)`.
|
||||
|
||||
Merk op dat we hier opnieuw eigenschappen (attributen) gebruiken om het uitzicht van de lijn te veranderen en er tekst aan toe te voegen. Dat staat verder uitgelegd in [Tekst toevoegen](/concepts/adding-text).
|
||||
|
||||
## Schaalkader en titel
|
||||
|
||||
Nog twee macro's en we zijn klaar.
|
||||
|
||||
De `title`-macro voegt een titel toe aan elk onderdeel. In dit geval doet dat er weinig toe, want het patroon bestaat uit maar één deel. Maar de meeste patronen bestaan uit veel verschillende onderdelen die soms erg op elkaar lijken. Dan is het handig om al je patroondelen een nummer en een naam te geven.
|
||||
|
||||
Dat is precies wat de `title`-macro doet:
|
||||
|
||||
```js
|
||||
points.title = points.bottom.shift(-90, 45);
|
||||
macro("title", {
|
||||
at: points.title,
|
||||
nr: 1,
|
||||
title: "bib"
|
||||
});
|
||||
```
|
||||
|
||||
De `scalebox`-matro print een schaalkader af van een exacte grootte. Dat is nuttig voor mensen die het patroon afdrukken om zeker te zijn dat het patroon op de juiste schaal geprint is.
|
||||
|
||||
```js
|
||||
points.scalebox = points.title.shift(-90, 55);
|
||||
macro("scalebox", { at: points.scalebox });
|
||||
```
|
||||
|
||||
And with that, our pattern is now *complete*:
|
||||
|
||||
<Example pattern="tutorial" part="step11" caption="We used attributed to add color, dashes, text on a path and even opacity" />
|
||||
|
||||
We zijn nog niet helemaal klaar. There's one more thing the user can ask for: a *paperless* pattern.
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue