Previous: ``` startProfileAt([x, y], %) startProfileAt([x, y], sketch001) ``` New: ``` startProfile(%, at = [x, y]) startProfile(sketch001, at = [x, y]) ```
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
// Zoo logo
 | 
						|
 | 
						|
// define a function to draw the ZOO "Z"
 | 
						|
export fn zLogo(surface, origin, scale) {
 | 
						|
  zSketch = surface
 | 
						|
    |> startProfile(at = [
 | 
						|
         0 + origin[0],
 | 
						|
         0.15 * scale + origin[1]
 | 
						|
       ])
 | 
						|
    |> yLine(length = -0.15 * scale)
 | 
						|
    |> xLine(length = 0.15 * scale)
 | 
						|
    |> angledLine(angle = 47.15, endAbsoluteX = 0.3 * scale + origin[0], tag = $seg1)
 | 
						|
    |> yLine(endAbsolute = 0 + origin[1], tag = $seg3)
 | 
						|
    |> xLine(length = 0.63 * scale)
 | 
						|
    |> yLine(length = 0.225 * scale)
 | 
						|
    |> xLine(length = -0.57 * scale)
 | 
						|
    |> angledLine(angle = 47.15, endAbsoluteX = 0.93 * scale + origin[0])
 | 
						|
    |> yLine(length = 0.15 * scale)
 | 
						|
    |> xLine(length = -0.15 * scale)
 | 
						|
    |> angledLine(angle = 47.15, length = -segLen(seg1), tag = $seg2)
 | 
						|
    |> yLine(length = segLen(seg3))
 | 
						|
    |> xLine(endAbsolute = 0 + origin[0])
 | 
						|
    |> yLine(length = -0.225 * scale)
 | 
						|
    |> angledLineThatIntersects(angle = 0, intersectTag = seg2, offset = 0)
 | 
						|
    |> close()
 | 
						|
  return zSketch
 | 
						|
}
 | 
						|
 | 
						|
// define a function to draw the ZOO "O"
 | 
						|
export fn oLogo(surface, origin, scale) {
 | 
						|
  oSketch001 = surface
 | 
						|
    |> startProfile(at = [
 | 
						|
         .788 * scale + origin[0],
 | 
						|
         .921 * scale + origin[1]
 | 
						|
       ])
 | 
						|
    |> arc(angleStart = 47.15 + 6, angleEnd = 47.15 - 6 + 180, radius = .525 * scale)
 | 
						|
    |> angledLine(angle = 47.15, length = .24 * scale)
 | 
						|
    |> arc(angleStart = 47.15 - 11 + 180, angleEnd = 47.15 + 11, radius = .288 * scale)
 | 
						|
    |> close()
 | 
						|
  return oSketch001
 | 
						|
}
 | 
						|
 | 
						|
export fn oLogo2(surface, origin, scale) {
 | 
						|
  oSketch002 = surface
 | 
						|
    |> startProfile(at = [
 | 
						|
         .16 * scale + origin[0],
 | 
						|
         .079 * scale + origin[1]
 | 
						|
       ])
 | 
						|
    |> arc(angleStart = 47.15 + 6 - 180, angleEnd = 47.15 - 6, radius = .525 * scale)
 | 
						|
    |> angledLine(angle = 47.15, length = -.24 * scale)
 | 
						|
    |> arc(angleStart = 47.15 - 11, angleEnd = 47.15 + 11 - 180, radius = .288 * scale)
 | 
						|
    |> close()
 | 
						|
  return oSketch002
 | 
						|
}
 |