Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions content/pages/docs/kcl-std/consts/std-sketch2-fixed.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ Constrain a point to be fixed to a position.
sketch2::fixed
```

`fixed()` is an alias for `coincident()`. By convention, `fixed()` is used when one of the points is a known location, not solved with constraints and not another point in the sketch.

See [coincident()](/docs/kcl-std/functions/std-sketch2-coincident) for more info.


2 changes: 1 addition & 1 deletion content/pages/docs/kcl-std/functions/std-gdt-datum.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ gdt::datum(

### Returns

[`GdtAnnotation`](/docs/kcl-std/types/std-types-GdtAnnotation) - A GD&T annotation.
[`GdtAnnotation`](/docs/kcl-std/types/std-types-GdtAnnotation) - A GD&T annotation created by one of the [`gdt` functions](/docs/kcl-std/modules/std-gdt).


### Examples
Expand Down
2 changes: 1 addition & 1 deletion content/pages/docs/kcl-std/functions/std-helix.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ helix(

### Returns

[`Helix`](/docs/kcl-std/types/std-types-Helix) - A helix; created by the `helix` function.
[`Helix`](/docs/kcl-std/types/std-types-Helix) - A helix.


### Examples
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,67 @@ getBoundedEdge(
[`BoundedEdge`](/docs/kcl-std/types/std-types-BoundedEdge) - A [bounded edge](/docs/kcl-std/functions/std-sketch-getBoundedEdge) of a solid.


### Examples

```kcl
@settings(experimentalFeatures = allow)

sketch001 = sketch(on = YZ) {
line1 = line(start = [var 4.1mm, var -0.1mm], end = [var 5.5mm, var 0mm])
line2 = line(start = [var 5.5mm, var 0mm], end = [var 5.5mm, var 3mm])
line3 = line(start = [var 5.5mm, var 3mm], end = [var 3.9mm, var 2.8mm])
line4 = line(start = [var 4.1mm, var 3mm], end = [var 4.5mm, var -0.2mm])
coincident([line1.end, line2.start])
coincident([line2.end, line3.start])
coincident([line3.end, line4.start])
coincident([line4.end, line1.start])
}

sketch002 = sketch(on = -XZ) {
line5 = line(start = [var -5.3mm, var -0.1mm], end = [var -3.5mm, var -0.1mm])
line6 = line(start = [var -3.5mm, var -0.1mm], end = [var -3.5mm, var 3.1mm])
line7 = line(start = [var -3.5mm, var 4.5mm], end = [var -5.4mm, var 4.5mm])
line8 = line(start = [var -5.3mm, var 3.1mm], end = [var -5.3mm, var -0.1mm])
coincident([line5.end, line6.start])
coincident([line6.end, line7.start])
coincident([line7.end, line8.start])
coincident([line8.end, line5.start])
}

region001 = region(point = [-4.4mm, 2mm], sketch = sketch002)
extrude001 = extrude(region001, length = -2mm, bodyType = SURFACE)
region002 = region(point = [4.8mm, 1.5mm], sketch = sketch001)
extrude002 = extrude(region002, length = -2mm, bodyType = SURFACE)

boundedEdge1 = getBoundedEdge(
extrude001,
edge = extrude001.sketch.tags.line7,
lowerBound = 0.1,
upperBound = 0.9,
)
boundedEdge2 = getBoundedEdge(
extrude002,
edge = extrude002.sketch.tags.line3,
lowerBound = 0.4,
upperBound = 0.6,
)

blend([boundedEdge1, boundedEdge2])

```


<model-viewer
class="kcl-example"
alt="Example showing a rendered KCL program that uses the getBoundedEdge function"
src="/kcl-test-outputs/models/serial_test_example_fn_std-sketch-getBoundedEdge0_output.gltf"
ar
environment-image="/moon_1k.hdr"
poster="/kcl-test-outputs/serial_test_example_fn_std-sketch-getBoundedEdge0.png"
shadow-intensity="1"
camera-controls
touch-action="pan-y"
>
</model-viewer>


46 changes: 46 additions & 0 deletions content/pages/docs/kcl-std/functions/std-sketch-loft.md
Original file line number Diff line number Diff line change
Expand Up @@ -243,4 +243,50 @@ loft([profile001, profile002, profile003], bodyType = SURFACE)
>
</model-viewer>

```kcl
@settings(experimentalFeatures = allow)

