Need To Perform Boolean Operation

I am Using DirectX 9.0,VS.Net 2005 (C#).

My purpose is to place Door /Window on Wall.Area of a Door / Window should be Cut out form Wall (should perform Cut operation(from selected area or height/width of Door/window) on wall).

I am using my own Engine Base on Axiom 3d Engine. 3D Objects are treated as ScenNode. My Objects are based on 3DS File Format.I need a Function which will accept 2 objects (Scene Nodes which contains NumberofFaces as well as VertexData) ,should be able to identify Intersection Faces or Vertices's of both the objects and perform a boolean operation (Union or Intersect or subtraction).

Please provide me some solution in form of C# code or dll that can perform boolean operation.

Svetlozar Kostadinov's picture

I guess, you should write an OCAS dll, which imports vertex-data or 3DS-data into OCAS data structures, usualy TopoDS_Shape. Then it's easy to perform boolean operation over the TopoDS_Shape and then it must return the result somehow. But I don't for a ready-to-use solution, especialy for C#. Java maybe, but C#...

snehat's picture

Thanks for you reply....
And sorry for late reply but i was enjoing my holiday picnic.
:)

Cauchy Ding's picture

Your model is mesh based, but occ is a NURBS based kernel. Try to search some mesh based modeling engine.

m-aronsson's picture

That's not 100% true, it can use NURBS and other geometric types also and it will work just fine wit polygons and triangles but expect it to be slow because boolean operations in OCC is slow by itself and if you create complex shapes out of lots of triangles you can expect it to be even slower.

If you only need boolean operations and no other topology information I suggest you have a look at for example IRIT http://www.cs.technion.ac.il/~irit/
this has functions for doing boolean operations on polygon meshes and it is very fast.

Mikael