Egress used to behave as a "plug-in" component of Auto Desk Architectural Desktop (ADT):
- It has compatible problems with newer version of ADT, such as 2007, 2009 or maybe latter.
- User could only create floor plan based on the demo file: because custom layer name may not recognized by Egress.
- User could not save simulation information. Besides, simulation objects could not be modified after being defined, e.g. If you have defined 9 "Exit-signs", and the last one is wrong, you must define from the beginning.
- Egress need to read simulation information form text files stored by ADT. However, handing files with Auto LISP is not effective and reliable: it may need several minutes to store text files for a project, and sometime doesn't work, because of the path problem.
- Obstacles must be quadrangle.
At the beginning, I learned the AutoLISP language, and fixed the compatible problems of Egress with ADT 2005 and 2007. Unfortunately, latter I found it didn't work with ADT 2009, because some layer handling functions were changed. So the problems is: if I made it work with ADT 09, how about latter?
Then I desided to solve the problem in another way:
- Chose AutoCAD DXF to exchange information between Egress and ADT. DXF( Drawing Exchange Format) is a CAD data file format developed by Autodesk for enabling data interoperability between AutoCAD and other programs.
- Developed a program that could read information from DXF, and manage floor plans as well as simulation parameters, and then tranform data into the format Egress could understand. In this way I made Egress an independent simulation system.
- Made irregular obstaces recognizable, by developing a program to transfer irregular obstacles into many "thin walls".
- Supported by "ClickOnce" technology , I deployed Egress to Stanford server. In this way, everyone only need to "click once", then run Egress online.
As now, Egress is more:
- Reliable & robust
Dxf is stable, formate of 2000-2007 can be imported, and it's build-in supported by Autodesk.
User can create new floor plan without caring about the layer name as before. And objects as "Exit Sign" and "Area for Agents", etc. can be copy, move, rotate, scale… as other figures.
e.g. ADT need 5min to story supermarket floor plan, and now 1 second enough.
Simulation project could be saved for future testing or modification.