Modelling negative space between components?

laukejas
Posts: 201
Joined: Sun Sep 05, 2021 8:27 am
Answers: 0
x 43
x 114

Modelling negative space between components?

Unread post by laukejas »

Hi,

I am designing my second ROV (underwater exploration vehicle), and in this design, it is crucial that I correctly estimate weight versus buoyancy, so that the final vehicle is neutrally buoyant and can be trimmed with minimum ballast. SOLIDWORKS provides accurate weight estimations, as well as the volume of every part. So, if for example the whole design weighs 3kg, and the volume of all the parts is 3L, then it means it will be neutrally buoyant (because 1L of water equals 1kg).

The issue is that the electronics compartment contains empty spaces (air), which also adds to the buoyant volume, and must be accounted for. However, SOLIDWORKS does not add this air to the final volume, because air is not a solid part. Here is a screenshot for reference.

Image

Attaching a Pack&Go of this assembly - saved with SW 2021 Student Edition: https://ufile.io/p6yaav1t

I need a way to model the air inside this compartment, so I can set it's density to 1.225 kg/m3, and then SOLIDWORKS will correctly account for it in the volume VS weight comparison.

Question is, how? Normally, such things are done with Cavity, but I tried it, and after 30 minutes of calculation SOLIDWORKS gave up. The geometry of all these electronic parts inside the compartment is simply too much. Even if it would work, it would increase the rebuild time to unacceptable levels.

I also tried an Equations approach - since the housing is cylindrical, I can create a virtual part (Air) of the same shape, calculate it's volume, subtract the volume of the assembly (minus air part) from it, which should give me the volume by which I need to reduce this part. Then, use a Cut-Extrude inside the air part to remove the volume that accounts for all these other components. However, this creates circular references, and massively increases rebuild time.

Can anyone advise? What are some rebuild-friendly ways to monitor the volume of air inside this compartment as I'm working on it?
User avatar
AlexLachance
Posts: 2196
Joined: Thu Mar 11, 2021 8:14 am
Answers: 17
Location: Quebec
x 2382
x 2025

Re: Modelling negative space between components?

Unread post by AlexLachance »

laukejas wrote: Mon Aug 22, 2022 9:18 am Hi,

I am designing my second ROV (underwater exploration vehicle), and in this design, it is crucial that I correctly estimate weight versus buoyancy, so that the final vehicle is neutrally buoyant and can be trimmed with minimum ballast. SOLIDWORKS provides accurate weight estimations, as well as the volume of every part. So, if for example the whole design weighs 3kg, and the volume of all the parts is 3L, then it means it will be neutrally buoyant (because 1L of water equals 1kg).

The issue is that the electronics compartment contains empty spaces (air), which also adds to the buoyant volume, and must be accounted for. However, SOLIDWORKS does not add this air to the final volume, because air is not a solid part. Here is a screenshot for reference.
Excuse me, but isn't air removed(or vacuumed out) from these ROV particularly for the reason that air can expand the further in depth you go and also because it can contain humidity which could damage your electronics..?
laukejas
Posts: 201
Joined: Sun Sep 05, 2021 8:27 am
Answers: 0
x 43
x 114

Re: Modelling negative space between components?

Unread post by laukejas »

AlexLachance wrote: Mon Aug 22, 2022 9:29 am Excuse me, but isn't air removed(or vacuumed out) from these ROV particularly for the reason that air can expand the further in depth you go and also because it can contain humidity which could damage your electronics..?
Yes, that can be done, I usually partially vacuum it out. In that instance, the "air" part would have a density of 0 kg/m^3. But I still need to know it's volume, because that volume displaces water, and therefore adds to the buoyancy.
User avatar
AlexLachance
Posts: 2196
Joined: Thu Mar 11, 2021 8:14 am
Answers: 17
Location: Quebec
x 2382
x 2025

Re: Modelling negative space between components?

Unread post by AlexLachance »

What if you were to calculate the volume of your electronics without the container, and then the volume your container can contain and then substract the volume of the electronics from the cylinder..?

That would be the way I would go, try and break down the volumes from the electronics and then substract them from the volume the container can contain. But honestly, I'm not an engineer and no expert.
User avatar
bentlybobcat
Posts: 64
Joined: Tue Sep 21, 2021 8:43 am
Answers: 0
x 3
x 48

Re: Modelling negative space between components?

Unread post by bentlybobcat »

Hah! My line of work!

Easy peasy:

1) Create a new part in the assy, saving it as a Mold.
2) In the mold part create a solid body encompassing the entire assembly.
3) Using Insert->Features->Cavity, insert a cavity feature in the mold part.
a) Select all the parts from the original assy.
b) There will be two solid bodies created. Select the "Bodies to Keep" dialog and click the radio button of the outside body. (This discards the internal volume of air).
4) Save the mold part and open in a separate window to edit.
5) Create another body the same size as the mold body, but physically separate from the mold body.
6) Using Insert->Features->Move, relocate the second body coincident with the mold body.
7) Using Insert->Features->combine, subtract the mold body from the 2nd body;
a) Choose the second body (not feature) as the main body.
b) Select the original Mold body as the "Bodies to Combine".
c) In the operation type box, select Subtract.
8) Change the material of the remaining body to water.
9) Select Tools->Mass properties, and done!
Bent
User avatar
bentlybobcat
Posts: 64
Joined: Tue Sep 21, 2021 8:43 am
Answers: 0
x 3
x 48

Re: Modelling negative space between components?

Unread post by bentlybobcat »

Sorry, can't get indenting to work.

This might be easier to read:
image.png
Bent
laukejas
Posts: 201
Joined: Sun Sep 05, 2021 8:27 am
Answers: 0
x 43
x 114

Re: Modelling negative space between components?

Unread post by laukejas »

AlexLachance wrote: Mon Aug 22, 2022 9:50 am What if you were to calculate the volume of your electronics without the container, and then the volume your container can contain and then substract the volume of the electronics from the cylinder..?

That would be the way I would go, try and break down the volumes from the electronics and then substract them from the volume the container can contain. But honestly, I'm not an engineer and no expert.
Yes, this was the second method I described in my original post. However, it creates circular references, and slows down rebuild a lot...
bentlybobcat wrote: Mon Aug 22, 2022 10:00 am Hah! My line of work!

Easy peasy:

