10 Replies Latest reply on Sep 30, 2014 5:47 PM by Mark Biasotti

    want a persistent Sensor or annotation to show mass properties

    Mark Biasotti



      I'm wondering if there is a way in SW to persistently show the surface area or volume of a body or part and have it be persistent - i.e. as you model or change feature dimensions it automatically updates. I would prefer this to be an annotation, dimension or a sensor in the viewport or somewhere that I can persistently monitor it.  I got to believe this is something I lot of designer want to do - for instance, adjusting the size of a PCBA knowing that I have a certain sq. area requirement or creating a volume that will hold liquid of a certain amount and adjusting the shape while maintaining the specified volume.




        • Re: want a persistent Sensor or annotation to show mass properties
          Jim Wilkinson

          Hi Mark,


          You can do this by creating custom properties for volume and surface area and then make a note showing the custom property. I've made an example where I have two notes that have both volume and surface area in them. One note has a leader, one does not.


          I hope this helps,


          • Re: want a persistent Sensor or annotation to show mass properties
            Jordan Tadic

            In addition to Jim's solution, sensors work too.  When creating the sensor, select Mass Properties > Volume > No need to select any geometry if you want the calculation to apply to the entire part file.  If you keep the 'Sensors' folder expanded in the FeatureManager, each sensor's value will update in real time as Instant3D is used to modify the geometry.

            volume and surface area sensors.png

              • Re: want a persistent Sensor or annotation to show mass properties
                Mark Biasotti

                Hi Jordan and Jim,


                Thanks both for your suggestions. Yes, I've been using sensors and glancing over at the FM. I like Jim's solution better because it not about alerting me but informing me.  Now I need to find out how to get Jim's solution to do just the surface area of the top of the cube?  This is what I really want when I design PCB's.





                  • Re: want a persistent Sensor or annotation to show mass properties
                    Daniel Andersson

                    If you just want a selection of surfaces to be measured, I think that you have to stick with sensors. You probably know this, but you can have a sensor without alerts.

                    Custom properties seems to only be possible to populate data from pre-defined measurements or calculations. Which is the complete volume or all surfaces or... the equation needed.

                    I tried to get it working using equations, but it seems not possible. Measure in equations can handle dimensions from edge to edge. So if its a square surface it is possible to make a global variable with an simple equation. Or, if you could think of a way of getting the surface area by using profile lengths, length etc and then calculate it.

                • Re: want a persistent Sensor or annotation to show mass properties
                  Jordan Tadic

                  EASIEST SOLUTION

                  Yep, I agree with Daniel.  For a select amount of faces, Sensors are the way to go.  Here's a slightly quicker way to add a sensor like this on the fly:

                  1. Activate the Measure tool
                  2. Select the face(s) you'd like to measure
                  3. Click this icon (top right corner of measure tool)
                    measurement sensor.png


                  As for Notes linked to Custom Properties, it's too bad SOLIDWORKS doesn't allow you to add cut list properties to surface bodies like it does for solid bodies.  On that train of thought, here's a crazy workaround if you really insist on using note annotations in the graphics area:


                  Brief Instructions

                  1. Create a super thin body representing the faces you want to measure
                  2. Create a custom property linked to the surface area of that body divided by 2


                  Detailed Instructions

                  1. Use the Offset Surface command to copy the face(s) you'd like to measure
                  2. Use the Thicken command with a negligible thickness value of 0.00001 with Merge Result deselected to create a new solid body
                  3. Insert a Weldment feature to convert your Solid Bodies folder into a Cut List
                  4. Update Cut List folder
                    • In 2015, in Options > Document Properties > Weldments, you can select "Automatically create cut lists" and "Automatically update cut lists".  Saving this option with your part template will allow you to skip this step in the future.
                  5. Create a new Custom Property
                    • Property Name = Surface Area x 2
                    • Value = "SW-SurfaceArea@@@CUT_LIST_ITEM_NAME@FILE_NAME.SLDPRT"
                      • If you're worried about getting the syntax correct, you can:
                        1. Right click the cut list item you'd like to measure and select Properties
                          • If there are multiple bodies you'd like to add a measurement property to, right click the Weldment feature and select Properties.  Properties added to the Weldment feature will be added to all cut list items.
                        2. Add a new Cut List Property
                          • Property Name = Surface Area x 2
                          • Value = Select "Surface Area" from the drop-down list
                        3. Copy the expression that SOLIDWORKS populates for the Surface Area Value to your clipboard
                        4. Paste it into the Value cell for the new Custom Property
                  6. Create a new Global Variable
                    • Name = Surface Area GV
                    • Value = "Surface Area x 2" / 2
                      • Because we are measuring the surface area of a solid body with at least 3 faces, this step allows us to ignore the opposite large face.  The extra small thickness value allows us to neglect the surface area of the faces surrounding the perimeter of this body
                  7. Create another new Custom Property
                    • Name = Surface Area Prop
                    • Value = "Surface Area GV@FILE_NAME@SLDPRT"
                  8. Create a Note Annotation and use the link to property option to display Surface Area Prop



                  • You now have an additional solid body in your model for reference.  Remember to delete that body before using this model for downstream purposes such as 3D Printing or CAM processing.
                  • Don't change the name of your cut list item.  This back door way of connecting everything prevents an automatic update of all cut list name references.


                  ENHANCEMENT REQUESTS

                  I have to imagine others would want to display these kinds of notes within a part/drawing file (e.g. multiple coating processes on separate faces).  That being said, I think the following enhancement requests would be worth searching for and supporting through the Customer Portal.

                  • Vote for SPR 412820: Ability to link notes in drawing to part / assembly level global variables.
                    • This enhancement would allow users to skip the step of creating a redundant Custom Property.  This enhancement should not pose a problem for legacy files as SOLIDWORKS already prevents you from creating a property and a global variable with the same name.
                  • Vote for SPR 590121: Cannot use weldment cut list item properties to drive equation.
                    • This enhancement would prevent users from having to create a redundant custom property that is linked to the cut list property.
                  • Vote for SPR 249404: Cannot link note to weldment cut list item property.
                    • You can do this in drawings via Note > Link to Property > Component to which annotation is attached > Cut list properties, but not within a multibody part file.  I would like to see this same functionality in part files so users do not have to remember the syntax $PRPWLD:"CUT_LIST_PROPERTY_NAME".
                  • Vote for SPR 393916: Ability to link surface area of a surface body to a custom property.
                    • This would allow users to selectively offset model faces for partial surface area calculations.