Previously, `xLine`, `xLineTo`, `yLine` and `yLineTo` used positional arguments. Now: - `xLineTo` and `yLineTo` have been removed - `xLine` and `yLine` both use keyword arguments: - `length`, optional (i.e. a relative distance along the X or Y axis) - `endAbsolute` optional (i.e. an absolute point along the X or Y axis) - `tag` optional - Exactly one of `length` or `endAbsolute` must be given. Not both, not neither. For example: ``` // Old way |> xLine(6.04, %) |> yLineTo(20, %, $base) // New way |> xLine(length = 6.04) |> yLine(endAbsolute = 20, tag = $base) ``` This also improves some of the general-purpose keyword arguments code in modeling app's TS codebase.
58 lines
1.7 KiB
Plaintext
58 lines
1.7 KiB
Plaintext
wall_thickness = 0.125
|
|
back_walls_width = 2
|
|
front_walls_width = 2.5
|
|
height = 5.5
|
|
filletRadius = 0.050
|
|
back_length = 7
|
|
exit_height = 1
|
|
front_length = 6
|
|
Fx = 0.5
|
|
Fy = 0.5
|
|
|
|
sketch001 = startSketchOn('-YZ')
|
|
|> startProfileAt([back_walls_width / 2, 0], %)
|
|
|> xLine(length = wall_thickness / 2)
|
|
|> angledLineToX({ angle: 45, to: back_walls_width }, %, $seg01)
|
|
|> yLine(endAbsolute = height)
|
|
|> xLine(length = -wall_thickness)
|
|
|> yLine(endAbsolute = segEndY(seg01))
|
|
|> angledLineToX({
|
|
angle: 45,
|
|
to: back_walls_width / 2 + wall_thickness / 2
|
|
}, %)
|
|
|> xLine(length = -wall_thickness)
|
|
|> angledLineToX({ angle: 180 - 45, to: wall_thickness }, %)
|
|
|> yLine(endAbsolute = height)
|
|
|> xLine(endAbsolute = 0)
|
|
|> yLine(endAbsolute = segEndY(seg01))
|
|
|> angledLineToY({ angle: 180 - 45, to: 0 }, %)
|
|
|> close()
|
|
part001 = revolve({
|
|
angle: 90,
|
|
axis: {
|
|
custom: {
|
|
axis: [1.0, 0.0],
|
|
origin: [0.0, height + .0000001]
|
|
}
|
|
}
|
|
}, sketch001)
|
|
|
|
sketch002 = startSketchOn('-YZ')
|
|
|> startProfileAt([back_walls_width / 2, 0], %)
|
|
|> xLine(length = wall_thickness / 2)
|
|
|> angledLineToX({ angle: 45, to: back_walls_width }, %, $seg02)
|
|
|> yLine(endAbsolute = height)
|
|
|> xLine(length = -wall_thickness)
|
|
|> yLine(endAbsolute = segEndY(seg01))
|
|
|> angledLineToX({
|
|
angle: 45,
|
|
to: back_walls_width / 2 + wall_thickness / 2
|
|
}, %)
|
|
|> xLine(length = -wall_thickness)
|
|
|> angledLineToX({ angle: 180 - 45, to: wall_thickness }, %)
|
|
|> yLine(endAbsolute = height)
|
|
|> xLine(endAbsolute = 0)
|
|
|> yLine(endAbsolute = segEndY(seg02))
|
|
|> angledLineToY({ angle: 180 - 45, to: 0 }, %)
|
|
|> close()
|
|
|> extrude(length = back_length - height) |