@GRSnyder wrote:
That's not clutter; it's important and useful information.
I would imagine the main motivation behind this design is to make it easier to diagnose and fix problems when the design changes and breaks the projection. In that case, the sketch is marked as broken and you can open it and see, ah, yes, that projected line that you constrained against is the thing that no longer exists.
This type of breakage is pretty common, so there's potentially some value in requiring projections to be explicit. "Yes, I acknowledge that I'm adding a dependency on something outside this sketch."
I suppose you could still display error projections even if projections were normally implicit and hidden, but it would be a bit strange to have new geometry appearing in your sketches when they broke. How does SolidWorks handle this case?
As far as explicitly showing referenced outside geometry as projections in the sketch, I would agree that it's going to be a matter of preference. I prefer implicit and hidden mostly because it's what I'm used to. So ideally it would just be a setting that you can click on or off, e.g. "show outside referenced geometry in sketch", or some such. This doesn't really bother me that much. What bothers me much more is having to go through a separate step where I have to manually project some outside reference plane/line/point into a sketch, just to dimension or constrain to it. In this instance reference geometry should not be treated differently than other model geometry.
So how does Solidworks show broken references? Any sketch entities that have broken references will change color, and the dimension or the constraint icon will change to the same color.
With broken dimensions, if you click on the dimension it will show a red dot at the point where the extension line meets the formerly referenced thing, and if the referenced thing is out of plane with the sketch it will show a ghosted line of the referenced thing, to give some idea of what it was. The ghosted missing entity is somewhat hit or miss though. It will sometimes show and sometimes not. To fix it you can either delete and recreate the dimension or you can click and drag the red dot to somewhere else to establish a new link.
For broken sketch constraints it basically the same thing, except now you can double click the constraint icon and bring up a window where you can see which referenced entity is missing and link in something else.
Being able to re-link broken references is something that Fusion sorely needs. I'm sure someday it will get there.
@GRSnyder wrote:
A couple of other potential benefits of explicit projections:
1) Even in the absence of errors, it's nice to be able to audit a sketch to see what the relationships are. If you hover over, e.g., a parallel constraint icon, it highlights the two lines that are parallel.
2) Similarly, many constraints are symmetric. It's nice to be able to ask not only "what reference object is this line parallel to?" but also "what are all the objects that are parallel to the X axis?"
For both #1 and #2, I suppose you could start highlighting and constraint-annotating objects outside the sketch to recover these abilities, but that does sound kind of messy. It's nice that Fusion currently maintains a pretty clear distinction between what is and is not a part of a sketch.
#1 is pretty much exactly the same in Solidworks, except that for things outside of the sketch it highlights the thing you referenced instead of a projection of that thing. To me this is preferable because it shows the actual source.
#2 I'm not sure I follow what you mean.
3) Things don't always project in their original form. Lines may project as points, planes project as lines, curved faces project as profiles, etc. This distinction is important because the constraint system is 2D. You really are constraining against 2D projections, which may be quite different from their source objects. Explicit projections show these transformations directly and unambiguously.
Actually the constraint system in Fusion is not 2D. You can apply constraints to out-of-plane model geometry and it will move your entities off the active sketch plane. I think you may have to have the "Allow 3D sketching..." option checked for this.
Interestingly though, Solidworks sketching IS normally 2D by default, so when you reference outside things you are always referencing a 2D projection. This is just something that is assumed and known. You can also sketch in true 3D mode, but that's a completely different animal with it different set of constraint rules than 2D sketching. I try to avoid it unless absolutely necessary, as it can get really complicated in a hurry.
@GRSnyder wrote:
4) You can't get rid of the ability to explicitly project geometry; it's too useful. Given that you have this feature, and that it's sufficient to support the types of relationships discussed in this thread, the bar is pretty high for adding a separate, parallel system that is kinda sorta exactly like projected geometry but with its own set of behaviors and visibility rules. There would need to be a significant drawback to projection or a significant benefit to a new system to justify it.
There's always room for improvement, but the current system is simple, elegant, and consistent. Every design choice is a tradeoff.
I wouldn't get rid of explicit projection. In some cases it's required, and I use the equivalent function in Solidworks all the time. It's just that I only use it where the resulting line/arc/etc. will be used directly for geometry creation. If it's only being referenced by a dimension or constraint, then I don't want to see it.
What Fusion has now is fine for the most part, it just needs a few adjustments:
First; treat reference planes/lines/points the same as direct model geometry, so they can be used directly in sketches for dimension/constraints, and in joints (this is the biggest one).
Second; allow a bit more visibility control for how/when projected entities are displayed. (nice to have but, could live without it)
And really it's as simple as that.
C|