211 lines
642 KiB
Markdown
211 lines
642 KiB
Markdown
![]() |
---
|
||
|
title: "appearance"
|
||
|
excerpt: "Set the appearance of a solid. This only works on solids, not sketches or individual paths."
|
||
|
layout: manual
|
||
|
---
|
||
|
|
||
|
Set the appearance of a solid. This only works on solids, not sketches or individual paths.
|
||
|
|
||
|
This will work on any solid, including extruded solids, revolved solids, and shelled solids.
|
||
|
|
||
|
```js
|
||
|
appearance(data: AppearanceData, solid_set: SolidSet) -> SolidSet
|
||
|
```
|
||
|
|
||
|
|
||
|
### Arguments
|
||
|
|
||
|
| Name | Type | Description | Required |
|
||
|
|----------|------|-------------|----------|
|
||
|
| `data` | [`AppearanceData`](/docs/kcl/types/AppearanceData) | Data for appearance. | Yes |
|
||
|
| `solid_set` | [`SolidSet`](/docs/kcl/types/SolidSet) | A solid or a group of solids. | Yes |
|
||
|
|
||
|
### Returns
|
||
|
|
||
|
[`SolidSet`](/docs/kcl/types/SolidSet) - A solid or a group of solids.
|
||
|
|
||
|
|
||
|
### Examples
|
||
|
|
||
|
```js
|
||
|
// / Add color to an extruded solid.
|
||
|
exampleSketch = startSketchOn("XZ")
|
||
|
|> startProfileAt([0, 0], %)
|
||
|
|> lineTo([10, 0], %)
|
||
|
|> lineTo([0, 10], %)
|
||
|
|> lineTo([-10, 0], %)
|
||
|
|> close(%)
|
||
|
|
||
|
example = extrude(5, exampleSketch)
|
||
|
|> appearance({
|
||
|
color = '#ff0000',
|
||
|
metalness = 50,
|
||
|
roughness = 50
|
||
|
}, %)
|
||
|
```
|
||
|
|
||
|

|
||
|
|> circle({ center = [15, 0], radius = 5 }, %)
|
||
|
|> revolve({ angle = 360, axis = 'y' }, %)
|
||
|
|> appearance({
|
||
|
color = '#ff0000',
|
||
|
metalness = 90,
|
||
|
roughness = 90
|
||
|
}, %)
|
||
|
```
|
||
|
|
||
|
 {
|
||
|
return startSketchOn('XY')
|
||
|
|> startProfileAt([center[0] - 10, center[1] - 10], %)
|
||
|
|> lineTo([center[0] + 10, center[1] - 10], %)
|
||
|
|> lineTo([center[0] + 10, center[1] + 10], %)
|
||
|
|> lineTo([center[0] - 10, center[1] + 10], %)
|
||
|
|> close(%)
|
||
|
|> extrude(10, %)
|
||
|
}
|
||
|
|
||
|
example0 = cube([0, 0])
|
||
|
example1 = cube([20, 0])
|
||
|
example2 = cube([40, 0])
|
||
|
|
||
|
appearance({
|
||
|
color = '#ff0000',
|
||
|
metalness = 50,
|
||
|
roughness = 50
|
||
|
}, [example0, example1])
|
||
|
appearance({
|
||
|
color = '#00ff00',
|
||
|
metalness = 50,
|
||
|
roughness = 50
|
||
|
}, example2)
|
||
|
```
|
||
|
|
||
|

|
||
|
|> startProfileAt([-12, 12], %)
|
||
|
|> line([24, 0], %)
|
||
|
|> line([0, -24], %)
|
||
|
|> line([-24, 0], %)
|
||
|
|> close(%)
|
||
|
|> extrude(6, %)
|
||
|
|
||
|
shell({ faces = ['end'], thickness = 0.25 }, firstSketch)
|
||
|
|> appearance({
|
||
|
color = '#ff0000',
|
||
|
metalness = 90,
|
||
|
roughness = 90
|
||
|
}, %)
|
||
|
```
|
||
|
|
||
|

|
||
|
|> startProfileAt([-12, 12], %)
|
||
|
|> line([24, 0], %)
|
||
|
|> line([0, -24], %)
|
||
|
|> line([-24, 0], %)
|
||
|
|> close(%)
|
||
|
|> extrude(6, %)
|
||
|
|> appearance({
|
||
|
color = '#ff0000',
|
||
|
metalness = 90,
|
||
|
roughness = 90
|
||
|
}, %)
|
||
|
|
||
|
shell({ faces = ['end'], thickness = 0.25 }, firstSketch)
|
||
|
```
|
||
|
|
||
|

|
||
|
|> startProfileAt([0, 0], %)
|
||
|
|> line([0, 2], %)
|
||
|
|> line([3, 1], %)
|
||
|
|> line([0, -4], %)
|
||
|
|> close(%)
|
||
|
|
||
|
example = extrude(1, exampleSketch)
|
||
|
|> appearance({
|
||
|
color = '#ff0000',
|
||
|
metalness = 90,
|
||
|
roughness = 90
|
||
|
}, %)
|
||
|
|> patternLinear3d({
|
||
|
axis = [1, 0, 1],
|
||
|
instances = 7,
|
||
|
distance = 6
|
||
|
}, %)
|
||
|
```
|
||
|
|
||
|

|
||
|
|> startProfileAt([0, 0], %)
|
||
|
|> line([0, 2], %)
|
||
|
|> line([3, 1], %)
|
||
|
|> line([0, -4], %)
|
||
|
|> close(%)
|
||
|
|
||
|
example = extrude(1, exampleSketch)
|
||
|
|> patternLinear3d({
|
||
|
axis = [1, 0, 1],
|
||
|
instances = 7,
|
||
|
distance = 6
|
||
|
}, %)
|
||
|
|> appearance({
|
||
|
color = '#ff0000',
|
||
|
metalness = 90,
|
||
|
roughness = 90
|
||
|
}, %)
|
||
|
```
|
||
|
|
||
|

|
||
|
|> startProfileAt([.5, 25], %)
|
||
|
|> line([0, 5], %)
|
||
|
|> line([-1, 0], %)
|
||
|
|> line([0, -5], %)
|
||
|
|> close(%)
|
||
|
|> patternCircular2d({
|
||
|
center = [0, 0],
|
||
|
instances = 13,
|
||
|
arcDegrees = 360,
|
||
|
rotateDuplicates = true
|
||
|
}, %)
|
||
|
|
||
|
example = extrude(1, exampleSketch)
|
||
|
|> appearance({
|
||
|
color = '#ff0000',
|
||
|
metalness = 90,
|
||
|
roughness = 90
|
||
|
}, %)
|
||
|
```
|
||
|
|
||
|
![Rendered example of appearance 7](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAYAAADPfd1WAACehklEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1a8+6EEP4qqrrrrqqquuuuqqq6666qqrrrrqqquu+j+JylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/V
|
||
|
|
||
|
|