139 lines
421 KiB
Markdown
139 lines
421 KiB
Markdown
![]() |
---
|
|||
|
title: "offsetPlane"
|
|||
|
excerpt: "Offset a plane by a distance along its normal."
|
|||
|
layout: manual
|
|||
|
---
|
|||
|
|
|||
|
Offset a plane by a distance along its normal.
|
|||
|
|
|||
|
For example, if you offset the 'XZ' plane by 10, the new plane will be parallel to the 'XZ' plane and 10 units away from it.
|
|||
|
|
|||
|
```js
|
|||
|
offsetPlane(std_plane: StandardPlane, offset: number) -> PlaneData
|
|||
|
```
|
|||
|
|
|||
|
### Examples
|
|||
|
|
|||
|
```js
|
|||
|
// Loft a square and a circle on the `XY` plane using offset.
|
|||
|
const squareSketch = startSketchOn('XY')
|
|||
|
|> startProfileAt([-100, 200], %)
|
|||
|
|> line([200, 0], %)
|
|||
|
|> line([0, -200], %)
|
|||
|
|> line([-200, 0], %)
|
|||
|
|> lineTo([profileStartX(%), profileStartY(%)], %)
|
|||
|
|> close(%)
|
|||
|
|
|||
|
const circleSketch = startSketchOn(offsetPlane('XY', 150))
|
|||
|
|> circle([0, 100], 50, %)
|
|||
|
|
|||
|
loft([squareSketch, circleSketch])
|
|||
|
```
|
|||
|
|
|||
|

|
|||
|
|> startProfileAt([-100, 200], %)
|
|||
|
|> line([200, 0], %)
|
|||
|
|> line([0, -200], %)
|
|||
|
|> line([-200, 0], %)
|
|||
|
|> lineTo([profileStartX(%), profileStartY(%)], %)
|
|||
|
|> close(%)
|
|||
|
|
|||
|
const circleSketch = startSketchOn(offsetPlane('XZ', 150))
|
|||
|
|> circle([0, 100], 50, %)
|
|||
|
|
|||
|
loft([squareSketch, circleSketch])
|
|||
|
```
|
|||
|
|
|||
|

|
|||
|
|> startProfileAt([-100, 200], %)
|
|||
|
|> line([200, 0], %)
|
|||
|
|> line([0, -200], %)
|
|||
|
|> line([-200, 0], %)
|
|||
|
|> lineTo([profileStartX(%), profileStartY(%)], %)
|
|||
|
|> close(%)
|
|||
|
|
|||
|
const circleSketch = startSketchOn(offsetPlane('YZ', 150))
|
|||
|
|> circle([0, 100], 50, %)
|
|||
|
|
|||
|
loft([squareSketch, circleSketch])
|
|||
|
```
|
|||
|
|
|||
|

|
|||
|
|> startProfileAt([-100, 200], %)
|
|||
|
|> line([200, 0], %)
|
|||
|
|> line([0, -200], %)
|
|||
|
|> line([-200, 0], %)
|
|||
|
|> lineTo([profileStartX(%), profileStartY(%)], %)
|
|||
|
|> close(%)
|
|||
|
|
|||
|
const circleSketch = startSketchOn(offsetPlane('-XZ', -150))
|
|||
|
|> circle([0, 100], 50, %)
|
|||
|
|
|||
|
loft([squareSketch, circleSketch])
|
|||
|
```
|
|||
|
|
|||
|

|
|||
|
```js
|
|||
|
"XY" | "-XY" | "XZ" | "-XZ" | "YZ" | "-YZ"
|
|||
|
```
|
|||
|
* `offset`: `number` (REQUIRED)
|
|||
|
|
|||
|
### Returns
|
|||
|
|
|||
|
`PlaneData` - Data for a plane.
|
|||
|
```js
|
|||
|
"XY" |
|
|||
|
"-XY" |
|
|||
|
"XZ" |
|
|||
|
"-XZ" |
|
|||
|
"YZ" |
|
|||
|
"-YZ" |
|
|||
|
{
|
|||
|
plane: {
|
|||
|
// Origin of the plane.
|
|||
|
origin: {
|
|||
|
x: number,
|
|||
|
y: number,
|
|||
|
z: number,
|
|||
|
},
|
|||
|
// What should the plane’s X axis be?
|
|||
|
xAxis: {
|
|||
|
x: number,
|
|||
|
y: number,
|
|||
|
z: number,
|
|||
|
},
|
|||
|
// What should the plane’s Y axis be?
|
|||
|
yAxis: {
|
|||
|
x: number,
|
|||
|
y: number,
|
|||
|
z: number,
|
|||
|
},
|
|||
|
// The z-axis (normal).
|
|||
|
zAxis: {
|
|||
|
x: number,
|
|||
|
y: number,
|
|||
|
z: number,
|
|||
|
},
|
|||
|
},
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
|
|||
|
|