1) Create a new part in the assy, saving it as a Mold.
2) In the mold part create a solid body encompassing the entire assembly.
3) Using Insert->Features->Cavity, insert a cavity feature in the mold part.
a) Select all the parts from the original assy.
b) There will be two solid bodies created. Select the "Bodies to Keep" dialog and click the radio button of the outside body. (This discards the internal volume of air).
4) Save the mold part and open in a separate window to edit.
5) Create another body the same size as the mold body, but physically separate from the mold body.
6) Using Insert->Features->Move, relocate the second body coincident with the mold body.
7) Using Insert->Features->combine, subtract the mold body from the 2nd body;
a) Choose the second body (not feature) as the main body.
b) Select the original Mold body as the "Bodies to Combine".
c) In the operation type box, select Subtract.
8) Change the material of the remaining body to water.
9) Select Tools->Mass properties, and done!
I mentioned in my original post that I tried this. The problem is the Cavity feature - due to the complexity of the electronics inside this compartment, it takes forever to load, and then fails. Even if I select just some components, not all (exclude wires and other small stuff), it still takes forever to rebuild.
User avatar
AlexLachance
Posts: 2196
Joined: Thu Mar 11, 2021 8:14 am
Answers: 17
Location: Quebec
x 2382
x 2025

Re: Modelling negative space between components?

Unread post by AlexLachance »

laukejas wrote: Mon Aug 22, 2022 10:16 am Yes, this was the second method I described in my original post. However, it creates circular references, and slows down rebuild a lot...
Oh I get it now, you're trying to have it calculated automatically everytime you change it so that you can continue adapting your ROV accordingly during the conception phase.

I'll move along now :lol:
User avatar
bentlybobcat
Posts: 64
Joined: Tue Sep 21, 2021 8:43 am
Answers: 0
x 3
x 48

Re: Modelling negative space between components?

Unread post by bentlybobcat »

laukejas wrote: Mon Aug 22, 2022 10:16 am Yes, this was the second method I described in my original post. However, it creates circular references, and slows down rebuild a lot...



I mentioned in my original post that I tried this. The problem is the Cavity feature - due to the complexity of the electronics inside this compartment, it takes forever to load, and then fails. Even if I select just some components, not all (exclude wires and other small stuff), it still takes forever to rebuild.
So, create a configuration without the internal electronics.

;)
Bent
User avatar
Frederick_Law
Posts: 1948
Joined: Mon Mar 08, 2021 1:09 pm
Answers: 8
Location: Toronto
x 1643
x 1471

Re: Modelling negative space between components?

Unread post by Frederick_Law »

SW will have huge problem with it: ZTG.
Measure total volume of assembled electronic parts and substract from volume of cavity inside vessel which should be easy to calculate.

If you're counting air, did you use "correct" density for all the wires, solder, epoxy etc?
If air will be vaccum out, shouldn't mass from SW is correct?
Also volume displaced only depends on external of vessel.
What ever is inside only add to mass, not volume. Unless it's filled with water.
So air inside is not part of displaced volume. It add to total mass.

So don't pull your hair out try to calculate total mass and volume. There are too many variable, ie a bigger blob of solder.
Also density of "water" you'll put the device into is not constant.
Assemble the thing and put it on a scale.
User avatar
SPerman
Posts: 2058
Joined: Wed Mar 17, 2021 4:24 pm
Answers: 14
x 2232
x 1878
Contact:

Re: Modelling negative space between components?

Unread post by SPerman »

Could you do this via the BOM? You could create a custom property that lists the volume of all of the components. You would have to do the math manually, but at least all of the information would be in one place.
-
I may not have gone where I intended to go, but I think I have ended up where I needed to be. -Douglas Adams
laukejas
Posts: 201
Joined: Sun Sep 05, 2021 8:27 am
Answers: 0
x 43
x 114

Re: Modelling negative space between components?

Unread post by laukejas »

AlexLachance wrote: Mon Aug 22, 2022 10:29 am Oh I get it now, you're trying to have it calculated automatically everytime you change it so that you can continue adapting your ROV accordingly during the conception phase.

I'll move along now :lol:
Yes, that is correct :D
bentlybobcat wrote: Mon Aug 22, 2022 10:32 am

So, create a configuration without the internal electronics.

;)
If I remove the electronics, then there is nothing to take up space anymore... It's all the little bits and pieces that add up together. They have to be there. Not all of them, but enough to make Cavity feature rebuild for minutes, unfortunately.
Frederick_Law wrote: Mon Aug 22, 2022 10:34 am SW will have huge problem with it: ZTG.
Measure total volume of assembled electronic parts and substract from volume of cavity inside vessel which should be easy to calculate.

If you're counting air, did you use "correct" density for all the wires, solder, epoxy etc?
If air will be vaccum out, shouldn't mass from SW is correct?
Also volume displaced only depends on external of vessel.

So don't pull your hair out try to calculate total mass and volume. There are too many variable, ie a bigger blob of solder.
Also density of "water" you'll put the device into is not constant.
Assemble the thing and put it on a scale.
I did put it on the scale on my V1 of this project - and my buoyancy estimations were off by 0.5 liters, which made the ROV sink like a stone. I finally fixed with LOTS of additional buoyancy foam, but it was a terrible solution. Which is why I now want to make a far better estimation, so that once the thing is built, I only need a few tens of grams of ballast, rather than kilograms (or worse, having to add foam).

The idea you suggested, I addressed in my first post - this works, but it slows down rebuild time to a crawl, and there is no easy way to suppress these calculations when they are not needed.

As for the weight of the air - yeah, you are correct it doesn't really matter that much, it's just a few grams anyway. But the volume of the air is absolutely critical.
Frederick_Law wrote: Mon Aug 22, 2022 10:34 am What ever is inside only add to mass, not volume. Unless it's filled with water.
So air inside is not part of displaced volume. It add to total mass.
If I don't model this air/vacuum volume, then SW won't report it in the total volume of the assembly. In other words, it is assuming that volume is filled with water. I need to know what the actual volume is there, so I can add it to the total volume at least.


Guys, I don't mean to sound ungrateful, but you are suggesting stuff that I already tried, I wrote it all in my first post, and it doesn't work because of the massively increased rebuild time... Please, read what I wrote there, save your time :roll:
SPerman wrote: Mon Aug 22, 2022 10:41 am Could you do this via the BOM? You could create a custom property that lists the volume of all of the components. You would have to do the math manually, but at least all of the information would be in one place.
I could, but how do I find out the volume of the air/vacuum inside that electronics compartment?
User avatar
AlexLachance
Posts: 2196
Joined: Thu Mar 11, 2021 8:14 am
Answers: 17
Location: Quebec
x 2382
x 2025

