Integration challenge: CNC mill
April 26, 2011 Leave a comment
While I probably should be working on the organization project (see previous posts), I have recently been distracted by a new endeavor: a CNC mill. Before I get into the details, however, I should lay out the back-story.
If you haven’t noticed yet, this blog covers software development, electronics, and woodworking. I find the two to be quite similar in practice; large, complex things are made up of smaller, more basic things. In woodworking, standardized dimensions of wood are cut and shaped and added to other pieces of standardized dimensions of wood that have been cut and shaped until a new object of a certain purpose appears. In electronics, standardized components are mixed and matched and wired together in a fashion until it creates an object which completes a certain purpose. In software development, standardized methods within a computing language are strung together in a pattern that creates a program, which in turn fulfills a certain purpose. In all of these cases, small bits of pre-determined structure are fit together to create a bigger, more meaningful result.
Growing up, my dad taught me that everything has parts. Everything is made up of dissimilar pieces that otherwise have nothing to do with each other, but when organized in a certain way, it completes a sum. All a person needs to do to design that sum is to figure out the basic parts and put them together in the right way. So began my love of woodworking and my career in IT.
So here I am; a person who sees every object as a sum of parts. In my professional life, I see programs as individual commands. In my wood shop, I see tables as individual boards. At my electronics bench, I see electronic products as a pattern of components. These builds are not silos, however. Instead, those who create can continue to build up by integrating elements that are even more dissimilar than the parts that came before. While there is no limit to the complexity of a woodworking project or the complexity of a computer program, there is a point at which people stop building because the arena of one field only solves so many issues. Integration, however, expands our horizon.
This became my new challenge: integrate my areas of creation. Begin a project that includes woodworking, software development, and electronics design. When I considered the physical nature of woodworking and the virtual world of software, one shining option appeared: a CNC mill. A CNC mill, to put it frankly, is a tool that carves out material to the shape designed in a computer. A user can create a 3D model in a computer program and then connect the computer to this powertool, press a button, and walk away as the computer tells the mill how to carve out the model in a physical space. To do this, the software analyzes the conceptual computer model and forms a string of movements that the carving tool (usually a small router) will follow in all three dimensions. This string of movements is known as g-code. This is a standardized syntax that allows all CNC mills to understand movements described by all computer modeling applications that are designed for CNC milling.
And there it is: my new challenge. Using 3D modeling software to control electronics to carve out physical parts, I will have integrated all three of my building arenas. Details to come.