MoI discussion forum
MoI discussion forum

Full Version: External scripting interface to MoI

Show messages:  1-10  11-30  31

From: NightCabbage
23 Feb 2010   [#11]
I'm interested!! :D
From: Dave Morrill (DMORRILL)
23 Feb 2010   [#12] In reply to [#11]
For the one guy *cough* NightCabbage *cough* that expressed interest, I've added a new video showing a Python user interface added to the lattice script used in the previous video. Same link as before: <<hijacked URL removed>>
From: BurrMan
23 Feb 2010   [#13] In reply to [#2]
>>>>>To elaborate my comments!>>>>>>>>>>

Absolutely NO idea whats being discussed and so far off base it made me Laugh!
From: Brian (BWTR)
23 Feb 2010   [#14] In reply to [#13]
Prototype??????

Brian
From: Dan (CORNYSH)
23 Feb 2010   [#15] In reply to [#12]
>For the one guy *cough* NightCabbage *cough* that expressed interest

We're all interested Dave, just too shy to put our hands up.
Looks potentially very useful I must say.

Dan
From: Nick (BODINI)
24 Feb 2010   [#16] In reply to [#1]
wow, thats cool!
From: falcon76
24 Feb 2010   [#17] In reply to [#15]
I'm really interested too!!!

Can you, please, explain how do you have done the graphic interface for the script? It's really amazing.
From: Jamie (FUTUREPROOF)
24 Feb 2010   [#18]
i'm also interested, but would like to know what you are going to do with it. Are you going to build something to sell or for sharing or is it for show?

Jamie
From: Dave Morrill (DMORRILL)
24 Feb 2010   [#19]
OK, day 3 since the "Aha!" moment, and things are really starting to get interesting. Here's a new screenshot:



I'm writing a Python script now that displays a tree view of all the MoI Python scripts in a certain sub-tree of your file system. You can then select the scripts you are interested in by clicking on them and, if you want, run any or all of them simultaneously (as illustrated in the screenshot). Still early going on this, but it's coming along pretty fast. Maybe a new video tomorrow...

>We're all interested Dave, just too shy to put our hands up.
>Looks potentially very useful I must say.
>
>Dan

Might be a sub-optimal strategy. One of the things I'm trying to figure out by posting here is if there is much interest in this sort of stuff within the MoI community.

>Can you, please, explain how do you have done the graphic interface for the script? It's really amazing.

falcon76, I'll be adding more technical details as it gets fleshed out a bit more. Things are moving pretty fast at the moment, and everything is in quite a bit of flux. As a quick tidbit, here is the current Python script for the random lines UI shown in the screenshot:
""" Create a set of random lines within a specified volume. """
from traits.api import Range, View, Item, SliderEditor
       
slider = SliderEditor( body_style = 25 )

class RandomLines ( MoIScript ):
    lines = Range( 1, 1000, 100 )
    x     = Range( 1, 100, 20 )
    y     = Range( 1, 100, 20 )
    z     = Range( 1, 100, 20 )
    view  = View(
        Item( 'lines', editor = slider ),
        Item( 'x',     editor = slider ),
        Item( 'y',     editor = slider ),
        Item( 'z',     editor = slider )
    )

And here is the corresponding Javascript code that MoI executes:
clear();
_( do_for( %(lines)d, function() {
    return line(
         random_pt( %(x)d, %(y)d, %(z)d ), 
         random_pt( %(x)d, %(y)d, %(z)d ) );
} ) );

Just FYI, the Python stuff is based on a package I've been working on for the last eight years (hint: from traits.api...).

>i'm also interested, but would like to know what you are going to do with it. Are you going to build something to sell or for sharing or is it for show?
>
>Jamie

Don't know yet. I guess that is part of what I'm trying to figure out now. Depends upon how much interest there is and what people are looking for. Right now I've got more ideas than fingers to type with :-)

Image Attachments:
mui.jpg 


From: NightCabbage
24 Feb 2010   [#20]
This thing will be SO useful!!
From: possum
24 Feb 2010   [#21]
Very impressive-this will be interesting to see where you can take this.
From: Jesse
24 Feb 2010   [#22] In reply to [#19]
Dave,

Really interesting! As others have mentioned,
There's enormous potential for your project...

Jesse
From: Hamish Mead (HAIRYKIWI)
24 Feb 2010   [#23]
My first post, so first off, a huge thank you to Michael for MoI! It's the dogs dangly bits! (As they say, where I come from. :-)
----------------------------------------

Dave, Great work - very exciting stuff!

After recently being introduced to Grasshopper for Rhino, I'm very interested in your work too. (Before you ask, I haven't used Grasshopper.)

Grasshopper is described at www.grasshopper3d.com as being, "For designers who are exploring new shapes using generative algorithms, Grasshopper® is a graphical algorithm editor tightly integrated with Rhino’s 3-D modeling tools. Unlike RhinoScript, Grasshopper requires no knowledge of programming or scripting, but still allows designers to build form generators from the simple to the awe-inspiring."

One look in the Grasshopper gallery will show the power of scripting for non-programmers:
www.grasshopper3d.com/photo

It's early days, I appreciate, but can you envisage your MoI driving app being anything like Grasshopper?


- Hamish Mead
From: Dave Morrill (DMORRILL)
25 Feb 2010   [#24] In reply to [#23]
> It's early days, I appreciate, but can you envisage your MoI driving app being anything like Grasshopper?

Hmm, good question. I've only looked at Grasshopper briefly, long before I started any of this (and I don't own a copy of Rhino, so it was only a very cursory look), but it is probably worth taking another look. I suspect we are both playing in the same space, but I'll make a note to check it out again, and let you know if I find anything worth thinking about in more detail. Thanks for bringing it up...
From: rhodesy
25 Feb 2010   [#25]
Blimey, if you could create something like grasshopper for moi that would be very impressive. Some sort of panneling tools would be very much appreciated and quite unexpected. Im no scripter but would love to be a ble to form generative shapes ala grasshopper. Exciting stuff your doing here, thanks a lot.

Rob
From: Dymaxion
26 Feb 2010   [#26] In reply to [#19]
Oh, wow, this is absolutely wonderful! I've been meaning to build basically exactly this for years, but it's kept getting punted in favor of other projects. I'm a python programmer and while I still don't have much time, I'd be wonderfully interested in getting the code to play with some time.

/Ella
From: Imensah
27 Feb 2010   [#27] In reply to [#20]
This interface will be so useful if it can be expanded to work like grasshopper. Parametric design(especially for architecture and product fabrication) relies heavily on this kind of workflow a lot these days
please take a look at grasshopper or houdini's node based connections as a possible direction.
looking foward to see what can come out of this development.
From: Frenchy Pilou (PILOU)
5 Mar 2010   [#28]
If I good understand that is the same than the parametric "Paracloud" but for nurbs ;)
http://www.paraclouding.com/GEM/

Moi + Python + Dave Morill = infinite volume parametric world!

PS We can listen during the video some songs of cock rooster ! ;)
From: Dave Morrill (DMORRILL)
6 Mar 2010   [#29] In reply to [#28]
Well, at this point, the code is nowhere near as extensive as Paracloud. Right now there are three main aspects to what I am doing:

- Documenting the MoI low-level API used by the tools currently in MoI.
- Creating a simple procedural library that sits on top of the low-level API.
- Creating an external scripting interface that allows external programs to control MoI using either the low-level or procedural API.

So the potential is there to do some more elaborate things, but what is there now are just small baby steps in that direction.

As to the rooster, I guess I missed that since I never even notice them myself anymore. They are just a fact of life here in the Philippines ;-)
From: Frenchy Pilou (PILOU)
6 Mar 2010   [#30] In reply to [#29]
Thx for all the precisions!

Show messages:  1-10  11-30  31