# "apparent relation" - do we need it?

Hi guys, I want to know your opinions on a new "class" of sketch relations which I think will be very handy in solidworks (maybe the whole idea is stupid and
there is an obvious simple workaround solution - in that case just tell me about it):
Apparent Relations - which will differentiate from the usual relations and will make it possible to limit relations to apparent or exact relation. today the situation is that both kinds of relations are under the same general category of a specific relation - for example:
1. a point and two lines which have an intersection relation - the intersection of the entities is maintained in both cases of actual intersection and apparent intersection: a. the lines and point really intersect b. the imaginary extension of the lines and the point intersect.
2. three lines with an arc spanning in tangency between two endpoints of two lines and is tangent to the third line - the tangency is maintained in both cases: a. the arc is really "touching" tangentially the third line. b. the complimentary imaginary part of the arc is "touching" tangentially the third line
Now the question is (for example in the case of the intersection relation): wouldn't it be great if one could just specify explicitly, if he\she wants the relation to be apparent or not (or maybe both)?
I will appreciate any comments or opinions shared on this subject which is bugging my mind for a while.
Thanks, Gil
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Gil,
Could you give an example of why you would want to distinguish between explicit and apparent?
Would you see this being extended to concepts like items projected into the sketch plane? You make a coincident relation between a sketch item and some model geometry, but the model geometry is removed at some Z depth.
I've often thought there could be improvements in some of this.
Matt
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

I would like to be able to limit the sketch entities to one of the three relation modes: apparent, explicit or both. In that case the sketch will be more accuratly defined and will get less messed up while making modifications.