Re: Modelling negative space between components?

Unread post by AlexLachance »

IMO, you'll have to determine a tolerance for your buoyancy(The ± values that it could vary)

Then you'll have to breakdown your electronics into "assemblies" to calculate their volume, and then have the things that could vary, such as wires, fit into the previously determined tolerance.

When does it start 'sinking like a stone' and when does it 'float too much' are the "tolerances" that I speak of that you would need to determine.

Are you working in a part or assembly environment..? That will also change a few things

I think what @SPerman suggested would be the "easiest" way to go. Have each component callout their total volume, and then use your BOM to do a sort-of equation out of it, that's how I would process to be able to extract it to our ERP at least.

Let's be real, you need a lot of precision in what you are doing right now, but there are too many things that could "vary" during production causing you to go on either side of your tolerance, which is why I believe you need to determine what is your tolerance.

Things that could vary include but are not limited to, weight, length of wires, any weldments, the air remaining in the container after your vacuuming, if the vacuuming is not controlled, etc...
User avatar
SPerman
Posts: 2058
Joined: Wed Mar 17, 2021 4:24 pm
Answers: 14
x 2232
x 1878
Contact:

Re: Modelling negative space between components?

Unread post by SPerman »

laukejas wrote: Mon Aug 22, 2022 10:48 am



I could, but how do I find out the volume of the air/vacuum inside that electronics compartment?
You model the vessel empty. Subtract the volume of the components from the volume of the vessel. Yes, this will have to be done by hand, or in a spreadsheet.
-
I may not have gone where I intended to go, but I think I have ended up where I needed to be. -Douglas Adams
User avatar
Frederick_Law
Posts: 1948
Joined: Mon Mar 08, 2021 1:09 pm
Answers: 8
Location: Toronto
x 1643
x 1471

Re: Modelling negative space between components?

Unread post by Frederick_Law »

d1" solid sphere, one steel, one gold. How much water does each displace?
d1" hollow steel sphere with 1/8" wall. How much water does it displace?
Fill the hollow steel sphere with water. How much water does it displace?
Make it a plastic hollow sphere. How much water does it displace?

"If I don't model this air/vacuum volume, then SW won't report it in the total volume of the assembly. In other words, it is assuming that volume is filled with water. I need to know what the actual volume is there, so I can add it to the total volume at least."
I think you assumed too much.
Empty is 0 density. Not water, not air.

I'm saying all you need is solid volume of your vessel and total weight of everything. Weight/Volume = density.
User avatar
bentlybobcat
Posts: 64
Joined: Tue Sep 21, 2021 8:43 am
Answers: 0
x 3
x 48

Re: Modelling negative space between components?

Unread post by bentlybobcat »

Suppress the internal parts in the PV.

The volume you obtain by going through my procedure is the volume contained by the outside of the PV.

I do this ALL THE TIME.....
Bent
User avatar
Frederick_Law
Posts: 1948
Joined: Mon Mar 08, 2021 1:09 pm
Answers: 8
Location: Toronto
x 1643
x 1471

Re: Modelling negative space between components?

Unread post by Frederick_Law »

Which one displace more water?
An empty nuclear sub?
Or same nuclear sub full load with 500 crew, 16 nuclear missiles and 100 torpedo?

Trick question:
How about empty 2L Coke bottle and a full one?
User avatar
josh
Posts: 295
Joined: Thu Mar 11, 2021 1:05 pm
Answers: 16
x 22
x 508

Re: Modelling negative space between components?

Unread post by josh »

Wow... Is Frederick the only person here who realizes that so much time is being spent analyzing the trees that the forest is being completely missed?

The ONLY thing that matters for bouyancy force is the external volume. That means the volume of whater that runs out on the ground when you force the thing underwater in a tank that's full to the brim. You know what? BOUYANCY FORCE IS ABSOLUTELY UNCHANGED, NO MATTER THE CONTENTS OF THE INSIDE. The bouyancy force absolutely always matches only the amount of water displaced by the outside closed volume. Your screenshot shows a simple cylindrical shape with a dome. Lke 5 dimensions and 5 minutes and I could calculate your buoyancy force within 5%. Then the thing to check to see if it's neutrally bouyant is the mass of the whole thing. If the mass is the same as the mass of water displaced, it will be neutrally bouyant. It doesn't matter if the mass inside is made of air, helium, vacuum, water, lead, tungsten, or whatever combination of materials. As long as that total mass is the same as the total mass of the water on the floor, it will be neutrally bouyant. If you somehow added extra bouyancy to your last model due to the "air inside", no freaking wonder it sank like a rock.
laukejas
Posts: 201
Joined: Sun Sep 05, 2021 8:27 am
Answers: 0
x 43
x 114

Re: Modelling negative space between components?

Unread post by laukejas »

AlexLachance wrote: Mon Aug 22, 2022 11:55 am IMO, you'll have to determine a tolerance for your buoyancy(The ± values that it could vary)

Then you'll have to breakdown your electronics into "assemblies" to calculate their volume, and then have the things that could vary, such as wires, fit into the previously determined tolerance.

When does it start 'sinking like a stone' and when does it 'float too much' are the "tolerances" that I speak of that you would need to determine.

Are you working in a part or assembly environment..? That will also change a few things

I think what @SPerman suggested would be the "easiest" way to go. Have each component callout their total volume, and then use your BOM to do a sort-of equation out of it, that's how I would process to be able to extract it to our ERP at least.

Let's be real, you need a lot of precision in what you are doing right now, but there are too many things that could "vary" during production causing you to go on either side of your tolerance, which is why I believe you need to determine what is your tolerance.

Things that could vary include but are not limited to, weight, length of wires, any weldments, the air remaining in the container after your vacuuming, if the vacuuming is not controlled, etc...
Thanks for the advice. Yes, indeed I do have a range of buoyancy that I'm trying to fit into. The displacement must be in the range of 20-120 grams positive (higher than the weight), so that the difference can be brought down to 0 with additional lead weighs after empirical testing. The most important thing is to avoid having a negative difference, because adding floats is a lot more difficult. I am working in an assembly environment.

