MoI discussion forum
MoI discussion forum

Full Version: Nodebundle for playing with nodes

Show messages:  1-19  …  1020-1039  1040-1059  1060-1079  1080-1099  1100-1119  1120-1139  1140-1159  …

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

From: James (JFH)
14 Jun 2018   [#1080] In reply to [#1079]
Hi Karsten,

Thank you for getting back to me.

<< Network factory is one of those who crashes MoI....I don't know how MoI itselve handles that.>>.

OK perhaps this is one node that is best left to Max.

But while I've got you here: you also some time ago observers that
<< rebuild curve would also help for a complete toolchain!.>>,
(refer: http://moi3d.com/forum/messages.php?webtag=MOI&msg=8622.1

Is this something that you have looked at?

I loath coming across as a total ingrate, because the truth is, I could not be more grateful
for all your great work.
James
From: Michael Gibson
14 Jun 2018   [#1081] In reply to [#1079]
The Network factory has inputs like this:

0: Object list - U curves
1: Object list - V curves
2: List of curve orientation objects - U orientations
3: List of curve orientation objects - V orientations
4: String - Mode, One of "normal", "lighter", "custom", "uniform"
5: Number - Custom tolerance, Fitting tolerance to use when mode = "custom".
6: Int - Uniform Num Points - Number of interior points to use when mode = "uniform".

The way it works in the normal command is only the U curves are populated by the command script, and the orientation data is empty. Then when the it runs it sorts those into separate U and V lists and makes the orientation lists that records any flipping that was done so that when the factory is persisted into a history string and there is a history update late it won't attempt to resort them at that time.

If you can extract a sample of what's not working for you such that it is runnable outside of the node editor as just a regular command it would make it easier for me to track down what is going wrong there.

- Michael
From: Karsten (KMRQUS)
14 Jun 2018   [#1082] In reply to [#1081]
Hello Michael,

thanks for the information! It wasn't clear for me how it works and I thought at the end, I have to sort it in the JS-Code. The old documentation wasn't helpful - only 4 Inputs. So I will start working on Network again the next days, but with low priority -FIFA World Cup starts today and that requires a lot of capacity:-) Holy weeks for me!

A nice day to all
and thanks again
Karsten
From: James (JFH)
14 Jun 2018   [#1083]
Hi All,

Only after doing gyroid nod file, did I discover early discussion of batwing gyroid on the forum & Jotero's suggested method.
However this took me to his online gallery. One of his sculptures was the inspiration for this: byrdCage.nod

James


Image Attachments:
byrdCage1.jpg  byrdCage2.jpg 


From: mkdm
14 Jun 2018   [#1084] In reply to [#1083]
AMAZING! YOU'RE A MASTER!!

:)
From: Karsten (KMRQUS)
14 Jun 2018   [#1085] In reply to [#1081]
Hello Michael,

the problem was that the network factory need curves that are already added to the database - otherwise the factory shows this in the crash report:

.\Init.cpp 501: Moi starting up
Current command = none, Version = Sep-18-2014
7 network V1
5
22 objectlist 8 U curves0
22 objectlist 8 V curves0
21 string 4 Mode6 normal
49 double 16 Custom tolerance3f847ae147ae147b (0.01)
27 int 18 Uniform Num Points10

It reminds me to the 'removeduplicates' factory.

Now I can fix some other problems:-)

Many thanks and
have a nice day
Karsten

p.s.:
@ James - Is railrevolve already distributed?
code:
function RailRevolve()
{
	this.addInput("Profile","objectlist");
        this.addInput("Rail","objectlist");
	this.addInput("Frame","pointarray");
	this.addOutput("Out","objectlist");
	this.properties = { mode:[/*"Union","Union"*/"Long","Long","Short"], cap_ends:["On","On","Off"]};
}

RailRevolve.title = "RailRevolve";
RailRevolve.desc = "RailRevolve";

RailRevolve.prototype.onExecute = function()
{

	{
		var data = this.processInOut(this.properties.mode[0], this.multiProcess,null, null, null );
		this.setOutputData(0, data.outputs[0]);
	}
};

RailRevolve.prototype.multiProcess = function(prof,rail, f)
{
	var frame = f.getFrame();
	return [factory ('railrevolve', prof.item(0),rail.item(0), frame.origin, frame.evaluate( 0, 0, 1 ), this.properties.cap_ends[0] === "On")];
};

LiteGraph.registerNodeType("Construct2/RailRevolve", RailRevolve);

From: Karsten (KMRQUS)
14 Jun 2018   [#1086]
Hello James,

very untested - only some standard test:
code:
function network()
    {
        this.addInput("In", "objectlist");
        this.addOutput("Out", "objectlist");
        this.properties = { mode: ["normal", "normal","lighter", "exact","custom","uniform"], tolerance: [0.01], numPts: [10]};
    }

    network.title = "network";
    network.desc = "network";

    network.prototype.onExecute = function ()
    {
        var inObj = this.getInputData(0, moi.geometryDatabase.createObjectList());
        var output = moi.geometryDatabase.createObjectList();
        var temp = moi.geometryDatabase.createObjectList();
   if (inObj.length > 3) {
            var tempname=getUID(6);
        for(var i=0;i<inObj.length;i++){temp.addObject(inObj.item(i));temp.item(i).name=tempname;};
            moi.geometryDatabase.addObjects(temp);
            var nFac = moi.command.createFactory( 'network');
            nFac.setInput(0, temp);
	   	if ( ! nFac.canDoCoonsPatch && this.properties.mode[0]=== "exact" ){moi.ui.alert("Network option exact not possible! switch back to normal ");this.properties.mode[0]="normal";};

	    nFac.disableUpdate( true );
            nFac.setInput(4,  this.properties.mode[0]);
//            nFac.setInput(4, 'normal');
            nFac.setInput(5, this.properties.tolerance[0]);
            nFac.setInput(6, this.properties.numPts[0]);
//            nFac.update();
            output = nFac.calculate();
//            nFac.commit();
            nFac.cancel();
        moi.geometryDatabase.selectNamed(tempname);
        temp=moi.geometryDatabase.getSelectedObjects();
        var delfac = moi.command.createFactory( 'delete' );
	delfac.setInput( 0, temp );
	delfac.commit();
        }
           this.setOutputData(0, output); 
    };
LiteGraph.registerNodeType("Construct2/Network", network);


Please make some experiments and report me about.

A nice day to all
Karsten
From: Michael Gibson
14 Jun 2018   [#1087] In reply to [#1085]
Hi Karsten,

re:
> the problem was that the network factory need curves that are already added to the
> database - otherwise the factory shows this in the crash report:

I'm glad you found the problem! This issue of not being able to use "loose" objects that are not in the database with an async factory should be solved in v4. The problem was that previously a newly created object was not assigned a unique id value until it was added to the geometry database, while in v4 this happens right when objects are created.

- Michael
From: Karsten (KMRQUS)
14 Jun 2018   [#1088] In reply to [#1087]
Hello Michael,

thank You for the explanation - now it's making sense to me. And the change in V4 can simplify the code and avoid some workarounds with naming. Top!!!

Cheers
Karsten
From: James (JFH)
14 Jun 2018   [#1089] In reply to [#1086]
Hi Karsten,

What a delightful & unexpected gift to wake up to...and not only that but a bonus node.

I've gone back to my gyroid experiments and replaced the imported element with a base surface
wholly constructed in NE via network node. Works perfectly.

http://moi3d.com/forum/index.php?webtag=MOI&msg=7777.1075

I will continue to play around with it & rail revolve and report any issues.

Thanks again Karsten, you are a champion

James
From: James (JFH)
15 Jun 2018   [#1090]
Hi All

With new network node it is possible to distort a regular pattern to give it that 60's feel
so that when wrapped around an object there is no relationship between the distortion
and underlying topography. It is a bit of a silly experiment, but I think it hints at real
possibilities for graphic expression

James

Image Attachments:
OpArtSoap.nod.jpg 


From: Finema
15 Jun 2018   [#1091] In reply to [#1090]
Hi James
It will be cool if we could choose and create the pattern (module) and the wrapped object out of Nodeeditor (not with code), just with MoI tools.
Thanks for your good job :)
From: speedy (AL2000)
15 Jun 2018   [#1092]
Hi Friends
I pushed, I believe at the Elephant limit ....
which can handle around 2800 surfaces and smooth them
It is not a brainer ....
Very Very Very Stronge Program ..
In addition, I see that Karsten goes on with new tools
Network. Swept Rail etc. etc.
very, very good , what to say , beyound thath Thanks to those
who make it possible....

For those interested the file is this link :
http://www.mediafire.com/file/utau60u4m66ulel/SpiralLamelleInterwoven.zip/file
It is a Interwoven surface, quite complex
to test the true potential of the program
Happy weekend to everyone
al
From: James (JFH)
16 Jun 2018   [#1093]
Hi All,

Following on from my last post; attached is a .nod file for generating randomised distorted patterns.
4 example outputs below

UPDATED:
Could be used for creating stone paving, by replacing circles with spheres: See additional image below

James

PS Go easy with increasing intensity slider unless you want a punk pattern.

Image Attachments:
polka.gif  stonePaving.jpg 


From: mkdm
17 Jun 2018   [#1094] In reply to [#1093]
AMAZING!!!! ...as usual!

Fantastic stuff for all "2D-workflow" related works!

Your creations are of superior quality and I think that they CAN'T be missed by anyone.

You should (if you want) put all your latest/best nodes into a public storage to be accessible by all Moi' guys, without searching (and losing) them here on the "maremagnun" of this forum.

Thanks a lot James!
From: James (JFH)
17 Jun 2018   [#1095] In reply to [#1094]
Hi Marco,

Thank you for your kind words. Funnily enough, I was inspired by your 2D workflow work when doing this .nod file. It is very clever the way you have used moi as a vector graphics tool like illustrator. It is something I intend to emulate more in the future. Anything to use Adobe's products less, the better.

As for an archive; I think it is a good idea, but probably best left until after NE is out of beta.

Thanks again
James
From: mkdm
18 Jun 2018   [#1096] In reply to [#1095]
Ciao James!

You're welcome. My words simply described the reality. Your work on NE is EXCELLENT!!
(and the experiments of the user "speedy - AL2000")

And about 2D workflow....yeah! I always wanted to find suitable and streamlined ways to use Moi for that kind of purposes, because I wanted to join together the power of Moi's Nurbs with the power of product like Affinity Designer.

Unfortunately, or fortunately :), recently I really have not time at all to put again my hands on keyboard to continue the development of specialized scripts for "2d workflows".
I have many ideas, so many, but not time to develop.

So, your contribution with your nodes is very precious.

Max did a PRICELESS JOB, a "monster" tool, a "milestone" for Moi. but unfortunately, IMHO, the unique real problem is that NE is still a "too fragmented" product, very powerful, but still young.

With the BIG problem of a "scattered" documentation and knowledge base.

And it seems that actually NE has also reached the limit that Moi can do, because Moi was not made to deal with these kind of use-case.
And this is particularly evident with all your latest nodes and also with the excellent nodes made by the user "speedy - AL2000".

Anyway...I really hope that Michael's will continue to improve the Mo's "2d tool set" in order to have an even better product to deal with "2d workflows"

Ciao and have a nice day!
From: speedy (AL2000)
18 Jun 2018   [#1097]
Hi Friends
like children, it is too much happiness to have
this toy with which to finally
realize this cube with rounded corners ...
it's a Dream
file at this link:
http://www.mediafire.com/file/tatdt9fs9f7p1te/Rail_Revolve_Smooth_Cube.nod/file
great Karsten and James ....
thank you
Have a nice day to all
al

Message 7777.1098 was deleted


From: James (JFH)
19 Jun 2018   [#1099]
Hi All,

I have returned to woven patterns. My earlier method was very complicated,
however with subsequent versions of NE, this has become quite rudimentary.
UPDATED: The .nod file needs cleaning up, but I will post soon

The .nod file is now attached. Be warned that geometry generation may take 40+ secs.
Hope it is worth it :)

James

Image Attachments:
wovenBracellet.jpg  wovenTorus.jpg 


Show messages:  1-19  …  1020-1039  1040-1059  1060-1079  1080-1099  1100-1119  1120-1139  1140-1159  …