I have been looking for a macro where it is possible to collect the thickness of all parts in an assembly and display corresponding thicknesses in a BOM. It seems possible as all that needs to happen is there to be a space envelope generated around a part and the dimensions measured and recorded and sent to the properties.
I have seen a macro that measures the xyz of a part from the co-ordiante system however this is not so useful when a part is created in place and is not near it, it would be great if the macro was smart enough to detect a rectangular form in space.
If the parts were done in sheetmetal you can get a thickness property.
If you made the items out of regular .par files you will need to use something like Hauptmaße by hawcad. The latest version can find the bounding box of xyz given the object sits flat in the xyz planes. I use these values to list out plate sizes for our BOM, it still isn't as easy as I would like due to how SE processes some stuff but it is better than going into each file and putting dims on each of the major lengths manually.
Thanks for your suggestion nanan I have recently been using the macro you mentioned and its great in most cases however we are designing many parts in place within an assembly and as a result the origin within each part is not in the correct orientation to measure the parts thickness.
I have attached a capture to better show the issue I am descibing. The macro somehow needs to detect the rectangular part in space and create a bounding box accordingly.
Why wouldn't you establish the information (grade and thickness) in your material table for each part file, and then show material in your bom? You'd be able to calculate your full assembly weight at the same time. Your initial request was just for part thickness, so why not have your material table have examples like .625 HR A36, or .500 ALUM 6061?
We have done that in the past BoatTech and it is a sensible approach in the most part. However our Designs are prone to change radically so material information must be updated when this happens and the thickness of parts can be fairly variable which would mean having a long list of materials of different thicknesses.
Our current approach is to create a thickness measurement in each part in the variable table that is then linked to the BOM however this is time consuming and as most of the parts we create are not sheet metal so this has to be done manually. It is also prone to break if it loses reference due to a change and can result in us cutting parts at the incorrect thckness.
We ran into the same issue with several projects when I tried to do draw in place of parts in assembly. I have given up on such a practice as it was just more headache when the design ended up changing and a bunch of parts were linked.
We don't make parts out of sheet metal either, we use plate .25, .375, .50, .625, .75, 1.0 etc. and often these plates will have all kinds of beveled edges as we pull the solids into GibsCAM for machining and they need to be right with the right bevels... This has been a headache and a nightmare when I tried making a project from .psm parts, spent many late nights remaking the project in regular parts.
For the odd shape or off ucs parts I slap dims on the major lengths and give those dims the same box_1/2/3 names as the macro does so the vars work out. We still have to do a ton of manual work on the BOM due to the lack of IF/THEN capabilities of SE but I hear that is comming in ST9.
For us the biggest pita is accounting for stock material on parts, it may finish at a 3.75 thk plate but it will likely start out at 4 thk with the other 2 dims also having some stock to them. We would like to account for this automagically but as of yet no real solution seems viable as SE lacks the configurations that SolidWorks has with permitting multiple phases of parts in assembly and drawings.
please don't forget, that if YOu want, You can define and use any number of dimensions, variables or PMIs to clearly define which at what should be takenb for Hauptmaße!
The surrounding xyz box only is the last attempt to find at least a set of main dimensions.
So if You define certain variables (using the INI file) and if the are available within a part then Hauptmaße will use them
The last few posts have a point, and that is similar to a work around I use.
Assign T (Thickness) to a PMI for the thickness of each part. Then display T in the parts list. The program relates the variable from each part the parts list automatically.
I use that same concept, but with L for the length of angle and sheet metal parts that are always the same, but only vary in length.
I display that as an alternate to length from frames and CutX for sheet metal. Here is my default format of Cut 1 column in my parts lists.
Thanks for the help from everyone its much appreciated!
12Gage, naming a variable T and having it show in the BOM is exactly what we currently do and its not all bad but as I mentioned briefly earlier it can break if the design changes radically and lose the face/edge it was related to.
This method becomes fairly time consuming with many parts in an assembly and potentially unreliable, for example if I added some rebates to a part I may end up having the depth of the rebate show as the thickness in the BOM instead of the true overall thickness.
I think this kind of approach is what Hawcad is talking about also by naming a variable and having the BOM pick up on it.
I don't have a great deal of programming knowledge but I have seen other programs auto detecting a large flat face on some geometry to position a bounding box on and this tells me this approach may be possible.