Having each component callout their volume is possible, but this unfortunately also slows down rebuild. If I create a custom property "Volume" and set it to "SW-Volume@Part.SLDPRT", then this has to be evaluated every rebuild. With hundreds of parts in the model, it really adds up. I am not sure if it is possible to suppress it somehow when it is not needed?
Frederick_Law wrote: Mon Aug 22, 2022 12:37 pm d1" solid sphere, one steel, one gold. How much water does each displace?
d1" hollow steel sphere with 1/8" wall. How much water does it displace?
Fill the hollow steel sphere with water. How much water does it displace?
Make it a plastic hollow sphere. How much water does it displace?

"If I don't model this air/vacuum volume, then SW won't report it in the total volume of the assembly. In other words, it is assuming that volume is filled with water. I need to know what the actual volume is there, so I can add it to the total volume at least."
I think you assumed too much.
Empty is 0 density. Not water, not air.

I'm saying all you need is solid volume of your vessel and total weight of everything. Weight/Volume = density.
Getting that solid volume of the vessel is the exactly the problem. I already have the solid volume of all the components. But I don't have the solid volume of the air inside the compartment.
josh wrote: Mon Aug 22, 2022 8:25 pm Wow... Is Frederick the only person here who realizes that so much time is being spent analyzing the trees that the forest is being completely missed?

The ONLY thing that matters for bouyancy force is the external volume. That means the volume of whater that runs out on the ground when you force the thing underwater in a tank that's full to the brim. You know what? BOUYANCY FORCE IS ABSOLUTELY UNCHANGED, NO MATTER THE CONTENTS OF THE INSIDE. The bouyancy force absolutely always matches only the amount of water displaced by the outside closed volume. Your screenshot shows a simple cylindrical shape with a dome. Lke 5 dimensions and 5 minutes and I could calculate your buoyancy force within 5%. Then the thing to check to see if it's neutrally bouyant is the mass of the whole thing. If the mass is the same as the mass of water displaced, it will be neutrally bouyant. It doesn't matter if the mass inside is made of air, helium, vacuum, water, lead, tungsten, or whatever combination of materials. As long as that total mass is the same as the total mass of the water on the floor, it will be neutrally bouyant. If you somehow added extra bouyancy to your last model due to the "air inside", no freaking wonder it sank like a rock.
Josh, I design boats for a living, and I have been involved with buoyancy calculations for 8 years now. I even wrote a commercial add-in for SW to aid buoyancy calculations (unfortunately it requires a very different workflow and doesn't work for this ROV project). So trust me when I say, I understand how buoyancy works. I know that it doesn't matter what the inside is filled with. But I need it to be filled with something so that SW reports it in the Volume section of Mass Properties report.

Clearly I have oversimplified the issue in my initial post grumph The assembly I showed and posted a link to, is just a part of the ROV, I thought that was obvious. The whole ROV looks like this (work in progress):

Image

There are many parts here, with geometry way more complicated than a simple cylinder. Do you think it's so easy to manually calculate the total volume of the assembly now? At least for me it isn't. So I let SW do it, and compare these two numbers in the Mass Properties report for the whole assembly:

Image

If the numbers match, I have neutral buoyancy.

But (again), this report doesn't take in account the air/vacuum inside the sealed compartments. Which is why I am looking for a rebuild-friendly way to fill it with a dummy solid with a 0 density that would add up to this Volume report.

Filling the whole compartment with that dummy solid doesn't work, because then it overlaps with existing components inside that cylinder, and the Volume report will be too high. Cavity feature would fix this and give a very accurate and correct volume figure, but it takes too long to rebuild.

So the way you are suggesting - how exactly would I implement it here? What I understood so far:
1. Create dummy geometry to measure the volume of the cylinder of that compartment (cylinder);
2. Add that volume to the volume of the rest of the assembly;

Correct me if I'm wrong.

But how exactly do I make this happen in SW? How do I tell the Mass Properties report to exclude the volume of the components inside that cylinder and use that dummy geometry/solid instead?

If this is done not via Mass Properties, but through Custom Properties, outputting it to BOM like AlexLachance suggested, then it has to be done for every single component. Viable, but a lot of work, and massively increases rebuild time.

If done via Equations, it is somewhat less work, but also increases rebuild time a lot.

And if done manually, it is very labor intensive.

So we're back to square one - unless I misunderstood what you guys are suggesting. I hope this additional explanation shows that I understand how buoyancy works, you don't need to explain that, I am just asking for suggestions how to implement this calculation in SW in a convenient, automated and rebuild-friendly way.
User avatar
Frederick_Law
Posts: 1948
Joined: Mon Mar 08, 2021 1:09 pm
Answers: 8
Location: Toronto
x 1643
x 1471

Re: Modelling negative space between components?

Unread post by Frederick_Law »

"Getting that solid volume of the vessel is the exactly the problem. I already have the solid volume of all the components. But I don't have the solid volume of the air inside the compartment.
Clearly I have oversimplified the issue in my initial post grumph The assembly I showed and posted a link to, is just a part of the ROV, I thought that was obvious. The whole ROV looks like this (work in progress)"
**
User avatar
bentlybobcat
Posts: 64
Joined: Tue Sep 21, 2021 8:43 am
Answers: 0
x 3
x 48

Re: Modelling negative space between components?

Unread post by bentlybobcat »

To be brutally honest, buoyancy management on an ROV is a real challenge.

Trying to get a process to do it all for you in one fell swoop is going to be problematic if even possible.

ROV designers have extensive spreadsheets with all the various bits and bob and their weights, buoyancy, CB, CG, etc that they use to calculate the overall system configuration.

And then, typically, they will add 150 pounds of lead ballast to the system, as this whole process is a bit sketchy. In the field the operators will use the lead to trim the system and what you want at the end of the day is for the system to be very slightly positively buoyant.

Couple of reasons for this,

1) In the event of a dead sub, it floats to the surface and you can find and recover it. DAMHIKT.....
2) You want to be trusting down toward the bottom as opposed to up to the surface. Downthrust, when near the bottom stirs up the schmutz on the bottom and obscures visibility.

So, use my process to get the characteristics of the large assemblies, and then build your spread sheet.

I've worked in the ROV industry virtually my entire career. In 1997 I introduced solid modeling to the ROV industry at Offshore Intervention in New Orleans.

