* make everything in engine a rwlock and cleanup repetitive code 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> * 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> * docs Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com>
		
			
				
	
	
		
			45 lines
		
	
	
		
			78 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			78 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
title: "profileStart"
 | 
						|
excerpt: "Extract the provided 2-dimensional sketch's profile's origin"
 | 
						|
layout: manual
 | 
						|
---
 | 
						|
 | 
						|
Extract the provided 2-dimensional sketch's profile's origin
 | 
						|
 | 
						|
value.
 | 
						|
 | 
						|
```js
 | 
						|
profileStart(sketch: Sketch) -> [number]
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
### Arguments
 | 
						|
 | 
						|
| Name | Type | Description | Required |
 | 
						|
|----------|------|-------------|----------|
 | 
						|
| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes |
 | 
						|
 | 
						|
### Returns
 | 
						|
 | 
						|
`[number]` 
 | 
						|
 | 
						|
 | 
						|
### Examples
 | 
						|
 | 
						|
```js
 | 
						|
sketch001 = startSketchOn('XY')
 | 
						|
  |> startProfileAt([5, 2], %)
 | 
						|
  |> angledLine({ angle = 120, length = 50 }, %, $seg01)
 | 
						|
  |> angledLine({
 | 
						|
       angle = segAng(seg01) + 120,
 | 
						|
       length = 50
 | 
						|
     }, %)
 | 
						|
  |> line(end = profileStart(%))
 | 
						|
  |> close()
 | 
						|
  |> extrude(length = 20)
 | 
						|
```
 | 
						|
 | 
						|

 | 
						|
 | 
						|
 |