Yes. your example crossed my mind from the start.
For example: a sketch which has two horizontal lines with a tangent arc spaning between their endpoints and is tangent to a sillouhete edge of an angled body in the background. If the geometry of the solid body in the background changes in souch manner as the angled line changes its angle and position, it would be great that the scketched arc would not flip to reverse position leaving all relations intact exept that the tanget relation to the sillouhete edge is now on the imaginary extension of the flipped arc and not explicitly on the non-filped arc as it should be.
I think solidworks gives us planty of real work examples for such "relation mistakes" (i write mistakes with citation marks, because in solidworks logic those are not mistakes at all: those are legitimate sketch entities maintaning exsisting relations as they should).

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Hmmm. Tangency flipping is a Pain, but I'd rather see a more direct solution to that problem. For example, it should be possible for a tangency relation to know whether it started life as a sharp corner or not. I'd prefer this to adding complications to the intersection relation.
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
It took me a second to catch on to what you meant, but now that (I think) I get it I am with you.
Two situations that come to mind (the first one is infuriating,t he second one is only a little annoying):
Let's say I have an arc segment and draw a horizontal line tangent to the middle of it. There are two solutions for that tangency - the explicit (the actual contour of the arc segment ) and 'apparent' - where the arc segment would close off to make a circle if you were to extend it. Of course, SWx often messes up and goes for the apparent, flipping the sketch around and wreaking all sorts of havoc. I would love to have the option to limit to the explicit.
Pierce - only works to the explicit, so I have to roll back and extend the external sketch element that I want to pierce to. At times the extension is obvious and I would like the option to allow the apparent so I don't have to manually extend that sketch segment. Darn it, that's what computers are for - to do obvious, tedious stuff for me so I can spend my time doing my work (OK, screwing off, but saying I'm doing work sounds cooler).
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

This would be great! But I have to admit to a lot of nervousness thinking about it. SolidWorks already has so many ways to screw up. Giving it a whole new class of mistakes to make seems to be tempting fate.
Mates get screwed up so often. It would be great to be able to make parallel, concentric and coincident mates that don't care which of the two choices of direction to choose. The direction of concentric mates in particular are quite often driven by a coincident mate. And SolidWorks has a habit of flipping them for no apparent reason.

It sounds so good. Why am I so nervous?
Jerry Steiger Tripod Data Systems "take the garbage out, dear"
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Jerry, you are completely right about your gouts feeling - it does make us nervous as to our previous solidworks experience which is added with each new release. but, should this stop us from submitting new enhancement requests? my feeling is mixed..........

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Regarding mates....2007 made some enhancement that may help with alignment.......from the Whats New guide:
* During Editing, the software changes the alignment of related mates automatically if necessary to prevent introducing mate errors.
Jerry Steiger wrote:

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

During Beta this was a disaster. The software was flipping existing, satisfied mates as I added new mates, so it was about impossible (or in some cases 2-3 times more work) to get a part mated into the right spot. Then, if I mated another part to the part I just planted, the whole stupid process would start over and I would have to go back and manually flip the alignment of all the mates the software 'conveniently' changed for me. It was documented and reported but I do not know if it was fixed. If it was not, we will not be able to use 2007.
SolidWorks does automation very poorly (in my experience) - if it is left the ability to guess, it sooooo frequently guesses wrong. That's why, though I totally agree with the reservations about adding another level of complexity, I am still attracted to taking some of the guess-work away from SWx because it's track record is not so good.
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
I agree that this sounds cool on paper, to have real control in situations where you need it. On the other hand is the reality that SW can't make the existing relation solver work, so the only thing this would do would add another layer of frustration to what should be simple compared to the rest of the software - solving sketch constraints. I've argued that this is the most problematic part of the software. There are so many simple sketch relations which simply don't work or don't update or are handled badly, and this is the stuff that every body uses, regardless what you make, you use sketches.
Even though I like the idea, I hope they don't try to do it any time soon.
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
To put a finer point on it, is it SW that can't make the relation solver work or the software that SW licenses that cannot do it? Can other CAD software that licenses the same technology do the things we are talking about here? One thing we like to forget is that SW and many others license much of the functionality they present to the user. Just look at the Help/About menu pick to see what this is.
matt wrote:

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

I'd agree with that. Coming from an I-DEAS world, I find sketching in SWX to be poor - the number of times the sketch turns red because it can't solve it for no good reason is a pain.
I tend to think many of these problems would only be solved by a ground-up rethink of sketching - that's what UG did with the NX sketcher once it had access to the I-DEAS code and programmers. That's not to say that SWX sketching is all bad - I like the "equal" and "symmetric" and "double distance" relations, which I-Deas never had.
However, I-deas is MUCH better at preserving design intent. For those that have never used it, it used a concept of building "sections" to define the sketch profile, rather than directly using the lines and arcs. Rather than having to trim away elements of the lines/arcs that you didn't want to be used in the extrude/revolve, you specify which bits you want it to use. It's hard to explain without seeing it, but here's a simple example:-
Draw a rectangle and then draw a circle centred on one of the sides, which is small enough in diameter so as not to intersect the other sides. Now what you want to do is to extrude a sort of "Taj Mahal" type profile using the portion of the circle that protrudes outwards from the rectangle. In SWX you'd have to trim the middle portion of the line and half the cricle away. In I-deas you'd just tell it to create a "section" that followed the outer profile. "Big deal" you might be thinking. But what you have done in SWX is to turn one line into two, and if it had relations to other entities, links via equations, drawing dimensions linked to the face etc etc, then these will probably have been broken.
Now say in SWX you want to fllet all the sharp corners of this profile - you have to pick each one in turn. In I-DEAS you just pick the "section". SWX has had to create a load of new "intersection" relations because it has deleted the sharp corners. In I-DEAS they are still there, but the section now has automatically followed the fillets.
Say you now decide that one of your filleted corners actually wants to be sharp, but this fillet was the first one you created, so the dimensions of all the others are linked to it. In SWX, if you delete it to recreate the corner, you lose all the "equal" relations. In I-DEAS you don't have to delete the arc but just modify the section to follow the sharp corner, so the linked dimensions remain.
Now add a rectangular protrusion to one of the other sides. In doing so you add 3 extra edges to the profile, which results in 3 new faces in the extrusion. In I-DEAS it has a "section mapper" which prompts you to indicate which of the new faces you wish to be mapped to the original face, so that any downstream features, assembly mates or drawing dimensions retain their correct links.
So.....back to the original post. Do I think the suggestion is a good one? In itself, a qualified "yes", but it would be sticking plaster for a flawed architecture.
Regards, John H
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
If you like that "section" way of working, try "contours" in SW. It sounds like it does everything you did in Ideas except adding the sharp back after a corner has been filleted. I think it's a gimmicky approach, and has many of its own problems, at least as implemented in SW. When the shape changes significantly, it might decide that another section of the profile is really what you want. It tends to let you make sloppy sketches which don't hold up to changes well.
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
working, try "contours" in SW.

Not really.....for a start, you have to have closed profiles otherwise it gives errors. Also, take the example of a rectangle with a circle drawn in the centre of one of the edges. If you want to fillet between the outside half of the circle and the side of the rectangle, SWX Sketch Fillet command doesn't work. So you have to add an arc and constrain it to be tangential. Now try including that in the contour - doesn't work.

You're right there. I suspect it's been added so that during a demo, if someone's had an I-DEAS or NX demo and they ask if SWX can do the same, the person can carefully pick an example that suggests it can.

One of the key benefits in I-DEAS is the robustness of rebuilds. Each loop of a section can, if desired, "follow tangents" (e.g. follow fillets) or "stop at intersections" etc so that design intent is maintained. Also, again considering the rectangle with a circle centred on one edge, if you take the conventional SWX approach and trim half the circle and the mid-portion of the line, the geometry is no longer properly constrained and you have to add more relations.
Also, from what I've seen in SWX, there is no mapping function, whereby if the topology changes in a way that can't automatically be reconciled, it prompts you to pick which new edge maps to which old edge.
Maybe it's a fairly new feature (when did it first appear?) and will get improved in future releases.
John H
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
John H wrote: ...

To create the fillet I would trim the circle and/or the line.
Including it in the contour works, just select the area it encloses, not the arc itself.
Sketch fillets are generally something I avoid when I can. There are too many problems with solving the sketch with the tangent relations and the arc flipping. And fillet features work so much better.

I think it was Inventor, NX barely registers on the competitive radar, although it seems to have a loyal following.

Yeah, that infuriates me. I submit bugs against the sketcher and constraints every chance I get. There's no excuse for what happens. Sketching is a pretty basic function that everybody uses.

In a lot of cases in SW you're screwed. Relations get hosed and you can't reattach them. There are far too many situations when Delete is considered an appropriate editing technique. It causes so much rework. In fact, in certain situations, you have to delete the entire feature and recreate it, not just the sketch. This happens when you have a sweep profile and a curve feature path that pierces the profile plane more than once. If the pierce relation gets hosed, you can't reselect the path from the graphics window, you have to select it from the tree, and when you do that, you don't know which plane crossing is going to get the pierce constraint. If you don't get lucky, you have to delete the feature. Well, there is a crazy work around where you can assign another dummy sweep path, then reassign the original curve. This sounds insanely specific, but its not. I probably run into it once a month, and it generally means rebuilding whatever model I've been working on.

There's a new "Sketch Xpert" in 07, but it's really just old functionality renamed by the marketing department. It only deals with overdefined and unsolved situations, not missing relations.
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Jerry,
Same here, it all sounds so "fuzzy", and Dcubed has problems enough with explicit stuff
Mark

whole
a
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

You got me right. thats exactly what i'm talking about.

Yes. Pierce is another great example for the phenomena.

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
If you ever worked with Anvil you would have had this. In addition to working in 2D space Anvil, IIRC, did these things for 3D space as well. There is a bit of complication to 3D space because you can have apparent intersection on the view plane when none in fact exists.
I think ACAD for the longest while just allowed explicit and it drove people nuts.
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
TOP, thanks for the insight. that's a new perspective on the issue about other CAD packages. So what you are actually saying is that we are on the better side of the picture/map? (I don't know the exact expression in English, but I hope I expressed my self well)

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Gil,
I really like to avoid the term "better" implying that one approach has any more validity than another. What is important is that you have the correct tool in your toolchest for the job at hand. ACAD in fact was limited while Anvil (Professor Hanratty's creation) was quite exhaustive in covering all the possibilities leaving it to the operator to determine the necessary approach.
As to Ed's and others discussion regarding tangency flipping my only comment is that we are stuck with a mathematical solution to a problem which while easy for human perception is difficult to define mathematically without adding complexity to the problem. Since a circle has no beginning or end I think the software has to create one behind the scenes to maintain consistent tangency relations. When a sketch solution is close to the bifurcation point where either tangent would be equally valid the math can become confusing to a computer that can't see the big picuture like the human eye can. We have all worked with sketches containing fillets in which a small movement of a line can cause the fillets to "blow up". And sometimes solutions to these kind of sketches can be path dependent.
Gil Alsberg wrote:

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

## Site Timeline

• ### Free training videos for learning Solidowrks grasshopper / Rhino / Kinetic Archite...

• Share To

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.