I love the idea that Fusion 360 is parametric, which of course means that you can set forth definitions for various things which you can then use later as parameters while modeling. For instance, as a dimensional parameter in an extrusion operation. Or to control the number of copies that need to be made based on the height and width of a part. Or whatever your imagination can come up with-- parameters which can be tweaked and tuned at any time later to "dial-in" the subtle nuances of your parts dimensional characteristics, for example.
The problem is-- unless I'm missing something (and I quite well could be, I still have a lot to learn)-- Fusion 360's parameters seem a bit rough around the edges. They work well for what they do but they lack a top-down flow, inheritability, scoping and localization, and are subject to the same "Do / Undo / Redo" stack as everything else. Meaning that if you don't think to add a particular parameter until later in your process, and then go back and undo some stuff, it can get gone-- poof-- like that, without even realizing it. Parameters-- in my huge opinion-- should exist in a separate "Do / Undo / Redo" stack outside of the general design operations timeline. For people who don't agree with this viewpoint, then perhaps create "transient" parameters or "operational parameters" which are bound to the design timeline and act pretty much like they do now.
What I would like to propose is a richer method of dealing with parameters and would start with a Project-level parameter sheet wherein parameters defined would be "global" in scope, with respect to the project. Any component which is attached to the project can access them. Next, a "Localized Parameter Scope" could be created at any time simply by declaring it, which by default would inherit links to the complete set of parameters which are visible in the hierarchical chain above it-- which are in turn ultimately linked to the ones at the global level unless somehow intentionally obscured. Parameters in each new scope could be overwritten, hidden / removed (made unavailable), temporarily redefined, etc. All components which are bound to that sheet and the ones going forward will use that new parameter view, until of course, some action is taken that modifies that view.
Parameter sheets could also be individually named and then accessed directly by referencing the name. Hierarchies could similarly be traversed using some hierarchical notation in a manner similar to that provided by many programming languages-- pick one. Seriously, programming languages deal with lexical scoping all the time. This is not a new idea in the grand scheme of things. And you have a whole multitude of examples out there to pick from.
Parameters would continue to have all of the same rich expressive abilities such as the ability to add two parameters together or perform other mathematic and/or logical operations on them. But now those expressions would have the ability to reach into other parameter sheets, according to their namespaces and/or whatever hierarchical reference notation is used and thus making them even more useful and worthwhile / practical to use.
One feature that I would *strongly* suggest, even apart from the rest of this proposal would be for some very simple 1-character device which would strip the units from a parameter and make it easy to use unitless numbers when/as-needed. I am aware that it can be done using the existing framework, but IMO, it's kind of clumsy and long-winded.
I know I'm a neophyte with Fusion 360 but I have many years of other types of procedural experience, such as programming in various languages, embedded hardware design and a number of other arenas. However, nearly all of these other areas include the simple idea of namespaces and scoped / lexical naming and access as basic core features of the underlying structural essence of the language.
Fusion 360 is so very powerful and growing more so at every turn-- it is a crying shame that it is so crippled in such a deep and fundamental aspect. However, it is one that I think is correctable, and when those corrections are made-- will supercharge the ability of designers everywhere to unleash the true power and sheer awesomeness of Fusion 360.
So that is my proposal. Thank you for your time and kind attention.
Keep making Fusion 360 great!!
Can't find what you're looking for? Ask the community or share your knowledge.