Nodebundle for playing with nodes
 1  2-21  22-41  42-61  62-81  …  1842-1859
Thread Split: Some posts in this thread have been moved here

Previous
Next
 From:  djordje
7777.22 In reply to 7777.21 
Thank you Burrman.
Is this the project of David Morrill, you are referring to:
http://moi3d.com/forum/lmessages.php?webtag=MOI&msg=3341.1

This does not look like a Nodebundle, but some other custom UI for MoI modelling.
I am actually interested in writing Nodebundle nodes with python.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
7777.23 In reply to 7777.22 
Yes thats one of the examples he was working on.

No, its not part of node editor. It is a shell which can be interfaced with moi. Then you can program moi with python of whatever you want.

But the way dave set it up, it was basically a parametric node system for working in moi. And he was using python to run moi.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  djordje
7777.24 In reply to 7777.23 
Thank you.

It would be nice if at some point in future, somebody would write a custom MoI Nodebundle component which will enable writing python nodes. I am not a programmer and could not do that.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
7777.25 In reply to 7777.24 
Hi djordje, it would probably be require a major effort involving a considerable amount of work to do that, it's hard to even estimate what would be involved... maybe many months of focused work, maybe longer even. So it's fairly unlikely to happen anytime soon.

MoI is focused on using JavaScript as its scripting language so if you want to experiment with these things you will probably need to do it in JavaScript and not in Python, sorry.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  djordje
7777.26 In reply to 7777.25 
Thank you for the informative reply Michael. It helped.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Barry-H
7777.27 
Can Michael's CenterAtOrigin script be converted to a node ?

var objects = moi.geometryDatabase.getSelectedObjects();

var bbox = objects.getHighAccuracyBoundingBox();

var factory = moi.command.createFactory( 'move' );
factory.setInput( 0, objects );
factory.setInput( 1, bbox.center );
factory.setInput( 2, moi.view.getCPlane().origin );

factory.commit();

Barry
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Message 7777.28 deleted 14 May 2019 by JFH

Previous
Next
 From:  Karsten (KMRQUS)
7777.29 In reply to 7777.28 
Hello James,

I had a look at your Problem and as a possible solution, we can make a true/false inputfield in the Infopanel. I did something like that in e.g. subD/simpleBridge. The Loftnode is one of the original nodes written by Max - and these are holy for me - so I won't touch them. Nevertheless I can make a new one based on this in the next days.

Have a nice day
Karsten
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Karsten (KMRQUS)
7777.30 In reply to 7777.20 
Hello Barry,

I have tested your arrayfile with the boundingbox-stuff!

Cool Idea!

Have a nice day
Karsten
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Barry-H
7777.31 
Hi Karsten
Just to let you know I modified the BoundingBox
Node to "getHighAccuracyBoundingBox" and it works a treat.
I also added an auto position centred within the max X and Y.
This works Ok but if you revolve the object it can move of
Centre. So that's why I posted about Michael's CenterAtOrigin script.
I have tried to modify it but failed so if you can have a look that would
Be great.
(I'm trying to learning JavaScript but more mistake's than success)
Cheers
Barry
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Karsten (KMRQUS)
7777.32 In reply to 7777.28 
Hello James,

I made a new loft-node, where you can switch between closed and open by entering true/false in the info panel. A checkbox would be better, so we have to ask Max if it is possible to implement such a feature someday in the core development.

Kind regards
Karsten

EDITED: 6 Mar 2019 by KMRQUS

Image Attachments:
Size: 113.5 KB, Downloaded: 188 times, Dimensions: 888x606px
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Barry-H
7777.33 
I have modified Michael's CenterAtOrigin script to make a node.
If I use it as an output it works but it applies as well thus if positional sliders & rotations are altered
it produces another set of objects. I'm not sure what to do to overcome this.
Any pointers would be great.

Barry (JavaScript beginner)

// ############ Centre ############
function Centre()
{
this.addInput("In","objectlist");
this.addOutput("Out","objectlist");
this.properties = { capend:true };
}
Centre.title = "Centre";
Centre.desc = "Centre";

Centre.prototype.onExecute = function()
{
//var objects = moi.geometryDatabase.getSelectedObject();
var objects = this.getInputData(0, moi.geometryDatabase.createObjectList());
var bbox = objects.getHighAccuracyBoundingBox();

var factory = moi.command.createFactory( 'move' );
factory.setInput( 0, objects );
factory.setInput( 1, bbox.center );
factory.setInput( 2, moi.view.getCPlane().origin );
factory.commit();
}


LiteGraph.registerNodeType("Transformations/Centre", Centre);
// ############ End Centre ############
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Karsten (KMRQUS)
7777.34 In reply to 7777.33 
Hello Barry,
the factory.commit() pushes the created object to Moi s geometry database - finished and allready. That is not what you want. So you should store the geometry in a variable and place it in an output. I donĀ“t have access to a sample at the moment (only my Cellphone), but you can find examples in every node that has a geometry output:-)

If you can't find a solution, please tell me.
Happy programming
Karsten
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Karsten (KMRQUS)
7777.35 In reply to 7777.33 
Hello Barry,
I had a quick look in the above posted factories2.js -
something like that should work for you:
replace the commit-stuff with

var output = factory.calculate();
this.setOutputData(0, output);
factory.cancel();

Have a nice day
Karsten
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Barry-H
7777.36 
Hi Karsten,
could do with an example when you have time.
Cheers
Barry
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Barry-H
7777.37 
Hi Karsten,
works a treat many thanks. Can you explain what a frame is.
Cheers
Barry
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Karsten (KMRQUS)
7777.38 In reply to 7777.37 
Hello Barry,
I will try it. A frame is something like a local coordinate system. So it defines the basepoint and the orientation in space for some factories which creates geometry who need an alignment (basepoint,u-direction, v-direction)e.g. for circles. Sorry about my english - I'm not a native speaker.

Have a nice day
Karsten
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  James (JFH)
7777.39 In reply to 7777.32 
Thanks Karsten

RE: Loft2

That does the trick. Brilliant

RE: "A checkbox would be better"

or even better a pulldown menus for each of the options built into the node.

In the meantime, I think Inputs for each of the settings (Closed, Cap Ends & Styles) would be useful, or at least more explicit.
This could be paired with a new "String" node for entering strings such as "Normal" "Loose" or "Straight"; while the other options
could be dynamically set by logic/math nodes. That way where required settings are visible in the wiring diagram.

But this new loft node suits my purposes very well.
Thanks again

- James
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Barry-H
7777.40 
Hi Karsten,
just to show you the results of your help.

Thanks
Barry


Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Karsten (KMRQUS)
7777.41 In reply to 7777.39 
Hello James,

I'm glad to hear that it works for you in a first step. But I don't know which way is the right one regarding to the Features a node have. "Keep it simple" has the Advantage, that everyone understand the function without explanation. A full featured node can do everything for you, but you have to wire a lot of stuff - sometimes for things you never had thought about in the past. It is difficult to decide that concerning a consistent node Format. But, yes that's was my intention - to discuss about that and collect the ideas.


Have a nice day
Karsten

p.s.: With computers we are solving problems, which we would not have without him.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All

 

 
Show messages:  1  2-21  22-41  42-61  62-81  82-101  …  1842-1859