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(
solids: [Solid],
color: String,
metalness?: number,
roughness?: number,
): [Solid]
Arguments
Name | Type | Description | Required |
---|---|---|---|
solids | [Solid] | The solid(s) whose appearance is being set | Yes |
color | String | Color of the new material, a hex string like '#ff0000' | Yes |
metalness | number | Metalness of the new material, a percentage like 95.7. | No |
roughness | number | Roughness of the new material, a percentage like 95.7. | No |
Returns
Examples
// Add color to an extruded solid.
exampleSketch = startSketchOn(XZ)
|> startProfileAt([0, 0], %)
|> line(endAbsolute = [10, 0])
|> line(endAbsolute = [0, 10])
|> line(endAbsolute = [-10, 0])
|> close()
example = extrude(exampleSketch, length = 5)
// There are other options besides 'color', but they're optional.
|> appearance(color = '#ff0000')
// 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], %)
|> line(endAbsolute = [center[0] + 10, center[1] - 10])
|> line(endAbsolute = [center[0] + 10, center[1] + 10])
|> line(endAbsolute = [center[0] - 10, center[1] + 10])
|> close()
|> extrude(length = 10)
}
example0 = cube([0, 0])
example1 = cube([20, 0])
example2 = cube([40, 0])
appearance(
[example0, example1],
color = '#ff0000',
metalness = 50,
roughness = 50,
)
appearance(
example2,
color = '#00ff00',
metalness = 50,
roughness = 50,
)
// 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(end = [24, 0])
|> line(end = [0, -24])
|> line(end = [-24, 0])
|> close()
|> extrude(length = 6)
shell(firstSketch, faces = ['end'], thickness = 0.25)
|> 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(end = [24, 0])
|> line(end = [0, -24])
|> line(end = [-24, 0])
|> close()
|> extrude(length = 6)
|> appearance(color = '#ff0000', metalness = 90, roughness = 90)
shell(firstSketch, faces = ['end'], thickness = 0.25)
// 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(end = [0, 2])
|> line(end = [3, 1])
|> line(end = [0, -4])
|> close()
example = extrude(exampleSketch, length = 1)
|> 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(end = [0, 2])
|> line(end = [3, 1])
|> line(end = [0, -4])
|> close()
example = extrude(exampleSketch, length = 1)
|> 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(end = [0, 5])
|> line(end = [-1, 0])
|> line(end = [0, -5])
|> close()
|> patternCircular2d(
center = [0, 0],
instances = 13,
arcDegrees = 360,
rotateDuplicates = true,
)
example = extrude(exampleSketch, length = 1)
|> 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(end = [0, 7])
|> tangentialArc({ offset = 90, radius = 5 }, %)
|> line(end = [-3, 0])
|> tangentialArc({ offset = -90, radius = 5 }, %)
|> line(end = [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)