Skip to main content
10-Marble
June 7, 2023
Solved

Volume calculation with interfering parts

  • June 7, 2023
  • 2 replies
  • 2350 views
I am using Creo Parametric Release 7.0 and Datecode7.0.2.0

For an assembly I have a closed box filled with liquid. I can calculate the volume by creating a quilt and create a measure or analysis. If i add a component in the Iiquid the volume should be recalculated. Is this possible? I would like to avoid boolean operations cause i think this might slow my system. I tried adding a search function to create a query for the components inside the part, but this generates a layer and does not update if I add another part at a later stage.

Do anyone have a suitable method for solving this?

Here are the errors that I faced
None
    Best answer by MartinHanak

    Hi,

    your situation is complicated. Therefore you cannot expect to find simple and parametric solution.

    Simple solution:

    • create auxiliary assembly and place all liquid-immersed components into it
    • compute volume of auxiliary assembly
    • copy this value to clipboard
    • use this value in real assembly

    2 replies

    21-Topaz I
    June 7, 2023

    I don't have experience with this, but here is an old thread discussing something similar.

    https://community.ptc.com/t5/3D-Part-Assembly-Design/Fill-in-the-void/td-p/22588 

     

    You may need to resort to Boolean operations.

    10-Marble
    June 7, 2023

    Hi Chris

     

    Thanks for your answer! I tried to search in archive before posting, but appearantly not good enough.

     

    Yes seems they concluded with boolean operations, but its not ideal..

     

    I am thinking of testing with creating subassembly with components and using volume parameter from this to withdraw from my liquid volume, but seems to be an inconsistent approach as well.. All components embedded in liqud needs to be in that assembly. Another issue is some parts might be partially embedded in liquid volume and etc..

    24-Ruby III
    June 7, 2023

    Hi,

    • open assembly
    • modify height dimension of inner_body.prt
    • regenerate twice
    • see assembly relation and parameter defined by it

     

    10-Marble
    June 9, 2023

    Hi MartinHanak

     

    Thanks for your assistance and model!

    Your solution is solving the problem, but I need to make copy surface from each and every component in the liquid and add the volume to relation?

     

    As it might be a lot of component in the liqiud it seems time consuming and a lot of manual updating..

    I was hoping to be able to use some parameters from global interference or something, but it doesn't generate any volume parameter. Only yes/no if collision operation is perfomed.

     

    BR Arild

    24-Ruby III
    June 9, 2023

    Hi,

    your situation is complicated. Therefore you cannot expect to find simple and parametric solution.

    Simple solution:

    • create auxiliary assembly and place all liquid-immersed components into it
    • compute volume of auxiliary assembly
    • copy this value to clipboard
    • use this value in real assembly