Auggie Early posts

Discussions and file drops for Auggie
Post Reply
User avatar
ArtF
Global Moderator
Global Moderator
Posts: 4591
Joined: Sun Sep 05, 2010 6:14 am
Contact:

Auggie Early posts

Post by ArtF »

Hi All:

  Thought Id post a snapshot of my summer project "Auggie".  I expect Auggie to be released in Gearotic as a GCode Wizard and Wizard authoring program for general CNC use. It uses C-like scripting and is a very powerful and easy way to write very complex wizards. It willtake a series of video';s I suspect , but Im hoping peopel like it. It will be aimed at making a programming environment so easy to use, that
anyone can make or modify wizards.

Art
Attachments
2015-08-06_9-19-39.jpg
JustinO
Old Timer
Posts: 137
Joined: Mon Jul 30, 2012 2:13 pm

Auggie Early posts

Post by JustinO »

Hi Art,

I hand code G code, no CAD, no CAM. I'm working on cutting the most general gears I can. I'm well in to the realm of hyperboloidal gears.

I use lots of parameters, vectors, matracies, and numerical methods. I'm trying to work in transfer functions.

It's a pain though. I need a really good editor with wizarding.

Color syntax highlighting with scaled printing would be awesome!

I know you are a "Mach Guy" (under statement of the year!), but will this editor be friendly to other controllers? LinuxCNC maybe? Gotta have those O codes...

Thanks,
--Justin
Ya-Nvr-No
Old Timer
Posts: 188
Joined: Wed Sep 08, 2010 11:15 am

Auggie Early posts

Post by Ya-Nvr-No »

User avatar
ArtF
Global Moderator
Global Moderator
Posts: 4591
Joined: Sun Sep 05, 2010 6:14 am
Contact:

Auggie Early posts

Post by ArtF »

  :)

Nice video. As you can see YaNvrNo is already havign fun playing. Its early, but in answer to your question, Auggie will have no attachment to any controller,
its output will be generic or specific as the user configures. A wizard author will not generate GCode statements, he will script a call for motion, which will then be reinterpreted
according to the config. For example, if your controller has G68 , it will spit out G68 , if not, it will use a matrix to change outcoming Gcode from the Gcode stream
to the properly rotated coordinates.
    The config will control the axis letters, the prelog and prolog , an any other specifics of the code, the wizard authoring system will be designed for ease of use,
scripting by those who never thought they might program. Powerfull enough though so you can play heavily in the math. Thats the plan.  At a minimum the program
will simply be a collection of usefull wizards to generate Gcode for specific modules, and for those donated by its users. It is being designed to be extendable,
with "import new wizard" capability and a forum slot for donated wizards. Great wizards will be compiled into the release with the users name in lights.
Auggie is planned to be free to encourage a community to support it. Scripting can be fun, but more importantly can allow you to create something youd never
talk your friendly programmer into implementing due to a small comunity interest. Im aware that sometimes you just have to build it and they will come,
so Auggie phase:2 ( the Wizard) , is an experimental release as it climbs that mountain to be a motion controller.  Its a way for a motion controller to rise
from a usefull prephase in development.  It wont be soon, but eventually I will release a beta, then a full release of "Auggie Phase:2" , I hope everyone
will give it a shot, and a series of videos on programming and usage will be produced to help.

  The plan for the first wizard to show its power will be a dial maker for 4th axis dial making in a somewhat extreme way. Thats the way I hope to see it happen,
so unless I hit a wall somewhere, we'll see how it goes. This is a side project from gearotic, and is developed in offtime or side by side with Gearotic in my attempt at the
end of the road to have a rather unique full package of design capability in ways not normally seen. At its worst, ti will simply be an icon on your desktop after a
gearotic install.

  Thats the plan... :)

Art
Ya-Nvr-No
Old Timer
Posts: 188
Joined: Wed Sep 08, 2010 11:15 am

Auggie Early posts

Post by Ya-Nvr-No »

https://youtu.be/OGAYq6eaA-M

Thanks Art, its looking better every day. ;D
Ya-Nvr-No
Old Timer
Posts: 188
Joined: Wed Sep 08, 2010 11:15 am

Auggie Early posts

Post by Ya-Nvr-No »

http://youtu.be/KdpeVHEZfk0

