59 lines
		
	
	
		
			84 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			84 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
title: "segStart"
 | 
						|
excerpt: "Compute the starting point of the provided line segment."
 | 
						|
layout: manual
 | 
						|
---
 | 
						|
 | 
						|
Compute the starting point of the provided line segment.
 | 
						|
 | 
						|
 | 
						|
 | 
						|
```js
 | 
						|
segStart(tag: TagIdentifier) -> [number]
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
### Arguments
 | 
						|
 | 
						|
| Name | Type | Description | Required |
 | 
						|
|----------|------|-------------|----------|
 | 
						|
| `tag` | [`TagIdentifier`](/docs/kcl/types#tag-identifier) |  | Yes |
 | 
						|
 | 
						|
### Returns
 | 
						|
 | 
						|
`[number]` 
 | 
						|
 | 
						|
 | 
						|
### Examples
 | 
						|
 | 
						|
```js
 | 
						|
w = 15
 | 
						|
cube = startSketchOn('XY')
 | 
						|
  |> startProfileAt([0, 0], %)
 | 
						|
  |> line(end = [w, 0], tag = $line1)
 | 
						|
  |> line(end = [0, w], tag = $line2)
 | 
						|
  |> line(end = [-w, 0], tag = $line3)
 | 
						|
  |> line(end = [0, -w], tag = $line4)
 | 
						|
  |> close()
 | 
						|
  |> extrude(length = 5)
 | 
						|
 | 
						|
fn cylinder(radius, tag) {
 | 
						|
  return startSketchOn('XY')
 | 
						|
    |> startProfileAt([0, 0], %)
 | 
						|
    |> circle({
 | 
						|
         radius = radius,
 | 
						|
         center = segStart(tag)
 | 
						|
       }, %)
 | 
						|
    |> extrude(length = radius)
 | 
						|
}
 | 
						|
 | 
						|
cylinder(1, line1)
 | 
						|
cylinder(2, line2)
 | 
						|
cylinder(3, line3)
 | 
						|
cylinder(4, line4)
 | 
						|
```
 | 
						|
 | 
						|

 | 
						|
 | 
						|
 |