Colours in exports from materials and appearances; Appearance command
- Bodies export (STEP, 3MF) in the colour they are shown in: an appearance,
else the physical material's look, else the colour the body was imported
with (Document::body_color / painted). Physical materials used to export
no colour at all.
- AppearanceCommand (Modify): a colour per body ("#rrggbb" or [r, g, b];
null follows the material again), kept in the design and across renames.
- Material looks move to solvecraft-doc (material_color); the viewport draws
appearance, material or imported colour, as exported.
- Engine test: brass and red ABS bodies export, re-import with their RGB, and
keep it through open and export again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
This commit is contained in:
1 parent
578b35e88a
commit
ae4570ed39
8 files changed
+200
-86
No files matched your search
@@ -262,22 +262,7 @@ impl Tokens {
|
||||
|
||||
/// How a physical material looks (the default appearance follows the material).
|
||||
pub fn material_color(name: &str) -> Option<Color32> {
|
||||
Some(match name {
|
||||
"Steel" => Color32::from_rgb(158, 164, 172),
|
||||
"Stainless Steel" => Color32::from_rgb(186, 191, 198),
|
||||
"Aluminum" => Color32::from_rgb(204, 208, 214),
|
||||
"Brass" => Color32::from_rgb(208, 172, 88),
|
||||
"Copper" => Color32::from_rgb(204, 122, 80),
|
||||
"Titanium" => Color32::from_rgb(150, 148, 158),
|
||||
"Cast Iron" => Color32::from_rgb(104, 104, 110),
|
||||
"ABS Plastic" => Color32::from_rgb(222, 222, 216),
|
||||
"PLA" => Color32::from_rgb(110, 160, 222),
|
||||
"Nylon" => Color32::from_rgb(236, 230, 214),
|
||||
"Polycarbonate" => Color32::from_rgb(196, 216, 232),
|
||||
"Oak" => Color32::from_rgb(190, 146, 92),
|
||||
"Glass" => Color32::from_rgb(170, 208, 218),
|
||||
_ => return None,
|
||||
})
|
||||
solvecraft_engine::doc::material_color(name).map(|[r, g, b]| Color32::from_rgb(r, g, b))
|
||||
}
|
||||
|
||||
/// Switch themes (the visuals follow on the next [`apply`]).
|
||||
|
||||
Reference in new issue
Block a user