A blog devoted to professional aspects of design
and engineering applied to the art of fine woodworking.


June 27, 2015

Java is More than Just Coffee

The image here is of Duke, the Java mascot. Duke is open source. I can use him for free as long as I use him respectfully. Java in this context is an object oriented computer programming language that I once used for design purposes, and previously wrote about in this blog.

I need to write some computer code that will help me program the CNC router in my workshop by producing g-code output from rather simple parametric user input. A sample of g-code can be found in a former post here. An industrial grade CNC machine will usually have a sophisticated user interface that allows the programming and modification of simple tool paths directly at the machine itself. Machine automation like that costs a lot of money, and my part-time workshop operating model cannot justify the inclusion of expensive and highly automated machine tools.

I can however, automate repetitive tasks by writing small applications to generate CNC router tool path g-code. I am currently working on an organ pipe design that will shortly benefit from this capability. But right now, I would like a way to cut accurate circles in the front plate of a speaker enclosure that match the flange of an audio loud speaker where diameters can vary by a few thousandths of an inch. The final result looks far more professional if the speaker fits just right in its opening without being too snug, and being able to productively edge up to that exact value will benefit the result. Writing a program that produces CNC router g-code to do just that would increase the efficiency and accuracy of this task.

My past Java code was far more procedural than object oriented in its approach mainly due to my former background in programming. I decided to take on a more educated approach to Java this summer, and finally learn object oriented programming methods. I recently purchased two books that appear to really discuss the topic well.

  1. Big Java, by Cay Horstmann.
  2. Objects First with Java, by David Barnes and Michael Kolling.

I bought both slightly used so as not to incur the typically higher cost of what are essentially computer science textbooks. No matter though, as both are excellent with regard to teaching an understanding of the Java language and moreover, the general concepts of object oriented programming.

So I have some work cut out for me this summer. Learning, programming, and building. I also plan to take more time for riding the bicycles I built a few years ago, and in general find time for other non-shop related activity.

A good summer at that.

No comments: