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.
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
// Pipe
 | 
						|
// A tubular section or hollow cylinder, usually but not necessarily of circular cross-section, used mainly to convey substances that can flow.
 | 
						|
 | 
						|
// Set Units
 | 
						|
@settings(defaultLengthUnit = in)
 | 
						|
 | 
						|
// Define constants
 | 
						|
pipeTotalLength = 20
 | 
						|
pipeLargeDiaLength = 1
 | 
						|
pipeLargeDia = 1
 | 
						|
pipeSmallDia = .75
 | 
						|
thickness = 0.125
 | 
						|
pipeTransitionAngle = 60
 | 
						|
pipeTransitionLength = 0.5
 | 
						|
pipeSmallDiaLength = pipeTotalLength - pipeTransitionLength - pipeLargeDiaLength
 | 
						|
 | 
						|
// Create the sketch to be revolved around the y-axis. Use the small diameter, large diameter, length, and thickness to define the sketch.
 | 
						|
pipeSketch = startSketchOn('XY')
 | 
						|
  |> startProfileAt([pipeSmallDia - (thickness / 2), 38], %)
 | 
						|
  |> line(end = [thickness, 0])
 | 
						|
  |> line(end = [0, -pipeSmallDiaLength])
 | 
						|
  |> angledLineOfYLength({
 | 
						|
       angle = -60,
 | 
						|
       length = pipeTransitionLength
 | 
						|
     }, %)
 | 
						|
  |> line(end = [0, -pipeLargeDiaLength])
 | 
						|
  |> xLine(length = -thickness)
 | 
						|
  |> line(end = [0, pipeLargeDiaLength])
 | 
						|
  |> angledLineToX({
 | 
						|
       angle = -pipeTransitionAngle + 180,
 | 
						|
       to = pipeSmallDia - (thickness / 2)
 | 
						|
     }, %)
 | 
						|
  |> close()
 | 
						|
 | 
						|
// Revolve the sketch to create the pipe
 | 
						|
pipe = revolve({ axis = 'y' }, pipeSketch)
 |