模板
模板根据几个尺寸生成新图纸:四角带孔的平板、带糊口的套、您自己的标准盒型和零件。文件 › 扩展 › 从模板新建… 会列出模板,询问所选模板的参数,并打开它生成的图纸。
如果要用图纸文件而不是 JavaScript 实现同样的功能,请参阅运行参数化。
生成的图纸是参数化的:模板将其参数设置为图纸的变量,并基于这些变量定义点,因此之后可以像其他图纸一样通过更改变量来调整大小。
声明模板
template({
name: "Plate",
category: "General",
description: "A rectangle with a hole in the middle.",
parameters: {
length: { label: "Length", value: 300, min: 1 },
width: { label: "Width", value: 200, min: 1 },
hole: { label: "Hole diameter", value: 20, min: 0 }
},
build(p) {
setVariable("L", p.length);
setVariable("W", p.width);
setVariable("HOLE", p.hole);
const a = newPoint("[0,0]"), b = newPoint("[L,0]");
const c = newPoint("[L,W]"), d = newPoint("[0,W]");
polyline([a, b, c, d], true);
circle(newPoint("[L/2,W/2]"), "HOLE/2");
}
});
| 属性 | 含义 |
|---|---|
name、description |
选择模板时显示的内容;新图纸的标题即为其名称。 |
category |
在列表中对其分组:Packaging › Sleeve with glue flap。 |
parameters |
其选项,在生成之前询问。 |
build(parameters) |
使用绘图 API 生成图纸;parameters 按名称保存所选的值。 |
保持参数化
模板生成内容的参数化程度取决于其生成方式:
setVariable("L", p.length)将参数设为变量;newPoint("[L,0]")生成基于该变量定义的点。之后更改L,该点及由其绘制的所有内容都会移动。offset(a, "W/2", 0)、polar(a, 30, "R")和between(a, b, 0.5)生成由其他点定义的点。circle(c, "HOLE/2"):以表达式给出的尺寸会跟随其变量变化。- 数字或
{x, y}固定在原处,就像手动输入的一样:对于该尺寸是正确的,但不会跟随变化。
新图纸的图层表为包装图层表:图层 0 为切割线,图层 1 为压痕线,依此类推;layer(n) 选择此后图元所在的图层。
应用自带的模板
- Plate with corner holes(General):四角带孔的平板,参数为长度、宽度、圆角半径、孔径和孔的内缩距离。
- Sleeve with glue flap(Packaging):带糊口的套,由四个面板(长、宽、长、宽)、高度和一个锥形糊口组成,面板之间为压痕线。
它们位于应用的 Extensions 文件夹中的 templates.js 内。