Discussion


Here are some comments on the project:

  Generating a main parser to read VRML files is quite easy, for it is a very high-level language (with 1 command you can generate a primitive), one very time consuming task is to treat all exceptions, it was done to little extent, but wasn't the focus of the project, so it was set aside.

  One of the key points on the ACIS generation is understanding the ACIS output file (.SAT) format, of course, and that's the key point when developing a conversion utility, one must understand 100% both formats in order to succeed. That was one of the main activities in the developing of the project.

Generating the basic primitives (cone, sphere, cylinder) as an exception case, was somewhat easy, perhaps boring, but was the best way of doing this. These primitives consist of very few lines, about 10 to 15 for a sphere, and about 20 to 30 for a cone or cylinder, so it's not worth the effort of writing a more complicated general routine for generating these.

  The real challenge came when generating a polygon. The ACIS format is not sequential, this means that it makes reference to entities all over the file in order to define others, so one must generate all the ACIS file internally (in memory) before actually writing it.

The program succeeds in writing basic primitives and polygons, as specified. No further attempts were made to understand boolean operations, or solids with holes, or solids with B-spline shapes. That can be a very good subject for further projects.



Back to home