lowerProfile = sketch(on = XY) {
edge1 = line(start = [var 0mm, var 0mm], end = [var 6mm, var 0mm])
edge2 = line(start = [var 6mm, var 0mm], end = [var 6mm, var 4mm])
edge3 = line(start = [var 6mm, var 4mm], end = [var 0mm, var 4mm])
edge4 = line(start = [var 0mm, var 4mm], end = [var 0mm, var 0mm])
coincident([edge1.end, edge2.start])
coincident([edge2.end, edge3.start])
coincident([edge3.end, edge4.start])
coincident([edge4.end, edge1.start])
}

upperProfile = sketch(on = offsetPlane(XY, offset = 8mm)) {
edge5 = line(start = [var 1.6mm, var 1mm], end = [var 4.4mm, var 1mm])
edge6 = line(start = [var 4.4mm, var 1mm], end = [var 3.2mm, var 2.6mm])
edge7 = line(start = [var 3.2mm, var 2.6mm], end = [var 2.8mm, var 2.6mm])
edge8 = line(start = [var 2.8mm, var 2.6mm], end = [var 1.6mm, var 1mm])
coincident([edge5.end, edge6.start])
coincident([edge6.end, edge7.start])
coincident([edge7.end, edge8.start])
coincident([edge8.end, edge5.start])
}

lowerRegion = region(point = [2mm, 2mm], sketch = lowerProfile)
upperRegion = region(point = [3mm, 1.8mm], sketch = upperProfile)

lofted = loft([lowerRegion, upperRegion])

