https://wiki.freecad.org/Topological_naming_problem
https://wiki.freecad.org/Feature_editin ... ble_models
With a very simple part design body example:
First way:
Sketch a rectangle on XY and pad it, select the top face of pad, create a sketch on this face for a second pad/pocket...
This seems like an intuitive way to do it, but it sounds like it could potentially lead to TNP.
And if so, why is it allowed?
Second way:
Sketch a rectangle on XY and pad it, select the top face of pad and create a datum plane, sketch on datum plane, then continue with second pad/pocket...
Datum plan is referenced to top face of first pad -- is this OK?
Third way:
Sketch a rectangle on XY and pad it. Now select XY plane again, create datum plane, offset the Z attachment of
this datum plane to height of previous pad, then sketch on this datum plane, continue with second pad/pocket...
This would benefit from a spreadsheet param so the height of first pad and the offset of the datum plane for second sketch are the same, which is fine as I plan to use parameters quite often.
I generated a dependency graph for my first project and it looks pretty scary. I'm quite certain this is a completely wrong way to design something, but it just evolved as I learned. It is a cabinet design -- the "face frame" is a bunch of wooden rails and stiles that get assembled together, and I made separate bodies for every one of those components, and offset them into position (with no assy wb). The left wall of the carcase has rabbets cut into three edges, and I did a clone/transform to mirror that to the right-side wall. The example drawer is a rectangular pad with pockets cut into top/bot faces. It is all heavily driven by parameters in a spreadsheet.
It seems stable but I now wonder what latent problems I may have, and how I could identify them from the dependency graph -- the hi-res png is too big to attach here, but this is a screenshot: My file is attached if anyone wants to peek at it. Any insight or pointers appreciated. Thx.
Code: Select all
OS: Windows 10 Version 2009
Word size of FreeCAD: 64-bit
Version: 0.20.2.29603 (Git)
Build type: Release
Branch: releases/FreeCAD-0-20
Hash: 930dd9a76203a3260b1e6256c70c1c3cad8c5cb8
Python 3.8.10, Qt 5.15.2, Coin 4.0.1, Vtk 8.2.0, OCC 7.6.3
Locale: English/United States (en_US)