MoI discussion forum
MoI discussion forum

Full Version: Elephant Repository

Show messages:  1-6  …  67-86  87-106  107-126  127-146  147-166  167-186  187-206  …  487-503

From: Michael Gibson
8 Sep 2019   [#127] In reply to [#125]
Hi Pilou,

> About the Revolve function : I try to add the "if ( Math.abs(angle) < 0.01 ) return;" inside the construct.js file of the nodeeditor>
> but as I don't know where exactly to add it i have for the moment some errors... :)
>

Probably like this (haven't tested to make sure though), add the line marked with >>>

code:
Revolve.prototype.onExecute = function()
{
	if (this.properties.mode[0] === "Union")
	{
		var inObj = this.getInputData(0, moi.geometryDatabase.createObjectList());
		var center = this.getInputData(1, new pointArray(true));
		this.properties.angle = this.getInputData(2, this.properties.angle);
		var frame = center.getFrame(0);

>>>		if ( Math.abs(this.properties.angle[0]) < 0.01 ) return;

		var output = factory ('revolve', inObj, frame.origin, frame.evaluate( 0, 0, 1 ), this.properties.angle[0], this.properties.cap_ends[0] === "On");
		this.setOutputData(0, output);
	}
	else
	{
		var data = this.processInOut(this.properties.mode[0], this.multiProcess, null, null, 360 );
		this.properties.angle = data.inputs[2];
		this.setOutputData(0, data.outputs[0]);
	}
}



>
> PS about the Node editor for the V3 I have only a "White screen Window"
> I have tryed
>
> ​moi.ui.createDialog( 'nodeeditor/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow ) on the prog itself
>
> ​moi.ui.createDialog( 'moi://appdata/nodeeditor/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow ); on the "application data"
>
> no success
>
> What is the number of the version of NodeEditor working for the V3?

I think the same version works for both, however v3 does not have the stuff needed for running it from appdata so you have to install it in the main install folder, in the ui subfolder if I remember right.

Then if you put it in a folder like \ui\nodeeditor , you would use the first one above. Whatever folder you put it in, this part in bold of the keyboard shortcut should match the folder name: ​moi.ui.createDialog( 'nodeeditor/index.html',

If you want to have one single launcher shortcut key that does different things depending on whether it's running in V3 or V4 you can do it like this:
http://moi3d.com/forum/index.php?webtag=MOI&msg=9266.194

Also Macros in v3 won't work unless you apply the fix from here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=7777.1494

- Michael
From: Frenchy Pilou (PILOU)
8 Sep 2019   [#128] In reply to [#127]
About the >>> if ( Math.abs(this.properties.angle[0]) < 0.01 ) return;

that is working fine now! The right thing at the right place is better than the right thing at a random place! :)

About the V3 : that is working also fine after the "fix" ! (i have the 0.97 ) so i will test also the 1.0

Edit: definitly not the 1.0 works for me for the V3 inside the (x86 path) or inside the the app data...
not a big deal... as that works now 0.97 (fixed) for V 3 and 1.0 for the beta V 4 :)

Next native section repository will be "Transform" section I see the end of the tunnel but i have keep the more difficult for the end! :)
And the more easy "Basic" for the ultima end! :D
From: Frenchy Pilou (PILOU)
9 Sep 2019   [#129]
And last curious thing : the fact to change the Shortcut for a version ("appdata" for Beta V4 - not "appdata" for the V 3)
changes also the Shortcut for the other version of Moi! A true ghost story! :)
I suppose that's explaning my previous "White window" !

So must Copy Past the good path from somewhere if i want use Elephant on an another version of Moi!
(and of course a little trouble with an error "\u8203" during the Copy/Past path for spice things! :)
(seems CTRL C - CTRL V doesn't like to past a selected text from Website - must use the "contextual menu" Right Click !
From: Frenchy Pilou (PILOU)
9 Sep 2019   [#130]
Move Node (English French)
http://moiscript.weebly.com/transform.html




From: Michael Gibson
9 Sep 2019   [#131] In reply to [#129]
Hi Pilou,

> And last curious thing : the fact to change the Shortcut for a version ("appdata" for Beta V4 - not "appdata" for the V 3)
> changes also the Shortcut for the other version of Moi! A true ghost story! :)
> I suppose that's explaning my previous "White window" !

Shortcuts are stored in the moi.ini file and by default both MoI v3 and v4 will use the same moi.ini file, so that's normal.

You can set up an individual shortcut that will do different things depending on whether it is running on MoI v3 or v4, or it is also possible to make MoI v3 and v4 use separate moi.ini files instead of sharing the same one, see here for how to set those things up:
http://moi3d.com/forum/index.php?webtag=MOI&msg=9266.194

- Michael
From: Frenchy Pilou (PILOU)
9 Sep 2019   [#132] In reply to [#131]
<< script: if ( moi.majorVersionNumber == 3 ) { moi.ui.alert('running in v3'); } else if ( moi.majorVersionNumber == 4 ) { moi.ui.alert('running in v4'); }

it's just an Alert or that makes also good running of the good Shortcut ?
And where put it ? At the begin line of the script of the Shortcut Elephant ? or ...
From: Michael Gibson
9 Sep 2019   [#133] In reply to [#132]
Hi Pilou, you would need to replace the alert with the code that opens the node editor dialog.

So for example if you want to have v3 do this:

​moi.ui.createDialog( 'nodeeditor/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow );

and have v4 do this:

​moi.ui.createDialog( 'moi://appdata/nodeeditor/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow );

You would place the v3 code in this spot:

script: if ( moi.majorVersionNumber == 3 ) { moi.ui.alert('running in v3'); } else if ( moi.majorVersionNumber == 4 ) { moi.ui.alert('running in v4'); }

and place the v4 code in this spot:

script: if ( moi.majorVersionNumber == 3 ) { moi.ui.alert('running in v3'); } else if ( moi.majorVersionNumber == 4 ) { moi.ui.alert('running in v4'); }


So the whole thing would look like this:

script: if ( moi.majorVersionNumber == 3 ) { moi.ui.createDialog( 'nodeeditor/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow ); } else if ( moi.majorVersionNumber == 4 ) { moi.ui.createDialog( 'moi://appdata/nodeeditor/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow ); }


Hope that helps!

- Michael
From: Frenchy Pilou (PILOU)
9 Sep 2019   [#134] In reply to [#133]
That was not evident indeed but miracle...
the "Whole thing" works inside the both V 3 (0.97) and beta V 4 (1.0) ! (in the same time :)
Bravo! No more headaches for this for me now!

(i will try again if the 1.0 works also for the V 3 )
From: Frenchy Pilou (PILOU)
9 Sep 2019   [#135]
Second miracle: the 1.0 works now also for the V3 !
Excellent! :)
Added to the Install http://moiscript.weebly.com/install-elephant.html


From: Frenchy Pilou (PILOU)
9 Sep 2019   [#136]
About of the Rotate Node

"Frame" parameters are yet nebulous :)
box = 5 , 5 , 2



Edit : ok I have found the missing link - a true moment of inspiration! :)
From: Frenchy Pilou (PILOU)
9 Sep 2019   [#137]
Maybe there is a trick for make a Rotation / a 3D Line ?

Rotate Node (English French)
http://moiscript.weebly.com/transform.html




From: Frenchy Pilou (PILOU)
10 Sep 2019   [#138]
Twist Node ( English French)
http://moiscript.weebly.com/transform.html




From: Frenchy Pilou (PILOU)
10 Sep 2019   [#139]
Flow Node (English French)
http://moiscript.weebly.com/transform.html




From: Frenchy Pilou (PILOU)
10 Sep 2019   [#140]
Circular Array Node (English French)
http://moiscript.weebly.com/transform.html




From: Frenchy Pilou (PILOU)
10 Sep 2019   [#141]
I have some troubles with Orient Node!

Seems no automatic "orientation"! ???


From: Michael Gibson
10 Sep 2019   [#142] In reply to [#141]
Hi Pilou, I think you'll need to supply a coordinate frame at your desired position instead of just a point.

- Michael
From: Frenchy Pilou (PILOU)
10 Sep 2019   [#143] In reply to [#142]
Ok but i don't see difference from a simple "Move" + "Rotate Point" against "Orient" + "Rotate Point" ?

And I must find something who give the exact orientation because with sliders there is not "snap" :)
Something like a "given face" gives the orientation of it...or...

And other thing : does the "Native functions" can work only from them ? So making "Orient" just with them...


From: Michael Gibson
10 Sep 2019   [#144] In reply to [#143]
Hi Pilou,

re:
> Ok but i don't see difference from a simple "Move" + "Rotate Point" against "Orient" + "Rotate Point" ?

Well the regular Transform > Orient command is indeed a combination of movement plus rotation. With something that might have more complex rotations orient could be more convenient. Like if you are applying some kind of repeated rotation on a coordinate frame Orient can take that coordinate frame directly.


> And other thing : does the "Native functions" can work only from them ? So making "Orient" just with them...

Sorry, I don't understand this part.

- Michael
From: Frenchy Pilou (PILOU)
10 Sep 2019   [#145] In reply to [#144]
>> And other thing : does the "Native functions" can work only from them ? So making "Orient" just with them...

Actually there are 2 parts of nodes : native and extensions

So i will to know for example if native Orient can be used only with native nodes for obtain an exact results !
Because it was created before the extensions!

Problem for the moment i can't find a simple trick for have the good result!
Difficulties (for me) is transform a selection in a "frame" usable! :)
Orient something following a line or a face...surely trivial but...



From: Michael Gibson
10 Sep 2019   [#146] In reply to [#145]
Hi Pilou,

> So i will to know for example if native Orient can be used only with native nodes for obtain an exact results !
> Because it was created before the extensions!

Sorry, I don't know the answer to this.


> Problem for the moment i can't find a simple trick for have the good result!
> Difficulties (for me) is transform a selection in a "frame" usable! :)
> Orient something following a line or a face...surely trivial but...

For a curve you could call evaluateTangent on it to get its tangent direction and use that as the z axis of your frame, and you would then need to make the x and y axis directions by doing some vector math like using crossproduct.

If a curve is planar, (crv.isPlanar == true) then you can get the frame of its plane by crv.planarFrame

The next v4 beta will also has that for faces as well.

- Michael

Show messages:  1-6  …  67-86  87-106  107-126  127-146  147-166  167-186  187-206  …  487-503