MoI discussion forum
MoI discussion forum

Full Version: Nodebundle for playing with nodes

Show messages:  1-5  6-25  26-45  46-65  66-85  86-105  …  1846-1859

Thread Split: Some posts in this thread have been moved here

From: djordje
8 Mar 2016   [#26] In reply to [#25]
Thank you for the informative reply Michael. It helped.
From: Barry-H
11 Mar 2016   [#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

Message 7777.28 was deleted


From: Karsten (KMRQUS)
14 Mar 2016   [#29] In reply to [#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
From: Karsten (KMRQUS)
14 Mar 2016   [#30] In reply to [#20]
Hello Barry,

I have tested your arrayfile with the boundingbox-stuff!

Cool Idea!

Have a nice day
Karsten
From: Barry-H
14 Mar 2016   [#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
From: Karsten (KMRQUS)
16 Mar 2016   [#32] In reply to [#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

Image Attachments:
loftnode.png 


From: Barry-H
16 Mar 2016   [#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 ############
From: Karsten (KMRQUS)
16 Mar 2016   [#34] In reply to [#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
From: Karsten (KMRQUS)
16 Mar 2016   [#35] In reply to [#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
From: Barry-H
16 Mar 2016   [#36]
Hi Karsten,
could do with an example when you have time.
Cheers
Barry
From: Barry-H
16 Mar 2016   [#37]
Hi Karsten,
works a treat many thanks. Can you explain what a frame is.
Cheers
Barry
From: Karsten (KMRQUS)
16 Mar 2016   [#38] In reply to [#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
From: James (JFH)
16 Mar 2016   [#39] In reply to [#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
From: Barry-H
18 Mar 2016   [#40]
Hi Karsten,
just to show you the results of your help.

Thanks
Barry


Image Attachments:
Animation.gif 


From: Karsten (KMRQUS)
18 Mar 2016   [#41] In reply to [#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.
From: Karsten (KMRQUS)
18 Mar 2016   [#42] In reply to [#40]
Wow,

very useful to reduce wasting material or to optimize packaging. Some days ago someone asked in a thread about optimiziation the nesting for 3D-Printing - maybe someday it is possible:-)

Have a nice day
Karsten
From: Frenchy Pilou (PILOU)
18 Mar 2016   [#43]
@ Karsten
Does your last opus is auto sufficient or we must take some files from Max Plugin or some files from your previous one ?
From: Karsten (KMRQUS)
18 Mar 2016   [#44] In reply to [#43]
Hello Pilou,

I didn't tested it by myself, but I hope I have put everything needed in the file. Maxs core files are also in the archive. If you want a new loft- node you can replace factories2.js with the posted one. Infonodes can also be installed, but I think Barrys new one would be a better choice.

So please, backup your files and test it - you should have some new nodes - if not I did something wrong.

Have a nice weekend
Karsten
From: James (JFH)
19 Mar 2016   [#45] In reply to [#40]
Hi Barry,

At first it was not apparent to me what was being illustrated in your animated gif.
But now I get it...very clever! Can you please upload the .nod file?

Thanks
- James

Show messages:  1-5  6-25  26-45  46-65  66-85  86-105  …  1846-1859