
The replaces the NextJS site powering FreeSewing.dev with a Docusaurus setup. It's part of my efforts to simplify FreeSewing's setup so we can focus on our core value proposition.
83 lines
2.3 KiB
Text
83 lines
2.3 KiB
Text
---
|
|
title: ringSector
|
|
---
|
|
|
|
The `ringsector` macro drafts a ring sector, which is like a part of a donut
|
|
with an inside and outside radius. It is particularly useful for drafting
|
|
curved waistbands, circle skirts, and so on.
|
|
|
|
It is provided by the [ringsector plugin](/reference/plugins/ringsector).
|
|
|
|
:::note
|
|
##### Not a core-plugins macro
|
|
|
|
The `ringsector` macro is not provided by the [core-plugins](/reference/plugins/core),
|
|
so you need to load the [ringsector plugin](/reference/plugins/ringsector) explicitly
|
|
if you want to use it.
|
|
:::
|
|
|
|
## Signature
|
|
|
|
```js
|
|
macro('ringsector', {
|
|
String id='ringsector',
|
|
Point center = new Point(0,0),
|
|
Number angle,
|
|
Number insideRadius,
|
|
Number outsideRadius,
|
|
Boolean rotate = false,
|
|
})
|
|
```
|
|
|
|
## Example
|
|
|
|
<Example caption="Example of a ring sector drafted by this macro">
|
|
```js
|
|
({ Point, macro, Path, paths, part }) => {
|
|
|
|
macro('ringsector', {
|
|
angle: 60,
|
|
insideRadius: 30,
|
|
outsideRadius: 45,
|
|
})
|
|
|
|
return part
|
|
}
|
|
```
|
|
</Example>
|
|
|
|
## Configuration
|
|
|
|
| Property | Default | Type | Description |
|
|
|---------------:|-------------------|------------|-------------|
|
|
| `id` | `ringsector` | String | The id to use in auto-generate macro points and paths |
|
|
| `center` | `new Point(0,0)` | [Point][1] | The center point of the ring sector |
|
|
| `angle` | | Number | The angle the ring sector should cover |
|
|
| `insideRadius` | | Number | The inside radius of the ring sector |
|
|
| `outsideRadius` | | Number | The outside radius of the ring sector |
|
|
| `rotate` | `false` | Boolean | Whether or not to rotate the ringsector so one of its sides is vertical (see [example below](#example-when-rotatetrue)) |
|
|
|
|
[1]: /reference/api/point
|
|
|
|
## Notes
|
|
|
|
The `ringsector` macro creates a `path` that can be used as a seam path for a part. If doing so, the left side of the path assumes a `cutOnFold`, as the `sa` is not offset here like it is along the rest of the `path`.
|
|
|
|
### Example when rotate=true
|
|
|
|
<Example caption="Example of a ring sector drafted by this macro when rotate is truthy">
|
|
```js
|
|
({ Point, macro, Path, paths, part }) => {
|
|
|
|
macro('ringsector', {
|
|
angle: 60,
|
|
insideRadius: 30,
|
|
outsideRadius: 45,
|
|
rotate: true,
|
|
})
|
|
|
|
return part
|
|
}
|
|
```
|
|
</Example>
|
|
|