This is the sixth article in the SOLIDWORKS Power User Challenges (SWPUC) series. Read the other articles in the series via the links below:
- ‘Impossible’ Modeling Challenges Solved by CAD Power Users
- ’Impossible’ Modeling Challenges Part 2: Dynamic Straightening of a Bent Wire in CAD
- ‘Impossible’ Modeling Challenges Part 3: (Un) Bend a Square Profile in Multiple Directions
- ‘Impossible’ Modeling Challenges Part 4: Reverse Engineering (Surfacing and Direct Editing)
- ‘Impossible’ Modeling Challenges Part 5: Volume Limit Mate (Keep the Prisoner in Jail)
Background
Everyone knows how to calculate the volume of a solid body using 3D CAD. For SOLIDWORKS users there are several options, including:
- Using the Mass Properties tool
- Using a Sensor
- Using a Custom Property (for a part containing only one solid body)
- Using a Cut-List Item Property (for a solid body)
The Challenge
So far, the reported volume is that of the glass, and not of the fluid that fills the carafe.
If we were to pour a liquid substance in the carafe, let’s say an expensive Cabernet Sauvignon, it is important to ensure that the carafe is accurately graded.
When the level of liquid is known, it is relatively easy to compute its volume. The opposite is less simple, requiring a repetitive cycle of trial and error.
For an in-depth study of this problem, the power-users from the SOLIDWORKS Forum competed in the 10th SOLIDWORKS Power User Challenge (SWPUC).
They were provided with a model of the carafe and seven measurement lines already inscribed. The challenge was to ensure the lines were located at the proper height.
Step 1 – Fill the Carafe to a Given Level
All solutions had one thing in common: the procedure for filling the carafe to a given level. For that we need to create a second solid body, representing the liquid. The best technique takes advantage of the Intersect tool:
- Create a horizontal plane at a known height.
2. Run the Intersect tool, using the Create internal regions option, without merging regions.
3. A new solid body is created to represent the wine.
Step 2 – Determine the Level of a Given Volume of Liquid
The participants proposed different solutions for this step. Let’s consider determining the 40oz mark.
Solution #1 – Manually Modify the Locating Dimension of the Capping Plane and Reading the Volume
As you can imagine, this is a repetitive, time-consuming exercise.
Solution #2 – Use Instant3DMode to Quickly Adjust the Locating Dimension of the Capping Plane and Read the Volume Sensor
Step #1: Create a Volume Sensor for the wine solid body.
Notice the volume units are not expressed in the type of unit you want. That is because of a known bug: SPR# 588882: Units in sensor are not consistent when editing/updating the volume sensor.
Fortunately, the fix is simple, just edit the document units and re-select the unit for the volume.
Step #2: Correct the measuring units.
Step #3: Ensure Instant3D is on.
Step #4: Double-click on the capping plane to reveal its dimension.
Step #5: Drag and release the Instant3D handle of the plane dimension.
Notice that, as you drag the handle, you can move the cursor over the ruler to ensure precise measurement modifications.
Step #6: After each drag and release of the Instant3D handle, register the value of the Volume Sensor.
Repeat Steps 5 and 6 until the reported volume of wine is within an accepted tolerance.
Tip: Zoom-in to the handle to perform more precise adjustments.
It takes about 30 seconds to get the volume of liquid within an acceptable range.
Solution #3 – Use a Design Study to Automate the Trial and Error Process
The previous two solutions were labor intensive, requiring repetitive user input. What if we were to ask SOLIDWORKS to do all the work for us?
Step #1: Right-click on the Motion Study on the Status Bar and select Create New Design Study.
Step #2: In the Variable View, add a variable parameter.
Step #3: Select the Plane dimension and name it “Level”.
If you have a licence of Simulation Professional or Premium, follow steps 4 to 7. If you do not have a licence of Simulation Professional or Premium, follow steps 8 to 11.
With a Simulation Professional or Premium license, you can use Optimization functionality along with Goals to quickly obtain the desired result.
Step #4: From the Goals dropdown, select the Volume Sensor. If needed, you can create the sensor at this time.
Step #5: Set the goal to have the Volume = 40 oz.
Step #6: Establish the range for the Volume Variable.
Step #7: Click Run.
The study quickly converges to the optimal result:
Note that the result can be further refined by narrowing the range.
If you do not have a licence of Simulation Professional or Premium, follow steps 8 to 11.
Step #8: Add the Volume as a Constraint. Set it to Monitor Only.
Step #9: Set the variable Level as a Range with Step between 3” and 4” with a step of 0.1”.
Step #10: Click Run.
Step #11: Examining the final results it is clear that the optimal volume can be found for a level of wine between 3.5” and 3.6”.
To increase precision, narrow the range and re-run the study.
Winners of the 10th SWPUC
This was one of the most popular Power-User challenges so far. With 3161 views, 88 viewers, 84 replies, and tens of solutions, it was really hard to select a unique winner.
In the end, we recognized all the original solutions submitted by:
Todd Blacksher, Andreas Rhomberg, Scott Stuart, Brandon Graham, Muhammad Aamer, Bill Toft, Michael Fernando, Krzysztof W., Dan Pihlaja, John Stoltzfus and Elmar Klammer.
Conclusion
It’s easy to determine the volume of an existing solid body. It is more challenging to determine the level of a known volume of fluid poured in a given shape. For that, a trial-and-error procedure is needed.
SOLIDWORKS has an excellent tool for automating such trial and error processes, called Design Study. It can be used for a wide range of purposes, not only for computing volumes.
For example, if you love basketball, watch this video for another exciting application of design studies.