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) |