Auggie Early posts
Auggie Early posts
Nice boxes. :)
Art
Art
Auggie Early posts
https://youtu.be/EH_32DUqivg
shows how you can take a whole screen and make a panel out of it and they all can still interact with a little script editing.
(changed Main to Default2)
Main was my initial screens, main panel name and Default2 was the screen name, save it as a panel and it is now the Default2 panel
Video also shows the ability to use a button as a toggle to set states.
Getting ether the Work or Machine Coords and creating the vectors from the axis DRO's
Note: at this time i am just using the sliders to drive the dros for ease and to show response.
I can assure you this is a snap to grasp and fun to play with. I can envision screens with tabs of wizards. Create your wizard write the script to control it, then share the wizard and script as a panel set with others. Someone includes it in their screen and refines it and passes it back as a new updated panel.
This is the easiest possible control interface ever created to use. and I would bet $$$ this will keep getting better. You don't have to do CNC, you could create a screen or panel to calculate and balance your checkbook or keep track of inventory or you name it. It's just a graphical tool to display the data in the scripts or in do time a motion controller or an I/O board. And you can make it as pretty or sinister as you desire with your own graphic files.
I swear, Art did more on his vacation then anyone would have dreamed is possible. This man is a treasure.
Do admit, I did beat him up a lot this summer. ;D Ya-Nvr-No ;D
Keep up the good work. Sweet job!!!!!!!!!
shows how you can take a whole screen and make a panel out of it and they all can still interact with a little script editing.
(changed Main to Default2)
Main was my initial screens, main panel name and Default2 was the screen name, save it as a panel and it is now the Default2 panel
Video also shows the ability to use a button as a toggle to set states.
Getting ether the Work or Machine Coords and creating the vectors from the axis DRO's
Note: at this time i am just using the sliders to drive the dros for ease and to show response.
I can assure you this is a snap to grasp and fun to play with. I can envision screens with tabs of wizards. Create your wizard write the script to control it, then share the wizard and script as a panel set with others. Someone includes it in their screen and refines it and passes it back as a new updated panel.
This is the easiest possible control interface ever created to use. and I would bet $$$ this will keep getting better. You don't have to do CNC, you could create a screen or panel to calculate and balance your checkbook or keep track of inventory or you name it. It's just a graphical tool to display the data in the scripts or in do time a motion controller or an I/O board. And you can make it as pretty or sinister as you desire with your own graphic files.
I swear, Art did more on his vacation then anyone would have dreamed is possible. This man is a treasure.
Do admit, I did beat him up a lot this summer. ;D Ya-Nvr-No ;D
Keep up the good work. Sweet job!!!!!!!!!
Last edited by Ya-Nvr-No on Thu Aug 13, 2015 8:02 am, edited 1 time in total.
Auggie Early posts
Created a Calculate Speeds & Feeds Panel
Code for the Calc Button:
Code for the Calc Button:
Code: Select all
global SurfaceSpeedCalc_BUT0 = function( current )
{
local PI=3.141592654;
local RPM_Inch=1000;
local RPM_Metric=6400;
local SFM=A.CtrlGet("SurfaceSpeedCalc_DRO0");
local SMM=A.CtrlGet("SurfaceSpeedCalc_DRO4");
local DIA_Inch=A.CtrlGet("SurfaceSpeedCalc_DRO1");
local DIA_Metric=A.CtrlGet("SurfaceSpeedCalc_DRO5");
RPM_Inch = (SFM * 12)/(DIA_Inch * PI);
RPM_Metric = (SMM * 318.057)/DIA_Metric;
SFM = (DIA_Inch * PI * RPM_Inch)/12;
SMM = (DIA_Metric * 0.00314 * RPM_Metric);
local TeethInch=A.CtrlGet("SurfaceSpeedCalc_DRO2");
local FeedToothInch=A.CtrlGet("SurfaceSpeedCalc_DRO3");
local TeethMetric=A.CtrlGet("SurfaceSpeedCalc_DRO6");
local FeedToothMetric=A.CtrlGet("SurfaceSpeedCalc_DRO7");
local FeedRateInch = TeethInch * FeedToothInch * RPM_Inch;
local FeedRateMetric = TeethMetric * FeedToothMetric * RPM_Metric;
A.CtrlSet("SurfaceSpeedCalc_DRO10",FeedRateInch);
A.CtrlSet("SurfaceSpeedCalc_DRO13",FeedRateMetric);
A.CtrlSet("SurfaceSpeedCalc_DRO9",RPM_Inch);
A.CtrlSet("SurfaceSpeedCalc_DRO12",RPM_Metric);
A.CtrlSet("SurfaceSpeedCalc_DRO8",SFM);
A.CtrlSet("SurfaceSpeedCalc_DRO11",SMM);
return;
};
Last edited by Ya-Nvr-No on Fri Aug 14, 2015 12:19 am, edited 1 time in total.
Auggie Early posts
yer it does not look to hard to do easier than Lua I don't have access to the scripted so I cant learn yet
art will this be able to control a machine this program only using a pokeys board
art will this be able to control a machine this program only using a pokeys board
Auggie Early posts
Ken:
Auggie Phase 2 is for wizards and scripting,
Auggie Phase 3 is for motion using a pokeys,
and if popular enough,
Auggie Phase 4 is for attachment to any other device thats interested.
Thats the plan..
There is a video tonight on my youtube channel on basic scripting, Ill repost a demo in a few days
that can script.
Art
Auggie Phase 2 is for wizards and scripting,
Auggie Phase 3 is for motion using a pokeys,
and if popular enough,
Auggie Phase 4 is for attachment to any other device thats interested.
Thats the plan..
There is a video tonight on my youtube channel on basic scripting, Ill repost a demo in a few days
that can script.
Art
Re: Auggie Early posts
Roughing in a Bolt Circle Wizard
Code: Select all
global BoltCircle_BUT0 = function( current )
{
local a = {Interface("BoltCircle_BUT1").curr,
Interface("BoltCircle_BUT2").curr,
Interface("BoltCircle_BUT3").curr,
Interface("BoltCircle_BUT4").curr,
Interface("BoltCircle_BUT5").curr,
Interface("BoltCircle_BUT6").curr,
Interface("BoltCircle_BUT7").curr,
Interface("BoltCircle_BUT8").curr,
Interface("BoltCircle_BUT9").curr};
local Gcode ="g80";
for( i = 0; i < 10; i=i+1)
{
if (a[i]== true )
{
Gcode = Interface("BoltCircle_BUT"+(i+1)).text;
}
}
local x_center = A.CtrlGet("BoltCircle_DRO0");
local y_center = A.CtrlGet("BoltCircle_DRO1");
local StartAngle = A.CtrlGet("BoltCircle_DRO2");
local dia = A.CtrlGet("BoltCircle_DRO3");
local numberofholes = A.CtrlGet("BoltCircle_DRO4");
local PI = 3.14159265;
local stAngle = (PI / 180) * StartAngle;
local Xangle = cos(stAngle);
local Yangle = sin(stAngle);
local x = x_center + (dia / 2) * Xangle;
local y = y_center + (dia / 2) * Yangle;
local StepAng = (2 * PI) / numberofholes;
for( i = 0; i < numberofholes; i=i+1)
{
x = x_center + (dia / 2) * cos(stAngle + (StepAng * i));
y = y_center + (dia / 2) * sin(stAngle + (StepAng * i));
Gcode = Gcode + " G1 "+ "X"+x + " Y"+y + "\r\n";
}
Gcode = Gcode + " G80";
Interface("BoltCircle_LABEL1").text = Gcode;
return;
};
BoltCircle_BUT0();
Re: Auggie Early posts
this does look a lot easier you can read and see where the info comes from, get info from here plus math, do this with it, output G code like this. does not mean I will pick it up in weeks it very close to arduino plus the other code type I use c type stuff.
have you found any good online stuff for this code, monkey what ever art said it was called
have you found any good online stuff for this code, monkey what ever art said it was called
Re: Auggie Early posts
Ken:
There is a referance document that Ill add to the distribution, the lanbguage is very C like, so its great for arduino users, and Im pretty
sure Ill add an arduino hook so you can simply get things like Arduino.GetAnalog(1) so to fill a DRO woudl be
Interface("DRO1").curr = arduino.Analog(3);
Thats the type of syntax it will use. To make Gcode in this type of wizard it is planned for the scripter to never
use a Gcode, you would call GCode.PeckDrill( x, y, depth, pass); Augie will worry about what kind of machine, coordinate
rotation and translation and the post the appropriuate Gcodes for the users machine. The idea is the scripter should
not have to worry about what kind of Gcode, just that is be produced. I want scripters to worry about functionallity,
not syntax..
I realize the difficulty in learning a scripting language, Im going to be attempting some out of the box ideas to get you
to learn with as little effort as possible. We'll see how that works out. It wont be fast, I'm trying to do this right, those of you that
can assist as we go through trials would be highly appreciated.
Thx
Art
There is a referance document that Ill add to the distribution, the lanbguage is very C like, so its great for arduino users, and Im pretty
sure Ill add an arduino hook so you can simply get things like Arduino.GetAnalog(1) so to fill a DRO woudl be
Interface("DRO1").curr = arduino.Analog(3);
Thats the type of syntax it will use. To make Gcode in this type of wizard it is planned for the scripter to never
use a Gcode, you would call GCode.PeckDrill( x, y, depth, pass); Augie will worry about what kind of machine, coordinate
rotation and translation and the post the appropriuate Gcodes for the users machine. The idea is the scripter should
not have to worry about what kind of Gcode, just that is be produced. I want scripters to worry about functionallity,
not syntax..
I realize the difficulty in learning a scripting language, Im going to be attempting some out of the box ideas to get you
to learn with as little effort as possible. We'll see how that works out. It wont be fast, I'm trying to do this right, those of you that
can assist as we go through trials would be highly appreciated.
Thx
Art
Re: Auggie Early posts
sounds good art, look`s like it will cover the noobs as well if I can use Arduino type stuff with it like the 32u4 boards the teenys (keyboard and mouse emulation) what I use now it would make it quite easy to make a pendent and have other useful addons.
and to get it nice and simple will be one of the hardest thing you can ever do easy is never easy to do, all the disable products I re engineer take a long time to do, to have it to a point where you can go to a hardware shop to get something that will work for a quick fix`s is quite hard and getting the cost down to make said item very low cost is not fun.
and to get it nice and simple will be one of the hardest thing you can ever do easy is never easy to do, all the disable products I re engineer take a long time to do, to have it to a point where you can go to a hardware shop to get something that will work for a quick fix`s is quite hard and getting the cost down to make said item very low cost is not fun.
Last edited by DanL on Sat Aug 15, 2015 3:47 pm, edited 1 time in total.
Re: Auggie Early posts
http://youtu.be/ZRhQN331na8
Video shows a created button panel calling Notepad and Lua scripts, and some additional control capabilities.
Here is an idea of an example function that gets data and computes a circular drilling hole pattern
Video shows a created button panel calling Notepad and Lua scripts, and some additional control capabilities.
Here is an idea of an example function that gets data and computes a circular drilling hole pattern
Code: Select all
global DrillBoltHoleCircle = function(gcode,x,y,z,sAngle,dia,numHoles,feed)
{
//cast any value that needs to be in to a float, just in case they were passed as an integer
x = x.Float(); // the x.Float takes the x value passed in the function and casts it to a float with the same x name
y = y.Float();
z = z.Float();
sAngle = sAngle.Float();
dia = dia.Float();
local Gcode = gcode + feed;
local x_center = x;
local y_center = y;
local StartAngle = sAngle;
local dia = dia;
local numberofholes = numHoles;
local stAngle = (PI / 180) * StartAngle;
local Xangle = cos(stAngle);
local Yangle = sin(stAngle);
local x = x_center + (dia / 2) * Xangle;
local y = y_center + (dia / 2) * Yangle;
local StepAng = (2 * PI) / numberofholes;
for( i = 0; i < numberofholes; i=i+1)
{
x = x_center + (dia / 2) * cos(stAngle + (StepAng * i));
y = y_center + (dia / 2) * sin(stAngle + (StepAng * i));
Gcode = Gcode + " G1 "+ "X"+x + " Y"+y + "\r\n";
}
Gcode = Gcode + " G80";
Interface("BoltCircle_LABEL1").text = Gcode;
return;
};
//("gcode",x,y,z,sangle,dia,numHoles,"feed") ;
DrillBoltHoleCircle("G86",10,1,-1,0,7,5,"F20");
Re: Auggie Early posts
nice your leaving nothing for anyone to do well I can under stand that quite well buy the time art does put out augggie there is going to be plenty of examples
Re: Auggie Early posts
Does this mean that we can combine Auggie and the PokeysCNC, and get rid of all that other laser software?
Kirk
Kirk
Re: Auggie Early posts
Thats my hope. Most laser software is pretty bad, Im hoping to replace it with a pokeys and auggie. No DSP based panel required.
A pokeys has the capability to do everything required. But Ill post sucesses and failures as I go. Auggie already finds all Pokeys on the system,
but development stops at that point until scripting and interfaceing are properly tested and I feel we're ready for the next step of breakout baord integration.
Thx
Art
A pokeys has the capability to do everything required. But Ill post sucesses and failures as I go. Auggie already finds all Pokeys on the system,
but development stops at that point until scripting and interfaceing are properly tested and I feel we're ready for the next step of breakout baord integration.
Thx
Art
Re: Auggie Early posts
Very interesting project, Art! Wonder where do you get all the great ideas from ;)
Dan
Dan
Who is online
Users browsing this forum: No registered users and 1 guest