BTDT....
Bent
User avatar
Frederick_Law
Posts: 1948
Joined: Mon Mar 08, 2021 1:09 pm
Answers: 8
Location: Toronto
x 1643
x 1471

Re: Modelling negative space between components?

Unread post by Frederick_Law »

"So we're back to square one - unless I misunderstood what you guys are suggesting. I hope this additional explanation shows that I understand how buoyancy works, you don't need to explain that, I am just asking for suggestions how to implement this calculation in SW in a convenient, automated and rebuild-friendly way."

I say you don't need inside volume. Just outside volume.

Again, solid 1" cube vs hollow 1" cube. what volume of water do they displace?
Yes, mass is different.

You're way over thinking this.
Go take a bath in a bath tub.
With ice water.
User avatar
AlexLachance
Posts: 2196
Joined: Thu Mar 11, 2021 8:14 am
Answers: 17
Location: Quebec
x 2382
x 2025

Re: Modelling negative space between components?

Unread post by AlexLachance »

laukejas wrote: Tue Aug 23, 2022 4:14 amHaving each component callout their volume is possible, but this unfortunately also slows down rebuild. If I create a custom property "Volume" and set it to "SW-Volume@Part.SLDPRT", then this has to be evaluated every rebuild. With hundreds of parts in the model, it really adds up. I am not sure if it is possible to suppress it somehow when it is not needed?
It isn't really that big of a deal, it is something that SolidWorks already calculates in the background, wether you ask it to or not. The property is just something to call it out. You won't notice a difference IMO.

I draw trailers and we generate a BOM with over 40 custom properties on all components called out and extracted to our ERP. Obviously we didn't have that many when we started on SolidWorks but as time went by we added more and more and there never was an increase in rebuild time because of 'properties' being added to a document.

If you don't call out your weight in your document properties, are your documents weightless? Do they rebuild faster? The answer to both questions is no.

Heck, as someone stated, you could just pull-out a BOM as a spreadsheet and then do a quick equation from there to get your desired calculations. It wouldn't be that hard and wouldn't take that long to do(and re-do). Hardest part is being so far into the project and now just thinking about this and having to implement the volume in all your components properties.


Edit: But, as Fred stated, you're most likely overthinking this.
User avatar
bentlybobcat
Posts: 64
Joined: Tue Sep 21, 2021 8:43 am
Answers: 0
x 3
x 48

Re: Modelling negative space between components?

Unread post by bentlybobcat »

Frederick_Law wrote: Tue Aug 23, 2022 8:29 am "So we're back to square one - unless I misunderstood what you guys are suggesting. I hope this additional explanation shows that I understand how buoyancy works, you don't need to explain that, I am just asking for suggestions how to implement this calculation in SW in a convenient, automated and rebuild-friendly way."

I say you don't need inside volume. Just outside volume.

Again, solid 1" cube vs hollow 1" cube. what volume of water do they displace?
Yes, mass is different.

You're way over thinking this.
Go take a bath in a bath tub.
With ice water.
+1

Absolutely correct
Bent
User avatar
Frederick_Law
Posts: 1948
Joined: Mon Mar 08, 2021 1:09 pm
Answers: 8
Location: Toronto
x 1643
x 1471

Re: Modelling negative space between components?

Unread post by Frederick_Law »

I can't guarantee a plane will fly but I can guarantee a sub will sink.
;;
laukejas
Posts: 201
Joined: Sun Sep 05, 2021 8:27 am
Answers: 0
x 43
x 114

Re: Modelling negative space between components?

Unread post by laukejas »

bentlybobcat wrote: Tue Aug 23, 2022 8:22 am To be brutally honest, buoyancy management on an ROV is a real challenge.

Trying to get a process to do it all for you in one fell swoop is going to be problematic if even possible.

ROV designers have extensive spreadsheets with all the various bits and bob and their weights, buoyancy, CB, CG, etc that they use to calculate the overall system configuration.

And then, typically, they will add 150 pounds of lead ballast to the system, as this whole process is a bit sketchy. In the field the operators will use the lead to trim the system and what you want at the end of the day is for the system to be very slightly positively buoyant.

Couple of reasons for this,

1) In the event of a dead sub, it floats to the surface and you can find and recover it. DAMHIKT.....
2) You want to be trusting down toward the bottom as opposed to up to the surface. Downthrust, when near the bottom stirs up the schmutz on the bottom and obscures visibility.

So, use my process to get the characteristics of the large assemblies, and then build your spread sheet.

I've worked in the ROV industry virtually my entire career. In 1997 I introduced solid modeling to the ROV industry at Offshore Intervention in New Orleans.

BTDT....
Yeah, I know it is complicated... My ROV is very small and light (I expect around ~5kg when finished, disregarding tether), so I won't need that much ballast :D But the idea is the same. I try to err on the buoyant side so I can then compensate with lead until the thing is slightly neutrally buoyant. But I still want to minimize the amount of lead required.

By the way, off-topic question since you worked with ROVs for so long - I wonder how do you deal with water density gradient in different depths? Water is almost incompressible (and so is the ROV - hopefully!), but there is a slight difference. And the water temperature also changes deeper down, which affects density as well. Also I read that water salinity sometimes might change depending on depth as well. All these small factors combined could affect the buoyancy of the ROV. How do you account for these factors, and do you trim the ROVs buoyancy at the surface, or for the intended exploration depth?
Frederick_Law wrote: Tue Aug 23, 2022 8:29 am "So we're back to square one - unless I misunderstood what you guys are suggesting. I hope this additional explanation shows that I understand how buoyancy works, you don't need to explain that, I am just asking for suggestions how to implement this calculation in SW in a convenient, automated and rebuild-friendly way."

I say you don't need inside volume. Just outside volume.

Again, solid 1" cube vs hollow 1" cube. what volume of water do they displace?
Yes, mass is different.

You're way over thinking this.
Go take a bath in a bath tub.
With ice water.
Frederic, please read my previous post again. I KNOW that solid/hollow cube displaces the same amount. But SW doesn't know this, and if my 1" cube is hollow, it will not report it's volume as 1"^3, it will report as 0.1"^3. If there is some stuff inside the cube, it might report it something like 0.4"^3. But I need it to report it as 1"^3, and for that the rest of the space inside the cube needs to be filled with something that SW considers volumetric. I need SW to calculate this because my ROV is not just cube-shaped (which would be easy to calculate volume for manually), but has complex geometry. I am not sure my how many other ways I can explain this. I am sorry but you are under-thinking this.
AlexLachance wrote: Tue Aug 23, 2022 8:30 am

