MoI discussion forum
MoI discussion forum

Full Version: External scripting interface to MoI

Show messages:  1-4  5-24  25-31

From: Dave Morrill (DMORRILL)
22 Feb 2010   [#5] In reply to [#4]
Yes, and it handily bypasses all those problems of trying to get a low-function Javascript editing widget working inside of the IE ActiveX component. Overall a win-win situation.

For my next trick, I'm going to try creating a simple external application with a user-friendly UI that talks directly to MoI (no text editor involved).
From: NightCabbage
22 Feb 2010   [#6]
Very cool Dave :)

I've been looking forward to procedural / scripting for MoI since - I've had so many situations where it would have been useful!

I'm highly anticipating your release ;)
From: Jamie (FUTUREPROOF)
23 Feb 2010   [#7]
Hi Dave

Looks really promising. good fun and MoI looked fast running the scripts. Are you planning to share this when you are happy with its function? It would be good to have a play with it, good to see an easy way to load and edit scripts.

It would be good if there was a library of scripts to base new ones on and learn from. Maybe a scripts thread on the forum.

Regards

Jamie
From: candide
23 Feb 2010   [#8]
Good work!
From: Dave Morrill (DMORRILL)
23 Feb 2010   [#9] In reply to [#8]
Here's the first example of a custom external program driving MoI via the external script interface:



If there's any interest, I'll post another video tomorrow showing this program in action...

Image Attachments:
moi_link.jpg 


From: okapi
23 Feb 2010   [#10] In reply to [#9]
Great work Dave.
If I am understanding this right, this would be a visual interface for scripting or for creating parameter driver dependencies in MOI?
This would be fantastic.
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...

Show messages:  1-4  5-24  25-31