IP Library Granted Patent US 10,061,872
Granted Patent B1
US 10,061,872 · App. 15/254,718 · Granted Aug 28, 2018

Techniques for suppressing unwanted clashes

Inventors: Ramanujam Raman (Exton, PA); Colin Kerr (Philadelphia, PA)
Assignee: Bentley Systems, Incorporated
G06F17/50G06F17/30404G06F17/30507G06F17/30595
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,061,872
App. No.
15/254,718
Granted
Aug 28, 2018
Kind
B1
Abstract

In example embodiments, techniques are provided for suppressing unwanted clashes between elements of a CAD project. A software application receives a user-defined script for a clash suppression rule that includes at least an abstraction-based query and control flow statements. The application executes the user-defined script for a given clash by mapping the abstraction-based query to a query of a relational database that maintains element data for the 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. The given clash is suppressed in response to determining the given clash is an unwanted clash.

Claims (36)

1. A method for suppressing unwanted clashes between elements of a computer aided design (CAD) project, comprising:

receiving, by a software application executing on an electronic device, a user-defined script for a clash suppression rule that includes at least an abstraction-based query and control flow statements, the abstraction based query including classes and relationships;

executing, by the software application, 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 the CAD project, the mapping to map classes to underlying data tables and relationships to foreign key constraints or link tables of the relational database,

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

suppressing the given clash in response to determining the given clash is an unwanted clash.

2. The method of claim 1 , wherein the abstraction based query further specifies one or more properties and the mapping maps the properties to columns of the underlying data tables.

3. The method of claim 1 , wherein the user-defined script also includes calls to one or more helper utilities for evaluating geometric relationships among elements, and the evaluating the returned element data further comprises using the helper utilities.

4. The method of claim 1 , wherein the evaluating the returned element data comprises determining whether the query of the relational database returned a valid data from a row.

5. The method of claim 1 , wherein the user-defined script is a user-edited version of a predefined script provided by the software application.

6. The method of claim 1 , wherein the user-defined script is a newly-created script.

7. The method of claim 1 , wherein the user-defined script is written in at least one of Javascript or Typescript.

8. The method of claim 1 , wherein the relational database is a SQL database and the query is a SQL query.

9. The method of claim 1 , wherein the abstraction-based query is a ECSQL query.

10. An electronic device comprising:

a display screen;

a processor; and

a memory coupled to the processor configured to store a relational database maintaining elements of a computer aided design (CAD) project and a design review software application, software of the design review software application configured when executed to:

process 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 the 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 a user interface of the design review software application on the display screen, in response to the given clash being an unwanted clash.

11. The electronic device claim 10 , wherein the abstraction based query further specifies one or more properties and the mapping maps the properties to columns of underlying data tables.

12. The electronic device claim 10 , wherein the user-defined script also includes calls to one or more helper utilities for evaluating geometric relationships among elements, and the evaluating the returned element data further comprises using the helper utilities.

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.

14. The non-transitory electronic device-readable medium of claim 13 , wherein the abstraction based query further specifies one or more properties and the mapping maps the properties to columns of the underlying data tables.

15. The non-transitory electronic device-readable medium of claim 13 , wherein the user-defined script also includes calls to one or more helper utilities for evaluating geometric relationships among elements, and the evaluating the returned element data further comprises using the helper utilities.

16. The non-transitory electronic device-readable medium of claim 13 , wherein the evaluating the returned element data comprises determining whether the query of the relational database returned a valid data from a row.

17. The non-transitory electronic device-readable medium of claim 13 , wherein the user-defined script is a user-edited version of a predefined script provided by the software application.

18. The non-transitory electronic device-readable medium of claim 13 , wherein the user-defined script is a newly-created script.

19. The non-transitory electronic device-readable medium of claim 13 , wherein the user-defined script is written in at least one of Javascript or Typescript, the relational database is a SQL database, and the query is a SQL query.

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.

Assignments (3)
SECURITY INTEREST Recorded Oct 25, 2024
From: BENTLEY SYSTEMS, INCORPORATED
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 069268/0042 →
SECURITY INTEREST Recorded Dec 21, 2017
From: BENTLEY SYSTEMS INCORPORATED
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 044938/0083 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2016
From: RAMAN, RAMANUJAM; KERR, COLIN
To: BENTLEY SYSTEMS, INCORPORATED
Reel/Frame 040277/0558 →