meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
en:design_guide_path [2020/12/04 07:35] JSCAD Editor |
en:design_guide_path [2022/04/13 12:44] (current) rozek included "require" statements, corrected mistakes |
||
---|---|---|---|
Line 4: | Line 4: | ||
<code javascript> | <code javascript> | ||
- | let mypathA = line([[10, 10], [-10, 10]]) | + | const { line } = require(' |
- | let mypathB = line([[-10, -10], [10, -10]]) | + | const { path2 } = require(' |
- | mypath = path2.concat(mypathA, | + | |
+ | const mypathA = line([[10, 10], [-10, 10]]) | ||
+ | const mypathB = line([[-10, -10], [10, -10]]) | ||
+ | let mypath = path2.concat(mypathA, | ||
mypath = path2.close(mypath) | mypath = path2.close(mypath) | ||
</ | </ | ||
Line 20: | Line 23: | ||
=== Curved Paths === | === Curved Paths === | ||
- | Curved paths can also be simulated. Paths can be created as an ' | + | Curved paths can also be simulated. Paths can be created as an ' |
+ | |||
+ | {{ : | ||
The ' | The ' | ||
+ | |||
+ | Defaults: | ||
+ | * center : [0, 0] | ||
+ | * radius : 1 | ||
+ | * startAngle : 0 | ||
+ | * endAngle : PI * 2 | ||
+ | * segments : 32 | ||
<code javascript> | <code javascript> | ||
- | let mypath = arc({radius: | + | const { arc } = require(' |
- | mypath = path2.appendArc({endPoint: [-27, -22], radius: | + | |
- | mypath = path2.close() | + | const mypath = arc({radius: |
+ | const mypath = arc({center: [5, 5], radius: | ||
</ | </ | ||
=== Appending Points === | === Appending Points === | ||
- | Append the given list of points to the end of the given geometry. | + | Any number |
<code javascript> | <code javascript> | ||
- | let mypath = line([[27, -22], [27, 22]]) | + | const { path2 } = require(' |
- | mypath | + | const { line } = require(' |
- | mypath = path2.close() | + | |
+ | const mypath = line([[27, -22], [27, 22]]) | ||
+ | const newpath | ||
</ | </ | ||
- | Append | + | An ' |
+ | |||
+ | Defaults: | ||
+ | * radius : [0, 0] | ||
+ | * clockwise : false | ||
+ | * large : false | ||
+ | * segments : 32 | ||
//Note: This implementation follows the SVG specifications.// | //Note: This implementation follows the SVG specifications.// | ||
+ | <code javascript> | ||
+ | const { path2 } = require(' | ||
- | Append | + | let p1 = path2.create([[10, |
+ | p1 = path2.appendPoints([[27.5, | ||
+ | p1 = path2.appendArc({endpoint: | ||
+ | </ | ||
+ | |||
+ | In addition, ' | ||
+ | |||
+ | The ' | ||
+ | |||
+ | //Note: This implementation follows the SVG specifications.// | ||
<code javascript> | <code javascript> | ||
- | let p5 = path2.create({}, [[10, | + | const { path2 } = require(' |
- | p5 = path2.appendBezier({controlPoints: | + | |
+ | let p5 = path2.create([[10, | ||
+ | p5 = path2.appendBezier({controlPoints: | ||
p5 = path2.appendBezier({controlPoints: | p5 = path2.appendBezier({controlPoints: | ||
</ | </ | ||
Line 60: | Line 94: | ||
<code javascript> | <code javascript> | ||
+ | const { geom2, path2 } = require(' | ||
+ | const { line } = require(' | ||
+ | |||
// create a closed path in shape of triangle | // create a closed path in shape of triangle | ||
- | let mypath = line([[10, 10], [-10, 10], [-10, -10], [10, 10]]) | + | const mypath = line([[10, 10], [-10, 10], [-10, -10], [10, 10]]) |
- | let myshape = geom2.fromPoints(path2.toPoints(mypath)) | + | const myshape = geom2.fromPoints(path2.toPoints(mypath)) |
</ | </ | ||
- | Second, a path can be expanded into a two dimensional shape. The result is a shape that fits around the path. The path can be either open or closed. | + | Second, a path can be expanded into a two dimensional shape. The result is a two dimensional |
<code javascript> | <code javascript> | ||
// create an open path in shape of L | // create an open path in shape of L | ||
- | let mypath = line([[10, 10], [-10, 10], [-10, -10]]) | + | const { expand } = require(' |
- | let myshape = expand({delta: | + | const { line } = require(' |
+ | |||
+ | const mypath = line([[10, 10], [-10, 10], [-10, -10]]) | ||
+ | const myshape = expand({delta: | ||
</ | </ | ||
=== Conversion to 3D Shape === | === Conversion to 3D Shape === | ||
- | Hint: Any two dimensional | + | Two dimensional |
+ | |||
+ | <code javascript> | ||
+ | const { path2 } = require(' | ||
+ | const { extrudeLinear } = require(' | ||
+ | |||
+ | // create a closed path in shape of triangle | ||
+ | const mypath = path2.fromPoints({ closed: true }, [[0, 0], [12, 0], [6, 10]]) | ||
+ | // extrude into triangular prism | ||
+ | const myshape = extrudeLinear({ height: 15 }, mypath) | ||
+ | </ |