Show messages:
1-13
…
1014-1033
1034-1053
1054-1073
1074-1093
1094-1113
1114-1133
1134-1153
…
1854-1859
Thread Split: Some posts in this thread have been moved here
From: Frenchy Pilou (PILOU)
<< go to the limit of what is possible
In theory anything is possible if all native functions are emulated ?
From: James (JFH)
Hi All,
Attached is .nod file for building gyroid sphere.
First open gyroidSphereElem.3dm then load gyroidSphere.nod and RUN
UPDATED: Now with Karsten's brilliant new "Network" node, no imported element is necessary.
First replace Construct2.js in AppData/Moi/Nodeeditor/Nodes/Extensions with attached
And while you're at it, also replace Object2.js in same directory. It includes new removeDupCrvs node:
a useful utility.
James
Image Attachments:
gyroidSphereHollow.jpg
From: Karsten (KMRQUS)
Hello Pilou,
I meant possible now. Everything can improved -that's clear. But I think we got a good state - from the start till now. And not all functions can be converted to a node and it isn't useful in my opinion. But, Step by step we can close the gap. And new Options in V4 will do the rest.
Have a nice day
Karsten
From: speedy (AL2000)
Hi Friends
an adaptation of a movable window module
on a canopy, applied not with Flow tool, but with
Copy from/ to point...
as usual file at this link:
http://www.mediafire.com/file/ctla4g3v759p77i/MovableWindowsonCanopy.zip/file
Have a nice day to all
alberto
PS-I take this opportunity to greet the great Karsten
welcome back ... we hope for your help
for the next developments .... without you, this,
I think it would not have been possible
From: James (JFH)
Hi Karsten,
In reply to
http://moi3d.com/forum/index.php?webtag=MOI
<< I've already written a Network node, but it's very unstable caused by the orientation of the Input curves.>>.
Now I don't want to badger, only remind you, in case it has slipped your mind;
that this was a path that you had already ventured down and that you may be interested in revisiting it with new eyes.
(if you will excuse the mangled metaphor). Network it the major missing construct node in NE
All the best
James
From: Karsten (KMRQUS)
Hello James,
the Network factory is one of those who crashes MoI, if the Input is not correct. Futhermore it is difficult to sort and orient the curves in the right way for the Input. A lot of logic and checks would be necessary to bring the curves in a topological structure. And I don't know how MoI itselve handles that.
Have a nice day
Karsten
From: James (JFH)
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
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)
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)
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
AMAZING! YOU'RE A MASTER!!
:)
From: Karsten (KMRQUS)
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)
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
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)
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)
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)
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
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)
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)
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
Show messages:
1-13
…
1014-1033
1034-1053
1054-1073
1074-1093
1094-1113
1114-1133
1134-1153
…
1854-1859