- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Email to a Friend
- Printer Friendly Page
- Report Inappropriate Content
My passion for 3D modeling began in 1983 when I used ACIS's progenitor, Romulus for a student project in 1983. Today's CAD users would find the performance of 1980's system hard to comprehend: I can literally recall making a cup of coffee while I waited for a hidden line view of a cube to be computed! But despite the painful slowness of these systems they found applications and my first job after University involved making Romulus models of robots for a company called Unimation. This led to a few years at EdinburghUniversity's Artificial Intelligence department working on a project to automate the design and manufacture of mechanical components!
It all seams rather quaint looking back, but there was a genuine belief that full automation of the engineering process was only just out of reach (to put this in context, I can recall that early in that project, we saw a new type of computer called a SUN 1 which had almost a 1 Mbyte of RAM). I guess it took almost a decade for researchers to realise just how big the gap is between representing something digitally (e.g. speech, music, picture, shapes) and actually reasoning about it.
I first heard of ACIS sometime in the late 1989. In those day ACIS was a 'means to an end', rather than the stand alone product it is today. The “end” in 1989 was to enable a 3D machining package called Strata. Sometime that year we took delivery of ACIS Version 0.9 and its remarkably slim documentation, a single loose leaf folder. I was doing a PhD on automatic feature recognition at the time and the arrival of kernel open modeller to support the implementation of the algorithm seemed like morphic resonance. I rigged up an X-windows interface (so I could display the features my method found) and in the process gained a working knowledge of the modeler and its API.
Fast forward to 2007 and I still use ACIS for various research projects, this weekend's challenge, for example, was to find a bug in a B-rep watermarking scheme being developed by one of my PhD students (I'll describe this unusual application of local operators and tweaking api's in a later blog). Over the years I have had the good fortune to meet many of the people who worked on ACIS and, through them, enjoyed being able to put the system's evolution in the context of the groups and individuals involved. It is said that a fundamental principle of forensic science is that “Every Contact Leaves a Trace”; I believe the same can be said of software and its writers, for example:
Traces of ACIS's early 'reason d'etra' (to enable a CNC machining package) can still be found today in the names of the arguments of the boolean apis (unite, subtract, intersect etc), where one body is referred to as the “tool” (i.e. cutting tool) and the other, the “blank”.
In the early years of ACIS' the majority of code was developed in Cambridge (England) by a group who originate in the University and again there are still echoes of the system's academic origins to be found in the names of APIs. Perhaps the best example is the function for making a cone, or cylinder, called api_make_frustum. Later generations of software writers produced equivalent functions (i.e. api_make_solid_cylinder) but the academic (pedantically correct) name persists as a testament to the system's origins. Incidentally this group had also been responsible for the creation of Romulus and names from that system’s data structure, such “bulletin board”, passed into ACIS's own DNA.
What I am trying to say is that ACIS has a long, rich, history that continues to the present day. I hope that through my blogs from the “Ivory Towers” of academia (and the insightful comments/thoughts of readers) we will get some ideas of what the next 20 years might hold.
You must be a registered user to add a comment here. If you've already registered, please log in. If you haven't registered yet, please register and log in.