It isn't really that big of a deal, it is something that SolidWorks already calculates in the background, wether you ask it to or not. The property is just something to call it out. You won't notice a difference IMO.

I draw trailers and we generate a BOM with over 40 custom properties on all components called out and extracted to our ERP. Obviously we didn't have that many when we started on SolidWorks but as time went by we added more and more and there never was an increase in rebuild time because of 'properties' being added to a document.

If you don't call out your weight in your document properties, are your documents weightless? Do they rebuild faster? The answer to both questions is no.

Heck, as someone stated, you could just pull-out a BOM as a spreadsheet and then do a quick equation from there to get your desired calculations. It wouldn't be that hard and wouldn't take that long to do(and re-do). Hardest part is being so far into the project and now just thinking about this and having to implement the volume in all your components properties.
Okay, following this idea, I think I came up with a solution that doesn't cause circular references and rebuilds quite fast. I did it without custom properties, but the idea is the same. Basically it works like this:

The Electronics Housing assembly has a virtual component called Volume. It references the geometry of the outside surfaces of that cylinder to re-create a fully solid shape of this compartment. This virtual component has an equation, Volume = "SW-Volume":

Image

The Electronics Housing assembly has two equations - True Volume, which references the value of that previous equation, and Measured Volume, which uses SW-Volume for the whole Electronics Housing assembly. Measured Volume is, of course, incorrect here, because it includes all the little electronic components:

Image

Now, the Electronics Housing assembly is inside another assembly called Top Assembly. This assembly also has an equation called Volume, which measures the total volume of this assembly, subtracts the Measured Volume of the Electronics Housing, and adds the True Volume of the Electronics Housing.

In other words, it replaces the volume SW measured with the volume of that virtual component.

Image

There are other similar assemblies like Top Assembly, called Side Assembly, Lower Assembly, etc. They all have their own equations that measure volume, but since most of them don't have any air/vacuum gaps, these equations are simply Volume = "SW-Volume".

And now finally, at the top-level assembly (ROV v2.SLDASM), the values of each of these assemblies is added up, Total Volume = Volume@Side assembly * 2 + Volume@Topassembly + Volume@Lower assembly.

For convenience, there are two more equations - Total Mass, which just measures the mass of the entire ROV, and Buoyancy, which subtracts that Total Mass from the Total Volume, providing a displacement/mass differential. If it is positive, ROV ascends, if negative - it sinks.

Image

Now, the reason why the Electronics Housing volume was calculated in such a complicated way, is so that I can add/remove new components to anywhere in this assembly, and the whole setup still works.

The downside is that I can't easily add new sub-assemblies to the top-level assembly - I need to remember to modify that Total Volume equation and add the volumes of these new sub-assemblies. That kind of limits the practical number of sub-assemblies in the top-level assembly. Then again, I do like to keep my assemblies small, and rather have more levels of sub-assemblies than one big assembly.

Also, re-organizing the project assemblies structure might get a bit confusing, as these equations might need to be modified. But for normal modelling, it is rather convenient. I am not aware of any way to suppress all these equations at once (except for a macro, which I'm too lazy to write), but the rebuild time for the top-level assembly is still decent (around 1.5 seconds on my machine), so maybe suppression is not needed.

Sometimes these equations get stuck a bit when opening the assembly for the first time (probably a SW bug), but doing a few forced rebuilds seems to fix it.

Attaching the whole project Pack&Go if anyone wants to take a look at how I set this up. Saved with SW 2021: https://ufile.io/1vpcg1i6

So we can consider this question answered :) This solution is nowhere near as convenient as simulating air/vacuum with Cavity feature, but it rebuilds a whole lot faster. Thanks a lot to Alex and everyone else who helped me figure this out. bentlybobcat, what do you think of this?


One more question while still on topic: what would be the easiest way to figure out the coordinates of the center of volume of this assembly? Basically it's like center of mass, but disregarding the different densities of different parts. The only way I am aware of is saving the whole assembly as a part which has just one material applied, and then checking it's center of mass - that will be the center of volume . However, saving assembly as part does not have a parametric link, and it takes quite a long time. Is there a more convenient way to get that center of volume?
User avatar
Frederick_Law
Posts: 1948
Joined: Mon Mar 08, 2021 1:09 pm
Answers: 8
Location: Toronto
x 1643
x 1471

Re: Modelling negative space between components?

Unread post by Frederick_Law »

"Frederic, please read my previous post again. I KNOW that solid/hollow cube displaces the same amount. But SW doesn't know this, and if my 1" cube is hollow, it will not report it's volume as 1"^3, it will report as 0.1"^3. If there is some stuff inside the cube, it might report it something like 0.4"^3. But I need it to report it as 1"^3, and for that the rest of the space inside the cube needs to be filled with something that SW considers volumetric. I need SW to calculate this because my ROV is not just cube-shaped (which would be easy to calculate volume for manually), but has complex geometry. I am not sure my how many other ways I can explain this. I am sorry but you are under-thinking this."

Great we're getting somewhere.
Make a config of the ROV body solid. You don't need all the parts inside. Just the whole ROV as a solid.
As long as you don't change the shape or anything outside the ROV, whatever you put inside doesn't matter.
SW will have problem with ZTG. So you might need multiple solids. With all the solids SW will report correct volume.
User avatar
AlexLachance
Posts: 2196
Joined: Thu Mar 11, 2021 8:14 am
Answers: 17
Location: Quebec
x 2382
x 2025

Re: Modelling negative space between components?

Unread post by AlexLachance »

laukejas wrote: Tue Aug 23, 2022 9:28 am One more question while still on topic: what would be the easiest way to figure out the coordinates of the center of volume of this assembly? Basically it's like center of mass, but disregarding the different densities of different parts. The only way I am aware of is saving the whole assembly as a part which has just one material applied, and then checking it's center of mass - that will be the center of volume . However, saving assembly as part does not have a parametric link, and it takes quite a long time. Is there a more convenient way to get that center of volume?
Maybe @Alin could answer this one. I believe there is a way to do this but I don't recall the procedure.


Edit: Basically what Fred is saying, is create your ROV as a shaft and not a tube. That will give you your desired volume. The casing must be a filled body.

