BPython vs MEL

Simple question, if anyone can help me: I’m about to start doing a R&D thesis to graduate as an Architect, and I want to research algorithms that can be useful, designwise, I mean.
At my school, Maya and AliasStudio are the softwares of choice, but I only feel comfortable with the latter(that has few or none scripting capabilites)… or Blender. Now, I do know a bit of Maya, and a bit of MEL(about as much as I know BPython, anyway), but I would much rather use Blender(learning a language that I can actually apply outside of the 3D suite is also a huge bonus), and it occurred to me that scripting, at least, should be an area where Maya and Blender can compete fairly.

So, the million pesos question is, basically, if that is the case: is MEL superior to BPython, are they even, is BPython better? (not taking into account, of course, superior capabilities inherent to Maya that MEL might take advantage of).


i cannot give you a direct answer but i know that Maya now also has python support.

MEL or Python also depend on what the script language can do with the host software.

While Python can be the greatest software it might be useless in case it hardly can access anything inside the 3d software through the API.

But judging by what people are doing with Python in Blender I would call it quite mature.

I am not sure in terms of higher math if there is a difference between MEL and Python
but I would assume that Python is quite a powerful language
judging by the amount it is used in the industry.

I on my own worked with Blender and Maya. after all the years seeing what
people do with Python in Blender I think for your field you have a good tool.

algorithms for architecture seem less complicated than for example algorithms for destructions or fluids.

While of course you could also focus on accidental / random generated shape algorithms for architecture as I use animation tools to generate shapes for casting or 3D printing for my metal work.

yeah, most definitely, at least for now. I’m actually interested on how to generate complex aggregations of very simple objects, no fancy shapes involved. Something along the lines of the Array modifier, but far more complex(hopefully). And, of course, “buildable”.

thanks for your insight.

all-so XSI has had python support for quite a while now… and if i recall correct Houdini might have support for it all-so…? well, added value on XSI’s behalf anyway :slight_smile:

a few points…

Python is a real language outside of blender, (MEL is maya only)

The advantage of this is that if you need to do some crazy stuff in Blender , that the Blender-Python API does not provide, you can import a python module
and use that allong side the blender-python API.

See http://www.scipy.org/

This of course is an advantage with Maya-Python also.

Doing something more complex then the array modifier is no big deal,
The array modifier infact was based on a script I wrote which had a lot of options for randomness, and could split off branches, as well as edge loop skinning - so it could be used to make trees.

If you have a spesific use for blender/python best ask if its possible (give more details) and we can see how well suited blender is for this.

Cosimo it seams we are maybe working on the same thing ?
I am also doing research on architecture/generative systems.
Python /Blender for research in architecture are really good. What Ideasman said is also usefull if you decide to get really into python. For basic algorithms or generative systems (hell the array modifier is a generative system on its own) you can use fairly simple scripts no more than 10 lines of code… I would go with python mainly because it can be used in other packages as well, and do not forget that it is important to have your research results open to other people. With MEL you are restricting your audience in whoever has/knows maya.

here are some links (for blender /python use in generative systems in architecture)

http://arlav.blogspot.com/search/label/generative%20systems (category in my blog about generative systems, it has an academic paper on-line where I discuss how to use blender animation tools as a generative system , without any code writting. I am working on python scripts now to accomplish more complicated stuff)

(a intra-university program in europe for virtual architecture, they use blender and python last time I checked them out, also saw their curriculum presentation in ecaade 2006 conference.)

I hope these help

In those links there are some interesting stuffs. I’m particularly curious about ‘opensteer’. It could be something to use it in Blender Game Engine to work with ‘steering behaviours’. Unfortunately, i’m not good at C++ but it could be really interesting, even for architecture and design, to try to bring those algorithms usable in BPython. Because BGE still have some functions to play with to start to set some agent based behaviour simulations but not so much.
What do you think?

Whoa! thanks! I’ll be sure to check them out! They look über cool.

Actually I am not “working” on anything yet, have to finish this very short 1 month internship first, and then I’ll “dive into python”(though not with that book :P) and Blender. I’ve been just toying with ideas in my mind while I design staircases and help keep track of materials…

<architect mode>
I’m interested in how prefabricated materials gain this sort of symbolic layer of meaning, and they tend to crystallize in one intended function(such and such is only used for doors, such and such is only for ceilings, and so on) to the point we loose perspective of other possible uses they might have. I’m also interested on how designing with a “top down” approach always causes troubles in the details because its hard to make the parts fit. So I want to find an algorithmic strategy to design from the bottom( prefabricated pieces) up, without preconceptions. Since the use of something meaningful in a way that ignores said meaning reminded me of ASCII Art, I’m calling it ASCIITECTURE… but that’s just me being silly.
</architect mode>

anyway, thanks to everyone for the advice, and ideasman42(the answer?), thanks for the sciPy link as well!