13. A non-transitory electronic device-readable medium having instructions stored thereon that when executed on one or more processors are operable to: receive a user-defined script for a clash suppression rule that includes at least an abstraction-based query and control flow statements; execute the user-defined script for a given clash between two or more elements by mapping the abstraction-based query to a query of a relational database that maintains element data for a CAD project, returning element data from the relational database in response to the query, and evaluating the returned element data using the control flow statements to determine whether the given clash is an unwanted clash; and suppress the given clash in response to determining the given clash is an unwanted clash.
13. A non-transitory electronic device-readable medium having instructions stored thereon that when executed on one or more processors are operable to: receive a user-defined script for a clash suppression rule that includes at least an abstraction-based query and control flow statements; execute the user-defined script for a given clash between two or more elements by mapping the abstraction-based query to a query of a relational database that maintains element data for a CAD project, returning element data from the relational database in response to the query, and evaluating the returned element data using the control flow statements to determine whether the given clash is an unwanted clash; and suppress the given clash in response to determining the given clash is an unwanted clash. 20. The non-transitory electronic device-readable medium of claim 13 , where the abstraction based query includes classes and relationships, and the mapping maps classes to underlying data tables and relationships to foreign key constraints or link tables of the relational database.