I've been struggling with appearances a lot. I cannot find out how to have different parts of a fusion with different defined appearance. I can set the appearance of the parts just fine, usually when I fuse them the appearance of the fusion is messed up. But sometimes it works. This state of affairs is the same with v0.18 and v0.19, it just seems the two versions mess them up differently.
Examples:
I have modeled a button switch, to go onto a PCB. The switch's body is black plastic, while the cap is blue in one case and yellow in another case. I fused these just fine. I now have a fused model of a switch that is partially black and partially blue, and another one Black and yellow.
On the other hand I have created a model of an LED, with white satin plastics body (not lit), and metallized leads. When I fused them the leads turned black. Unfusing, I decided on plan B to keep the leads with the default appearance (sort of matte aluminium type grey). When I fuse again, now the LED body also switches to the default appearance. This appears totally unpredictable (the nice way of saying: This is a bug. Software must not behave unpredictably).
If fusion cannot accept different appearances, it should refuse to do the work, and display an error message. Better: Let the user choose which of the
existing appearances are to be applied to the finished object.
So, is there another way to achieve my objective?
Cheers Peter
How to keep appearances in fusions?
Forum rules
and Helpful information
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help
Also, be nice to others! Read the FreeCAD code of conduct!
Also, be nice to others! Read the FreeCAD code of conduct!
How to keep appearances in fusions?
- Attachments
-
- test.FCStd
- (44.16 KiB) Downloaded 41 times
Re: How to keep appearances in fusions?
Is fusion the right thing to use here? I guess the cap and body will be separate pieces of plastic. I would use Fusion in case something will be a single solid piece of material.The switch's body is black plastic, while the cap is blue in one case and yellow in another case. I fused these just fine. I now have a fused model of a switch that is partially black and partially blue, and another one Black and yellow.
I would use the "Part" object instead to group the cap and body I think: https://wiki.freecadweb.org/Std_Part
Cheers
Brutha
Re: How to keep appearances in fusions?
True. However it's not so clear for the LED. It's body is inseparable from the leads. Still could use Std:Part. However, Std:Part does not really solve the problem, as the problem comes right back when I try to create a linked copy (Draft:Clone): The linked copy has all the appearances replaced by the default(*). This is unusable, as I use linked copy a lot.Brutha wrote: ↑Sun Feb 21, 2021 11:49 amIs fusion the right thing to use here? I guess the cap and body will be separate pieces of plastic. I would use Fusion in case something will be a single solid piece of material.The switch's body is black plastic, while the cap is blue in one case and yellow in another case. I fused these just fine. I now have a fused model of a switch that is partially black and partially blue, and another one Black and yellow.
I would use the "Part" object instead to group the cap and body I think: https://wiki.freecadweb.org/Std_Part
Cheers Peter
(*) BTW this is
Version: 0.19.23578 (Git)
Build type: Release
Branch: master
Hash: 50c3cbf00579dc4941ca743c25720d016b0453ce
Python version: 3.8.6
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Re: How to keep appearances in fusions?
not really keeping them, but allowing you full control over the end result.
Re: How to keep appearances in fusions?
Thanks for your suggestion. Unfortunately, this is lacking in even more respects than the Std:Part suggestions above:
1.) Same problem with linked copies (Draft:Clone). The copy does not have the changed colour, and there even is no way to make them have the changed colour, as linked copies do not have accessable internal parts.
2.) Tree structure inconsistency: With the fusion visible (and the contents not) the changed colour is not visible. To make it visible, the fusion must be invisible and the contents made visible. This runs contrary to the whole paradigm of how FreeCAD uses the tree elements.
3.) The colours to be set this way are a poor replacement of the more detailed colour model that appearances implement: No specular effects, for instance, i.e. no way to make metallic surfaces look metallic.
I now have also experimented with Part:Compound. However, it is worse than Std:Part because it seems to remove all the appearance's special colour effects and only keeps the base colour (basically point (3) above). And again linked copies are colourless.
I seem to remember having used appearances in 2016, when I started using FreeCAD. Apparently in five years no developer bothered to fix these issues. Appearances are still useless but for the most basic models. Instead, lots of other new features have been implemented. This is FreeCAD's biggest issue: No developer cares to get the basics right (I'm not specifically referring to appearances, there are lots of more important basics that are broken).
Cheers Peter
- papyblaise
- Veteran
- Posts: 7878
- Joined: Thu Jun 13, 2019 4:28 pm
- Location: France
Re: How to keep appearances in fusions?
this LED is made of a green body and a 1.01 scale bigger cap in red color, but it does a lot of work for each element
I may have bad memory, I think I remember that in "Rendu we could make the skin of a different color than the body, but it is perhaps in another life with another CAD
I may have bad memory, I think I remember that in "Rendu we could make the skin of a different color than the body, but it is perhaps in another life with another CAD
- Attachments
-
- led.FCStd
- (17.03 KiB) Downloaded 43 times
-
- led.PNG (14.33 KiB) Viewed 724 times
Re: How to keep appearances in fusions?
here is how it looks in v0.18 for me.
so yes there are ways to keep appearances,
you are saying that you use part wb (fusion), but to me it does not look like part wb is doing what you say,
part design wb however seems to behave like this, which indeed is not very practical.
but saying that noone cares, really dude..., fc is made by volunteers (not paid devs), and they have cared enough to spend years/decades in making a piece of software that you can use for free - that for me is the true opposite of "not caring", it is borderline heroic.
ps: the ones with sharp eyes will notice the presence of a seam edge on the sphere for pd wb, which is not there for part wb because it is oriented in such way that it does not appear on final shape.
so yes there are ways to keep appearances,
you are saying that you use part wb (fusion), but to me it does not look like part wb is doing what you say,
part design wb however seems to behave like this, which indeed is not very practical.
but saying that noone cares, really dude..., fc is made by volunteers (not paid devs), and they have cared enough to spend years/decades in making a piece of software that you can use for free - that for me is the true opposite of "not caring", it is borderline heroic.
ps: the ones with sharp eyes will notice the presence of a seam edge on the sphere for pd wb, which is not there for part wb because it is oriented in such way that it does not appear on final shape.
Re: How to keep appearances in fusions?
I've just discovered something that may be useful with the new App:Link - at least it was new to me! https://wiki.freecadweb.org/App_Linkperot wrote: ↑Sun Feb 21, 2021 6:08 pm
True. However it's not so clear for the LED. It's body is inseparable from the leads. Still could use Std:Part. However, Std:Part does not really solve the problem, as the problem comes right back when I try to create a linked copy (Draft:Clone): The linked copy has all the appearances replaced by the default(*). This is unusable, as I use linked copy a lot.
Try this: create your LED from two or more bodies and put them inside a Std:Part.
Then: right click on the Part, and click "Link actions" / "Make link" - you get a new Part in the document, which shows the same bodies as in the original Part.
It looks like any changes to the original bodies are now replicated.... including appearance, or adding new bodies to the originally linked part.
Re: How to keep appearances in fusions?
Whoa! You're my hero of the day. This works beautifully.Brutha wrote: ↑Tue Feb 23, 2021 11:55 amI've just discovered something that may be useful with the new App:Link - at least it was new to me! https://wiki.freecadweb.org/App_Linkperot wrote: ↑Sun Feb 21, 2021 6:08 pm
True. However it's not so clear for the LED. It's body is inseparable from the leads. Still could use Std:Part. However, Std:Part does not really solve the problem, as the problem comes right back when I try to create a linked copy (Draft:Clone): The linked copy has all the appearances replaced by the default(*). This is unusable, as I use linked copy a lot.
Try this: create your LED from two or more bodies and put them inside a Std:Part.
Then: right click on the Part, and click "Link actions" / "Make link" - you get a new Part in the document, which shows the same bodies as in the original Part.
It looks like any changes to the original bodies are now replicated.... including appearance, or adding new bodies to the originally linked part.
Is this possibly meant to replace Draft:Clone in the long term? In that case we'd just have a communication issue: The reference page of Draft:Clone should be modified to state that it's deprecated.
Cheers Peter