Home

My Acis background

by on 09-30-2007 02:47 PM

I was delighted to be asked to contribute a Blog to the “Faces and facetts” community site and hope that I can provide a regular stream of thought provoking (and sometimes entertaining) accounts of 3D research in the academic world. 

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.

 

 

 

 

 

Comments
by on 11-14-2007 12:42 AM
Hi Jonathan,

nice to hear from such an experienced B-repper.
I thought, I am quite experienced, bus as I'm doing B-rep since about 85 I just feel like a rookie compared to you.
We also used Romulus, Parasolid and Acis since 1.2 IIRC at the Univerity of Erlangen.
My PhD was about STEP and integration electromechanical applications on top of a STEP database, the usual things done at that time...

Thomas
by pep79 on 09-09-2008 02:02 PM
Jonathan,

I know you are the author/co-author of "3D modeling with ACIS" book.
Could you tell me were I can obtain the example source code?
I have ordered a second hand copy of the book from the USA (U$250), but the website that I think the source code was on is non existent now. I think it was ftp://ftp.wiley.com/pub/corney/

My email address is pep79@iinet.net.au

If you have any other references that are would be useful, could you let me know?

Regards,
Phil.