Dealing with surface-oriented models - e.g. B-Rep models - is very popular and appropriate for many applications. They can be read by most CAD programs and they provide all freedom of modelling. Concerning a lot of other tasks - consistency checks, collision detection, structural analysis, flow simulation, e.g. - these models become difficult to handle, and a volume-oriented model has to be derived from the existing surface-oriented one. Hierarchical volume-oriented models, represented by octrees for example, provide an easy access to solve the latter tasks with respect to their spatial decomposition of the underlying geometry. This paper deals with fast and efficient algorithms to generate and process octrees - even on-the-fly - from surface-oriented models for applications in civil engineering. Encoding these octrees as binary streams makes them suitable to get multiplexed with other octree-coded objects or for the usage in pipe-like constructs. Conventional algorithms for octree generation or processing don't exploit the full potential of these structures. In spite of the principal advantages of octrees concerning complexity, objects of a higher resolution typically still entail too high run-time and memory requirements. Usually, an expensive floating-point-based decision whether or not to refine the structure has to be taken in each voxel (cell) successively. In our approach, instead, the refinement decision is done by a simple parameter comparison of plane equations, avoiding all these costs. By treating each face of the surface-oriented model as a plane that divides the whole space into two half spaces - inside and outside -, the volume-oriented model can be built from intersecting all inside-attributed half spaces. The steps for generating an octree presentation for each corresponding plane, intersecting these octrees, and encoding the result as a binary stream can be done at once - thus, the octree generation is free of any redundant calculations, and the overall memory requirements are reduced to a minimum due to the usage of stacks. The highest gain can be achieved in run-time, e.g. an octree generation for an average geometry with more than 1.5 billion voxels can be done in best time on a standard PC. Several of these binary streams can be multiplexed to perform further Boolean or more sophisticated operations (e.g. collision detection), while one always has the choice to perform this operations on-the-fly or to perform consecutive operations - like with Unix pipes - on binary streams written to the hard disk. One target application of this method deals with consistency checks for CAD models in the scope of simplifying and unifying planning processes in civil engineering. Before a connection model for structural analysis is created out of an (Eurostep) IFC model, any modelling errors (geometric inconsistencies) - wrong intersections or gaps between parts of the model - can be detected fast and easily. Hence, this proceeding enables us to obtain a reliable volume-oriented attributed model that can serve for numerical simulations as well as to determine relations between parts of the model to ensure global consistency, which brings us one step closer to the long-term objective of completely embedded simulation processes.
«
Dealing with surface-oriented models - e.g. B-Rep models - is very popular and appropriate for many applications. They can be read by most CAD programs and they provide all freedom of modelling. Concerning a lot of other tasks - consistency checks, collision detection, structural analysis, flow simulation, e.g. - these models become difficult to handle, and a volume-oriented model has to be derived from the existing surface-oriented one. Hierarchical volume-oriented models, represented by octree...
»