Home

Welcome!

by John_S Spatial Employee on 09-06-2007 02:44 PM

Welcome to the ACIS Architecture blog.  I'm John Sloan, the ACIS Architect, and I'll be your host.  I'm really looking forward to being able to have 2-way conversations with the ACIS customer base, so here we go....
 
I've got several goals for this blog:
  1. Give customers a better feel for what goes on in ACIS development.
  2. Talk about subtleties in ACIS and Solid Modeling that customers should be aware of when writing their applications.
  3. Discuss (potential) customer workflows.
  4. Get feedback from customers on potential changes to the ACIS Architecture and Interface - if it's going to cause you pain I want to hear about it before we do it!

I doubt I'll hit all these points in every post, but I expect most posts will relate to at least one of them.  If there are other topics you want covered, please let me know!

And now, a little background on me.  I came to Spatial almost 9 years ago to work on Deformable Modeling (DM).  Before that, I was a Particle Physicist - I did my thesis on String Theory and then spent 10 years doing large-scale Monte Carlo simulations of QCD (quarks and gluons); these were used to figure out fundamental physical constants like the strength of the QCD charge or the mass of the bottom quark.  Needless to say, things are a little bit different in the Solid Modeling world :smileyhappy: but I was surprised at just how much transferred over - it turns out that writing big simulation packages and writing big modeling kernels have a lot more in common than one might think.

Since coming to Spatial, I've moved around a bit.  I've been responsible for DM since I arrived, but I've also managed Healing, Stitching, Covering and, most recently, the Kernel group - this is the group that's responsible for the core low-level functionality within ACIS, like the spline library (all those bs3_* routines), the fitting routines, and so on.  My current role is as the ACIS Architect, which means I'm responsible for promoting consistency both in the ACIS interface and in the exact mathematical interpretation of all that data in an ACIS model.  Oh yes, and for doing a blog :smileywink:

I think that's enough introduction, so I guess I'll sign off for now.

Comments
by aclaude on 09-13-2007 06:19 AM
John,

Thank you for your presentation.

I would like to know if ACIS is offering a comprenhensive API to get the complete size of an ACIS body in memory (i.e. entire topology and geometry + attributes).

It is my understanding that an ACIS body is a dynamic graph of C++ pointers to ACIS entities (topology, geometry or attribute types). Because of the dynamic nature of an ACIS body (for example, an non-standard ACIS attribute defined by a customer can be added on the fly to some faces of a BODY), I would like to know what the ACIS architecure does to avoid memory fragmentation.

In other words, if the memory blocks used by all entities of the same ACIS body are not contiguous, is there another ACIS API to make them contiguous?

Regards,

Alain Claude
Intergraph
by John_S Spatial Employee on 09-18-2007 12:43 PM
Hi Alain,

Sorry not to get back to you sooner - I've been out on vacation.

We don't have a specific API to force memory blocks to be contiguous. Our freelist mechanism, however, should reduce fragmentation since it performs block allocations.

I'll leave further comments to Jeff, our memory management expert.

Thanks,
John
by Jeff Spatial Employee on 09-18-2007 05:37 PM
Hi Alain


Our freelist system should help reduce fragmentation because it allocates memory in blocks, as John mentioned. It also does a good job at reusing blocks and returning blocks to the system when empty. We added this functionality to ACIS in part to avoid the performance penalties that a fragmented heap can cause. We also added the ability to reduce the memory use of models by paging geometric data to disc. This is useful when fragmentation causes allocations to fail. See the “free list mechanism” and “memory minimization” sections in the ACIS online help for more information.

Best regards,
Jeff
by HTyeb on 04-07-2008 04:57 AM
Hi John,

I'm Hasnain Tyeb, a student from Imperial College, London and I'm currently working on a project that discusses the effectivity in performance between the ACIS, Parasolid and IGES formats in CAD geometry exchange. I was wondering, with your expertise in ACIS, if you could shed some light on how geometry transfer with ACIS works exactly and what the main differences between Parasolid and ACIS are. If possible, would you have any recommendations of articles/books I could read to gain a better overview on these topics? Your assistance will be very much appreciated. My knowledge in the subject is still at its infancy and I would be grateful for any form of help. Thank you very much and I hope to hear from you soon.

With Regards,

Hasnain