SOLIDWORKS: Becoming a Sketch Expert with SketchXpert
Imagine: You are putting the finishing touches on a complex sketch, proud of your work. All that is left is one relation to give you the profile you need. Then, red and yellow fill the screen. Something has gone horrifically wrong; the sketch is over defined and unsolvable. There are dozens of relations and dimensions in this sketch—where do you start? Rather than trying to sort through the potential points of conflict on your own, let SketchXpert do it for you.
SketchXpert is an underutilized tool in SOLIDWORKS that helps automate the process of resolving sketch conflicts. It finds dimensions and relations that could be deleted to solve the problem, and it then presents all possible solutions, allowing you to choose the one that satisfies your design intent.
In the sketch shown below, there are clearly a lot of relations, with many stemming from a Mirror Entities command performed about the vertical centerline. It shows that the sketch is fully defined, but there is still one more relation that I want to include: a Tangent relationship between one of the arcs and the inclined line.
However, once I add that relation, the sketch becomes over defined, and several of the relations and dimensions are shown as conflicting or unsolvable.
At this point, I could start deleting relations and dimensions until I got something usable, but it could take considerable time before I figured out the right combination of constraints. So, I will instead take advantage of the SketchXpert tool.
SketchXpert is kind of hidden in the SOLIDWORKS user interface. The two ways to access the command are by locating it in the Tools > Sketch Tools menu or by clicking on Over Defined in the lower-right corner of the screen.
The SketchXpert PropertyManager offers two methods to repair the sketch: Diagnose or Manual Repair. Diagnose is the automated process, where SOLIDWORKS identifies all possible solutions to the sketch by selecting different constraints to delete. Manual Repair lists out all of the conflicting relations and dimensions, allowing you to selectively suppress or delete constraints and see how the model would change; it also offers an Undo button so any changes can be reversed easily. You can enable the checkbox at the bottom of the PropertyManager if you want SketchXpert to open automatically whenever any sketch errors arise.
In this scenario, I will use the Diagnose option. If your sketch has many conflicting relations, it will have many alternatives, so it may take some time for the program to find every solution. For my sketch, it finds 24 possible solutions. The next step would be to look through each of these solutions to figure out which is best for me. This time, I got lucky and the first one it shows me is the one I want. In the More Information/Options section, you can see what will be deleted to achieve this solution. I had an unintentional Tangent relation between the leftmost arc and the model edge next to it. In the graphics area, there is a red slash crossing out that relation, and I can see what the model would look like if that relation were removed.
To confirm the change, I can click Accept, and the PropertyManager indicates that the sketch is now solvable. Clicking the green checkmark completes the SketchXpert command.
Back in the standard sketch view now, I can see in the lower-right corner of the window that my sketch is fully defined. Additionally, after a Force Rebuild, the FeatureManager Design Tree no longer shows any warnings. The sketch is valid and can be used to create a new feature.
It is worth noting that SketchXpert might not be a quick fix in every situation; if you have something like 50 possible solutions to sift through, it could take time to figure out which one is appropriate. However, I do not know of any tools that are as good at helping you pinpoint the cause of an over defined sketch. So, if you are struggling to correct sketch errors, give SketchXpert a try. I hope you will find it as useful as I do.
Thank you for reading!
Computer Aided Technology, LLC