MoI discussion forum
MoI discussion forum

Full Version: Nodebundle for playing with nodes

Show messages:  1-19  …  720-739  740-759  760-779  780-799  800-819  820-839  840-859  …

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

From: r2d3
1 Dec 2017   [#780] In reply to [#779]
TRES BIEN!

dont think about the pinkys - they are only colored to identify the axes..

MANUAL:

1:open the pentagraf.3dm
2:oben nodeditor
3:load the pentagraf3D.nod (much more funnyer :)
4:hit run and enjoy

these settings makes vases:




you can also make your own pentagraf (actualy this things are called PANTOGRAPH..)
important is only that you name the axes and levers like the original (i just made one only with just circles and lines)

Ralf

Image Attachments:
vase-setting.png 


From: r2d3
1 Dec 2017   [#781] In reply to [#777]
THX!

but take care... its edictive! ;-)

Ralf
From: Frenchy Pilou (PILOU)
1 Dec 2017   [#782]
OK! That was a long way to work! :)
Thx for all infos!
Funny of your crazzy toy is that you can make an animation on the same time!

I had just forgotten to load the "file.3dm" !!!



Now I will try the 3D one!
From: Frenchy Pilou (PILOU)
1 Dec 2017   [#783]
Yep funny indeed! :)


From: r2d3
1 Dec 2017   [#784] In reply to [#778]
ciao alberto,

the outputs are locked??...


Make sure you open first the pentagraf.3dm...

and than the nodeeditor...
From: r2d3
1 Dec 2017   [#785] In reply to [#783]
WOW nice one!

Did you mention, that if you go with the mouse over the animation ore Moi is in background it produces some different curves...
From: speedy (AL2000)
1 Dec 2017   [#786]
Thank you Ralf, but this malfunction does not occur
only with your file, the procedure for uploading your file
that's exactly what you said,
the defect I believe is in the folders I uploaded in V.099
but I can not figure out where the mistake is-
alberto
From: Frenchy Pilou (PILOU)
1 Dec 2017   [#787]
French version and manual of the Pentagraph 2D / 3D ! :)
http://moiscript.weebly.com/elephant-systegraveme-nodal.html
From: r2d3
1 Dec 2017   [#788] In reply to [#787]
Merci beaucoup!!!

That looks great :-)

The stream.js is now a little bit more robust for bad inputs..
perhabs you can update it

Attachments:
stream.js


From: Barry-H
4 Dec 2017   [#789]
Hi All,
I would like to be able to move an object automatically if it intersects another.
The logic is.
1) Select object 1 and 2
2)Check if they intersect.
3) If Yes move object 2 a given amount 'X+' and keep looping till No intersection or move limit reached.
4) If No move object 2 a given amount 'X-' and keep looping till Yes intersection or move limit reached.
5) When either steps 3 or 4 have been achieved set a flag to indicate loop end.
I know we have an intersect node but I need a true or false or 0 or 1 output.
Any ideas how to achieve this ?
Barry
From: bemfarmer
4 Dec 2017   [#790] In reply to [#789]
Hi Barry,

(precision)Bounding box would give an estimate of the size of the objects, and how far to "nudge" one or both, in some direction.
If the intersect factory, via factory.calculate(), has its intersect curves or points sent to an objectlist, and the length is zero, there is no intersection. (?)
(I'll await Michael response :-)
- Brian
From: Barry-H
4 Dec 2017   [#791] In reply to [#790]
Hi Brian,
I used the bounding box in my original trials but wanted to use the intersect node to give a more accurate layout (allowing for nesting within the bounding box). My problem is to find away of using the output of intersect node as a true or false or 0 or 1 so I can then trigger the movement.
I looked at the JS code of the intersect node to see if the output could be changed to give a 0 or 1 and then create a new node but my limited JS knowledge is a problem hence my post.
Cheers
Barry
From: bemfarmer
4 Dec 2017   [#792] In reply to [#791]
Instead of factory.commit(), putting the intersecting lines/curves/points in the geometry database,
objList = factory.calculate() would put the curves & points in an objectlist, which could be counted/ checked for length.
I'll defer to the professional programmers, due to my very limited knowledge, and limited time :-)
- B
From: Michael Gibson
4 Dec 2017   [#793] In reply to [#791]
Hi Barry, it looks like you'd need to do 2 things - you'd need to change the output type of the node which is defined by this line in objIntersect():

this.addOutput("Out","objectlist");

It sounds like you want it to output a boolean value, it looks like you can put in "boolean" for that, so change that to:

this.addOutput("Out","boolean");


Then to actually make the boolean value you will need to change the onExecute function for objIntersect, the last line currently looks like this:

this.setOutputData(0, output);

To change that to a boolean value instead of outputting the object list try this:

this.setOutputData(0, output.length > 0);

So that should then output true if anything was generated from the intersection or false if nothing was generated.

Does that maybe do what you need?

- Michael
From: Barry-H
5 Dec 2017   [#794] In reply to [#793]
Hi Michael,
yes that’s what I need to achieve a node that indicates a collision.
Thanks a lot.
Barry
From: Barry-H
5 Dec 2017   [#795] In reply to [#793]
Hi Michael,
I modified Max's node as your suggestions but cannot find anyway to connect it to the maths node.
Is the output a numeric number ?
Thanks
Barry
From: Michael Gibson
5 Dec 2017   [#796] In reply to [#795]
Hi Barry, the output for that case is a boolean value, not a number value. But if you want a number to be output instead, try switching the output type to:

this.addOutput("Out","number");

Then in onExecute, try this:

this.setOutputData(0, output.length == 0 ? 0 : 1);

The "output.length == 0 ? 0 : 1" part is a compact way of saying: "if output length is 0 output 0 else output 1".

- Michael
From: Barry-H
5 Dec 2017   [#797] In reply to [#796]
Hi Michael,
changed code as your reply only thing had to change was "number" to "numarray".
works just as I needed so again many thanks for sorting it for me.
Cheers
Barry
From: Barry-H
5 Dec 2017   [#798] In reply to [#796]
Hi Michael,
I was a little premature thinking by altering the this.addOutput(“Out”,”number”);
to this.addOutput(“Out”,”numarray”); worked, it only allowed connection to maths node but the maths node does not recognise the input. So back to square one.
Any more ideas gratefully received.
Barry
From: r2d3
5 Dec 2017   [#799]
Animate going easy..



Just take the 3 axes from the 3dm file -> place it over the axes points of your favourit piston > name the parts like in the 3dm file -> open nodeeditor with the nod file -> press play and enjoy...

runs fine on nodeeditor @'y'@ 0.99 without any special extensions....



Attachments:
animator10.3dm
animator10.nod

Image Attachments:
animator.gif  animator.png 


Show messages:  1-19  …  720-739  740-759  760-779  780-799  800-819  820-839  840-859  …