Outstanding! I think your idea and program are great! Please keep posting your updates.
I have started working on a machine controller software written in C# called CNC#, but will have plugin support so plugins can be in any .NET language so I can use Managed C++ for the actual machine control, so far the plugin interfaces planned are for Renderers to preview the toolpath, Machines so your not limited to parallel port step/dir commands, file importers, and generators to generate common gcodes liek gears and whatnot, I got basic renderings working with Direct 3D, the program is going to be free and the sources posted once it gets a little more matured, heres a screenshot of what its at so far, the screenshot is showing a zoomed in circuit board that was exported to gcode from EAGLE, its the first app ive done with 3d graphics, so I havnt actually figured out how to show it as a solid like the machine actually cut it, just the toolpaths for right now
Outstanding! I think your idea and program are great! Please keep posting your updates.
Greg,
Looks real nice! Definately keep working on it. And I applaud you for deciding to post the code as open source. Thanks!
Lance
Very cool. I'm a noobie with C# and just got back from the Microsoft PDC conference and attended several sessions on C#.
Writing a Gcode back plotter was to be my first excercise in graphics programming with C#. You beat me to it.
Can you give a basic idea of what you used to implement the 3d stuff? I was thinking of using DirectX or OpenGL (probably DirectX, since I'm looking at making use of the Windows Presentation Layer "Avalon" and that's all DirectX implemented. I've got all of the Windows Vitsa and VS2005 betas now and want to get in a little deeper into the new stuff they've slated for the Vista relase.)
Also there was a really cool demo at the PDC show where there was a company that was doing "Realtime" OS with windows by running WindowsCE underneath Windows XP and the software was marshalling commands from XP to CE which in turn commanded a really cool milling robotic arm in realtime.
Nathan
Thanks for the feedback, for 3D stuff im using Direct 3D, or more specificly Managed Direct 3D, its pretty easy to learn, I got the "Managed DirectX 9 Kickstart" book from my college book store and its really very good, although the samples are the same as in the DirectX SDK as the author is the one who programmed the DirectX SDK samples, I would definilty start with Managed D3D over normal D3D unless you have a very good understanding of matricies/linear algebra
GregMM, Great Job! I can't wait to see a demo, of what you've done so far. I've just started working with VB .NET, I think an open source controller, is just what this site needs! They already have tons of people that know the mechanical & electrical, side of cnc. Now all they need is people working on a open source controller. Are you planning on using this site, to host your code, or do you have your own site? Again, great work!
Hey switcher, I do have a site, however there isnt anything there right now, the first couple betas will probly just be posted here, but it will probly be a little bit before its ready for a beta, im actually taking a robotics course in college right now, and I am experimenting with a more universal approach to the program, rather then making it 3 axis/4 axis/etc, im going to try and make it support unlimited axes using a machine configuration file which will be able to hold wither the Denavit-Hartenburg Notation paramaters for generating the coordinate frame transformation matrix, or the transformation matrix itself, but using these matricies, I should be able to generate a jacobian matrix to do inverse kinimatics (figuring out how much to move along the axis in the axis's coordinate plane, in order to get tot the point in the base frame, or real world coordinates) should make things pretty interesting and should only need three types of joints, prismatic (linear actuator type joints, like normal X, Y, Z axes), revolute (rotational axes, like a fourth/fifth/etc axis), and a special case of the revolute joint that will rotate based on time like the rotating part of a lathe, although the last is actually only used in simulation), I also want the machine description to include 3d parts for the simulation, as it would look cool to have a good looking solid simulation with the machine and all, instead of just the toolpath
Great Job.
Looking forward to the demo and code.
Jerry
Very cool. I am a Newbie to C# what a great project. Every thought of looking at EMC source code to get some ideas? I am going to download it and look at it to see how complex it is. Maybe you can can use and improve on the code when converting over to C# language and structure.
It amazes me that people crank out this stuff. Still working on getting my mill CNC converted. See www.bestbots.us
Kurt McCarthy
I believe Mach1 was based on EMC code, but has evolved considerably while becoming Mach3.Originally Posted by kurt_m
Gerry
Mach3 2010 Screenset
http://home.comcast.net/~cncwoodworker/2010.html
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
just letting people know that Im still working on it, although progress has been a little slow with the school work, Ive figured out how to get it to generate the necessary step pulses for movements, although there is no timing implemented yet, its going to be using two stage compiling, first stage takes all the commands and will interpret them so there is only linear interpolation ex (the Gcode the draw a circle/arc and drill routines, etc will be converted to the coordinates to move in order to generate toolpath rendering easily, and the machine plugin interface can either request this level in order to send coordinates to the machine, for non-step/dir machines, or the next level which compiles to step dir pulses for machines that use step/dir), I chose to do it this way so that step/direction pulses are only generated in one place, to avoid bugs/unimplmenetations throughout the different plugins, and also make plugin development easier, so the plugin will only have to handle step/dir pulses or linear interpolation coordinates, unfortunatly I dont have a machine yet, hopefully ill get some stepper drivers soon, and I can start implementing/verifiny the step pulse generation and timing, heres a screenshot of where its at right now
Your efforts are looking good.
Jerry