14 Replies Latest reply on Jan 19, 2016 2:08 PM by Brandon Anderson

    Can I get snap constraints to remain after placement?

    Brandon Anderson

      Below is an example of some snaps geometry. For some reason I seem to remember back years ago, you could hover with a gray snap and it would turn yellow, meaning it would stay active. Now, it's just certain constraints that stay, like coincident for example. However, horizontal or vertical will not stay, and you have to manually add them afterwords. Is there a way to make these placement constraints turn into permanent constraints? Is there some setting that is there that can turn this functionality on or off?

       

      Thanks in advance,

      Brandon

       

        • Re: Can I get snap constraints to remain after placement?
          Kevin Berni

          Hi Brandon,

           

          Do you have Automatic Relations turned on?  You can check this at Tools > Options > Sketch > Relations/Snaps > Automatic Relations  If that is off, you won't get the yellow relations that stick.

           

          This help topic should explain how the settings work. 2016 SOLIDWORKS Help - Inferencing

            • Re: Can I get snap constraints to remain after placement?
              Brandon Anderson

              voted for it.

               

              Does anyone else remember when you could hover for a certain length of time and they would change to yellow? Or am I just crazy?

                • Re: Can I get snap constraints to remain after placement?
                  Jeremy Feist

                  I personally have no recollection of relations yellowing with age.

                  • Re: Can I get snap constraints to remain after placement?
                    Daniel Murphy

                    I remember this too.  I spent some time trying to adjust my settings to get that functionality back, as you are now, but eventually gave up and submitted to the excessive clicks required to achieve a simple sketch mate.  I'm not sure, but it seems to have coincided with the installation of SW2015

                      • Re: Can I get snap constraints to remain after placement?
                        Brandon Anderson

                        "I remember this too."

                         

                        I'm not crazy!!!!!

                        • Re: Can I get snap constraints to remain after placement?
                          Jim Wilkinson

                          The "wake up inferencing" is how you turn on snaps to specific geometry. Like if you want a midpoint of a certain line, quadrants of a circle, tangent to a circle/arc, perpendicular/parallel to a particular line, etc. SOLIDWORKS does not show inference lines for ALL geometry without waking them up or the number of inferences would be completely overwhelming.

                           

                          Even if you wake up a midpoint or something, SOLIDWORKS still has never had the ability to capture horizontal/vertical relations when inferring with those blue dotted lines. Waking up a midpoint for instance will only let you infer horizontal/vertical with the blue lines but not capture the actual relationship. I am not sure of the whole history of why even though I've been at SOLIDWORKS since our first release. My guess is that in our original implementation and testing, we found that automatically adding those constraints would either add too many redundant or unwanted constraints.

                           

                          As examples, in the case in the following image, when drawing a line from the end of one line vertically, there is both the potential to make the line vertical and also to make the endpoint vertical.

                          infer-vert.png

                          If SOLIDWORKS creates both as below, it is redundant and could lead to down steam problems.

                          vert.png

                           

                          As it is now, we only create the vertical relation on the line. In this case SOLIDWORKS could probably be smart and only create the vertical line relation when dropping the endpoint (just like we don't create both a vertical line relation and parallel relation to the adjacent line). But in more complex cases, SOLIDWORKS may not be able to determine the redundancies on the fly and eliminate them. The heuristics will need to be really good, a bit like mindreading, to get the desired results.

                           

                          Another more complex example is when you infer both horizontal and vertical at the same time as shown below. Do you want both relations? If not, you would have to delete one after the fact or we would have to devise a method to pick and choose which relationships you want and don't want on the fly, but this would be tricky to devise a good method to do that especially when you have more than two relationships potentially being created. We don't want to put something in that interrupts the general flow of sketching.

                          infer-hor-vert.png

                          I'm not saying this can't be done, but I am guessing that it was originally implemented with these horizontal/vertical point relations being created and it caused too many problems and made the sketcher harder to use rather than easier.

                           

                          So as suggested, vote for the "white relationship" enhancement. If we tackle that project, then we can see if there is a way to do it without causing redundancies or adding undesirable relations and while doing so decide whether it is default behavior, turned on by a keyboard key, or made optional and maybe the keyboard key then inverts the behavior (similar to select through transparency). At that time, we will also have to figure out whether or not to handle the multi-constraint condition in a different way than just creating all of the inferred constraints.

                           

                          Thanks,

                          Jim

                            • Re: Can I get snap constraints to remain after placement?
                              Brandon Anderson

                              Thanks for the response Jim,

                               

                              Yeah, I agree about adding everything all the time. Pro-e does that and it can get pretty annoying having every possible relation on there, you are often going into the settings to turn on and off certain snap points. But with a tool very similar to the quick snaps tool (which FWIW I find pretty much useless, I never bother using it) you could have an easy menu to quickly turn on and off sketching snaps. However, I swear I am not making it up that I saw the functionality somewhere that it would change to yellow after a certain amount of time hovering with the white relation. I do remember that working pretty well for me. If you're a slow sketcher though, I could see that being annoying.

                               

                              Of course this functionality would need to be switched on an off in the options menu, I can see where some wouldn't like/want it depending on your sketching tendencies and products. Also, to make the relations yellow, the user should have to do some sort of action. Hover for a period of time, or a modifier key of some sort, I think that the shift key might work. Like you suggested in your response. For the case of both horizontal and vertical, that modifier key could cycle from just the the first, then both, then just the second, back to none. That would work for two possible relations. If there would be three, of which I can't think of an instance that there would be since in a 2d sketch there only needs to be an x and y to located a point, something else would have to be devised, or the user would have to add relations manually, just like now. By the way, it's fewer clicks to delete an un-needed relation (click and then the delete key) then there is to add one, (click first object, cntrl, click second, click on the relation). Although I see that there should be fewer times that you need to add then there is to delete. But that's why the user action to make the white yellow should be required.

                               

                              The other option for a user action would be to move the mouse to the point that want the relation to go to (just like the change a line to arc action). That would toggle that horizontal or vertical (you might be able to add coincident to a line for something on an angle) and make the relation yellow and hold it so you could add more than one.

                               

                              If you didn't use the drag from point the you would have that dual relation issue. For the order of which relations to create and which to ignore (for the double vertical) you could have a ranking system (user modify-able of course) that says in the event of conflicting relations, which ones should over-ride other ones. I think that SolidWorks already has something like this in place because in your example of the vertical line, it already knows that vertical line needs to be created and it doesn't even show the vertical over point (white relation). So the same logic that knows what should be a white relation could be used to remove conflicting relations.

                               

                              Well, those are some of my ramblings on my ideas. Maybe they will help.

                                • Re: Can I get snap constraints to remain after placement?
                                  Jim Wilkinson

                                  Hi Brandon,

                                   

                                  Perhaps you are remembering the pencil cursor changing from being totally white to yellow? This is how we once used to indicate that the inferences on an entity had been woken up. Now we actually show the woken up points (midpoint, centerpoint, quadrants, etc.) so we no longer need to change the cursor to indicate it. See the image below that shows the old vertex icon with the "woken up" vertex icon and the regular and woken up "on entity" icon. I took these images from the SOLIDWORKS 2004 help which is the last version we used this style of cursor. In SOLIDWORKS 2005 we switched to the more colorful pencil cursor and no longer indicated the wake up with a cursor color changes (again, it wasn't needed since we just showed the woken up entities directly). I've also included a note that I captured from the SOLIDWORKS 2004 help inferencing topic that indicated the blue inference lines means no relation will be added.

                                  inference.png

                                   

                                  Thanks,

                                  Jim

                                    • Re: Can I get snap constraints to remain after placement?
                                      Brandon Anderson

                                      It sounds like it, but it's not what I remember. I specifically remember the white relations turning to yellow. I even remember when I first starting using Solidworks which would have been 2007 I think, and I was getting frustrated that sometimes the relations would stay, and sometimes they wouldn't. A co-worker explained that if you wait a second, the relation will turn to yellow and it will stay, if they are white, they won't stay after you click.

                                       

                                      Oh well, it's not the end of the world.

                                        • Re: Can I get snap constraints to remain after placement?
                                          Jim Wilkinson

                                          You've got me so curious, even though I don't remember that, I want to be certain. I can't seem to get 2007 running on my machine right now, but I got to the help and can't find any reference to that at all. Also, in all the videos in the help showing various aspects of the inferencing and relationships, all of the relations that will be created always immediately come up yellow and the ones that one show up as white. I'll continue to play around as time permits to see if I can get 2007 working to check it out in action.

                                           

                                          While playing around with this, I found at least one example where there is the potential for 3 relationships to be inferred as shown in the image below (and that one could be perfectly valid to add the third one with redundancy/overconstraint). But even in this case, the user is likely to add a horizontal line across as the next step and that line will then capture the horizontal relation and it is always preferred to have the relation on the entity rather than the points. I am certain there are other cases and I am pretty certain there are some with 4 or more inferred relations. So, those would be very tricky to accommodate with some sort of methodology for specifying what you want to keep and what you don't on the fly. And if we add them all, there is a much higher likelihood of the sketch going overdefined so the approach of adding them and then letting the user delete them may get them temporarily into a bad situation. The engine is tuned to eliminate redundant/overconstraining constraints automatically, but with that, the user doesn't have control over which ones to keep and which to not keep, but maybe that is OK since the user could manually delete and recreate after the fact.

                                          inferencewith3.png

                                           

                                          Thanks,

                                          Jim

                                            • Re: Can I get snap constraints to remain after placement?
                                              Brandon Anderson

                                              You say they they will likely go to the left horizontally, but what if I want to go right? I do stuff like this all of the time. This is a perfect example where I would want the toggle feature to only pick two of those three. Also you could just hover there for 1 sec and the horizontal could switch to yellow and you could have all three, (personally I wouldn't want the tangent in this situation anyways so I would probably delete it, but to each their own). As it is I could be done with relations, but instead I have to add another.

                                               

                                               

                                                            

                                               

                                              Side note:

                                              There is a bug. If you make the first line with the vertical and tangent relations, then go to make the next line to the left, (with single command per click unchecked) the top line adds a tangent relation that you can't get rid of without deleting it afterwords. If I stop the line command and then restart it, it doesn't do that.