MoI discussion forum
MoI discussion forum

Full Version: Node Wish List

Show messages:  1-10  …  271-290  291-310  311-330  331-350  351-370  371-390  391-410  411-425

From: Psygorn (DRILLBIT)
12 Apr 2023   [#331] In reply to [#330]
Hi PILOU,

I know he stopped developing it further.

What I mentioned is a kind of wish! ( because it is a Node Wish List topic) :-)

I wish I can see something similar (or even better and more robust).
From: Frenchy Pilou (PILOU)
13 Apr 2023   [#332] In reply to [#331]
I am not sure he will make that...he is full time at it's own Nurbs prog for the next years! ;)
From: Psygorn (DRILLBIT)
13 Apr 2023   [#333] In reply to [#332]
;)
From: MO (MO_TE)
13 Apr 2023   [#334]
Hi
I've updated "SurfaceNormals" node.
Rebuild Surface option added.
No need to use "QuadRepatch" node :)
Link:
https://moi3d.com/forum/index.php?webtag=MOI&msg=9581.321
From: James (JFH)
13 Apr 2023   [#335] In reply to [#334]
MO,

Rebuild Surface option is a great addition to your node,
however is there a way to ensure that the rebuilding maintains the orientation of the original surfaces?

If you look at image below, the combination of "Join" & "separateObj" (green nodes) should unify normals (if not already), however the resulting vector array is not directionally consistent.



James
https://www.instagram.com/nodeology/

PS: I had assumed that "INVERT" option would flip the surface normals, but it does not appears to have that effect. Is it doing something else?

Image Attachments:
polyLotNormals.jpeg 


From: MO (MO_TE)
14 Apr 2023   [#336] In reply to [#335]
James
I didn't know that "join" and "separate" commands can unify normals. Thanks you for your comments.
It's good to see a problem from different perspectives. Like the "Invert" mode that I was rotating normals around their "y" axis. (BurrMan mentioned "flip" factory but I didn't get it)

I've added a third option to the "RebuildSrf" drop-down menu. ( Still has some bugs)

quote:
is there a way to ensure that the rebuilding maintains the orientation of the original surfaces?

I'm not sure how to do that. That's why I've added the "Invert" mode. :)
I also changed the "Invert" mode so it flips the surfaces instead of rotating the normals.
Link:
https://moi3d.com/forum/index.php?webtag=MOI&msg=9581.321
From: Frenchy Pilou (PILOU)
14 Apr 2023   [#337] In reply to [#336]
Does your nodes of normal orientation work with only one surface selected or several surfaces in the same time ?
From: MO (MO_TE)
14 Apr 2023   [#338] In reply to [#337]
Hi PILOU
It works with multiple surfaces. :)

From: Frenchy Pilou (PILOU)
14 Apr 2023   [#339] In reply to [#338]
Excellent! :)
From: James (JFH)
14 Apr 2023   [#340] In reply to [#336]
MO,

Thanks for the "Unify Normals" option.
quote:
I didn't know that "join" and "separate" commands can unify normals

The problem with this method though, is that in forcing unification of the W component of the surfaces, the U & V components may be altered, even in cases where the faces are already aligned such as they with a polyLoft.
If you look at the image below; the magenta dots that are coincidental with the black circles are consistent with the original face alignment. Where they are shown in different locations, the new face has been rotated. Indeed the "showFrames" elements at the centre of each face are consistently aligned along blue axes, but not so with the red or green, as would be the case of the original polyLoft output.



Ideally the finding of surface normals should not alter the referent surfaces, but at the very least as a first step, I think it would be preferable to remove "Surface" output from the node, since it would be generally assumed that surface output would be the same as that input.

The other issue that the join/separate method has it that it reorders the faces, so that any regular indexing of rows and columns of faces in say a polyLoft is lost. This means though that if a user wants to address a normal vector for a particular surface, they are unfortunately not similarly indexed.

I see this problem stumped Wayne, and I'm am realising it must be very difficult. Thank you for persisting as long as you have. I would understand if you threw your arms in the air and said "Too Hard, I give up"

James
https://www.instagram.com/nodeology/

Image Attachments:
faceOrient.jpg 


From: MO (MO_TE)
15 Apr 2023   [#341] In reply to [#340]
Hi james
u-v direction is one thing that I still have a problem with it.
I couldn't find a way to force it to use one direction for "uvs".
But for your problem, I suggest to use "method 2" to generate normals.

About ordering issue all that rebuilding surface functions (network, join and separate) make new objects with new object "ids" and new ordering.
But, I managed to reorder surfaces to their original state. (Uploaded)
https://moi3d.com/forum/messages.php?webtag=MOI&msg=9581.321

And about the "surface" output I thought it would be nice to see the surfaces after rebuild function,
Because all surfaces are not simple and planar, and rebuild method in this node has its limitations.
In this example you can see the surface's form has changed after performing rebuild function.

From: MO (MO_TE)
2 Jul 2023   [#342]
"Extract" node update:
Changed default input/output to "numarray"
Changed "Mode" function

Added new functions :
"Swap": Replace biggest and smallest numbers
e.g. : [0,0,1,0] => [1,1,0,1] , [1,4,2,3,5] => [5,2,4,3,1]
"Duplicates": Outputs the duplicate numbers
"Make Unique": Removes the duplicate numbers (keeps one of them)
"Shuffle", "Reverse", "Sort Ascending", "Sort Descending", "Length"
"Volume", "Area", "Curve Length" (Object mode)

Address: "Basic/Extract"

Attachments:
Extract.js


From: James (JFH)
3 Jul 2023   [#343] In reply to [#342]
Thanks MO,

I applaud your development to Basic/Extract node....you have made it into a very useful and powerful tool, and in doing so reduced the bloat of the node library. We can now retire several nodes: Length, arraySort, FlipNumArray, stlArea, & perhaps also stlVolume.

There is an additional output from "stlVolume" node that may be incorporated in a future extended "Centroid" node (originally contributed by Brian/bemfarmer). Presently this node operates only on closed polygons. Ideally, it may be replaced with a universal "FindCenter" node that accepts both pt and obj data types: finding the centre of point arrays, curves (open & closed), surfaces, polysurfaces, groups of objects, and solids.

Returning to "Extract" node: there are 2 further functions that logically may fall within its scope ie "Shuffle", "Reverse" for point arrays (similarly to numArray options). If this is possible, we may retire 2 further existing nodes. See image

It heartens me that you've taken up the mantle and continue to refine nodeEditor.
James
https://www.instagram.com/nodeology/

Image Attachments:
extractNode.jpg  extractNode.jpg 


From: MO (MO_TE)
5 Jul 2023   [#344] In reply to [#343]
Thank you James
Your comments encourage me to keep making stuff. :)
I searched a bit on finding the center of gravity, Its math is way beyond my knowledge.
Although, I've made a macro months ago to get the average of points.
I'll attach it here, so if it was helpful It can be a starting point to write a node.js file.

About adding "Shuffle" and "Reverse" options to the "extract" node's point mode,
I had some success, (added "Shuffle" and "Reverse" to points and objects mode)
But, I have to study more on adding extra outputs to the node.
Specially adding output for a specific option rather than all options.

Attachments:
Extract.js
Moi_Macro_Average_Points.nod

Image Attachments:
Extract_Extra_Output.png 


From: James (JFH)
5 Jul 2023   [#345] In reply to [#344]
Gallant Effort MO,

I recognise that liteGraph framework make it difficult (or impossible?) to alter the output datatype with mode options.

Perhaps the scope of this node is too broad. Maybe the solution is to have another node: "Basic/Sort" for reversing and shuffling arrays of all datatypes. NumArray options: SortAscending & SortDescending would also logically fall within the scope of this node as well.

What do you think?
James
https://www.instagram.com/nodeology/

Image Attachments:
sortNode.jpg 


From: MO (MO_TE)
5 Jul 2023   [#346] In reply to [#345]
I didn't have the chance to work on it, but it is something that I'll check that out again.
I guess you are right about "sort" options. They can be in a separate node.
I'll let you know after checking out options.
Thanks
From: MO (MO_TE)
7 Jul 2023   [#347]
Hi
This is what I found out:
Actually you can change inputs and outputs for a specific property by calling "onPropertyChange" function.
You can use these methods to change the node:
"addInput", "addInputs", "addoutput", "addOutputs", "removeInput", "removeOutput", "changeIntputType" "changeOutputType"
I've made a node to show some examples.

This is one node with different properties.

Address: " Basic/IO_Changer "

Attachments:
IO_Changer.js

Image Attachments:
IO_Changer.png 


From: MO (MO_TE)
24 Nov 2023   [#348]
Hi
This small change can stop the "fillet" node from crashing moi.
Find this line inside "fillet" node .js file:
code:
filletOut = filletFac.calculate();

And replace it with this:
code:
filletFac.update();
filletOut = filletFac.getCreatedObjects();

I recommend to do the same on "shell" node as well.
From: MO (MO_TE)
29 Nov 2023   [#349]
"SelectContained" node based on Michael's "SelectContained" script:





address : "Objects/SelectContained"

Attachments:
SelectContained.js

Image Attachments:
SelectContained_01.png  SelectContained_02.png 


From: Frenchy Pilou (PILOU)
29 Nov 2023   [#350]
Cool selection tool!

Show messages:  1-10  …  271-290  291-310  311-330  331-350  351-370  371-390  391-410  411-425