Show messages:
1-10
11-30
31-50
51-70
71-90
91-110
…
1851-1859
Thread Split: Some posts in this thread have been moved here
From: Barry-H
Hi Karsten
Just to let you know I modified the BoundingBox
Node to "getHighAccuracyBoundingBox" and it works a treat.
I also added an auto position centred within the max X and Y.
This works Ok but if you revolve the object it can move of
Centre. So that's why I posted about Michael's CenterAtOrigin script.
I have tried to modify it but failed so if you can have a look that would
Be great.
(I'm trying to learning JavaScript but more mistake's than success)
Cheers
Barry
From: Karsten (KMRQUS)
Hello James,
I made a new loft-node, where you can switch between closed and open by entering true/false in the info panel. A checkbox would be better, so we have to ask Max if it is possible to implement such a feature someday in the core development.
Kind regards
Karsten
Image Attachments:
loftnode.png
From: Barry-H
I have modified Michael's CenterAtOrigin script to make a node.
If I use it as an output it works but it applies as well thus if positional sliders & rotations are altered
it produces another set of objects. I'm not sure what to do to overcome this.
Any pointers would be great.
Barry (JavaScript beginner)
// ############ Centre ############
function Centre()
{
this.addInput("In","objectlist");
this.addOutput("Out","objectlist");
this.properties = { capend:true };
}
Centre.title = "Centre";
Centre.desc = "Centre";
Centre.prototype.onExecute = function()
{
//var objects = moi.geometryDatabase.getSelectedObject();
var objects = this.getInputData(0, moi.geometryDatabase.createObjectList());
var bbox = objects.getHighAccuracyBoundingBox();
var factory = moi.command.createFactory( 'move' );
factory.setInput( 0, objects );
factory.setInput( 1, bbox.center );
factory.setInput( 2, moi.view.getCPlane().origin );
factory.commit();
}
LiteGraph.registerNodeType("Transformations/Centre", Centre);
// ############ End Centre ############
From: Karsten (KMRQUS)
Hello Barry,
the factory.commit() pushes the created object to Moi s geometry database - finished and allready. That is not what you want. So you should store the geometry in a variable and place it in an output. I donĀ“t have access to a sample at the moment (only my Cellphone), but you can find examples in every node that has a geometry output:-)
If you can't find a solution, please tell me.
Happy programming
Karsten
From: Karsten (KMRQUS)
Hello Barry,
I had a quick look in the above posted factories2.js -
something like that should work for you:
replace the commit-stuff with
var output = factory.calculate();
this.setOutputData(0, output);
factory.cancel();
Have a nice day
Karsten
From: Barry-H
Hi Karsten,
could do with an example when you have time.
Cheers
Barry
From: Barry-H
Hi Karsten,
works a treat many thanks. Can you explain what a frame is.
Cheers
Barry
From: Karsten (KMRQUS)
Hello Barry,
I will try it. A frame is something like a local coordinate system. So it defines the basepoint and the orientation in space for some factories which creates geometry who need an alignment (basepoint,u-direction, v-direction)e.g. for circles. Sorry about my english - I'm not a native speaker.
Have a nice day
Karsten
From: James (JFH)
Thanks Karsten
RE: Loft2
That does the trick. Brilliant
RE: "A checkbox would be better"
or even better a pulldown menus for each of the options built into the node.
In the meantime, I think Inputs for each of the settings (Closed, Cap Ends & Styles) would be useful, or at least more explicit.
This could be paired with a new "String" node for entering strings such as "Normal" "Loose" or "Straight"; while the other options
could be dynamically set by logic/math nodes. That way where required settings are visible in the wiring diagram.
But this new loft node suits my purposes very well.
Thanks again
- James
From: Barry-H
Hi Karsten,
just to show you the results of your help.
Thanks
Barry
Image Attachments:
Animation.gif
From: Karsten (KMRQUS)
Hello James,
I'm glad to hear that it works for you in a first step. But I don't know which way is the right one regarding to the Features a node have. "Keep it simple" has the Advantage, that everyone understand the function without explanation. A full featured node can do everything for you, but you have to wire a lot of stuff - sometimes for things you never had thought about in the past. It is difficult to decide that concerning a consistent node Format. But, yes that's was my intention - to discuss about that and collect the ideas.
Have a nice day
Karsten
p.s.: With computers we are solving problems, which we would not have without him.
From: Karsten (KMRQUS)
Wow,
very useful to reduce wasting material or to optimize packaging. Some days ago someone asked in a thread about optimiziation the nesting for 3D-Printing - maybe someday it is possible:-)
Have a nice day
Karsten
From: Frenchy Pilou (PILOU)
@ Karsten
Does your last opus is auto sufficient or we must take some files from Max Plugin or some files from your previous one ?
From: Karsten (KMRQUS)
Hello Pilou,
I didn't tested it by myself, but I hope I have put everything needed in the file. Maxs core files are also in the archive. If you want a new loft- node you can replace factories2.js with the posted one. Infonodes can also be installed, but I think Barrys new one would be a better choice.
So please, backup your files and test it - you should have some new nodes - if not I did something wrong.
Have a nice weekend
Karsten
From: James (JFH)
Hi Barry,
At first it was not apparent to me what was being illustrated in your animated gif.
But now I get it...very clever! Can you please upload the .nod file?
Thanks
- James
From: Barry-H
Hi James,
I should have put an explanation of how it works.
It takes an X & Y area and fills it with objects based on the bounding box and gap.
So if you alter the gap the rotation or the area it automatically updates.
You will need to install Karsten's infnode from an earlier post and to get the high
accuracy bounding box amend line 27 to this: this.bbox = inObj.getHighAccuracyBoundingBox();
I added a Centre on origin in the animation but it tends to slow the process down when adjusting.
You should use the top view for it to work.
Cheers
Barry
Attachments:
AutoArray.nod
From: James (JFH)
Karsten et al,
I'm attempting to build a toroidal helix form.
The coil rail works well but I am experiencing difficulty attaching the profile for sweeping.
I've output x,y.x info from inputs to generative array into point&frame for circle ,
and at first it appears to be on the right track, however as the animation shows
changing the coil size shifts the profile from the starting point of the rail.
As a consequence the sweep does not give the desired result.
Any thoughts?
-James
From: Karsten (KMRQUS)
Hello James,
Good to hear, that you still make experiments:-)
I had a look on your file. There are two problems in my opinion. First - the placement of the circle dosen't fit allways with the startpoint of the railcurve and the second problem is the orientatiion of the u-and v-line. I think the "sweepnode" is difficult to handle and we have to think about, how we can make it easier to use. The name sweep is also not very handy - any ideas? For the orientation it would be also better, if the iCurve-Node would give a frame for start and endpoint, but I didn't find a solution for that at the moment. And I think a native sweep node would also be very useful. I've attached a changed file, that isn't perfect (orientation of the profile dosen't fit) but works in a first step. I hope that you can find a solution based on it. To analyse the problem, I have cloned some objects and gave them to the output - so cut the wires or delete the clone-nodes.
Have a nice day
Karsten
From: James (JFH)
Thanks Karsten,
That is an improvement, but I have not had any luck with profile orientation.
RE: "The name sweep is also not very handy - any ideas?"
Perhaps Array_along_path.
Thanks again
-James
From: Karsten (KMRQUS)
Hello James,
yes, I agree with you! Very difficult. Nomally PDE, but not usefull to handle. I think about the idea to calculate start and endframe of curves. Maybe it is possible to calculate it with approx. secants and a Lagrange Interpolation to get start-/end-tangent. I don't know how much work it is at the Moment and which precision we will get, but that can simplify the Problem alot. Another solution could be a simple Helix and flow it to circle - only if you really need a solution next time.
Array_along_path -sounds good!
Have a nice day
Karsten
Show messages:
1-10
11-30
31-50
51-70
71-90
91-110
…
1851-1859