You can implement entity intersection using generic way - though entity vectorization and intersecting accumulated triangles. Look for ExEntityIntersection project - this is entities intersection module for .dwg database. Since this is example - it is implement only part of functionality for simple entities. But actually intersections can be solved for any kind of graphics using vectorization - this solution was used in ExDgnElementIntersect project for .dgn database. You can simply adopt exist solution for .dgn database into ExEntityIntersection for .dwg database. Alternatively you can invoke vectorizer onto your side and process entities intersection without usage of OdDbEntity::inersectWith() methods.