Then when you get the desired volume, you take the weight of your ROV as a tube with all it's component inside, and divide the desired volume by the total weight. And voila!
User avatar
Frederick_Law
Posts: 1948
Joined: Mon Mar 08, 2021 1:09 pm
Answers: 8
Location: Toronto
x 1643
x 1471

Re: Modelling negative space between components?

Unread post by Frederick_Law »

BTW your SW files are "Future Version" for me. Can't solidify it to show you.
laukejas
Posts: 201
Joined: Sun Sep 05, 2021 8:27 am
Answers: 0
x 43
x 114

Re: Modelling negative space between components?

Unread post by laukejas »

Frederick_Law wrote: Tue Aug 23, 2022 9:54 am Great we're getting somewhere.
Make a config of the ROV body solid. You don't need all the parts inside. Just the whole ROV as a solid.
As long as you don't change the shape or anything outside the ROV, whatever you put inside doesn't matter.
SW will have problem with ZTG. So you might need multiple solids. With all the solids SW will report correct volume.
Frederick_Law wrote: Tue Aug 23, 2022 10:06 am BTW your SW files are "Future Version" for me. Can't solidify it to show you.
You mean, do this for the whole ROV? How do you suggest I do it? As you can see from the pics, the ROV is a very complex shape, recreating it as solid would be quite complicated, and would require maintenance as parts are added and removed during the design process.

Sorry for the future version. This is the project saved as Parasolid, it should open, even if without model history: https://ufile.io/n6dp8kxw

Would really appreciate it if you could show that solidification. I have no idea how to do it on this scale.
AlexLachance wrote: Tue Aug 23, 2022 9:57 am Maybe @Alin could answer this one. I believe there is a way to do this but I don't recall the procedure.

Edit: Basically what Fred is saying, is create your ROV as a shaft and not a tube. That will give you your desired volume. The casing must be a filled body.

Then when you get the desired volume, you take the weight of your ROV as a tube with all it's component inside, and divide the desired volume by the total weight. And voila!
That is exactly what I did and described in my previous post :) But I did it only for the electronics compartment, which is why I needed all these equations to correctly calculate the net weight and volume. I think Fred meant solidifying the whole ROV, which in theory should let me avoid the equations, but I have no idea how to parametrically solidify such a huge assembly with so many complicated geometry parts.
User avatar
SPerman
Posts: 2058
Joined: Wed Mar 17, 2021 4:24 pm
Answers: 14
x 2232
x 1878
Contact:

Re: Modelling negative space between components?

Unread post by SPerman »

Sometimes with solidworks, there is no good solution, so your only choice is to go with the least painful.
-
I may not have gone where I intended to go, but I think I have ended up where I needed to be. -Douglas Adams
User avatar
bentlybobcat
Posts: 64
Joined: Tue Sep 21, 2021 8:43 am
Answers: 0
x 3
x 48

Re: Modelling negative space between components?

Unread post by bentlybobcat »

Sigh

I'll say it one last time.

Using the mold capability of SolidWorks (as I laid out way above) allows you to create a solid body which encapsulates the outside periphery of the ROV. It doesn't care what's inside.

Create a configuration with only parts/assemblies that make up the outside surface if it's overly complex. Then run my procedure.

You will be left with a body with the EXACT same outside surface, but a uniform inside material, which you can set as water, and presto you now know exactly what your buoyant force is.

Water density changes due to temperature and pressure are typically inconsequential. You want to have ample vertical thrust to maneuver the system around and that will allow the vehicle to accommodate slight changes in sea water. My experiences are that there is a lot more variability of water properties in different geographic areas than in water depths. Ergo the lead situation. Design the ROV to have a LOT of positive buoyancy and add lead to "trim" it for the application.

And always remember your friend Isaac Newton. F = m*a^2

You need enough thrust to accelerate the MASS of your vehicle in a way that makes it maneuverable. Yes, I know your ROV is neutrally buoyant (or close to it). MASS is what you are moving though and Mr. Newton is going to be there watching over you, and laughing if you don't have enough thrust to get out of your own way.
Bent
User avatar
Frederick_Law
Posts: 1948
Joined: Mon Mar 08, 2021 1:09 pm
Answers: 8
Location: Toronto
x 1643
x 1471

Re: Modelling negative space between components?

Unread post by Frederick_Law »

" I think Fred meant solidifying the whole ROV, which in theory should let me avoid the equations, but I have no idea how to parametrically solidify such a huge assembly with so many complicated geometry parts."
By remove, suppress all holes and cavities in "external" parts.
Within same file as another configuration.
You need to learn how to use the software.
Frank_Oostendorp
Posts: 221
Joined: Tue Mar 09, 2021 7:25 am
Answers: 3
Location: Netherlands
x 184
x 229

Re: Modelling negative space between components?

Unread post by Frank_Oostendorp »

"Water density changes due to temperature and pressure are typically inconsequential." ?
" (because 1L of water equals 1kg)." ?

Density
• Density of Ocean water is determined by temperature, the quantity of dissolved salts (also known as salinity), and the pressure to which a parcel of seawater is exposed.
• The average density of ocean water is 1.03 g/cm3. Deep in the ocean, under high pressure, seawater can reach a density of 1050 kg/m3.
Sweet water has a density of about 1 g/cm3.

Estimate the water displacement by your ROV to 20 litres. You need to be able to correct the total mass by 1 kg to make it usable in all waters.

"The issue is that the electronics compartment contains empty spaces (air), which also adds to the buoyant volume, and must be accounted for. "????????? The water displacement caused by the enclosed volume of the electronics compartment, reduced by the total weight (mass x local gravitation) of this compartment, results in a force either up or down.
Variation in local gravity has to be observed well, in the future the ROV might be useful on other planets.
User avatar
Frederick_Law
Posts: 1948
Joined: Mon Mar 08, 2021 1:09 pm
Answers: 8
Location: Toronto
x 1643
x 1471

Re: Modelling negative space between components?

Unread post by Frederick_Law »

VolumeConfig.SLDPRT
(115.13 KiB) Downloaded 164 times
Simple file with 2 configs.
laukejas
Posts: 201
Joined: Sun Sep 05, 2021 8:27 am
Answers: 0
x 43
x 114

Re: Modelling negative space between components?

Unread post by laukejas »

bentlybobcat wrote: Wed Aug 24, 2022 8:07 am Sigh

I'll say it one last time.

Using the mold capability of SolidWorks (as I laid out way above) allows you to create a solid body which encapsulates the outside periphery of the ROV. It doesn't care what's inside.

