* Teaching t2c how to counterbore, countersink, and counterdrill * Delete public/kcl-samples/parametric-bearing-pillow-block directory * Update mounting-wire.kcl * new artifiacts Signed-off-by: Jess Frazelle <github@jessfraz.com> * Update kcl-samples simulation test output * Update kcl-samples simulation test output * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com> Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com> Co-authored-by: Jess Frazelle <github@jessfraz.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
		
			
				
	
	
		
			80 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
// Mounting Wire
 | 
						|
// The flexible metal wire used to clip the fans onto the heat sink
 | 
						|
 | 
						|
// Set units
 | 
						|
@settings(defaultLengthUnit = mm)
 | 
						|
 | 
						|
// Import parameters
 | 
						|
import * from "parameters.kcl"
 | 
						|
 | 
						|
// Draw the XZ component of the mounting wire path
 | 
						|
upperArm = startSketchOn(offsetPlane(XZ, offset = fanSize / 2 + 2))
 | 
						|
  |> startProfile(at = [-12, 40 + fanSize / 2])
 | 
						|
  |> yLine(length = 7)
 | 
						|
  |> tangentialArc(radius = 2, angle = 90)
 | 
						|
  |> xLine(length = -9)
 | 
						|
  |> tangentialArc(radius = 2, angle = -90)
 | 
						|
  |> yLine(length = 14)
 | 
						|
  |> tangentialArc(radius = 2, angle = 90)
 | 
						|
  |> xLine(length = -9)
 | 
						|
  |> tangentialArc(radius = 2, angle = -80)
 | 
						|
  |> angledLine(angle = 100, endAbsoluteY = 40 + fanSize / 2 + mountingHoleSpacing / 2 - 1.5)
 | 
						|
  |> tangentialArc(radius = 2, angle = 80, tag = $seg07)
 | 
						|
 | 
						|
// Draw the XZ component of the mounting wire path
 | 
						|
lowerArm = startSketchOn(offsetPlane(XZ, offset = fanSize / 2 + 2))
 | 
						|
  |> startProfile(at = [-12, 40 + fanSize / 2])
 | 
						|
  |> yLine(length = -7)
 | 
						|
  |> tangentialArc(radius = 2, angle = -90)
 | 
						|
  |> xLine(length = -9)
 | 
						|
  |> tangentialArc(radius = 2, angle = 90)
 | 
						|
  |> yLine(length = -14)
 | 
						|
  |> tangentialArc(radius = 2, angle = -90)
 | 
						|
  |> xLine(length = -9)
 | 
						|
  |> tangentialArc(radius = 2, angle = 80)
 | 
						|
  |> angledLine(angle = -100, endAbsoluteY = 40 + fanSize / 2 - (mountingHoleSpacing / 2) + 1.5)
 | 
						|
  |> tangentialArc(radius = 2, angle = -80, tag = $seg08)
 | 
						|
 | 
						|
// Create the profile of the mounting wire and sweep along the XZ path
 | 
						|
wireProfile = startSketchOn(offsetPlane(XY, offset = 40 + fanSize / 2))
 | 
						|
sweepUpperArm = circle(wireProfile, center = [-12, -fanSize / 2 - 2], radius = 1)
 | 
						|
  |> sweep(%, path = upperArm)
 | 
						|
 | 
						|
sweepLowerArm = circle(wireProfile, center = [-12, -fanSize / 2 - 2], radius = 1)
 | 
						|
  |> sweep(%, path = lowerArm)
 | 
						|
 | 
						|
// Draw the XY components of the mounting wire path
 | 
						|
upperHook = startSketchOn(offsetPlane(XY, offset = segEndY(seg07)))
 | 
						|
  |> startProfile(at = [segEndX(seg07), -fanSize / 2 - 2])
 | 
						|
  |> xLine(endAbsolute = -heatSinkDepth / 2 - fanHeight)
 | 
						|
  |> tangentialArc(radius = 2, angle = -90)
 | 
						|
  |> yLine(endAbsolute = -mountingHoleSpacing / 2 - 2)
 | 
						|
  |> tangentialArc(radius = 2, angle = -90)
 | 
						|
  |> xLine(length = fanHeight / 3)
 | 
						|
 | 
						|
// Draw the XY components of the mounting wire path
 | 
						|
lowerHook = startSketchOn(offsetPlane(XY, offset = segEndY(seg08)))
 | 
						|
  |> startProfile(at = [segEndX(seg07), -fanSize / 2 - 2])
 | 
						|
  |> xLine(endAbsolute = -heatSinkDepth / 2 - fanHeight)
 | 
						|
  |> tangentialArc(radius = 2, angle = -90)
 | 
						|
  |> yLine(endAbsolute = -mountingHoleSpacing / 2 - 2)
 | 
						|
  |> tangentialArc(radius = 2, angle = -90)
 | 
						|
  |> xLine(length = fanHeight / 3)
 | 
						|
 | 
						|
// Sweep the wire profile around the hook-shaped segments of the mounting wire
 | 
						|
hookProfile = startSketchOn(offsetPlane(YZ, offset = segEndX(seg07)))
 | 
						|
sweepUpperHook = circle(hookProfile, center = [-fanSize / 2 - 2, segEndY(seg07)], radius = 1)
 | 
						|
  |> sweep(%, path = upperHook)
 | 
						|
 | 
						|
sweepLowerHook = circle(hookProfile, center = [-fanSize / 2 - 2, segEndY(seg08)], radius = 1)
 | 
						|
  |> sweep(%, path = lowerHook)
 | 
						|
 | 
						|
// Union each piece of the wire into a single continuous sweep
 | 
						|
[
 | 
						|
       sweepLowerArm,
 | 
						|
       sweepLowerHook,
 | 
						|
       sweepUpperArm,
 | 
						|
       sweepUpperHook
 | 
						|
     ]
 | 
						|
  |> appearance(color = "#0d0d0d")
 |