| 
									
										
										
										
											2024-03-13 14:22:22 -07:00
										 |  |  | --- | 
					
						
							|  |  |  | title: "KCL Standard Library" | 
					
						
							|  |  |  | excerpt: "Documentation for the KCL standard library for the Zoo Modeling App." | 
					
						
							|  |  |  | layout: manual | 
					
						
							|  |  |  | --- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Table of Contents
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-02-27 09:34:55 +13:00
										 |  |  | ### Language
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * [`Types`](kcl/types) | 
					
						
							|  |  |  | * [`Modules`](kcl/modules) | 
					
						
							|  |  |  | * [`Settings`](kcl/settings) | 
					
						
							|  |  |  | * [`Known Issues`](kcl/known-issues) | 
					
						
							| 
									
										
										
										
											2025-03-11 11:44:27 -07:00
										 |  |  | * [`Constants`](kcl/consts) | 
					
						
							| 
									
										
										
										
											2025-02-27 09:34:55 +13:00
										 |  |  | 
 | 
					
						
							|  |  |  | ### Standard library
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-08 03:53:34 +13:00
										 |  |  | * **Primitive types** | 
					
						
							| 
									
										
										
										
											2025-03-11 11:44:27 -07:00
										 |  |  |   * [`bool`](kcl/types/bool) | 
					
						
							|  |  |  |   * [`number`](kcl/types/number) | 
					
						
							|  |  |  |   * [`string`](kcl/types/string) | 
					
						
							|  |  |  |   * [`tag`](kcl/types/tag) | 
					
						
							| 
									
										
										
										
											2025-03-08 03:53:34 +13:00
										 |  |  | * **std** | 
					
						
							| 
									
										
										
										
											2025-03-21 10:56:55 +13:00
										 |  |  |   * [`Face`](kcl/types/Face) | 
					
						
							|  |  |  |   * [`Helix`](kcl/types/Helix) | 
					
						
							| 
									
										
										
										
											2025-03-11 11:44:27 -07:00
										 |  |  |   * [`Plane`](kcl/types/Plane) | 
					
						
							| 
									
										
										
										
											2025-03-21 10:56:55 +13:00
										 |  |  |   * [`Point2d`](kcl/types/Point2d) | 
					
						
							|  |  |  |   * [`Point3d`](kcl/types/Point3d) | 
					
						
							| 
									
										
										
										
											2025-03-11 11:44:27 -07:00
										 |  |  |   * [`Sketch`](kcl/types/Sketch) | 
					
						
							|  |  |  |   * [`Solid`](kcl/types/Solid) | 
					
						
							|  |  |  |   * [`XY`](kcl/consts/std-XY) | 
					
						
							|  |  |  |   * [`XZ`](kcl/consts/std-XZ) | 
					
						
							|  |  |  |   * [`YZ`](kcl/consts/std-YZ) | 
					
						
							| 
									
										
										
										
											2025-02-20 19:33:21 +13:00
										 |  |  |   * [`abs`](kcl/abs) | 
					
						
							|  |  |  |   * [`acos`](kcl/acos) | 
					
						
							|  |  |  |   * [`angleToMatchLengthX`](kcl/angleToMatchLengthX) | 
					
						
							|  |  |  |   * [`angleToMatchLengthY`](kcl/angleToMatchLengthY) | 
					
						
							|  |  |  |   * [`angledLine`](kcl/angledLine) | 
					
						
							|  |  |  |   * [`angledLineOfXLength`](kcl/angledLineOfXLength) | 
					
						
							|  |  |  |   * [`angledLineOfYLength`](kcl/angledLineOfYLength) | 
					
						
							|  |  |  |   * [`angledLineThatIntersects`](kcl/angledLineThatIntersects) | 
					
						
							|  |  |  |   * [`angledLineToX`](kcl/angledLineToX) | 
					
						
							|  |  |  |   * [`angledLineToY`](kcl/angledLineToY) | 
					
						
							|  |  |  |   * [`appearance`](kcl/appearance) | 
					
						
							|  |  |  |   * [`arc`](kcl/arc) | 
					
						
							|  |  |  |   * [`arcTo`](kcl/arcTo) | 
					
						
							|  |  |  |   * [`asin`](kcl/asin) | 
					
						
							|  |  |  |   * [`assert`](kcl/assert) | 
					
						
							|  |  |  |   * [`assertEqual`](kcl/assertEqual) | 
					
						
							|  |  |  |   * [`assertGreaterThan`](kcl/assertGreaterThan) | 
					
						
							|  |  |  |   * [`assertGreaterThanOrEq`](kcl/assertGreaterThanOrEq) | 
					
						
							|  |  |  |   * [`assertLessThan`](kcl/assertLessThan) | 
					
						
							|  |  |  |   * [`assertLessThanOrEq`](kcl/assertLessThanOrEq) | 
					
						
							|  |  |  |   * [`atan`](kcl/atan) | 
					
						
							|  |  |  |   * [`atan2`](kcl/atan2) | 
					
						
							|  |  |  |   * [`bezierCurve`](kcl/bezierCurve) | 
					
						
							|  |  |  |   * [`ceil`](kcl/ceil) | 
					
						
							|  |  |  |   * [`chamfer`](kcl/chamfer) | 
					
						
							|  |  |  |   * [`circleThreePoint`](kcl/circleThreePoint) | 
					
						
							|  |  |  |   * [`close`](kcl/close) | 
					
						
							|  |  |  |   * [`cm`](kcl/cm) | 
					
						
							|  |  |  |   * [`extrude`](kcl/extrude) | 
					
						
							|  |  |  |   * [`fillet`](kcl/fillet) | 
					
						
							|  |  |  |   * [`floor`](kcl/floor) | 
					
						
							|  |  |  |   * [`ft`](kcl/ft) | 
					
						
							| 
									
										
										
										
											2025-03-19 15:12:27 -07:00
										 |  |  |   * [`getCommonEdge`](kcl/getCommonEdge) | 
					
						
							| 
									
										
										
										
											2025-02-20 19:33:21 +13:00
										 |  |  |   * [`getNextAdjacentEdge`](kcl/getNextAdjacentEdge) | 
					
						
							|  |  |  |   * [`getOppositeEdge`](kcl/getOppositeEdge) | 
					
						
							|  |  |  |   * [`getPreviousAdjacentEdge`](kcl/getPreviousAdjacentEdge) | 
					
						
							|  |  |  |   * [`helix`](kcl/helix) | 
					
						
							|  |  |  |   * [`hole`](kcl/hole) | 
					
						
							|  |  |  |   * [`hollow`](kcl/hollow) | 
					
						
							|  |  |  |   * [`inch`](kcl/inch) | 
					
						
							|  |  |  |   * [`lastSegX`](kcl/lastSegX) | 
					
						
							|  |  |  |   * [`lastSegY`](kcl/lastSegY) | 
					
						
							|  |  |  |   * [`legAngX`](kcl/legAngX) | 
					
						
							|  |  |  |   * [`legAngY`](kcl/legAngY) | 
					
						
							|  |  |  |   * [`legLen`](kcl/legLen) | 
					
						
							|  |  |  |   * [`line`](kcl/line) | 
					
						
							|  |  |  |   * [`ln`](kcl/ln) | 
					
						
							|  |  |  |   * [`loft`](kcl/loft) | 
					
						
							|  |  |  |   * [`log`](kcl/log) | 
					
						
							|  |  |  |   * [`log10`](kcl/log10) | 
					
						
							|  |  |  |   * [`log2`](kcl/log2) | 
					
						
							|  |  |  |   * [`m`](kcl/m) | 
					
						
							|  |  |  |   * [`map`](kcl/map) | 
					
						
							|  |  |  |   * [`max`](kcl/max) | 
					
						
							|  |  |  |   * [`min`](kcl/min) | 
					
						
							|  |  |  |   * [`mirror2d`](kcl/mirror2d) | 
					
						
							|  |  |  |   * [`mm`](kcl/mm) | 
					
						
							|  |  |  |   * [`offsetPlane`](kcl/offsetPlane) | 
					
						
							|  |  |  |   * [`patternCircular2d`](kcl/patternCircular2d) | 
					
						
							|  |  |  |   * [`patternCircular3d`](kcl/patternCircular3d) | 
					
						
							|  |  |  |   * [`patternLinear2d`](kcl/patternLinear2d) | 
					
						
							|  |  |  |   * [`patternLinear3d`](kcl/patternLinear3d) | 
					
						
							|  |  |  |   * [`patternTransform`](kcl/patternTransform) | 
					
						
							|  |  |  |   * [`patternTransform2d`](kcl/patternTransform2d) | 
					
						
							|  |  |  |   * [`polar`](kcl/polar) | 
					
						
							|  |  |  |   * [`polygon`](kcl/polygon) | 
					
						
							|  |  |  |   * [`pop`](kcl/pop) | 
					
						
							|  |  |  |   * [`pow`](kcl/pow) | 
					
						
							|  |  |  |   * [`profileStart`](kcl/profileStart) | 
					
						
							|  |  |  |   * [`profileStartX`](kcl/profileStartX) | 
					
						
							|  |  |  |   * [`profileStartY`](kcl/profileStartY) | 
					
						
							|  |  |  |   * [`push`](kcl/push) | 
					
						
							|  |  |  |   * [`reduce`](kcl/reduce) | 
					
						
							|  |  |  |   * [`rem`](kcl/rem) | 
					
						
							|  |  |  |   * [`revolve`](kcl/revolve) | 
					
						
							| 
									
										
										
										
											2025-02-26 16:45:19 -08:00
										 |  |  |   * [`rotate`](kcl/rotate) | 
					
						
							| 
									
										
										
										
											2025-02-20 19:33:21 +13:00
										 |  |  |   * [`round`](kcl/round) | 
					
						
							| 
									
										
										
										
											2025-02-26 16:45:19 -08:00
										 |  |  |   * [`scale`](kcl/scale) | 
					
						
							| 
									
										
										
										
											2025-02-20 19:33:21 +13:00
										 |  |  |   * [`segAng`](kcl/segAng) | 
					
						
							|  |  |  |   * [`segEnd`](kcl/segEnd) | 
					
						
							|  |  |  |   * [`segEndX`](kcl/segEndX) | 
					
						
							|  |  |  |   * [`segEndY`](kcl/segEndY) | 
					
						
							|  |  |  |   * [`segLen`](kcl/segLen) | 
					
						
							|  |  |  |   * [`segStart`](kcl/segStart) | 
					
						
							|  |  |  |   * [`segStartX`](kcl/segStartX) | 
					
						
							|  |  |  |   * [`segStartY`](kcl/segStartY) | 
					
						
							|  |  |  |   * [`shell`](kcl/shell) | 
					
						
							|  |  |  |   * [`sqrt`](kcl/sqrt) | 
					
						
							|  |  |  |   * [`startProfileAt`](kcl/startProfileAt) | 
					
						
							|  |  |  |   * [`startSketchOn`](kcl/startSketchOn) | 
					
						
							|  |  |  |   * [`sweep`](kcl/sweep) | 
					
						
							|  |  |  |   * [`tangentToEnd`](kcl/tangentToEnd) | 
					
						
							|  |  |  |   * [`tangentialArc`](kcl/tangentialArc) | 
					
						
							|  |  |  |   * [`tangentialArcTo`](kcl/tangentialArcTo) | 
					
						
							|  |  |  |   * [`tangentialArcToRelative`](kcl/tangentialArcToRelative) | 
					
						
							|  |  |  |   * [`toDegrees`](kcl/toDegrees) | 
					
						
							|  |  |  |   * [`toRadians`](kcl/toRadians) | 
					
						
							| 
									
										
										
										
											2025-02-26 16:45:19 -08:00
										 |  |  |   * [`translate`](kcl/translate) | 
					
						
							| 
									
										
										
										
											2025-02-20 19:33:21 +13:00
										 |  |  |   * [`xLine`](kcl/xLine) | 
					
						
							|  |  |  |   * [`yLine`](kcl/yLine) | 
					
						
							|  |  |  |   * [`yd`](kcl/yd) | 
					
						
							| 
									
										
										
										
											2025-03-08 03:53:34 +13:00
										 |  |  | * **std::math** | 
					
						
							| 
									
										
										
										
											2025-03-11 11:44:27 -07:00
										 |  |  |   * [`E`](kcl/consts/std-math-E) | 
					
						
							|  |  |  |   * [`PI`](kcl/consts/std-math-PI) | 
					
						
							|  |  |  |   * [`TAU`](kcl/consts/std-math-TAU) | 
					
						
							| 
									
										
										
										
											2025-02-20 19:33:21 +13:00
										 |  |  |   * [`cos`](kcl/std-math-cos) | 
					
						
							|  |  |  |   * [`sin`](kcl/std-math-sin) | 
					
						
							|  |  |  |   * [`tan`](kcl/std-math-tan) | 
					
						
							| 
									
										
										
										
											2025-03-24 21:55:24 +13:00
										 |  |  | * **std::sketch** | 
					
						
							|  |  |  |   * [`circle`](kcl/std-sketch-circle) | 
					
						
							| 
									
										
										
										
											2025-03-30 11:10:44 +13:00
										 |  |  | * **std::turns** | 
					
						
							|  |  |  |   * [`turns::HALF_TURN`](kcl/consts/std-turns-HALF_TURN) | 
					
						
							|  |  |  |   * [`turns::QUARTER_TURN`](kcl/consts/std-turns-QUARTER_TURN) | 
					
						
							|  |  |  |   * [`turns::THREE_QUARTER_TURN`](kcl/consts/std-turns-THREE_QUARTER_TURN) | 
					
						
							|  |  |  |   * [`turns::ZERO`](kcl/consts/std-turns-ZERO) |