AnsweredAssumed Answered

How to flip the weldment custom properties "Angle1" and "Angle2" to read out normal as 90, not 0

Question asked by Marty Foster on Jun 29, 2020

My shop got a new saw that reads normal/straight cuts as 90 degrees rather than 0. All miter angles should descend from 90 rather than ascend from 0. I'm using Solidworks 2019. The weldment custom properties automatically create a cut angle for each end of a weldment cut list item (2019 SOLIDWORKS Help - Example: Using Length and Angle Custom Properties ). I was hoping to simply change something in the system options to flip those dimensions, but then I learned that "Angle1" and "Angle2" along with "Length" are custom properties that can't be edited (2019 SOLIDWORKS Help - Assigning Custom Properties ). I know that many people don't trust the cut list for angle dimensions anyway; they all just give a drawing for each body in the part/assembly. But I think that as long as the weldment view gives a clear enough depiction of how the angle should be cut, the cut list would be sufficient. I believe there are several methods to remedy this problem, so I'll describe what I tried. If there's a better option, I'm all ears.


1) Link Properties and Equations

   I thought to add a new custom property that computes 90 - Angle1 and such, but equations aren't usable in the custom properties panel. I did learn, though, that you can link equations to document custom properties (and visa versa, I think), but I still haven't completely figured that out, and I don't believe an equation will propagate for all cut list items even if I save a new part template to start with for future builds.


2) Equations in Cut List table in the drawing file

   I created two new columns in the cut list table in a drawing file with titles "Saw Angle 1" and "Saw Angle 2," and then using an equation for each cell, I set them equal to 90 minus the corresponding cell under Angle1 or Angle2. The text in the formula box looks like:

= 90 - H2 "°"

However, you can't simply pattern the equation to adjacent cells like you can in Excel, so I have to copy and paste the equation in each cell and alter the appropriate row or column indicator. Then I clean up the table by hiding columns "Angle1" and "Angle2" with a right click; deleting them would cause the equations to lose their reference. I tried saving this as a table template, but the new columns come up with only the headers and their remaining cells are empty. I guess equations don't propagate with templates. It's only one step better than just manual entry; it's a lengthy process, especially for big builds.


3) Create a Macro to automate option 2

   I have limited experience with VBA macros in Excel, so I feel pretty lost with Solidworks macros, even though it's supposed to utilize several common programming languages including VBA. I'm sure, though, that there is a way to use a macro to automate my 2nd option. Here are the conditions to better define how I'm hoping the macro will work:


      a) A drawing file must be open and contain a weldment cut list with a specific template.

      b) The template contains 2 columns that are linked to weldment custom properties "Angle1" and "Angle2" and another 2 columns titled "Saw Angle 1" and "Saw Angle 2." It shouldn't matter whether the cells under the Saw columns contain information or not.

      c) The weldment cut list table must be selected so that the macro doesn't alter any deselected tables.



      a) Columns titled "Saw Angle 1" and "Saw Angle 2" will populate with the following equation for each row that describes a weldment profile member (not sheet metal parts or custom bodies)

         = 90 - (cell for Angle1 or Angle2) "°"

      b) Columns titled "Angle1" and "Angle2" will be hidden from view

      c) Any changes made to weldment custom properties will update accordingly without running the macro repeatedly. Creation or deletion of weldment items may require running the macro again.


I can already see some issues with using a macro that does this, but I'm hoping it will overcome a lot of the extra work we have at my shop. I appreciate any help you may have.