BeamBuilder add-on testing sought...

Hi all,

Bit of a python noob and I’ve created a script to generate various types of beams used in construction - think I-beam. Currently, the script generates two types of beam, a multi-sided beam and a ‘C’ beam.

The multi-sided beam can have any number of sides, from 3-512, 3 sides gives you a triangle shaped beam, 4 sides a square beam, 6 sides a hexagon beam, etc… The beam can either be solid or hollow, and if the hollow option is checked, the user can control the thickness of the beam.

The ‘C’ beam will create a 3 sided beam in the square shape, like the letters ‘C’ or ‘U’. Size and thickness of this beam can be controlled.


The script currently works with blender 2.56a beta, r35499, a recent build from graphicall.org. It can be installed from the user preferences/add-ons just like any other add-on. It can be used from the 3d view via the shift-a menu.

The script can be downloaded as a zip file from here:
http://web.raex.com/~beepbeep/Blender/add_mesh_beam.zip

And there’s a .blend file attached below with the script in the text editor, to run just click on the ‘Run Script’ button in the text editor’s header.

I have tested installing this add-on thru the ‘install add-on’ button in the user preferences with r35499 and it worked fine. This add-on might not work for earlier versions and your mileage may vary…

Basically at this stage, I just want to know if the script works for everyone or if there are any bugs in it. I do plan to add at least 2 more types of beams, but I want to make sure what I have so far is working correctly before I add more code to it.

I look forward to comments,
Randy

Attachments

BeamBuilder.blend (475 KB)

i got 35367

but get error
search for unknown menutype INFO_MT_mesh_beambuilder_a
uiItemM: not found INFO_MT_mesh_beambuilder_add

what can i do correct this ?

are you going to include may be some Euro beams or only USA/CDN?

i assume here that this will add a sub menu in the add mesh menu !

happy 2.5

What? No one wants to test this script? :mad:

Felt like trying a bit more python today and updated the script, adding another beam type, see first post…

@RickyBlender - I found the problems you described and fixed them, but since I was testing with r35499, I’ve set it to work only with that version and newer. You might have to get a newer version to test this. As far as types of beams, I don’t think there are any differences as far as USA/CDN or Euro ones. I think they are the same pretty much. The script creates a beam that is square, triangle, hexagon, octagon, or however-many-sides-you-want-agon… :smiley: It also now creates a ‘C’ beam, a ‘U’ beam is just a ‘C’ beam rotated 90 degrees…

I do plan to add an ‘L’ beam and an ‘I’ beam, (a ‘H’ beam is an ‘I’ beam rotated 90 degrees). If anybody has a suggestion for another type of beam I’ve not mentioned, I’m all ears!

Thanks,
Randy

[ATTACH=CONFIG]132370[/ATTACH]sorry link is dead!
but you can upload blend file now with script here

i already done for myself some beams shape with mesh and curves also!
see pic

are you going to have all of these?

happy 2.5

Can you put some screen shots up so we can see what the script produces

Ok, posted a descriptive screen shot and changed the link to a .zip file of the python script to avoid the hassles of 4-shared & their advertising. So there should be no problem downloading the script now!

Thanks for the pic RickyBlender! I’ve saved a copy of it. I had planned to add ‘I’ beam and ‘L’ beam, but hadn’t thought of the ‘T’ beam, ‘Z’ shape beam, or the ‘cross rectangular’ beam. Those ones shouldn’t be too hard to add. As for the tapered style ones, I don’t know yet, I will think it over!

Randy

Thanks for the updated info, any chance you could post something showing usage?

tried again ths morning and link is broken !

can you upload the file with sript in the first post
if less then 1 MB it should load up !

thanks happy 2.5

Sorry RickyBlender, silly me I forgot the ‘http://’ on the link… I’ve updated the link and attached a .blend to the first post.

As to usage, after the script is run, or installing and enabling the add-on, a new menu is added to the shift-a -> add -> mesh menu. The new menu has 2 different types of beams, after the beam is selected, it’s created and parameters for it are in the bottom of the tool shelf, like any other mesh creation.

Randy

got the script
ok for now shape is squarish

are you going to give these beam a more realistic look like curvy end ect…

only 2 beams for now
your picture in first post seems to show more then 2
did you upload the latest vesion

also is there a panel where you can set the dimensions for the beam ?