Create a configuration with only parts/assemblies that make up the outside surface if it's overly complex. Then run my procedure.

You will be left with a body with the EXACT same outside surface, but a uniform inside material, which you can set as water, and presto you now know exactly what your buoyant force is.

Water density changes due to temperature and pressure are typically inconsequential. You want to have ample vertical thrust to maneuver the system around and that will allow the vehicle to accommodate slight changes in sea water. My experiences are that there is a lot more variability of water properties in different geographic areas than in water depths. Ergo the lead situation. Design the ROV to have a LOT of positive buoyancy and add lead to "trim" it for the application.

And always remember your friend Isaac Newton. F = m*a^2

You need enough thrust to accelerate the MASS of your vehicle in a way that makes it maneuverable. Yes, I know your ROV is neutrally buoyant (or close to it). MASS is what you are moving though and Mr. Newton is going to be there watching over you, and laughing if you don't have enough thrust to get out of your own way.
Sorry, maybe I forgot to mention it in my previous posts - I did try your method (mold with Cavity). However, Cavity feature loads forever, and then fails with either "Zero thickness geometry" or "Invalid geometry" errors. Hunting down where that error occurs in an assembly of hundreds of components is pretty damn difficult. And this method would also need to be manually updated as the number of components changes in the assembly, which kind of defeats the purpose. But perhaps this method could be used in the future with simpler geometry. Thanks for the suggestion.

As for the water density - got it, thanks. I assumed as much, but still wondered if perhaps it is accounted for. My last ROV had plenty of thruster power (I used to run them at 30% max), but I will still keep what you said in mind.
Frederick_Law wrote: Wed Aug 24, 2022 8:10 am " I think Fred meant solidifying the whole ROV, which in theory should let me avoid the equations, but I have no idea how to parametrically solidify such a huge assembly with so many complicated geometry parts."
By remove, suppress all holes and cavities in "external" parts.
Within same file as another configuration.
You need to learn how to use the software.
And you need to read more carefully through what I already wrote. Thank you for posting that file, but from what you wrote before I thought you meant solidifying the whole ROV, not just that tube. I get it, you mean I would have to have an extra configuration of that electronics compartment assembly where all components would be suppressed, and the tube itself would be solid instead of hollow. Yes, that would provide correct volume. But incorrect weight. So in order to check mass versus volume, I would have to switch configurations twice - one for checking mass, one for checking volume. Doable, but far less convenient than the methods I already said I tried.

Fred, I don't mean to be disrespectful, but I have been using SW for almost 10 years now, and I know how to use the software at the basic level you are suggesting. I started this topic because I had already exhausted such basic methods, and was looking for more advanced ones. I specifically wrote such a long first post to save you guys time so you don't need to suggest methods that are less convenient than the ones I already tried. The equation method that I figured out with the help of Alex is already very good, requiring near-zero maintenance, and outputting information to the same place without any manual feature updating or configuration switching. I appreciate you trying to help, but you suggesting inferior methods to the ones we already figured out, while condescending, doesn't help.


Alright, I see this topic has caused some miscommunication and misunderstanding to some, right up to the second post just above this one, (buoyancy can be a bit tricky concept at times), but it helped me figure out that method with equations, which is fully automatic, rebuilds fast, and doesn't require any maintenance. Thanks to Alex for that. The Cavity method that bentlybobcat would probably be even better (no equations needed, and would also provide coordinates of center of buoyancy), but I can't seem to get it to work in reasonable rebuild times and without errors. If anyone has any more suggestions that would be even better than the equations method, then feel free to share, but overall it is good enough, so thanks again to everyone for your advice :)
User avatar
Frederick_Law
Posts: 1948
Joined: Mon Mar 08, 2021 1:09 pm
Answers: 8
Location: Toronto
x 1643
x 1471

Re: Modelling negative space between components?

Unread post by Frederick_Law »

"Fred, I don't mean to be disrespectful"
No problem, non taken.

Volume as assembly, 88.861 cm3:
ROV-02.jpg
Volume as combined (Union) part, 88.649 cm3:
(The wonder of no ZTG)
ROV-01.jpg
Different of 0.212 cm3 or 0.11 gram of air.

Splitting hair for 0.11 gram?

I estimate ROV weight around 4000-5000 gram.
Electronic and battery compartment hold 3.5 gram of air.
So total error is less than 4 gram in 4000 gram.

BTW every parts that interfere with other will add to ROV's mass in CAD. You got a few.
Bolts without thread weight a bit more too.

Did I missed anything?
User avatar
DanPihlaja
Posts: 852
Joined: Thu Mar 11, 2021 9:33 am
Answers: 25
Location: Traverse City, MI
x 813
x 983

Re: Modelling negative space between components?

Unread post by DanPihlaja »

Have you tried creating a solid block, then bringing in each body of each item separately (or 2 or 3 at a time), and using Combine (with the subtract option?)

You can even link them, so that, as the bodies change, they update the subtract feature.
image.png
image.png
-Dan Pihlaja
Solidworks 2022 SP4

2 Corinthians 13:14
User avatar
AlexLachance
Posts: 2196
Joined: Thu Mar 11, 2021 8:14 am
Answers: 17
Location: Quebec
x 2382
x 2025

Re: Modelling negative space between components?

Unread post by AlexLachance »

DanPihlaja wrote: Wed Aug 24, 2022 1:53 pm Have you tried creating a solid block, then bringing in each body of each item separately (or 2 or 3 at a time), and using Combine (with the subtract option?)

You can even link them, so that, as the bodies change, they update the subtract feature.

image.png

image.png
His issue falls in the line of ZTG, it's a limitation of SolidWorks, but his issue is also caused by a misunderstanding of his as far as I'm aware.
User avatar
Frederick_Law
Posts: 1948
Joined: Mon Mar 08, 2021 1:09 pm
Answers: 8
Location: Toronto
x 1643
x 1471

Re: Modelling negative space between components?

Unread post by Frederick_Law »

His problem is using SinkingWork
;;
User avatar
Frederick_Law
Posts: 1948
Joined: Mon Mar 08, 2021 1:09 pm
Answers: 8
Location: Toronto
x 1643
x 1471

Re: Modelling negative space between components?

Unread post by Frederick_Law »

Just for fun, model of 1.055 gram of air:
ROV-03.jpg
Post Reply