I work for an ROV tooling company and I am trying to work how to add a column to a BOM or spreadsheet to show the in water weight for a part/assembly. Is there a simple macro/equation for doing this?
thanks in advance
Welcome to SW forums Jason
There can be several ways to do that:
1. Insert a dummy part in the assembly, assign the water material properties to it and get the weight displayed in BOM.
2. Manually add the information in the BOM.
Now to add a new column in the BOM, right click on BOM and select Insert > Column (Right or Left). This will add a new column (either on left or right of the the column you selected). Now set the properties of the column as required. Check the attached video for more details.
Also read this post for your future reference: Forum Posting
I am not sure I understood your request. You do want to add a property to an assembly stating the water weight for a given part (i.e. the displaced mass of water for your submersible ROVs), and you want to display a column in BOM with that value, isn't it?
If that's your request, I would do like this:
1) open your assembly and part templates
2) under "properties" add a line with a new WATERWEIGHT property
3) save the files
4) create your parts and assemblies, and manually write the value you want in the file properties tab. You can use an equation, if it is a simple calculation.
5) Start a new drawing, add a BOM table, add a new column.
6) Double click the top bar of the column and choose your WATERWEIGHT property
7) right click the table, save as template
That should automatically add your waterweight column with the given values to any new part. Old part should be updated manually adding the waterweight property.
To automate the calculations, if your parte are single material and non not multibody-multimaterial, you could use the mass property, divide for material weight and multiply for water (or salt water) weight.
I believe the calculation for working out the weight of an object underwater is dry weight (kg) minus (displaced volume (m3) x density of water (sea water is typically 1025 kg/m3)) . If so, all you need to do is include the following in your BOM - weight in kg (from SolidWorks) & the volume in m3 (from SolidWorks) and create a column that uses this equation (see attached BOM screenshot).
Is there not another way of doing this (deep breath), we use PDM and there are 3 vaults that we get our files from. However, the templates from the other 2 vaults do not have a custom property set up for showing the weight in air, hence most the weights for the parts within assembly are not displayed on the BOM. Seeing as the parts are locked and read only, it will take a lot of man hours and caffiene to fix this
so, any other suggestions
Only option left is to manually add them in BOM.
ok, nvm. We are just going to have to speak to the grown ups and get them to change their templates and perhaps update there components in the vaults. I think there will be more chance of seeing flying pigs and blue snow first,
thanks again for your time chaps
You can use macros to update them and then update/change the BOM table template..
Isn't the weight in the air a standard solidworks parameter (SW-Mass or SW-Weight)?
If it is so (we have it in our template, but if may be a later modification), the only template you will have to modify is the BOM's one, adding the equation given by Merry.
If you really need to go through all the old parts, I guess a cheaper alternative could be to find a good VB programmer, and make him write a tool to mass process your files to add the parameter.
You should be able to add water to your material list. Then either do
as Deepak suggested and create a dummy part or a virtual part (if you only need it on one assembly)
and then create a custom property linked to the material and add a column to the BOM
linked to the material custom property. This will give you not only the water, but everything.
If you just want the water you can do this in a generic table with just the water in it.
If there are no air pockets, you simply adjust the weight minus the weight of the same volume of water. You could do this by subtracting the density of water from the density of the material.
If there are air pockets, then you would need to determine the displaced volume (including air). You could not just use the part volume.
on the assembly there are hundreds of parts and different materials, which will need to offset from seawater density. I think the VB programmer would be the way to go
That seems like a fun challenger, so I took an assembly of mine, pretended it is an ROV, and put it in a new assembly with a surrounding block of water (remember 'The Abyss'?) and used the mold cavity tool to take away the space of the "ROV". It seemed to work fine. It does create multiple bodies, so you have to figure out which one to keep. Probably need to ensure that the "ROV" is an enclosed space, maybe add lids and such to make it water tight. Then compare the weight of the water before and after you do the cavity feature.
Retrieving data ...