Paper for ACM/IEEE Symposium on Solid Modeling and Applications ‘99
ERROR CLASSIFICATION AND RECOVERY WITHIN CAD MODEL RECONSTRUCTION Massimo M. Ficco 1, Ferruccio Mandorli 2, Harald E. Otto 3 1 KAEMaRT Group, Department of Industrial Engineering, The University of Parma, Viale delle Scienze, Parma, ITALY tel. +39-521-905706 - fax. +39-521-905705 - e-mail:
[email protected] 2 KAEMaRT Group, Department of Mechanical Engineering, The University of Ancona, Via Brecce Bianche, Ancona, ITALY tel. +39-71-2204969 - fax. +39-71-2204801 - e-mail:
[email protected] 3 Department of Precision Machinery Engineering, The University of Tokyo, Bunkyo-ku, Hongo 7-3-1, Tokyo 113, JAPAN tel. +81-3-3812-2111 - fax. +81-3-3812-8849 - e-mail:
[email protected]
KEYWORDS
1
CAD data exchange, trimmed surfaces, geometric model reconstruction, recovery from CAD model errors
A drastic increase in international competition moving at fast pace, due to a market globalization world wide, forces many manufacturing industries to face new challenges. A situation that requires several temporary solutions before new technologies and strategies are developed to produce at a lower cost better products being environmentally sound, user friendly and multifunctional, while requiring less time and resources for design and manufacturing. In order to succeed, industries need not only a comprehensive view of global markets and profiles of potential consumer groups, but also a detailed view of a product's entire life cycle. Modern technology, especially digital information technology (IT) displays a high prospect and potential to enable as well as support capturing, modeling and exchange of process and product data. A prerequisite to achieve envisioned product development and manufacturing at a highly advanced level. Although, promising developments have been made in this direction to enable computer-aided design, computer-aided manufacturing, rapid prototyping, etc., to mention only a few application fields, up to now results obtained are still suffering from a lack of appropriate IT infrastructures and data structures to achieve required system / information integration. In most of the cases, integration of different applications remains still implemented by a simple exchange of data files only, containing mainly geometrical information. Even though with these limitations and taking into account international efforts to support specification and exchange of CAD data through acknowledged standards and data interfaces, many problems in practice still remain. Exchange of product related CAD data between different applications / systems as it is practiced today, suffers in general from model inconsistencies and structural errors introduced mainly by surface modelers that are forwarded, perhaps even amplified and erroneous geometrical models corrupted due to a loss of information introduced during mapping procedures between different model architectures and data implementations. A rather unfortunate situation, requiring after each data exchange additional measures to reconstruct and as far as possible to recover exchanged models. To provide an interim solution bridging the gap for practical applications, until problems get fixed within systems / processes where those errors originated from, we propose within a
ABSTRACT With ever increasing demands from international markets and responding industries for a quick transfer as well as processing of CAD and product data between different computer aided applications, within as well as between a product's life cycle stages, activities dedicated to the development and standardization of data representations and exchange formats are more critical than ever before. However, in practice, before complete standards and developed models and systems succeed and become reality, interim solutions are required to bridge certain gaps. One application field, requiring such interim solutions until robust methods are found, to correct error causing processes, is the exchange and consequent repair of geometric models. Due to subtle errors in geometric models and their representations, caused by design mistakes, programming errors or model evaluation failures, irrational behavior of CAD systems and other, post design related systems exchanging as well as accessing CAD data, are becoming a frequently observed situation, causing a severe break in the process of computer aided product development. To recover from such a rather undesirable situation, we propose an interim solution, aimed at bridging the gap between generation of corrupted CAD data and model exchanging post design applications. An approach, that is based on an error classification driven systematic recovery of corrupted CAD data being subject to model reconstruction. The approach taken includes a classification scheme for face adjacency errors, missing faces and curve adjacency errors for which dedicated individual methods and solutions were developed and related to. Practical work used to support as well as provide parameters for validation and assessment of proposed solutions was carried out using an implemented testbed, which is based on spatial model point distance tolerances driven face sewing. During experimental work exchange format used for model import/export were limited to IGES. Investigated models imported through these standardized data exchange formats were mainly taken from mechanical engineering.
1
INTRODUCTION
transmission media, should be without loss of information. However, taking a closer view on this subject, this assumption renders itself to be naive and erroneous from both a theoretical and a practical point of view. Within the scope of this paper we limit our view to geometrical models, which represent an essential part of any CAD model and product model and possible post-processing methods employing surface sewing to repair and fully restore them, if being corrupted during a standardized data exchange between different systems. Due to the increasing importance of solid models not only in computer-aided design and physically based modeling, but also in process planning, simulation, rapid prototyping and manufacturing (cf. [MAN '95, HAN 97, VAN '93, OTT '97]) our primary target within envisioned goal is the reclamation of solid models with a repaired geometry and an associated consistent topology. In other words, to provide translation, reconstruction and re-interpretation processes with sufficient functionality and information to obtain solid models whenever possible, regardless of the type a transferred geometrical model was specified in, i.e., being previously either a surface model or a solid model.
conservative model reconstruction approach a set of repair strategies that are based on a dedicated error classification scheme. Within this approach, different model repair strategies in respect to our error classification scheme can be applied, after automatic reconstruction and subsequent recovery of a geometrical model failed to completely restore a through data exchange corrupted model. The paper is structured as follows. First, in the next following section a brief overview is given on the current situation of CAD model reconstruction, which is followed by discussions on problems and objectives, giving an outline of the focus of the work described. In section 3 the theoretical foundation of model reconstruction from surfaces based on point distance tolerances bound face sewing is briefly introduced in a non-formal, rather informative and straight-forward way, to provide the reader with a background of working knowledge. A necessity to faster and better understand our error classification scheme and related model repair strategies developed accordingly that are stepwise introduced and discussed in section 4. To demonstrate applicability as well as performance of the approach taken and an implemented prototype testbed, respectively, a selection of some practical experiments is reported in section 5. In section 6 discussions of results and experience obtained during theoretical and practical work together with a critical view on the approach taken conclude the work described in this paper. 2
PROBLEMS RELATED TO CAD DATA EXCHANGE
2.1
Overview
2.2
Problems causing a loss of information or corruption of data can roughly be divided into two major groups as follows. First, model inconsistencies and structural errors already present in the data before a conversion into a neutral format takes place. Quite vulnerable to this source of errors are geometrical models generated by surface modelers. Problems of edges only connected to one face (free edges), improper orientation of edges in respect to each other (loop errors), transition cracks, sliver faces (system generated small faces used to patch between larger ones) and inaccurately approximated surface intersections (gaps in geometry) are the most common cases [WOL '97]. Problems that can occur either during interactive design / modeling or automated generation of geometrical models such as object and blue print scanning, mesh generation, graph conversions, etc. (see also discussions in [KLE '95, COU '86, HAR '82, KOB '86]). Second, loss of information and data corruption occurred during data conversion related processes. During the conversion all data need to be mapped from a system's internal representation to the one of the data exchange standard used. A loss of semantics information is almost certain, if the data exchange standard's reference model represents only a sub set of data structures and functionality of the one employed by a CAD system. A problem, all data exchange standards have to cope with sooner or later, since slow standardization procedures are not able to keep pace with fast moving economy and market driven industrial developments of commercial systems. A loss of numerical data also occurs during conversion, if less precise number representations and varying arithmetic implementations are employed. Moreover, errors and inaccuracies in numerical data can cause a loss of semantics or a corruption in more complex data models such as geometrical models. For example, inaccuracies in geometrical data can lead to a partial separation of associated topological elements if re-interpreted by a data receiving CAD system. Also errors in geometrical models of the first group discussed above can be amplified or might extend due to these numerical inaccuracies or a loss of topological/ geometrical semantics. Further discussions about problems and errors of the second group briefly reviewed above can be found
The basic goal of standardized data exchange was and still is to provide a data transfer based on an implementation and industry independent comprehensive reference data model. This data model, is usually developed according to the current generation of CAD and product modeling systems, to ensure that functionality and data structures of the reference data model are sufficient to capture all the information likely to be stored within and processed by these systems. An approach that requires for all data exchanging systems to be facilitated with each a preand a post-processor to convert model data represented in a system's internal format into the independent format and to convert received data transferred in such an independent format back into model data represented in the system's internal format (see Fig. 1).
Neutral Data Format
System i Internal Data Format Figure 1.
Data Exchange
Problems causing model defects
System j Internal Data Format
Standardized data exchange between different systems.
At a first glance a data conversion and exchange process that, if executed with sound format converters and self-checking data
2
from the system besides basic geometrical modeling functionality and support of graphics based human computer interaction.
in [KRA '97, ITIa '96, ITIb '96, WIL '87]. 2.3
Strategies for model reconstruction and repair
Reconstruction and repair of geometrical models afflicted with flaws and inconsistencies can basically be approached from three directions - partly also depending on the functionality of the geometrical modeler used during model reconstruction - as discussed in the following.
2.4
Proposed approach
To exploit as much as possible benefits of all approaches discussed above while trying to support manual, user driven local model repair through additional information and dedicated functionality we propose a fourth, further enhanced as well as refined approach, namely conservative model reconstruction.
Manual approach: During model repair, the user is exclusively responsible for the identification and selection of erroneous entities, which are supposed to be corrected by the system. An approach that can be realized with either a surface modeler or any hybrid modeler allowing two dimensional and three dimensional objects to be represented and processed within one modeling space. For example, modelers with integrated multi-dimensional topology (IMD), extended (Brep based) solid modelers (EBS) and modelers featuring non-manifold geometry (NMG) could be employed. However, two-manifold solid modelers (TMS) can not be used for this approach due to modeling and representation limitations, forbidding open solids and disconnected surfaces within such a system's internal topological / geometrical modeling space. In the case of the former, the result of this approach is a surface based model with all its surfaces connected to each other, as far as it is possible to manage for a human. In the case of the latter, the result can be either a surface model of similar character or a valid solid model. From a practical point of view, manual reconstruction is only recommended for small geometrical models or local repair, since larger models are usually too complex and contain too many surfaces to surrender a model reconstruction process to the sole control by human operators.
Conservative model reconstruction: Within this approach the model reconstruction is carried out in three steps: translation, automatic reconstruction and semiautomatic repair. During the translation phase, a translator module (that basically is a format converter used for a geometrical model import) reads geometrical data of solid or surface models, represented in a neutral format (such as IGES, VDA-FS or STEP) and maps them to their counterparts in the internal geometrical model representation employed by the geometrical modeler used. If the neutral format does not contain topological information (e.g. it represents a surface model), the model topology needs to be reconstructed by exploiting information about geometrical entities adjacency. This task is performed by an automatic sewing operator, that takes as input couples of candidate faces (surfaces close to each other in the Euclidean space) and tries to connect them along their boundary. The automatic reconstruction of solid model geometry in question is pursued as far as possible. Remaining entities, not sewed by the system during automatic model reconstruction, are maintained and classified on the basis of further information deduced from the current situation and possible reasons why automatic reconstruction could not proceed. The error classification performed during model reconstruction allows a faster identification of entities that need to be repaired and provides the information required to select an appropriate (either automatic or manual) repair strategy. Notice that, in order to provide a stepwise user driven model repair, all information, including incomplete topology and unconnected geometry need to be maintained. An approach, however, that requires either an IMD topology based modeler or an EBS/NMG modeler used as an underlying modeling kernel during model reconstruction. Details on computational steps of the sewing operator and on determination of adjacency information between faces are given in the next following section.
Destructive approach: Fully automated model reconstruction, due to reasons of consistency as well as completeness control over entities and data of a geometrical model, is usually processed within the context of solid models. A fact that puts certain limits on the application range of this approach. Since the end result is expected to be a valid solid model, partial repair is not feasible, i.e., if information gaps can not be filled in by the system the entire model under reconstruction is identified as not recoverable and finally rejected. A situation that often occurs when adjacency relationships between surfaces are defective or tolerance problems prevent a repair of surfaces in question. Weakly destructive approach: To enable partial model repair controlled by human operators while automatic repair proceeds as far as possible, the manual approach can be combined with the destructive approach to establish what we identify as weakly destructive approach. Usually automatic model reconstruction proceeds until all surfaces in question identified by the system are reconstructed and properly connected. Missing information and surface gaps need then to be filled in and re-modeled, respectively, by a human operator on a local base. Depending on the geometrical modeler used during model repair, the result of the reconstruction can be either a flawless surface model or an afterwards converted solid model. This approach, though, being an improvement over the two approaches previously mentioned above, has still the major disadvantage that users need to engage in manual re-modeling and local repair without much support
3
SEWING-BASED MODEL RECONSTRUCTION
3.1
Overview
If, as it is in most cases, model surfaces are represented as trimmed surfaces, the sewing operator has to connect them along their trimming curves. To connect two separated trimming curves, we have to introduce a set of conditions under which the two curves can be considered coincident. This can be achieved in respect to an allowed maximal distance between the curves. Face sewing can then be reduced to the identification of coincident edges belonging to (coincident) faces in question. If the operator succeeds, the topological structure of the two
3
adjacent faces is reconstructed by relating the trimming curves to a common edge that is added to the model as a new topological entity. If the reconstruction can not take place, the candidate faces and the related trimming curves are stored together with information about why reconstruction has failed. In the next following sub sections we introduce concepts and definitions that are the foundation of our proposed sewing-based conservative model reconstruction. These definitions represent the basis to describe the sewing conditions and the error identification procedures that will be introduced in section 4. 3.2
Face fi Curve ci SPT
Figure 3.
The iterative process of computing the maximal distance between curves can be also described by the following pseudocode where the maximal distance value is stored in the MagndiffvecSamp variable.
Definition: Two trimming curves are called weak candidates if the distance between one and only one couple of their extreme points is lower than the allowed SPT. Definition: Two faces are called weak candidates if a couple of their trimming curves is made by two weak candidates curves.
FirstTrimmCurve2D Å ExtractTrimmCurve(CoEdge1) FirstCurve2D Å ExtractCurve2D(FirstTrimmCurve2D) FirstSurf Å ExtractSurf(CoEdge1) SecondTrimmCurve2DÅExtractTrimmCurve(CoEdge2) SecondCurve2DÅExtractCurve2D(SecondTrimmCurve2D) SecondSurf Å ExtractSurf(CoEdge2) FirstCurveOnSurfÅ SetCurveOnSurf(FirstSurf ,FirstTrimmCurve2D) FirstUparamMin Å ExtractUparamMin(FirstTrimmCurve2D ) FirstUparamMax Å ExtractUparamMax(FirstTrimmCurve2D ) Step Å FirstUparamMax - FirstUparamMin ) / n-times
Fig. 2 shows an example of weak candidates faces: let d1 and d2 be the distances between two couples of extreme points belonging to curves ci and cj respectively, then d1 is considered within the required SPT while d2 is not.
Face fi Curve ci
Figure 2.
Face fj and face fi are sewing candidates.
Definition: The maximal distance between two curves is the maximal distance between a couple of points selected on the two curves as follows: the reference curve is sampled and, for each sampled point of the reference curve, the nearest point is selected on the second curve.
Definition: We call extreme points of a parametric trimming curve the two points in Euclidean space evaluated for the minimum and maximum parameter value.
for ( ind = 1 to n-times) do UparamStep Å ind*Step FirstPoint3D Å Evaluate(FirstCurveOnSurf, FirstUparamMin + UparamStep) SecondParam Å GetNearestParameter(CoEdge2, FirstPoint3D) SecondPoint3D Å Evaluate(SecondCurve2D, SecondParam) MagndiffvecSampÅMagnDiffVectors(FirstPoint3D,SecondPoint3D) if (MagndiffvecSamp >= tolerance) then Output Å FALSE endif endfor
d2 Face fj
Curve cj
Definition: Two edges are considered coincident if the maximal distance of their associated curves is equal or less than a given SPT.
Definition: We call space point tolerance (SPT in the following) the maximal distance in a model space of two separated points in order to consider their position being in the same location.
d1
d2 Face fj
Definitions
SPT
d1
Curve cj
Face fi and face fj are sewing weak candidates.
Definition: Two curves are called sewing candidates if the distance between both couples of their extreme points is lower than the allowed SPT.
Definition: Two faces are called coincident if and only if their respective edges that form a possible face join are coincident.
Definition: Two faces are called sewing candidates if a couple of their trimming curves is made by two sewing candidates curves.
The required conditions for sewing in regard to a given SPT can be described as two faces that must be candidates and coincident. Fig. 4 shows two candidates and coincident faces having trimming curves with both extreme points and maximum distance (MagndiffvecSamp) within the required SPT.
Fig. 3 shows an example of candidates faces: let d1 and d2 be the distances between two couples of extreme points belonging to curves ci and cj respectively, then both d1 and d2 are considered within the required SPT.
4
Maximum MagndiffvecSamp
Face fi SPT
d1
4
4.1
d2
3.3
Example of candidates and coincident faces.
The role of space point tolerance
It should be understood by now from the previously introduced definitions that obtainable results of surface sewing are explicitly depending on the space point tolerance, employed by data exchanging systems. For example, if the space point tolerance of a data emitting geometrical modeling system (SPTes in Fig. 5) is greater than its counterpart of a data receiving system (SPTis in Fig. 5), two connected faces in the source model will not be sewed in the importing system (see Fig. 5a). On the contrary, if the space point tolerance of a data emitting system is less than the one employed by a data receiving system, two separated faces belonging to the source model should be erroneously sewed in the importing system, producing a non-manifold model as shown in Fig. 5b.
SPTes
CLASSIFICATION
Figure 5.
RELATED
REPAIR
Overview
4.2
Curve adjacency error
4.1 Micro intersection of trimming curves description: The trimming curves of the two faces candidates for sewing intersect each other (cf. fig. 6, 7). The trimming curves can remain within the allowed SPT (then the faces are sewed) or they can be out of SPT (then the two faces remain not sewed).
unsatisfied sewing condition
satisfied sewing condition
SPTes Face fi
Face fi
AND
We have subdivided the different types of defects that might prevent a proper sewing-based model reconstruction into tree main categories: different types of adjacency inconsistency between the trimming curves forming a possible face joint; different types of adjacency inconsistency between face candidates for sewing; loss of model surfaces data. In the following we report in detail each type of error by giving a brief description of the model defect, an error identification procedure based on violations of the candidate-coincident condition, and a possible repair strategy.
Face fj
Figure 4.
ERROR
STRATEGIES
Face fj
Face fi
Face fj
Face fi
Face fj
Face fj
SPTis
SPTis
a)
b)
SPT
Impact of different SPT on face sewing in emitting and importing systems.
Figure 6.
SPT
Impact of SPT value on face sewing
identification: With our approach we identify only not sewed intersecting curves (fig. 7). The faces are not sewed because their trimming curves have a maximal distance that is bigger than the allowed SPT and during the maximal distance computation, the point distance value (cf. MagndiffvecSamp in section 3.2) fluctuates within a certain range and converges to zero one or more times (each time for every existing and located micro intersection).
To avoid these system tolerance related problems, modeling precision of data emitting systems needs to be deployed, thus requiring an integration in the data exchange process. A step that is now supported by most enhanced versions of data exchange standards, though not always efficiently used in practice. Based on such a model tolerance, the (geometrical) modeling precision of data exchanging systems can be aligned, thus laying grounds for a possible, successful model repair. Computation results of surface boundary distances in respect to a given SPT are essential for decisions on whether automated sewing of disconnected surfaces in question can be administered safely or should be postponed to a later point in time, involving user controlled local repair.
5
surface.
Face fi
identification: During the computation of candidate surfaces, a curve became a weak candidate of two other curves that belong to separated surfaces. Referring to the example shown in fig. 9, face fi is a weak candidate to both face fj and face fk (face fi is a weak candidate to fj because ei1 and ej1 are within the SPT while ei2 and ej2 are not. Face fi is a weak candidate to face fk because ei2 and ek2 are within the SPT while ei1 and ek1 are not).
Face fj Zero MagndiffvecSamp Maximal MagndiffvecSamp
SPT Figure 7.
Face fj ej1 ei1
SPT
Example of micro intersection error
Face fk ek2
ej2 ek1
ei2
Face fi
recovery: The micro intersection error can be automatically repaired by applying computational algorithms that merge the two intersecting curves into one by eliminating sections of the curves. The basic idea is that when a part of a curve lies in the region trimmed out by another curve, that part is redundant and can be discarded [KUM '95].
Face fi is a weak candidate to faces fj and fk.
Figure 9.
recovery: In order to enable repair in this situation, two different strategies can be applied: face fj and fk can be merged to obtain a unique face being sewed with face fi (see fig. 10), or face fi can be split into two separated faces being sewed with face fj and fk respectively (see fig. 11).
4.2 Split curves description: The reconstruction process tries to sew couples of surfaces along their trimmed curves, but in some cases two adjacent faces are bounded by split curves which are not selected as candidates. identification: During the computation of candidate surfaces some trimming curves became a weak candidate of two other trimming curves belonging to the same trimmed surface. In fig. 8 face fi is trimmed by curve ci1 that is a weak candidate to both curves cj1 and cj2 that belong to face fj.
Face fjk SPT
ejk1
ejk2
ei1
ei2 Face fi
Face fj SPT
ej1 ei1
cj1
ej2
cj2 ci1
Figure 10.
ej3
Result after merging faces fj and fk
ei2
Face fi Face fj
Figure 8.
SPT
Curve ci1 is a weak candidate to curve cj1 and cj2
4.2
ej2 ei12
ej1 ei11 Face fi1
recovery: From this error situation one can recover by merging trimming curves. This can be done by sampling the two curves and subsequently creating a new one passing through the sampled points belonging to both curves.
Figure 11.
Face fk ek1 ei21
ek2 ei22 Face fi2
Result after splitting face fi into faces fi1 and fi2
In order to split face fi we need first to split its trimming curve, and then to separate the surface by creating an additional trimming curve. This can be achieved by an automatic algorithm that projects one of the two not-candidates extreme points of faces fj or fk (ej2 or ek1 in fig 11) on face's fi trimming curve, and creates a new trimming curve as an isoparametric curve laying on the surface of fi while also passing through the newly created point. On the contrary, to merge faces fj and fk we need to create a new
Face adjacency error
4.2.1 Split faces description: The reconstruction process tries to sew couples of surfaces. However, in some cases one surface is supposed to be sewed along one of their trimmed surface to more than one adjacent
6
surface (covering both fj and fk surfaces) and its trimming curves. A possible approach is to sample a set of points on some of the isoparametric curves of both faces fj and fk and then to create a new surface passing through these points. The trimming curves of the newly created face are the union of the trimming curves of faces fj and fk.
recovery: The sampling algorithm used to identify overlapping surfaces can be iterated in order to identify the trimming curves of the two surfaces to be sewed. The curves are defined by interpolating points selected on the isoparametric curves of the two surfaces and having a distance within the allowed SPT as shown in fig. 14.
4.2.2 Overlapping faces description: The two face candidates for sewing overlap each other. The trimming curves can remain within the allowed SPT (then the faces are sewed) or they can be out of the SPT (then the two faces remain not sewed).
unsatisfied sewing condition
Trimming curves
satisfied sewing condition
Face fi Face fj
Face fi
SPT
Face fj
Face fi
Figure 14.
SPT Figure 12.
Face fj
Identified trimming curves.
4.2.3 Gap between faces description: The two face candidates for sewing have a gap between their trimming curves.
SPT
identification: These faces are not sewed, because their trimming curves have a maximal distance that is bigger than the allowed SPT and during the maximal distance computation, the MagndiffvecSamp value fluctuates within a certain range; but never converges to zero (cf. fig. 15).
Sewed and not sewed overlapping faces
identification: For our purpose we identify only not sewed overlapping surfaces. The faces are not sewed because their trimming curves have a maximal distance that is bigger than the allowed SPT and the MagndiffvecSamp value fluctuates within a certain range but never converges to zero. Moreover, the distance between couples of points belonging to the two surfaces converge to zero only if they are selected as follows: the reference surface is sampled along one of its isoparametric curves and, for each sampled point of the reference surface, the nearest point is selected on the second curve. Fig. 13 shows two isoparametric curves belonging to faces fi and fj. The arrows represent the distance between couples of sampled points. Notice that moving from the boundary of the surfaces along the isoparametric curves, the distance between sampled points converges to zero.
Face fj
Face fk
Maximal MagndiffvecSamp
SPT Figure 15.
Face fi
Figure 13.
Examples of gaps between surfaces
Additionally, the distance between couples of points belonging to the two surfaces never converge to zero if these couples are selected as follows: the reference surface is sampled along one of its isoparametric curves and, for each sampled point of the reference surface, the nearest point is selected on the second curve (see fig. 16).
Face fj
Distance converging to zero between points on isoparametric curves.
7
Face fj
Figure 16.
EXAMPLES
5.1
Experimental environment
The implemented prototype environment consists of several different modules as follows. A geometrical modeler used to represent and evaluate topological as well as geometrical entities of modeled objects. An IGES translator to import models generated by different CAD systems and a reconstruction module, used to reconstruct a B-Rep based solid model of an object by means of evaluation as well as sewing of a set of (probably) unconnected faces. As a programming environment the Microsoft Developer Studio has been used. We have adopted a hybrid modeling kernel, named GAUSS [OGG '94] that has been implemented to handle solids, surfaces, and curves within an IMD topology. The currently implemented testbed is operating on a Windows NT platform. The interactive graphical user interface has been specified and implemented using Visual C++ [TOH '94] and Microsoft Foundation Classes (MFC). Graphics and visualization within the GUI were partly realized using the OpenGL Graphics Library [WOO '97].
Face fi
Diverging distance between points on isoparametric curves.
recovery: Before trying any repair strategy based on the modification of the model's geometry, it is recommended due to reasons of efficiency, to check first if it is possible to solve the problem by increasing the SPT. If this is not leading to satisfying results, algorithms can be applied in order to extend the surfaces of fi and fj until their trimming curves become coincident [SHE '92]. 4.3
5.
Missing face
5.2
description: Due to either a modeling error or a mismatching of entities during the translation phase (cf. section 2.4), some information about geometry or topology can be lost. This loss of information usually leads to a missing face in the model as shown in fig. 17. Most of the times, these missing faces are too small to be identified by the user with a visual check of the model employing any kind of graphical representation.
Practical experiments
To test, verify as well as evaluate in practice our newly developed method of point space tolerance driven face sewing and respective algorithms implemented accordingly, several experiments were carried out. Subject of initial experimental work was primarily verification and error determination of CAD data imported through IGES format. Experiments with a test part imported from an IGES file using a space tolerance of 0.01 mm generated, after reconstruction, the object shown in fig. 18.
identification: If we consider a correct two-manifold solid model, each face is bound by a loop of edges, connecting the face itself with its adjacent faces. If a face is missing, some faces in the model will have a bounding loop with some of the edges that are not connected to any adjacent face. This means that the trimming curve describing a edge's geometry can not be a candidate for sewing with any other curve. In order to identify missing faces we look for loops of trimming curves that have never been candidates for sewing.
Missing Face
Figure 17.
Example of missing surface. Figure 18.
recovery: Some algorithms can be applied in order to automatically reconstruct a missing surface. Though even taking into account geometrical properties (e.g. tangent continuity), one cannot be fully certain, that the original design intent is preserved). For this reason, we believe the best strategy is a user interactive repair.
Rendered representation of the test part.
The graphical representation of the test part in the system's GUI may give the impression that the object has been successfully reconstructed. However, using the query functionality provided by the developed prototype system, it is possible to check the model in more detail and verify the real situation, revealing several errors. The result of the sewing has produced three unconnected objects: the test part without through holes and two separated
8
separated edges, each one lying on a different trimming curve (see fig. 20). The defect in the side part of the model is due to a microintersection between trimming curves belonging to the lateral and the bottom faces of the model. A zoomed view presented in fig. 21 displays these details in a quite transparent as well as obvious level.
cylindrical faces. Two other defects have been identified in the front and lateral side of the model. The unconnected edges have been highlighted in the system's GUI (see Fig. 19).
model defects Figure 19.
Different types of errors identified by the system.
Microintersections
Figure 21.
Example of microintersection between trimming curves.
In the front part of the model, the defect that prevented correct sewing is due to an overlapping between the front and the lateral face. Fig 22 shows a detail of these faces. Overlapping surfaces
split circular edges Figure 20.
unsplit circular edge
Unconnected holes.
Looking at the information added to the geometrical and topological entities during the sewing process, it is possible to verify how the system has classified the identified defects. Closer examination showed the two cylindrical faces have not been sewed due to a curve split error: both cylindrical faces are bound by a couple of circular edges that should be sewed to the model's lateral faces. However, since the circular edge belonging to each cylindrical face is laying on a unique trimming curve, each circular loop belonging to the lateral face, and representing the holes entrance faces, is split into three
9
processing computation, become unnecessary within our approach, thus can be omitted. An advantage that can be hardly achieved within other, rather traditional approaches, as reviewed and discussed earlier. BIBLIOGRAPHY
Figure 22.
6
[COU '86] Courter S.M. and Brewer J.A., Automated Conversion of Curvelinear Wire-Frame Models to Surface Boundary Models; A Topological Approach, Computer Graphics, 20, 4, (1986), pp. 171-178. [HAN '97] Han J.H., On Multiple Interpretations, Proc. Int. Symp. on Solid Modeling and Applications, eds. C. Hoffmann and W. Bronsvort, (1997), pp. 311-321. [HAR '82] Hanrahan M., Creating volume models from edgevertex graphs, Computer Graphics, 16, 3, (1982), pp. 77-84. [ITIa '96] International TechneGroup Incorporated, Why Solids Data Exchange Isn't Solid, http://www.itioh.com/pdi/solids.htm, (1996). [ITIb '96] International TechneGroup Incorporated, Solving the Data Exchange Puzzle, http://www.itioh.com/minco.htm, (1996). [KLE '95] Klein R. and Straßer W., Large mesh generation from boundary models with parametric face representations, Proc. Int. Symp. on Solid Modeling and Applications, (1995), pp. 431-440. [KOB '86] Kobori K., Futagami N. and Nishioka I., Automated generation of simply connected solid objects from wire-frame data using operations on graphs, The Visual Computer, 2, (1986), pp. 335-341. [KRA '97] Krause F.-L., Stiel C. and Lüddemann J., Processing of CAD-Data - Conversion, Verification and Repair, Proc. Int. Symp. on Solid Modeling and Applications, eds. C. Hoffmann and W. Bronsvort, (1997), pp. 248-254. [KUM '95] Kumar, S., Manocha, D., Efficient rendering of trimmed NURBS surfaces, Computer-Aided Design, V. 2, N. 7, (1995), pp. 509-521. [MAN '95] Mandorli F. and Cugini U., Identification of process relevant form structures for stereolithography within solid models, Proc. IFIP WG5.3 Int. Conf. on LifeCycle Modeling for Innovative Products and Processes, eds. F.-L. Krause and H. Jansen, (1995), pp. 313-324. [OGG '94] Oggioni, M., Sacchi, C., An Object Oriented Extended Evaluator for Curves and Surfaces, AICA’94, (1994), pp. 1611-1624. [OTT '97] Otto H.E., Kimura F., Mandorli F. and Cugini U., Determination of optimal model orientation of manufacturing objects for SFF technologies within computer-aided configuration design, in Rapid Product Development, eds. N. Ikawa, T. Kishinami and F. Kimura (Chapman and Hall), (1997), pp. 113-122. [SHE '92] Sheng, X., Hirsch, B.E., Triangulation of trimmed surfaces in parametric space, Computer-Aided Design, V. 24, N. 8, (1992), pp. 437-444. [TOH '94] Toht, V., Programming Visual C++ Version 4, SAMS Publishing, Indianapolis, (1994). [VAN '93] Vandenbrande J.H. and Requicha A.A.G., Spatial reasoning for the automatic recognition of machinable features in solid models, IEEE
Example of overlapping surfaces.
CONCLUSIONS
Novel methods and algorithms for an automatic transformation and conservative reconstruction of damaged or incomplete geometrical models into flawless and consistent Brep based solid models were introduced and evaluated. Practical experiments employing the new approach of space point tolerance driven face sewing within a prototype testbed implemented according to the system architecture of a reference kernel developed, showed already promising results for a limited range of investigated models containing structural errors and data exchange inflicted errors. Of particular interest within such an test scenario where reconstructed models, which still contained errors due to an unfinished, i.e., partially failed automatic recovery process. After completing comprehensive boundary validation checks, where all results - including all entities of the partially reconstructed model previously computed - were stored for analysis and error classification following there after. Due to this advantage of our approach of conservative model reconstruction where all topological and geometrical entities together with context information and error analysis results were recorded, user driven post model analysis and repair can be supported at an advanced level. An achievement that drastically improves performance as well as quality of translated and exchanged CAD data. For example, if a user is able to locate, recognize, classify and repair common errors such as intersections between trimmed curves of adjacent faces as explained earlier, model post processing of trianglemesh generation employing boundary tessellation remains without cracks. In supporting as well as further improving our methodology of conservative model repair we also believe, that automated reconstruction combined with user driven semiautomatic recovery during several post repair phases being of either topological or geometrical nature contributes to slimming down computation expenses on an ensconced base. In other words, additional computational steps, introduced to stabilize results of model transformations such as boundary tessellation that are widely included by other authors in model pre-
10
Transactions on Pattern Analysis and Machine Intelligence 15, 12, (1993), pp. 1269-1285. [WIL '87] Wilkinson D. and Hallam R., Study of product data transfer using IGES, Computer-Aided Engineering 4, 3, (1987), pp. 131-136. [WOL '97] Wolfe, S., Fixing Bad CAD Data, Computer Aided Design Rep. 17, 1, (1997), pp. 4-7. [WOO '97] Woo, M., Neider, J., Davis, T., OpenGL Programming Guide, Addisson-Wesley Developers Press, Reading, Massachusetts, (1997).
11