Previous: ``` startProfileAt([x, y], %) startProfileAt([x, y], sketch001) ``` New: ``` startProfile(%, at = [x, y]) startProfile(sketch001, at = [x, y]) ```
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
---
 | 
						|
source: kcl-lib/src/simulation_tests.rs
 | 
						|
description: Result of unparsing pattern_into_union.kcl
 | 
						|
---
 | 
						|
nPlates = 20
 | 
						|
buildPlateThickness = 1 / 25.4 // 1mm w/ two stickers
 | 
						|
buildPlateWidth = 10.125
 | 
						|
widthTolerance = 0.2
 | 
						|
thicknessTolerance = 0.020
 | 
						|
endWidth = 0.5
 | 
						|
endTabWidth = 2
 | 
						|
endTabHeight = 1
 | 
						|
endTabThickness = 0.1
 | 
						|
width = buildPlateWidth + 2 * (widthTolerance + endWidth)
 | 
						|
depth = nPlates * (buildPlateThickness + thicknessTolerance) + (nPlates + 1) * endTabThickness
 | 
						|
baseHeight = 0.25
 | 
						|
 | 
						|
base = startSketchOn(XZ)
 | 
						|
  |> startProfile(at = [0, 0])
 | 
						|
  |> xLine(endAbsolute = width, tag = $seg01)
 | 
						|
  |> yLine(endAbsolute = baseHeight + endTabHeight)
 | 
						|
  |> xLine(length = -endWidth)
 | 
						|
  |> yLine(endAbsolute = baseHeight)
 | 
						|
  |> xLine(endAbsolute = endWidth)
 | 
						|
  |> yLine(endAbsolute = baseHeight + endTabHeight)
 | 
						|
  |> xLine(endAbsolute = 0, tag = $seg02)
 | 
						|
  |> close()
 | 
						|
  |> extrude(length = -depth)
 | 
						|
 | 
						|
endTabs = startSketchOn(XZ)
 | 
						|
  |> startProfile(at = [endWidth, baseHeight])
 | 
						|
  |> xLine(endAbsolute = endWidth + endTabWidth)
 | 
						|
  |> angledLine(angle = 135, endAbsoluteY = baseHeight + endTabHeight, tag = $toFillet)
 | 
						|
  |> xLine(endAbsolute = endWidth)
 | 
						|
  |> close()
 | 
						|
  |> extrude(length = -1 * endTabThickness)
 | 
						|
  |> fillet(radius = 0.1, tags = [getNextAdjacentEdge(toFillet)])
 | 
						|
  |> patternLinear3d(axis = [0, 1, 0], distance = buildPlateThickness + thicknessTolerance + endTabThickness, instances = nPlates + 1)
 | 
						|
 | 
						|
endTabs2 = startSketchOn(XZ)
 | 
						|
  |> startProfile(at = [width - endWidth, baseHeight])
 | 
						|
  |> xLine(endAbsolute = width - endTabWidth)
 | 
						|
  |> angledLine(angle = 45, endAbsoluteY = baseHeight + endTabHeight, tag = $toFillet2)
 | 
						|
  |> xLine(endAbsolute = width - endWidth)
 | 
						|
  |> close()
 | 
						|
  |> extrude(length = -1 * endTabThickness)
 | 
						|
  |> fillet(radius = 0.1, tags = [getNextAdjacentEdge(toFillet2)])
 | 
						|
  |> patternLinear3d(axis = [0, 1, 0], distance = buildPlateThickness + thicknessTolerance + endTabThickness, instances = nPlates + 1)
 | 
						|
 | 
						|
union([base, endTabs])
 |