MoI discussion forum
MoI discussion forum

Full Version: Nodebundle for playing with nodes

Show messages:  1-18  …  1179-1198  1199-1218  1219-1238  1239-1258  1259-1278  1279-1298  1299-1318  …  1859

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

From: amur (STEFAN)
5 Oct 2018   [#1239]
Hi all,

sorry for being off-topic, but i like to show you my aluminium sign,
from schildermaxe.de (excellent quality) from my previous post
here. Hope you like!

IMG_0713

P.S. i did not went for laser engraving, because the price was to high.
Instead i used a sign maker service.

Regards
Stefan
From: Michael Gibson
5 Oct 2018   [#1240] In reply to [#1239]
Hi Stefan, that's cool!

- Michael
From: amur (STEFAN)
6 Oct 2018   [#1241]
Thank you, Michael!

Regards
Stefan
From: James (JFH)
9 Oct 2018   [#1242]
Hi node Coders,

I'm attempting to create a node based on Marco's ExtractCurvesControlPoints script: http://moi3d.com/forum/display.php?webtag=MOI&print_msg=8010.17

I think the problematic code is below shown in red

Any help would be greatly appreciated

James





// extractPts
function extractPts()
{
this.addInput("In","objectlist");
this.addOutput("Out","objectlist");
}

extractPts.title = "extractPts";
extractPts.desc = "extractPts";

extractPts.prototype.onExecute = function()
{
var inObj = this.getInputData(0, moi.geometryDatabase.createObjectList());
var output = moi.geometryDatabase.createObjectList();

var selPts = moi.geometryDatabase.getSelectedObjects().getCurves();

if (inObj.length > 0 )
{
inObj.setProperty('showPoints', 1);
moi.geometryDatabase.selectAll();
moi.geometryDatabase.copyToClipboardCommand(selPts);

output = moi.geometryDatabase.pasteFromClipboard();
}
this.setOutputData(0, output);
}
LiteGraph.registerNodeType("Objects2/extractPts", extractPts);
From: Michael Gibson
9 Oct 2018   [#1243] In reply to [#1242]
Hi James, maybe you're missing step #4 from that http://moi3d.com/forum/display.php?webtag=MOI&print_msg=8010.17 example - if the curve itself is selected along with all the control points it will copy the curve. To get points it needs to be curve itself not selected but its points are selected.

So try something like selPts.setProperty('selected', 0); in between the selectAll() and the copyToClipboardCommand()

- Michael
From: James (JFH)
9 Oct 2018   [#1244] In reply to [#1243]
Hi Michael,

>> missing step #4. <<

Yes the curve does need to be deselected, but the real issue is that either, the selectAll() method does not seem to capture any geometry or copyToClipboardCommand() doesn't copy: (certainly, the clipboard is empty on running nod file.)

James
From: Karsten (KMRQUS)
9 Oct 2018   [#1245] In reply to [#1244]
Hello James,

I can't test or Experiment with the code at the Moment, but I'm not sure that the curves are already members of the database.

Have a nice day
Karsten
From: bemfarmer
9 Oct 2018   [#1246] In reply to [#1245]
Karsten's comment reminded me of Michael's help in the chain script, back in 2013, related to using a circle in a sweep:

// Next line is needed for sweep to work, per MG.
moi.geometryDatabase.addObject( circle );

- Brian
(For what it is worth...)
From: Michael Gibson
9 Oct 2018   [#1247] In reply to [#1244]
Hi James, yeah like Karsten and Brian write above selectAll() will only get the objects if they are in the geometry database and not if they are "loose" objects.

- Michael
From: James (JFH)
13 Oct 2018   [#1248] In reply to [#1242]
Hi All,

Well, I have not manage to get "extractPt" node to work.
http://moi3d.com/forum/index.php?webtag=MOI&msg=7777.1248

After repeated failed attempts, I was feeling a little disheartened; and really needed a win, so I returned to a node I was confident I could solve.

So please find attached new arraysExt.js inclusive of new "reRange" node (shown in red) which performs an identical function to my "reMAPrange" macro (see output arrays X & Y in image).

There are a lot of applications for remapping the differential domain of an array, so it is deserving of a dedicated node rather than a macro.

A great weekend to all,
James



UPDATED:

ArrayExt.js has been moved to here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=7777.1251


I have also included a couple of simple utility nodes: "arrayRev" which reverses the order of an num array & "arraySort" which sorts an array into ascending order. see below

Image Attachments:
reRange.gif  sort&Reverse.gif 


From: Unknown user
14 Oct 2018   [#1249]
Hi all.
It was. Just another version of an unusual door.
Vladimir.
From: James (JFH)
14 Oct 2018   [#1250] In reply to [#1249]
Hi Vladimir,

Great stuff! Very elegantly done.

You'll find playing in NodeEditor is fun & quite addictive.
I look forward to seeing more from you in the future :)

James
From: James (JFH)
15 Oct 2018   [#1251]
Hi All,

I have also included in ArrayExt.js a full* set of logic gates(based on Max's "Compare" node) :
AND(a,b)
OR(a,b)
NAND(a,b)
NOR(a,b)
XOR(a,b)
XNOR(a,b)

They perform boolean logic and hence are made to operate on 1 (true) & 0 (false) inputs,
however any number greater than 0 will be interpreted as a 1 and any number not will be interpreted as 0.

*There is no distinct NOT gate, however either NAND or NOR gates will perform this function by wiring input (whether 1 or 0) into both inputs.

These node options would allow the simulation of electronic circuitry, if one was so inclined.
Other than that they may be utilised for testing certain conditions to trigger events.

James



UPDATED: New ArrayExt.js attached with bug fix
From: speedy (AL2000)
15 Oct 2018   [#1252]
Hello friends
I want to share this exercise with you
referring to the Brainstorming Confluence Park Pavillon
from the site _ Parametric House.com _
I recreated everything with EI and I added the Flooring ...
The compositions are two enough to properly switch
files and images at this link:
http://www.mediafire.com/file/7e6gshqle7qdrsv/Confluence_Park.zip/file
Have a nice evenig to all
al

Ps- James , nice work with the new Array Ext ,
congratulations.....
From: Unknown user
15 Oct 2018   [#1253] In reply to [#1250]
Hello James.

Thank you for your feedback and your contribution to the common cause.
It's really fun to do.

Vladimir.
From: James (JFH)
18 Oct 2018   [#1254]
Hi All,

Continued experimentation with interwoven patterns on surfaces. (nod file attached)

James

PS. Michael thanks for the V4 update. Everything is working great!

Image Attachments:
woven0.jpg 


From: wayne hill (WAYNEHILL5202)
18 Oct 2018   [#1255]
Knurl on diameter


From: speedy (AL2000)
19 Oct 2018   [#1256]
Hi Friends
a simple umbrella .....
that you can close and open
Those interested find this link:
http://www.mediafire.com/file/rlo8fk7jcy6z69g/Umbrella.zip/file
images and files
Have a great weekend everyone
al
From: James (JFH)
21 Oct 2018   [#1257]
Hi All,

I have included a new "Shell" node in the attached construct2.js

ATM shell offset is parametric but only in normal direction. Flipping the direction is easily achieved by pairing with "Flip" node (also included)

At a later date, I will see if I can add "centreline" mode, but for now it suits my purposes.

By way of demonstration, I applied shelling to nod file previously posted (with coarser pattern and no subd smoothing) . Please also find attached.

A great weekend to all,
James



UPDATED: another simple example of shell node attached

Image Attachments:
wovenShell.jpg 


From: James (JFH)
21 Oct 2018   [#1258] In reply to [#1257]
Hi All,

I have updated construct2.js to include additional new "Extend" node which performs analogous to "Constuct/Extend" tool: extending a curve to meet a boundary curve or surface.

Have a great weekend
James


Image Attachments:
extend.gif 


Show messages:  1-18  …  1179-1198  1199-1218  1219-1238  1239-1258  1259-1278  1279-1298  1299-1318  …  1859