Feature recognition aids CAD model simplification in engineering analysis and machining path in manufacturing. In the domain of CAD model simplification, classic feature recognition approaches face two challenges: 1) insufficient performances; 2) engineering features are diverse, and no system can hard-code all possible features in advance. A declarative approach allows engineers to specify new features without having to design algorithms to find them. However, naive translation of declarations leads to executable algorithms with high time complexity. Inspired by relational database management systems (RDBMS), I suppose that if there exists a way to turn a feature declaration into an SQL query that is further processed by a database engine interfaced to a CAD modeler, the optimizations can be utilized for “free”. Testbeds are built to verify the idea. Initially, I devised a straightforward translator to turn feature declarations into queries. Experiments on SQLite show it gives a quasiquadratic performance for common features. Then it is extended with a new translator and PostgreSQL. In the updated version, I have made a significant breakthrough – my approach is the first to achieve linear time performance with respect to model size for common features, and acceptable times for real industrial models. I learn from the testbeds that PostgreSQL uses hash joins reduce the search space enable a fast feature finding. Besides, I have further improved the performance by: (i) lazy evaluation, which can be used to reduce the workload on the CAD modeler, and (ii) predicate ordering, which reorders the query plan by taking into account the time needed to compute various geometric operations. Experimental results are presented to validate their benefits.
Identifer | oai:union.ndltd.org:bl.uk/oai:ethos.bl.uk:681271 |
Date | January 2015 |
Creators | Niu, Zhibin |
Publisher | Cardiff University |
Source Sets | Ethos UK |
Detected Language | English |
Type | Electronic Thesis or Dissertation |
Source | http://orca.cf.ac.uk/86873/ |
Page generated in 0.0203 seconds