Show messages:
1-10
11-30
31-42
From: bemfarmer
Grbl is free G-code interpreter software to use with an Arduino,
for CNC milling control.
A low cost "shield" is also available, which is a stepper driver...
http://makezine.com/2010/06/14/grbl-an-arduino-based-g-code-interp/
http://dank.bengler.no/-/page/show/5470_grbl?ref=checkpoint
http://makezine.com/arduino/grbl/
(I've never used it. I use Mach3)
- Brian
From: Martin (MARTIN3D)
Thanks Brian,
I came across Grbl previously but still decided to "reinvent the wheel" to have a lean and easy to understand solution.
-Martin
From: Max Smirnov (SMIRNOV)
I've found solution of this problem several months ago.
This method is stupid, but it's works. :)
en code:
function GetCurveControlPoints(curve)
{
var gd = moi.geometryDatabase;
var obj = gd.getObjects();
obj.setProperty( 'showPoints', false);
curve.showPoints = true;
gd.selectAll();
obj.setProperty( 'selected', false);
var objectpicker = moi.ui.createObjectPicker();
objectpicker.allowEditPoints();
objectpicker.done();
gd.copyToClipboardCommand( objectpicker.objects );
gd.pasteFromClipboard();
var points = gd.getSelectedObjects();
gd.removeObjects(points);
curve.showPoints = false;
return points;
}
/* example */
var curves = moi.geometryDatabase.getSelectedObjects().getCurves();
if (curves.length === 1)
{
pts = GetCurveControlPoints(curves.item(0));
/* let's build polyline through control points */
var factory = moi.command.createFactory( 'curve' );
for ( var p = 0; p < pts.length; ++p)
{
factory.createInput('point');
factory.setInput(factory.numInputs - 1, pts.item(p).pt); // point
factory.createInput('bool');
factory.setInput(factory.numInputs - 1, true); // corner
}
if (curves.item(0).isClosed)
{
factory.createInput('point');
factory.setInput(factory.numInputs - 1, pts.item(0).pt);
factory.createInput('bool');
factory.setInput(factory.numInputs - 1, true);
}
factory.commit();
}
From: Martin (MARTIN3D)
Hi Max,
although it doesn't do what I need (I don't care about control points and need in between points ON the curve. The next Beta will allow this.) your script is very interesting. Thanks.
From: BurrMan
Hey Martin,
After you get your points by array on curve or whatever method, you can get the xyz coords for your router in a file by using "savePointFile".
You can then use a spreadsheet program like excel to add any particular command values to the xyz coords listed.
From: Martin (MARTIN3D)
Thanks BurrMan.
Message 6257.17 was deleted
From: Max Smirnov (SMIRNOV)
Martin, this is exactly what you want :))
code:
function GetCurveControlPoints(curve)
{
var gd = moi.geometryDatabase;
var obj = gd.getObjects();
obj.setProperty( 'showPoints', false);
curve.showPoints = true;
gd.selectAll();
obj.setProperty( 'selected', false);
var objectpicker = moi.ui.createObjectPicker();
objectpicker.allowEditPoints();
objectpicker.done();
gd.copyToClipboardCommand( objectpicker.objects );
gd.pasteFromClipboard();
var points = gd.getSelectedObjects();
gd.removeObjects(points);
curve.showPoints = false;
return points;
}
var curves = moi.geometryDatabase.getObjects().getCurves();
for ( var f = 0; f < curves.length; ++f)
{
pts = GetCurveControlPoints(curves.item(f));
for ( var p = 0; p < pts.length; ++p)
{
var factory = moi.command.createFactory( 'text' );
factory.setInput(0, moi.VectorMath.createFrame ( pts.item(p).pt) );
factory.setInput(1, ' xyz('+ Math.round(pts.item(p).pt.x*10)/10 + ', ' + Math.round(pts.item(p).pt.y*10)/10 + ', ' + Math.round(pts.item(p).pt.z*10)/10+ ')');
factory.setInput(2, 'Arial');
factory.setInput(5, 'curves' );
factory.setInput(6, 0.5);
factory.setInput(7, 1);
factory.commit();
}
}
From: BurrMan
Max,
He wants the points "on the curve", not the weighted control points. Thats a great script.
Image Attachments:
on_the_curve.jpg
From: Max Smirnov (SMIRNOV)
Ops, sorry.. Now I see.
Anyway, no problem :) I know how to get it. ;)
From: BurrMan
""""""" I know how to get it.""""""""
I would be happy to get that. It would be a very cool script.
Maybe a way to set the tolerance of the "samples" would be very cool too, so it's adjustable. May need a gui for that.
Message 6257.22 was deleted
From: Frenchy Pilou (PILOU)
Excellent!
From: BurrMan
Those are the points Max.
Do you think you could make a checkbox to add/leave the point data labels(Like in the previous script)? That would make it ultimate for me....
Thanks again for sharing your scripts.
From: Lordfox
Waht is the correct shortcut for this script?!;)
thanks
From: BurrMan
You can put that script in a text file with an extension of .js and give it any name you want, like "anyname.js", then place that in the commands folder, then in the shortcut editor, you add your shortcut with a command of anyname. (leave the js part out of the command)
From: BurrMan
I sure would love to have the labels option version of the last one posted..............
From: Lordfox
ok, commands folder, I did made in in the ui folder, ok, sorry ... but I was a long abstinent ;) and I use first time scripts in moi
From: Max Smirnov (SMIRNOV)
new version of the script.
From: bemfarmer
The zip file appears to be empty. ?
-Brian
Show messages:
1-10
11-30
31-42