My Affair With AutoCAD
I first met AutoCAD in the CAD/CAM lab of Goa Engineering College way back in 1993. She was in her 10th Release and looked gorgeous on the 486 computer on which she lay. She was a breath of fresh air compared to the drawing board of the drafting class. Since she was the only one of her kind in the lab, she was kept quite busy with the guys falling all over her. I remember asking for the lab keys at night since I could not get enough of her in the day. I really enjoyed the night sessions. There was nobody to disturb us, apart from a lone bandicoot which had made the lab it’s permanent residence.
She looked simple on the outside, but was capable of doing a lot of things… really nice things. I realized how complex she was when working on my final year project. The project was an application of optimization techniques to a few mechanical design problems. I wrote all the programs in C but wasn’t too happy with the output. Although accurate, the output was basically a bunch on numbers showing the details of the optimum design. I decided to draw the designs on the screen and then animate them to show how the optimum design was arrived at. And that’s how I entered the world of graphics programming. I tried to ape a few things that AutoCAD did, but failed miserably. It was then that I realized that graphics programming was not as simple as I thought it was. All thoughout my project I kept wondering about AutoCAD and what she must be like underneath.
I got a chance to work closer with her at my first (and only) job at ACGL. By that time she was in her 12th Release and more mature. And so was I. At ACGL we built bus bodies. I joined a team of programmers (actually, a couple of them) who were entrusted with the job of customizing AutoCAD so that she fitted into the company’s workflow. I helped in developing an in-house system wherein the assembly drawings of a bus body were automatically generated. The designers didn’t have to draw anything. They first ran a FoxPro program that took litany of input parameters regarding the bus body design, such wheelbase, overhang, number/type of seats, etc. and stored these parameters in FoxPro DBF files. Therafter they would fire up AutoCAD and make her to load a master AutoLISP program which would call other AutoLISP programs depending on which assembly drawing the designer wanted to generate. These individual programs would then automatically create the assembly drawings by reading the parameters in the DBF files. By assembly I mean a giant structure of steel members and sheet metal welded together to form the side, roof, floor, etc. of a bus body. It was truly amazing that she could create such complex drawings without the designer having to move the mouse an inch. She was actually doing parametric design.
And it didn’t end there. The AutoLISP programs added extended entity data to the objects in the drawing. Extended entity data is basically extra information, not related to geometry, such as material, finish, etc. We wrote AutoLISP programs to read this data and automatically create the BOM (Bill of Materials). The BOM was then imported into another system in Oracle which would create the required paperwork (work orders, indents, purchase orders, etc.) to get the actual parts fabricated or procured for assembly in the shop floor.
The drawings, data and all related information was then recorded back into a central database so that they could be reused for another bus body depending on which parameters matched. I believe people are now calling this process “Product Lifecycle Management” or something like that and think it is something great. My AutoCAD did this years ago. It was like an opera and she was playing the best part.
By the time I left ACGL to start my business in 1999 my love for AutoCAD had only multiplied. I never liked coding in AutoLISP. Debugging was a nightmare. I am more of a C++ guy. After leaving ACGL, I was free to try my hand at the ObjectARX SDK, the C++ tookit used to build plug-ins for AutoCAD. By that time she was called AutoCAD 2000 and what a piece of work she was. I soon realized that ObjectARX could make her to move in unimaginable ways. As you can imagine, I had a ball of a time.
They say wine and women get better with age. And so did she. She is going to be 25 this year. Over these past years I have been closely watching her every move. And she gets more of them every year. At SYCODE we have made her do things for customers that have left them spellbound. And customers keep coming back for more.
People calling her a “dumb 2D system” don’t know her the way I do. If we could make her do the things she did in ACGL on a DOS platform way back in 1999, you can only imagine what she is capable of doing now on Windows.
My affair with AutoCAD is far from over. In fact, we have just got started.