ulrich1a wrote: ↑
Thu Mar 08, 2018 5:02 pm
I think there must be a differentiation between features in the model tree and features visible in the 3D-view. In most designs all added features are visible in the product as seen in the 3D-view, because this is what we want to have. Only the model tree sets exclusively the last feature as visible as the last feature presents this feature on top of the whole history of the design process.
Here's the rub: in most parametric CAD programs, this is true; but I don't believe it is the case with FreeCAD's PartDesign workbench. Maybe what I wrote is not clear enough, but the last feature in the tree is the culmination of all features before it, combined with the change added by the feature itself. Thus, I think it is really only the last feature which is visible in the 3D view; this seems to be confirmed by the Model tree, which shows all other features greyed out.
I tend to think that such a differentiation between the tree and the 3D view would actually be more confusing...
It is also why the Body container was so essential to PartDesign: up to now, we've had a gazillion forked models on the forum, because users would toggle the visibility of prior features. This is now prevented with the Body: only a single feature can be visible at a time (just try to make two visible!). Some others would enquire why there was "funny stuff" on the faces - the result of z-fighting
caused by two or more features visible at the same time, sharing the same space.
But this is my interpretation... I just had a look inside a FCStd file I created in 0.17 for the PartDesign_Body
page. brep shapes are saved in it for each operation: the wires created by the sketches, the solids formed by the wires (even for pockets), the result of the Boolean operation between the brep of a feature with the next. There is a total of 14 brep shapes inside the file.
Honestly, we need a developer who has extensive knowledge of PartDesign, like jriegel (unfortunately no longer active), or ickby (not available either) to answer definitely to that matter. Maybe somebody else? DeepSOIC?