kcl →
appearance
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.
appearance(data: AppearanceData, solid_set: SolidSet) -> SolidSet
Arguments
Name | Type | Description | Required |
---|---|---|---|
data | AppearanceData | Data for appearance. | Yes |
solid_set | SolidSet | A solid or a group of solids. | Yes |
Returns
SolidSet
- A solid or a group of solids.
Examples
// 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
}, %)
// Add color to a revolved solid.
sketch001 = startSketchOn('XY')
|> circle({ center = [15, 0], radius = 5 }, %)
|> revolve({ angle = 360, axis = 'y' }, %)
|> appearance({
color = '#ff0000',
metalness = 90,
roughness = 90
}, %)
// Add color to different solids.
fn cube(center) {
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)
// You can set the appearance before or after you shell it will yield the same result.
// This example shows setting the appearance _after_ the shell.
firstSketch = startSketchOn('XY')
|> 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
}, %)
// You can set the appearance before or after you shell it will yield the same result.
// This example shows setting the appearance _before_ the shell.
firstSketch = startSketchOn('XY')
|> 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)
// Setting the appearance of a 3D pattern can be done _before_ or _after_ the pattern.
// This example shows _before_ the pattern.
exampleSketch = startSketchOn('XZ')
|> 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
}, %)
// Setting the appearance of a 3D pattern can be done _before_ or _after_ the pattern.
// This example shows _after_ the pattern.
exampleSketch = startSketchOn('XZ')
|> 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
}, %)
// Color the result of a 2D pattern that was extruded.
exampleSketch = startSketchOn('XZ')
|> 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
}, %)
// Color the result of a sweep.
// Create a path for the sweep.
sweepPath = startSketchOn('XZ')
|> startProfileAt([0.05, 0.05], %)
|> line([0, 7], %)
|> tangentialArc({ offset = 90, radius = 5 }, %)
|> line([-3, 0], %)
|> tangentialArc({ offset = -90, radius = 5 }, %)
|> line([0, 7], %)
pipeHole = startSketchOn('XY')
|> circle({ center = [0, 0], radius = 1.5 }, %)
sweepSketch = startSketchOn('XY')
|> circle({ center = [0, 0], radius = 2 }, %)
|> hole(pipeHole, %)
|> sweep({ path = sweepPath }, %)
|> appearance({
color = "#ff0000",
metalness = 50,
roughness = 50
}, %)