Shows how easy it is to open the scripter and create or edit controls.
DanL
Old Timer
Posts: 362
Joined: Wed Sep 10, 2014 1:35 pm

Auggie Early posts

Post by DanL »

Ya-Nvr-No you have to much time on your hand`s
Ya-Nvr-No
Old Timer
Posts: 188
Joined: Wed Sep 08, 2010 11:15 am

Auggie Early posts

Post by Ya-Nvr-No »

;D No, this takes no time to do at all, I do it while drinking coffee in the morning sitting watching the news. Then I'm out in the shop making fun projects. But it does Help to be retired ;D



Attachments
Cases2.JPG
7boxesCut.JPG
topscut.JPG
User avatar
ArtF
Global Moderator
Global Moderator
Posts: 4591
Joined: Sun Sep 05, 2010 6:14 am
Contact:

Auggie Early posts

Post by ArtF »

Nice boxes. :)

Art
Ya-Nvr-No
Old Timer
Posts: 188
Joined: Wed Sep 08, 2010 11:15 am

Auggie Early posts

Post by Ya-Nvr-No »

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!!!!!!!!!



Attachments
test1Screen2.JPG
Last edited by Ya-Nvr-No on Thu Aug 13, 2015 8:02 am, edited 1 time in total.
Ya-Nvr-No
Old Timer
Posts: 188
Joined: Wed Sep 08, 2010 11:15 am

Auggie Early posts

Post by Ya-Nvr-No »

Created a Calculate Speeds & Feeds Panel

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;
};

Attachments
sfpm2.JPG
Last edited by Ya-Nvr-No on Fri Aug 14, 2015 12:19 am, edited 1 time in total.
DanL
Old Timer
Posts: 362
Joined: Wed Sep 10, 2014 1:35 pm

Auggie Early posts

Post by DanL »

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
User avatar
ArtF
Global Moderator
Global Moderator
Posts: 4591
Joined: Sun Sep 05, 2010 6:14 am
Contact:

Auggie Early posts

Post by ArtF »

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
DanL
Old Timer
Posts: 362
Joined: Wed Sep 10, 2014 1:35 pm

Auggie Early posts

Post by DanL »

thanks art
Ya-Nvr-No
Old Timer
Posts: 188
Joined: Wed Sep 08, 2010 11:15 am

Re: Auggie Early posts

Post by Ya-Nvr-No »

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)
{
&nbsp; &nbsp; if (a[i]== true ) 
&nbsp; &nbsp; {
&nbsp; &nbsp; Gcode = Interface("BoltCircle_BUT"+(i+1)).text;
&nbsp; &nbsp; }
}

&nbsp; &nbsp; local x_center = A.CtrlGet("BoltCircle_DRO0");
&nbsp; &nbsp; local y_center = A.CtrlGet("BoltCircle_DRO1");
&nbsp; &nbsp; local StartAngle = A.CtrlGet("BoltCircle_DRO2");
&nbsp; &nbsp; local dia = A.CtrlGet("BoltCircle_DRO3");
&nbsp; &nbsp; local numberofholes = A.CtrlGet("BoltCircle_DRO4");
&nbsp; &nbsp; local PI = 3.14159265;

&nbsp; &nbsp; local stAngle = (PI / 180) * StartAngle;
&nbsp; &nbsp; local Xangle = cos(stAngle);
&nbsp; &nbsp; local Yangle = sin(stAngle);
&nbsp; &nbsp; local x = x_center + (dia / 2) * Xangle;
&nbsp; &nbsp; local y = y_center + (dia / 2) * Yangle;
&nbsp; &nbsp; local StepAng = (2 * PI) / numberofholes;
 for( i = 0; i < numberofholes; i=i+1)
{
&nbsp; x = x_center + (dia / 2) * cos(stAngle + (StepAng * i));
		y = y_center + (dia / 2) * sin(stAngle + (StepAng * i));
&nbsp; Gcode =&nbsp; Gcode + " G1 "+ "X"+x + " Y"+y + "\r\n";
}
Gcode =&nbsp; Gcode + " G80";
Interface("BoltCircle_LABEL1").text = Gcode;

 return;
};
BoltCircle_BUT0();

Attachments
boltcircle.JPG
Post Reply

Who is online

Users browsing this forum: No registered users and 50 guests