happy 2.5

I looked (with your blend-file) at the multisided beam.
Options work fine but I have a BUT (sorry):
Without hollow it is just the ‘cylinder’ … (so nothing new)
With hollow it is easily build out of a circel extruding twice (after adjustments) in Shift-Z direction for thicknes in Z direction for length … (small advantage ?!)

@revolt randy: Here is my test with your code. I implemented a framework to make the parameters of your beam object animatable.

Feel free to pull down the BLEND file and have a look. Just press Play.

I also made it an AddOn that will install all the necessary code/objects to make the changes happen when the frame changes. This file is called addon_parm_beam.py

The other code file in this BLEND is called parm_beam.py this is what gets executed when the frame changes.

Sadly, there is no mechanism to update the object when you change a beam property in the object panel. So the work-flow is to change a property, then change the frame to see an update. Or just add a few keyframes, like I did, in this attached example file then you can scrub the timeline for an update.

https://vimeo.com/21035773

Added a new property to the beam called “type”. This allows you to change the beam type from a polybox to a C-Type beam. Would be nice to see an I-Type implementation as well.

Attachments

25_parm_beam_builder_addon_1c.blend (127 KB)

@Atom - that’s a very interesting effect/script, I’ll have to look at it further…

@PKHG - don’t rain on my parade! :mad: Seriously, your comment made me look at this a bit differently…

@RickyBlender - all different shapes in the attached screen shot in the first post, except for the ‘C’ and ‘U’ shapes were generated by just changing the # of sides when I used the multi-sided beam…

TBH, it’s been along time since I wrote any code more complex than html. As PKHG pointed out, and I’m glad you did, the multi-sided beam is nothing more than blender’s built in cylinder primitive mesh. I was looking to change the ‘size’ field to a ‘x size’ and ‘z size’ fields, for rectangular shaped beams. I currently calculate the vertices’ locations by finding their locations based on a circle - thinking this way I can calculate vertices locations for any amount of sides. 3 sides, calculate 3 locations 120 degrees apart, 4 sides, 4 locations, 90 degrees apart. It works, but not accurate at all, enter a size of 2, and the mesh is created based on a circle with the radius of 2, so the resulting mesh isn’t 2 BU, it’s a square or triangle mesh that fits inside a circle with a radius of 2…

Thought this would save me time later on down the road on adding more beam types, but I see it’s flaws. So I’ll redo the calculations…

Thanks guys!!! That’s why I threw this out there, to find the problems…

please let this thread RIP :frowning:

Randy

well if this can help

i already made some beam shapes in viewport of theses beams
i can save theses as primitive with curved ends
and you could use this to make nice rounded beam and add dimensions to it !

it would look more like the real thing !

anyway let me know what you think !

happy 2.5

Allright now that would be the best addon if you can add the following feature:

Creating beams by selecting edges.

E.g Create a new plane, remove one of the edges so that only 3 edges remain.

Then use the addon to generate a beam on each of the remaining edges!! Pretty please this would be the single most helpful feature for mechanical design in blender.

This would be similar to welment features in your high end CAD packages like SolidWorks / Pro Engineer

Thanks for all the hard work… i’d be more than willing to test this for you

In fact… I’d like to add some standard profiles for these Beams. That would make an awesome library to use for mechanical modelling!

I’ll start on it right away! Watch this space

i added it to addons version 38308

and i can see in addon on the window script but cannot enable it by cliking on it

how do you activate it ?

is it upated for the latest version ?

ran it in text editor and
get error for space info

this has not been update yet !
can someone correct his and uplaod an updated version please!

thanks
happy 2.5

Hi Ricky.

I’m downloading the latest build from Graphicall now.

Care to share some of those profiles you made?

which profiles?

don’t remember it’s been too long
but i have a folder for beams profiles that i did in 2.49

i touthg i loaded up a pic in this thread!

but these are the standard I H C U ect. beams USA mind you
don’t have the EU ones
might be nice to have these also


happy 2.5

Some links you might find useful (though maybe a little on the information overkill side):
http://onlinemanuals.txdot.gov/txdotmanuals/det/beam_types_and_dimensions.htm


Maybe you could make something like this?
http://wiki.blender.org/index.php/Dev:2.5/Source/Development/Proposals/Editable_Object_Parameters