Rapidly finding CAD features using database optimization. (December 2015) - Niu, Zhibin; Martin, Ralph R.; Langbein, Frank C.; Sabin, Malcolm A.
Abstract: Automatic feature recognition aids downstream processes such as engineering analysis and manufacturing planning. Not all features can be defined in advance; a declarative approach allows engineers to specify new features without having to design algorithms to find them. Naive translation of declarations leads to executable algorithms with high time complexity. Database queries are also expressed declaratively; there is a large literature on optimizing query plans for efficient execution of database queries. Our earlier work investigated applying such technology to feature recognition, using a testbed interfacing a database system (SQLite) to a CAD modeler (CADfix). Feature declarations were translated into SQL queries which are then executed. The current paper extends this approach, using the PostgreSQL database, and provides several new insights: (i) query optimization works quite differently in these two databases, (ii) with care, an approach to query translation can be devised that works well for both databases, and (iii) when finding various simple common features, linear time performance can be achieved with respect to model size, with acceptable times for real industrial models. Further results also show how (i) lazy evaluation can be used to reduce the work performed by the CAD modeler, and (ii) estimating the time taken to compute various geometric operations can further improve the query plan. Experimental results are presented to validate our main conclusions. Highlights: This paper describes a declarative feature recognizer which utilizes concepts from database query optimization. It gives a general way to translate feature definitions to efficient SQL query. It uses lazy evaluation to reduce the work performed by the CAD modeler. It also uses estimated cost of reorder various geometric computations to further improve performance. Our approach provides linear time performance with respect to model size for common features.