```


<model-viewer
class="kcl-example"
alt="Example showing a rendered KCL program that uses the loft function"
src="/kcl-test-outputs/models/serial_test_example_fn_std-sketch-loft5_output.gltf"
ar
environment-image="/moon_1k.hdr"
poster="/kcl-test-outputs/serial_test_example_fn_std-sketch-loft5.png"
shadow-intensity="1"
camera-controls
touch-action="pan-y"
>
</model-viewer>


2 changes: 1 addition & 1 deletion content/pages/docs/kcl-std/functions/std-sketch2-arc.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ sketch2::arc(

### Returns

[`Segment`](/docs/kcl-std/types/std-types-Segment) - A segment of a path in a sketch. It may be a line, arc, or other segment type.
[`Segment`](/docs/kcl-std/types/std-types-Segment) - A segment in a sketch created in a sketch block. It may be a line, arc, point, or other segment type.


### Examples
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ sketch2::circle(

### Returns

[`Segment`](/docs/kcl-std/types/std-types-Segment) - A segment of a path in a sketch. It may be a line, arc, or other segment type.
[`Segment`](/docs/kcl-std/types/std-types-Segment) - A segment in a sketch created in a sketch block. It may be a line, arc, point, or other segment type.


### Examples
Expand Down
2 changes: 1 addition & 1 deletion content/pages/docs/kcl-std/functions/std-sketch2-line.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ sketch2::line(

### Returns

[`Segment`](/docs/kcl-std/types/std-types-Segment) - A segment of a path in a sketch. It may be a line, arc, or other segment type.
[`Segment`](/docs/kcl-std/types/std-types-Segment) - A segment in a sketch created in a sketch block. It may be a line, arc, point, or other segment type.


### Examples
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ sketch2::point(at: Point2d): Segment

### Returns

[`Segment`](/docs/kcl-std/types/std-types-Segment) - A segment of a path in a sketch. It may be a line, arc, or other segment type.
[`Segment`](/docs/kcl-std/types/std-types-Segment) - A segment in a sketch created in a sketch block. It may be a line, arc, point, or other segment type.


### Examples
Expand Down
51 changes: 51 additions & 0 deletions content/pages/docs/kcl-std/functions/std-solid-blend.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,4 +99,55 @@ blend([
>
</model-viewer>
```kcl
@settings(experimentalFeatures = allow)
sketch001 = sketch(on = YZ) {
line1 = line(start = [var 4.1mm, var -0.1mm], end = [var 5.5mm, var 0mm])
line2 = line(start = [var 5.5mm, var 0mm], end = [var 5.5mm, var 3mm])
line3 = line(start = [var 5.5mm, var 3mm], end = [var 3.9mm, var 2.8mm])
line4 = line(start = [var 4.1mm, var 3mm], end = [var 4.5mm, var -0.2mm])
coincident([line1.end, line2.start])
coincident([line2.end, line3.start])
coincident([line3.end, line4.start])
coincident([line4.end, line1.start])
}
sketch002 = sketch(on = -XZ) {
line5 = line(start = [var -5.3mm, var -0.1mm], end = [var -3.5mm, var -0.1mm])
line6 = line(start = [var -3.5mm, var -0.1mm], end = [var -3.5mm, var 3.1mm])
line7 = line(start = [var -3.5mm, var 4.5mm], end = [var -5.4mm, var 4.5mm])
line8 = line(start = [var -5.3mm, var 3.1mm], end = [var -5.3mm, var -0.1mm])
coincident([line5.end, line6.start])
coincident([line6.end, line7.start])
coincident([line7.end, line8.start])
coincident([line8.end, line5.start])
}
region001 = region(point = [-4.4mm, 2mm], sketch = sketch002)
extrude001 = extrude(region001, length = -2mm, bodyType = SURFACE)
region002 = region(point = [4.8mm, 1.5mm], sketch = sketch001)
extrude002 = extrude(region002, length = -2mm, bodyType = SURFACE)
myBlend = blend([
extrude001.sketch.tags.line7,
extrude002.sketch.tags.line3
])
```


<model-viewer
class="kcl-example"
alt="Example showing a rendered KCL program that uses the blend function"
src="/kcl-test-outputs/models/serial_test_example_fn_std-solid-blend2_output.gltf"
ar
environment-image="/moon_1k.hdr"
poster="/kcl-test-outputs/serial_test_example_fn_std-solid-blend2.png"
shadow-intensity="1"
camera-controls
touch-action="pan-y"
>
</model-viewer>

13 changes: 13 additions & 0 deletions content/pages/docs/kcl-std/types/std-types-Axis2d.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,20 @@ layout: manual

An abstract and infinite line in 2d space.

The `X`, `Y`, and `Z` axes are defined in the standard library. You can define custom axes by using an object with origin and direction properties.

The 2D version of the X axis could be defined like:

```js
xAxis2d = {
origin = [0, 0],
direction = [1, 0],
}
```

The number components of the origin and direction must be usable as lengths.

A 3D axis can be used in contexts that require a 2D axis. The Z component is ignored.



13 changes: 13 additions & 0 deletions content/pages/docs/kcl-std/types/std-types-Axis3d.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,20 @@ layout: manual

An abstract and infinite line in 3d space.

The `X`, `Y`, and `Z` axes are defined in the standard library. You can define custom axes by using an object with origin and direction properties.

The 3D X axis is defined similar to the following:

```js
xAxis = {
origin = [0, 0, 0],
direction = [1, 0, 0],
}
```

The number components of the origin and direction must be usable as lengths.

A 3D axis can be used in contexts that require a 2D axis. The Z component is ignored.



4 changes: 2 additions & 2 deletions content/pages/docs/kcl-std/types/std-types-GdtAnnotation.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: "GdtAnnotation"
subtitle: "Type in std::types"
excerpt: "A GD&T annotation."
excerpt: "A GD&T annotation created by one of the [`gdt` functions](/docs/kcl-std/modules/std-gdt)."
layout: manual
---

**WARNING:** This type is experimental and may change or be removed.

A GD&T annotation.
A GD&T annotation created by one of the [`gdt` functions](/docs/kcl-std/modules/std-gdt).



Expand Down
6 changes: 3 additions & 3 deletions content/pages/docs/kcl-std/types/std-types-Helix.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: "Helix"
subtitle: "Type in std::types"
excerpt: "A helix; created by the `helix` function."
excerpt: "A helix."
layout: manual
---

A helix; created by the `helix` function.

A helix.

A helix can be created by the [`helix` function](/docs/kcl-std/functions/std-helix).



6 changes: 3 additions & 3 deletions content/pages/docs/kcl-std/types/std-types-Segment.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
---
title: "Segment"
subtitle: "Type in std::types"
excerpt: "A segment of a path in a sketch. It may be a line, arc, or other segment type."
excerpt: "A segment in a sketch created in a sketch block. It may be a line, arc, point, or other segment type."
layout: manual
---

**WARNING:** This type is experimental and may change or be removed.

A segment of a path in a sketch. It may be a line, arc, or other segment type.

A segment in a sketch created in a sketch block. It may be a line, arc, point, or other segment type.

See the [sketch2 module](/docs/kcl-std/modules/std-sketch2) for functions that create segments and the [region function](/docs/kcl-std/functions/std-sketch2-region) for examples using segments to create a region that can be extruded.



Loading