US20050071135A1 - Knowledge management system for computer-aided design modeling - Google Patents

Knowledge management system for computer-aided design modeling Download PDF

Info

Publication number
US20050071135A1
US20050071135A1 US10/675,809 US67580903A US2005071135A1 US 20050071135 A1 US20050071135 A1 US 20050071135A1 US 67580903 A US67580903 A US 67580903A US 2005071135 A1 US2005071135 A1 US 2005071135A1
Authority
US
United States
Prior art keywords
computer
aided design
modeling
design system
rules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/675,809
Inventor
David Vredenburgh
Gregory Smith
Robert Mattern
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Industry Software Inc
Original Assignee
RuleStream Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by RuleStream Corp filed Critical RuleStream Corp
Priority to US10/675,809 priority Critical patent/US20050071135A1/en
Priority to US10/818,475 priority patent/US20050071136A1/en
Assigned to RULESTREAM CORPORATION reassignment RULESTREAM CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MATTERN, ROBERT J., SMITH, GREGORY J., VREDENBURGH, DAVID W.
Assigned to SCHLECK, JAMES D., QUAYE, JOSEPHINE D., QUAYE, ALBERT E. III, MASTHEAD VENTURE PARTNERS CAPITAL, LP, HOURI MANAGEMTNE LIMITED, QUAYE, ALBERT JR. reassignment SCHLECK, JAMES D. SECURITY AGREEMENT Assignors: RULESTREAM COPORATION
Priority to PCT/US2004/031644 priority patent/WO2005033985A1/en
Publication of US20050071135A1 publication Critical patent/US20050071135A1/en
Priority to US12/444,890 priority patent/US8762877B2/en
Assigned to SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE INC., RULESTREAM CORPORATION reassignment SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE INC. PARTIAL RELEASE OF SECURITY INTEREST Assignors: MASTHEAD VENTURE PARTNERS CAPITAL, LP
Assigned to SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE INC. reassignment SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: RULESTREAM CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD

Definitions

  • the present invention relates generally to computer-aided design, and, more particularly, to a knowledge management system for computer-aided design modeling.
  • CAD systems can be used to produce and manipulate geometric models.
  • CAD systems often include very sophisticated algorithms for producing complex geometric models, manipulating those models, and analyzing the components of those models.
  • a CAD system may be used to model a complex structure having a curved surface, view the structure at various angles, and calculate the surface area of the curved surface and the volume of the structure as a whole. It might be useful to know the surface area of the curved surface, for example, to determine how much paint would be needed to cover the surface. It might be useful to know the volume of the structure, for example, to determine how much material would be needed to produce the structure.
  • CAD systems can be very powerful modeling tools, they are generally limited to geometric modeling. Thus, CAD systems generally require the user to apply product design rules and practices necessary to produce the model. For example, if the user is required by an employer to use certain practices (such as, for example, always using a certain size bolt to connect two components), then the user must apply those practices to the model. The user is typically also required to make successive changes to a model when changing a component of the model. For example, each time the user changes an attribute of a component (such as, for example, the outside diameter of a component), the user may have to change attributes of one or more other components that connect or otherwise interact with that component, and the effects of these changes may cascade through many components of the model.
  • a component such as, for example, the outside diameter of a component
  • CAD systems can be difficult to use, particularly for casual CAD users (such as engineers, architects, or managerial staff) who may not be proficient with the CAD system but often need to make modifications to drawings or models on an as-needed basis.
  • KBE Knowledge-based engineering attempts to combine some level of knowledge management with design automation.
  • Knowledge management typically includes such things as best practices, lessons learned (e.g., from earlier models), common practices (e.g., industry standards, company policies), product design rules, and quality metrics.
  • Knowledge management might be applied to design automation, for example, to reduce the number of parts a company needs to order (e.g., by reusing parts from one model in another model), reduce design time, reduce product cost, and produce higher quality and reliability.
  • KBE functionality is typically implemented within a CAD system or as an add-on to a CAD system (e.g., as a plug-in) so as to provide the CAD system with additional knowledge management capabilities.
  • CAD systems are often used in conjunction with computer-aided engineering (CAE) analysis tools for performing advanced model analysis.
  • CAD systems are also often used in conjunction with product document management (PDM) tools for generating and maintaining product documentation.
  • CAE and PDM tools can be implemented as stand-alone applications or as add-ons to a CAD system.
  • the KBE functionality may interact with the CAE and PDM tools to gather or provide information.
  • a knowledge management system captures, stores, manages, and applies rules for modeling geometric objects and related non-geometric attributes.
  • the knowledge management system controls a computer-aided design system for modeling a geometric structure, typically through an application program interface of the computer-aided design system.
  • the knowledge management system typically includes a knowledge management application in communication with the computer-aided design system through an application program interface.
  • the knowledge management system typically also includes a central database managed by a knowledge storage application for maintaining rules and other related information.
  • the knowledge management system typically also includes a knowledge acquisition application for generating rule programs for storage in the central database.
  • Rule programs are generated by the knowledge management system based on information that can be provided by a user, imported from the computer-aided design system, or extracted from a product document management application.
  • the rules can relate to both geometric and non-geometric attributes of the model. Non-geometric attributes can be dependent on geometric attributes. Geometric structures can be modeled based on rules relating to non-geometric attributes.
  • a computer-aided modeling system includes a knowledge management system for managing a set of modeling rules and a computer-aided design system controlled by the knowledge management system.
  • the knowledge management system generates instructions for modeling a geometric structure based on the set of modeling rules and communicates the instructions to the computer-aided design system for generating a model of the geometric structure.
  • the knowledge management system can include a knowledge management application in communication with the computer-aided design system through an application program interface of the computer-aided design system.
  • the knowledge management system can also include a knowledge storage application in communication with the knowledge management application for storing the set of rules in a central database and communicating the set of rules to the knowledge management application.
  • the knowledge management system can also include a knowledge acquisition application in communication with the knowledge storage application for generating the set of rules and communication the set of rules to the knowledge storage application for storage in the central database.
  • the knowledge management system can produce a graphical display on a graphical user interface, including a first portion including information from the knowledge management system and a second portion including information from the computer-aided design system (such as a display window including a graphical representation of the geometric structure, with or without controls for manipulating the graphical representation).
  • a graphical user interface including a first portion including information from the knowledge management system and a second portion including information from the computer-aided design system (such as a display window including a graphical representation of the geometric structure, with or without controls for manipulating the graphical representation).
  • a method for computer-aided design modeling involves generating instructions for modeling a geometric structure based on a set of modeling rules and communicating the instructions to a computer-aided design system for generating a model of the geometric structure.
  • the set of rules are obtained from a central database over a communication network.
  • the computer-aided design system typically includes an application program interface, and the instructions are typically communicated to the computer-aided design system through the application program interface.
  • the method can also involve producing a graphical display on a graphical user interface, including a first portion including information relating to the set of modeling rules and a second portion including information from the computer-aided design system. This may involve directing a window display generated by the computer-aided design system to be displayed on the graphical user interface.
  • the display window can include a graphical representation of the geometric structure, and may also include controls for manipulating the graphical representation of the geometric structure.
  • the apparatus includes a design modeler for generating instructions for modeling a geometric structure based on a set of modeling rules and an interface from the design modeler to a computer-aided design system for communicating the instructions to the computer-aided design system for generating a model of the geometric structure.
  • the apparatus typically also includes an interface from the design modeler to a central database over a communication network for obtaining the set of modeling rules from the central database.
  • the computer-aided design system typically includes an application program interface, and the interface from the design modeler to a computer-aided design system typically complies with the application program interface.
  • the apparatus includes a graphical user interface.
  • the design modeler can produce a graphical display on the graphical user interface, including a first portion including information from the design modeler and a second portion including information from the computer-aided design system. This may involve the design modeler directing a window display generated by the computer-aided design system to be displayed on the graphical user interface.
  • the display window can include a graphical representation of the geometric structure, and may also include controls for manipulating the graphical representation of the geometric structure.
  • a computer program for computer-aided design modeling can be embodied in a computer readable medium.
  • the computer program includes means for generating instructions for modeling a geometric structure based on a set of modeling rules and means for communicating the instructions to a computer-aided design system for generating a model of the geometric structure.
  • the set of rules are obtained from a central database over a communication network.
  • the computer-aided design system typically includes an application program interface, and the instructions are typically communicated to the computer-aided design system through the application program interface.
  • the computer program typically includes means for producing a graphical display on a graphical user interface, including a first portion including information relating to the set of modeling rules and a second portion including information from the computer-aided design system. This may involve directing a window display generated by the computer-aided design system to be displayed on the graphical user interface.
  • the display window can include a graphical representation of the geometric structure, and may also include controls for manipulating the graphical representation of the geometric structure.
  • apparatus for computer-aided design modeling including means for generating instructions for modeling a geometric structure based on a set of modeling rules and means for communicating the instructions to a computer-aided design system for generating a model of the geometric structure.
  • the set of rules can include rules relating to both geometric and non-geometric attributes.
  • Rules relating to non-geometric attributes can include, for example, a rule for determine a cost of the geometric structure or a rule for defining a process.
  • the set of rules can include rules relating to a class having a plurality of geometric structures.
  • the set of rules can include rules relating to geometric structures defined in the computer-aided design system.
  • Typical embodiments include a three-dimensional computer-aided design system controlled by a knowledge management system, such as the SOLIDWORKSTM three-dimensional computer-aided design system, and may additionally include a two-dimensional computer-aided design system, such as the VISIOTM two-dimensional computer-aided design system.
  • a knowledge management system such as the SOLIDWORKSTM three-dimensional computer-aided design system
  • a two-dimensional computer-aided design system such as the VISIOTM two-dimensional computer-aided design system.
  • FIG. 1 is a block diagram showing an exemplary modeling system in accordance with an embodiment of the present invention
  • FIG. 2 is a block diagram showing the relevant components of the knowledge management system in accordance with an embodiment of the present invention
  • FIG. 3A is a block diagram showing relevant components of the CAD system in accordance with an embodiment of the present invention.
  • FIG. 3B is a block diagram showing the relevant components of a CAD program in accordance with an embodiment of the present invention.
  • FIG. 4 is a block diagram showing an exemplary computer-aided modeling system in accordance with an embodiment of the present invention.
  • FIG. 5 shows an exemplary user interface screenshot for importing information from the CAD system relating to a mounting assembly, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention
  • FIG. 6 shows an exemplary user interface screenshot for defining a new geometric specification relating to the Mounting part family, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention
  • FIG. 7 shows an exemplary user interface screenshot displaying information upon entry of the name of a new CAD part file, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention
  • FIG. 8 shows an exemplary user interface screenshot for defining a geometry feature, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention
  • FIG. 9 shows an exemplary user interface screenshot showing geometry features (properties) defined for the CAD part file, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention
  • FIG. 10 shows an exemplary user interface screenshot for defining a mating, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention
  • FIG. 11 shows an exemplary user interface screenshot showing mating definitions, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention
  • FIG. 12 shows an exemplary user interface screenshot showing a rule for determining a fan area for the fan, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention
  • FIG. 13 shows an exemplary user interface screenshot including an embedded graphical representation of a model generated by the CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention
  • FIG. 14 shows a first exemplary user interface screenshot including a sub-window generated by the CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention
  • FIG. 15 shows a second exemplary user interface screenshot including a sub-window generated by the CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention
  • FIG. 16 shows a third exemplary user interface screenshot including a full view window generated by the CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention
  • FIG. 17 shows an exemplary user interface screenshot including a window generated by a two-dimensional CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention
  • FIG. 18 shows an exemplary user interface screenshot including an analysis window, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention
  • FIG. 19 shows the relationship between the user (engineer), knowledge management application, knowledge database, and the integrated systems controlled by the knowledge management application in accordance with an embodiment of the present invention.
  • FIG. 20 shows the relationship between the knowledge management application and the integrated systems in greater detail
  • FIG. 21 is a logic flow diagram showing exemplary logic for class-based rules in accordance with an embodiment of the present invention.
  • FIG. 22 is a logic flow diagram showing exemplary logic for the knowledge management application in accordance with an embodiment of the present invention.
  • ActiveX Control A reusable control written in Visual Basic used to create custom user interfaces in nAct.
  • top-level part families can reference components in other applications.
  • Assembly A grouping of parts and their subparts.
  • An assembly is the hierarchy of parts that make up something meaningful to the engineers, such as a top-level part or a finished good.
  • Calculated Value The value that was calculated by the formula that was entered into the rules database.
  • the formula may return a constant, a calculation based on other properties or a value obtained from a customer database.
  • Child Part Family A family that inherits properties, subparts and connections from another part family (template part family).
  • Code Generation The creation of rules into executable source code for use in nAct during run-time.
  • the generated code can also be compiled into a dynamic link library (.DLL) using Visual Basic.
  • Compiled Mode Editing models in nAct with rules that are compiled into a DLL file using Microsoft Visual Basic 6.0.
  • compiled rules cannot be seen by the user and cannot be debugged at runtime. (See also Developer Mode)
  • Component is any part or sub-assembly within an assembly.
  • Connection Collection A conceptual or physical relationship between two or more parts. This differs from a subpart collection in that the two connected parts do not have a parent-child relationship (such as a nut and a bolt).
  • Connection Constraint The formula used to determine the correct part or parts to be connected at run-time. There is preferably never a connection constraint associated with a connection specification where the same part family owns both.
  • Connection Point A point in which two schematic shapes can be connected directly or via wire.
  • Connection Spec The definition of a relationship between two parts at run-time (e.g. a hose and a valve).
  • a connection exists when one part in an assembly needs to reference the properties of another part in an assembly and the user cannot or prefers not to walk up and down the part/subpart hierarchy.
  • Constraint A formula that indicates how a specification should be computed in the design model.
  • Context The current location of the part in the tree defined by its parents, grandparents, etc. A part may be used in more than one location in the tree, and each location is considered a different context.
  • Custom Control A customer-developed ActiveX Control written in Microsoft Visual Basic 6.0 and compiled to an .OCX file. Custom controls are used to create custom interfaces for process steps.
  • Database A collection of data arranged for ease and speed of search and retrieval.
  • a database also includes an engine which accepts commands from the user to insert, update, delete and select the data.
  • Exemplary embodiments of the invention use Microsoft SQL Server 2000 database to store its data.
  • Decache Resetting values based on a dependency.
  • Design Time Using nAct Expert to create part families and specifications (properties, subparts, connections, database constraints, geometry and schematics) and to write formulas for rules. (See also Run Time)
  • Display Name This is a property that is used to create a formula-driven name that appears in the run-time application instead of the part family pretty name. (Display Name can be placed on any part family.)
  • Feature A geometric attribute of a part (i.e. plane, extrusion, sketch, cut, etc.) whose dimensions can be driven by nAct properties within the model.
  • Frame A component of a process step layout. Each layout contains 1 to 4 frames. Each frame contains 1 of the following user interface elements: dynamically generated form, CAD system, 2D modeler, drawing, report or custom control.
  • Hierarchy A logical tree structure that organizes the members of a dimension such that each member has one parent member and zero or more child members.
  • IIS Microsoft Internet Information Services.
  • IIS includes a web server, SMTP (mail) services and FTP (file transfer protocol) services.
  • SMTP mail
  • FTP file transfer protocol
  • the RuleStream Enterprise Web tools must be installed on an IIS server.
  • IIS is a component of Microsoft Windows 2000 Server and Microsoft Windows 2003 Server and can be installed from the Windows CD.
  • Index In a relational database, a database object that provides fast access to data in the rows of a table, based on key values. Indexes can also enforce uniqueness on the rows in a table. SQL Server supports clustered and nonclustered indexes. The primary key of a table is automatically indexed. In full-text search, a full-text index stores information about significant words and their location within a given column.
  • Input Value A value that is entered by the user in nact during run-time. This takes precedence over any calculated values.
  • Kernel The knowledge engine that executes rules. It provides the base system functionality for managing the run-time model.
  • Layout The configuration of the user interface of the model designer window in nAct. Each step in the selected process can have its own unique layout.
  • a layout consists of 1 to 4 frames, and each frame can contain 1 of the following user interface elements: dynamically generated form, CAD system, 2D modeler, drawing, report or custom control.
  • Line Item A top-level part that is associated with a project.
  • the line item has an associated top-level part family.
  • Model An actual design created using nact (the graphical representation of a line item).
  • nAct The client server tool used to create projects, line items and models.
  • nAnswer The web-based tool which allows users to query the databases using English like query statements.
  • nExplore The web-based tool used to view rules and documentation.
  • nPlatform The project and rules repository.
  • nQuality The web-based tool for entering and reporting quality data, scoring and risks.
  • Override The action of a higher-level part within an assembly determining the value for a subordinate part.
  • Owner Part Family The part family that contains the specification or constraint.
  • Parent Part Family The part family that owns the subpart collection of which the part is a member.
  • Part An instance of a part family.
  • Part Family The definition of a fundamental object in an assembly. This may be a component or a finished good.
  • Process A defined set of steps. Each top-level part family can have 1 or more processes. The processes that will be used during run time are determined by the line item definition.
  • Process Step A defined workflow for editing a model during run time. Each process step has a layout that defines its user interface. Process steps are grouped in categories and have a defined order within the process. Each process must have 1 or more process steps.
  • Property Constraint The formula used to determine the value of a property.
  • Row In an SQL table, the collection of elements that form a horizontal line in the table. Each row in the table represents a single occurrence of the object modeled by the table and stores the values for all the attributes of that object.
  • Run Time Using the nAct Model Designer to edit a model using defined part families, specs and rules. Users design models in run time in Compiled Mode or Developer Mode. (See also Design Time)
  • Score A value assigned to rate the effectiveness of the design.
  • Shape A 2D object within a schematic diagram.
  • Stored Procedure A precompiled collection of Transact-SQL statements stored under a name and processed as a unit.
  • Subpart Collection A collection of component parts.
  • Subpart Link Constraint The formulas used to determine existence, type, quantity and/or names of parts within the collection.
  • Subpart Link Spec Provides the valid part families that can become components at run-time.
  • Table A two-dimensional object, consisting of rows and columns, used to store data in a relational database. Each table stores information about one of the types of objects modeled by the database.
  • Template Part Family The part family from which a child part family inherits its characteristics.
  • UDF User Defined Fields
  • Unit A unit of measure for a numeric property value. Like units are grouped in unit categories.
  • the unit category “Length” may include units such as “feet”, “meters”, “inches” or “millimeters”.
  • Visual Basic is the language used to create custom controls for use in process steps and to create compiled versions of rules (application DLLs).
  • VBA Microsoft Visual Basic for Applications.
  • View A database object that can be referenced the same way as a table in SQL statements. Views are defined using a SELECT statement and are analogous to an object that contains the result set of this statement.
  • Wire A line or connector used when two connected objects are not coincidental.
  • a knowledge management system captures, stores, manages, and applies rules for modeling geometric objects and related non-geometric attributes.
  • the knowledge management system preferably supports rules relating to geometric attributes that can be represented and manipulated by a CAD system as well as rules relating to various other attributes that generally cannot be represented and manipulated by the CAD system, such as certain “negative” geometric attributes (e.g., a specification for producing a hole in a component or for removing material from a component so as to form a feature of that component), certain geometry-based attributes that are not modeled as physical features of a structure or assembly, and non-geometric attributes (e.g., pricing, processes, component relationships, component classes, user intentions, and abstractions).
  • rules relating to geometric attributes that can be represented and manipulated by a CAD system as well as rules relating to various other attributes that generally cannot be represented and manipulated by the CAD system, such as certain “negative” geometric attributes (e.g., a specification for producing a hole in a component or for removing material from
  • the rules are typically stored in a central database so that the rules can be manipulated independently of any modeling.
  • the rules can be derived from various sources, including general engineering principles, user-provided information, and information obtained from a PDM system.
  • the knowledge management system can tracks rule changes over time, and can apply a particular version of the rules to a model.
  • the knowledge management system defines the components and parameters for a particular model based on the rules being applied.
  • the knowledge management system can incorporate predefined components (such as components created in a CAD system) or dynamically defined components into the model.
  • the knowledge management system is generally independent of the CAD system, although the knowledge management system can interface with a CAD system for, among other things, importing/integrating component specifications from the CAD system for use in modeling, instructing the CAD system to produce a geometric model incorporating the components and parameters defined by the knowledge management system, and obtaining geometric information relating to a model (e.g., sizes, surface areas, volumes) for use by the knowledge management system (e.g., for computing the cost of a component based on its volume according to pricing rules provided by a user).
  • a geometric model produced by the CAD system can be viewed and manipulated as usual using the CAD system, although it is preferable for any and all changes to the model to be coordinated through the knowledge management system so that the appropriate rules can be applied to the changes.
  • the knowledge management system interfaces with the CAD system through an application program interface (API) of the CAD system.
  • the CAD system includes an API through which certain functions of the CAD system can be performed.
  • the CAD system API is typically used for such things as macros (i.e., programs that perform a series of function steps for the user) and add-ons (i.e., programs that add functionality to the CAD system).
  • the knowledge management system uses the API to control the CAD system such that the CAD system runs only when activated by the knowledge management system.
  • the knowledge management system typically activates the CAD system for such things as displaying a model to the user and obtaining geometric information relating to model components.
  • FIG. 1 is a block diagram showing an exemplary modeling system 100 in accordance with an embodiment of the present invention.
  • the modeling system 100 includes a knowledge management system 110 in communication with a CAD system 120 .
  • the knowledge management system 110 controls the CAD system 120 , specifically by generating instructions for modeling a geometric structure based on a set of modeling rules and communicating the instructions to the computer-aided design system 120 for generating a model of the geometric structure.
  • the knowledge management system 110 can also interface with a CAE application 130 for analysis and with a PDM application 140 for product document management.
  • FIG. 2 is a block diagram showing the relevant components of the knowledge management system 110 in accordance with an embodiment of the present invention.
  • the knowledge management system 110 includes a knowledge acquisition application 210 for capturing and generating rules, a knowledge storage application 220 for storing rules and models in a central database 240 , and a knowledge management application 230 for generating models based on the rules.
  • the knowledge acquisition application 210 generates rule programs based on information obtained from a user and communicates the rule programs to the knowledge storage application 220 for storage in the central database 240 .
  • the knowledge management application 230 obtains rule programs from the knowledge storage application 220 and applies the rule programs for building a model.
  • the knowledge management application 230 may communicate model information to the knowledge storage application 220 for storage in the central database 240 .
  • the knowledge acquisition application 210 captures modeling rules and generates rule programs for storage by the knowledge storage application 220 .
  • the knowledge acquisition application 210 interacts with a user through a user interface through which the user enters information regarding components, design processes, engineering and manufacturing rules, and customer and marketing requirements.
  • the knowledge acquisition application 210 generates rule programs from the user information, and sends the rule programs to the knowledge storage application 220 for storage.
  • the knowledge acquisition application 210 allows rules to be modified quickly and easily.
  • the knowledge storage application 220 stores modeling information in a relational database, including, among other things, rule programs generated by the knowledge acquisition application 210 and models generated by the knowledge management application 230 .
  • the knowledge storage application 220 also tracks revision histories, design status, and user group security. Multiple revisions of a rule can be stored so that a particular version of a rule can be applied to a model while another version of the rule is being created or modified. A design can be modeled using an earlier version of a rule if desired.
  • the knowledge management application 230 applies rules to create detailed computer models.
  • the knowledge management application 230 can model two-dimensional schematics or three-dimensional geometries.
  • the knowledge management application 230 can also model a bill of materials for the components of an assembly.
  • the knowledge management application 230 can automatically update a previously completed model under revised or new rules. In this way, models can be generated by manipulating the rules through the knowledge management system rather than manipulating the model itself through the computer-aided design system.
  • FIG. 3A is a block diagram showing relevant components of the CAD system 120 in accordance with an embodiment of the present invention.
  • the CAD system 120 includes a 3D CAD program 301 , such as such as SOLIDWORKSTMfrom SolidWorks Corporation, 300 Baker Avenue, Concord, Mass. 01742, and may also include a 2D CAD program 302 , such as VISIOTM from Microsoft Corporation.
  • Each of the CAD programs has its own API through which it interacts with the knowledge management application.
  • FIG. 3B is a block diagram showing the relevant components of a CAD program, such as the 3D CAD program 301 or the 2D CAD program 302 , in accordance with an embodiment of the present invention.
  • the CAD program includes a CAD application 320 having an API 310 through which certain functions of the CAD application 320 can be controlled.
  • the interactions between the knowledge management application and different CAD systems depend to a large degree on the CAD system API.
  • the SOLIDWORKSTM three-dimensional CAD program has an internal macro/recording language and also supports an application programming interface language that is accessible through an OLE (Object Linking and Embedding) interface with support for VISUAL BASICTM and VISUAL C++TM.
  • OLE Object Linking and Embedding
  • the knowledge management application is substantially reactive to the VISIOTM two-dimensional CAD system, while the knowledge management application actively controls the SOLIDWORKSTM three-dimensional CAD system.
  • support for each particular CAD system generally requires some level of integration by the knowledge management application to work with the specific functions and API of the CAD program.
  • the various functions of the knowledge management system 110 are divided among different devices that communicate over a communication network, such as the public Internet or public or private intranets.
  • knowledge storage functions reside in one or more storage servers that incorporate the knowledge storage application 220 and central database 240
  • knowledge acquisition and management functions reside in user workstations (such as personal computers) or terminals that incorporate the knowledge acquisition application 210 , the knowledge management application 230 , and the CAD system 120 .
  • the user workstations or terminals typically include a user interface for interacting with a user and a network interface for communicating with the storage server over a communication network.
  • FIG. 4 is a block diagram showing an exemplary computer-aided modeling system in accordance with an embodiment of the present invention.
  • the system 400 includes one or more user workstations 410 in communication with one or more storage servers 430 over a communication network 420 .
  • the workstation 410 incorporates the knowledge acquisition application 210 , the knowledge management application 230 , and the CAD system 120 , and also includes a user interface for interacting with the user and a network interface for communicating over the communication network 420 with the storage server(s) 430 .
  • the user interface 411 is typically a graphical user interface that provides for both displaying information to the user and receiving inputs from the user.
  • the storage server 430 incorporates the knowledge storage application 220 and the central database 240 , and also includes a network interface 431 for communicating over the communication network 420 with the user workstation(s) 410 .
  • the knowledge acquisition application 210 and the knowledge management application 230 interact with the user through the user interface 411 , and also interact with the knowledge storage application 220 in the storage server 430 through the network interface 412 using a client-server paradigm.
  • the knowledge management application 230 also controls the CAD system 120 through an API of the CAD system 120 .
  • the user workstation 410 is typically a general-purpose computer, and the knowledge acquisition application 210 , the knowledge management application 230 , and the CAD system 120 are typically software programs that run on the general-purpose computer.
  • the knowledge storage application 220 interacts with the central database 240 through a database interface (not shown), and interacts with the knowledge acquisition application 210 and the knowledge management application 230 in the user workstation 410 through the network interface 431 .
  • the storage server 430 is typically a general-purpose computer, and the knowledge storage application 220 is typically a software program that runs on the general-purpose computer.
  • the central database 240 is typically a relational database.
  • FIG. 19 shows the relationship between the user (engineer) 1910 , knowledge management application 1920 , knowledge database 1930 , and the integrated systems 1940 controlled by the knowledge management application 1920 , including CAD system(s) and possibly also a CAE application, a PDM application, and a component databases.
  • the knowledge management application 1920 extracts rules for design automation from the knowledge database 1930 .
  • the knowledge management application 1920 may also receive specifications, rules, and other information relating to modeling.
  • a product control modeler element of the knowledge management application 1920 interacts with the integrated applications as necessary for modeling, analysis, product document management, and component selection.
  • Information generated by the knowledge management application 1920 such as runtime rule authoring and trend analysis, may be stored in the knowledge database 1930 .
  • FIG. 20 shows the relationship between the knowledge management application and the integrated systems in greater detail.
  • the knowledge management application 1920 interacts with the CAD system 2010 for modeling such things as features, mating conditions, surface area, volume, and mass properties.
  • the knowledge management application 1920 interacts with the CAE analysis application 2020 for such things as stress, thermal, kinematics, and loads analysis.
  • the knowledge management application 1920 interacts with the PDM application 2030 to generate and utilize such things as files, structure, workflow, and bill of materials (BOM).
  • BOM bill of materials
  • the knowledge management application 1920 interacts with component databases 2040 for such things as part numbers, standards, inventory, and pricing.
  • a model may include multiple geometric components. Each component can be associated with both geometric attributes and non-geometric attributes. Rules can be established for defining relationships between components without necessarily defining that actual parameters of the relationship (such as, for example, a rule that a fan blade assembly must mate with a motor shaft, without necessarily defining the shape or size of the shaft which might affect the type of mating).
  • Components can be organized into classes (such as, for example, three possible motors for a fan assembly can be organized into a “motors” class), and rules can be established for the class as a whole such that the rules are applied to whatever class member is selected for inclusion in a particular model (such as, for example, a generic rule that any of the class of motors must mate with a fan blade component).
  • classes such as, for example, three possible motors for a fan assembly can be organized into a “motors” class
  • rules can be established for the class as a whole such that the rules are applied to whatever class member is selected for inclusion in a particular model (such as, for example, a generic rule that any of the class of motors must mate with a fan blade component).
  • Rules can be established for selecting a particular member of a class for a particular model (such as, for example, a rule for selecting a particular motor based on the amount of power or the rotational speed required for a model, or a rule for selecting the number of fan blades for the fan blade component based on the volume of air to be moved and other parameters such as the motor selected and the diameter of the fan blade component).
  • Rules relating to “negative” attributes can be defined (such as, for example, a rule that a motor frame must include a hole in a particular location for bolting the motor frame to a chassis) and applied to a model component as a library feature.
  • Rules relating to various non-geometric attributes can be established (such as, for example, rules for deriving manufacturing processes based on the components incorporated into a selected model, or rules for estimating component, sub-assembly, product, and manufacturing costs).
  • Attachment I Consisting of numbered pages 1-91
  • Attachment II Consisting of numbered pages 1-113
  • the knowledge management system may be referred to generally as “Rulestream” or “Navion,” the knowledge management application may be referred to as “nAct” or “nAct Engineer,” the knowledge acquisition application may be referred to as “nAct Expert,” and the knowledge storage application may be referred to as “nPlatform.”
  • Attachment II edit rules relating to “Geometry Specification” and “Geometry Constraint” generally relate to the SOLIDWORKSTM three-dimensional CAD system, while edit rules relating to “2DSchematic Specification” generally relate to the VISIOTM two-dimensional CAD system.
  • the knowledge management application controls the CAD system through a CAD system API. While the actual CAD functions that can be performed through the API are substantially limited by the API (and are subject to change by the CAD system provider), the specific API functions used and the manner in which the API functions are used are determined by the knowledge management application for performing specific knowledge management operations. In an exemplary embodiment of the present invention, the knowledge management application controls the SOLIDWORKSTM three-dimensional CAD system through its API.
  • the knowledge management application In order to control the CAD system, the knowledge management application typically performs such operations as starting SOLIDWORKSTM, opening a part file, opening an assembly file, mating a component, deleting a mate, fixing a component, removing a part or assembly, suppressing a component, hiding/showing a component, suppressing a feature, inserting a library feature, removing a library feature, setting a part dimension, setting an assembly dimension, creating a component pattern, removing a component pattern, creating a feature pattern, removing a point in a sketch, removing a feature pattern, setting a custom property, setting component color, and closing SOLIDWORKSTM.
  • This is not meant as an exhaustive list, and the knowledge management application can perform other operations as needed. Exemplary API calls and settings for performing the above operations in an exemplary embodiment of the invention are described below.
  • Opening a part file typically involves opening the part file, adding the part file as a component to a parent assembly, closing the part file, and rebuilding the top level assembly.
  • the following API functions may be used:
  • Opening an assembly file typically involves opening the part file, adding the part file as a component to a parent assembly, closing the part file, and rebuilding the top level assembly. If assembly dimensions are driven by the knowledge management application, then all components are typically renamed to ensure uniqueness.
  • the following API functions may be used:
  • Mating a component typically involves putting the parent assembly in “edit” mode, selecting the features to mate, adding the mate, and rebuilding the assembly. The mate name is then found and noted by the knowledge management application in the case where a dependent property is changed and the mating is effected.
  • the following API functions may be used:
  • Deleting a mate typically involves selecting the mate using the parent assembly's model document and deleting the selection.
  • the following API functions may be used:
  • Fixing a component typically involves setting the component transform, selecting the component, and fixing the component.
  • the following API functions may be used:
  • Removing a part or assembly typically involves selecting the parent assembly, putting the parent assembly in “edit” mode, selecting the component, and deleting the selection.
  • the following API functions may be used:
  • Suppressing a component typically involves checking the suppression state of the component and setting the suppression state, if suppressing the document is saved.
  • the following API functions may be used:
  • Suppressing a feature typically involves traversing the model documents to find the named feature and setting its suppression state accordingly.
  • the following API functions may be used:
  • Inserting a library feature typically involves selecting the component to receive the feature, putting the component in “edit” mode, selecting the references required for insertion, and inserting the library feature.
  • the new feature and its sub-features are typically renamed.
  • the following API functions may be used:
  • Removing a library feature typically involves selecting component owning the feature, putting the component in “edit” mode, selecting the feature, and deleting the feature using the context of the top level assembly.
  • the following API functions may be used:
  • a dimension typically involves setting the read-only status of the dimension to false, setting the system value for the dimension, and resetting the read-only status of the dimension to true (this is because all dimensions controlled by the knowledge management application are preferably maintained as read-only to prevent modification through the CAD system).
  • a dimension is typically references by a string (e.g. D1@Sketch1).
  • the following API functions may be used:
  • Setting an assembly dimension typically involves all of the steps for setting an assembly dimension, except Parameter is additionally checked for existence on the components.
  • API functions may be used:
  • Creating a component pattern typically involves selecting the parent assembly, putting the parent assembly in “edit” mode, selecting the component and the feature pattern, and inserting the feature pattern.
  • the Derived Pattern is typically renamed by traversing the parent assembly and finding the Derived Pattern using the seed component.
  • the following API functions may be used:
  • Removing a component pattern typically involves selecting the Derived Pattern from the parent model document and deleting the selection.
  • the referenced configuration may need to be reset to prevent future selections from failing on this part.
  • the following API functions may be used:
  • the knowledge management application typically requires a part for each feature in the pattern, and maintains a property containing the X and Y coordinates for each feature.
  • the is activated and is used to select the Sketch Pattern.
  • a point for each component required is created, it's identifier is stored, the Sketch is inserted, and the document rebuilt.
  • the Sketch and Feature are selected and a Pattern is created.
  • the Sketch Pattern is then found and renamed by traversing the Document and finding the Pattern using the seed feature.
  • the following API functions may be used:
  • Removing a point in a sketch typically involves opening the document containing the sketch, putting the sketch in “edit” mode, traversing the sketch points to find the point with the corresponding identifier, selecting the point, and deleting the selected point.
  • the following API functions may be used:
  • Removing a feature pattern typically involves selecting the derived pattern from the parent model document and deleting the selected derived pattern.
  • the following API functions may be used:
  • Setting a custom property typically involves verifying the value and setting the value if necessary.
  • the following API functions may be used:
  • Setting a component color typically involves retrieving the MaterialPropertyValues for the component from the component or the model document, changing the first three elements in the array to reflect the new color, and setting the new MaterialPropertyValues on the component. If the color is being removed, the RemoveMaterialProperty is called.
  • the following API functions may be used:
  • Closing SOLIDWORKSTM typically involves closing the top level assembly (which is typically the only one open at this point) and calling the Exit App API function.
  • a fan includes various sub-parts, including a fan assembly, a housing assembly, a motor assembly, and a mounting assembly.
  • Certain components of the fan might have fixed characteristics. For example, a company might purchase three different motors that can be used in a fan, and these motors have fixed dimensions that cannot be changed in the model.
  • CAD models of the motors may be created in the CAD system and imported into the knowledge management application for storage by the knowledge storage application.
  • Other components of the fan might have characteristics that can be determined dynamically during modeling. For example, the dimensions of a fan hub might depend on the motor selected for the model. Models of these components might be created in the CAD system and imported into the knowledge management application, or rules for defining these components might be established.
  • the CAD system is presumed to be the SOLIDWORKSTM three-dimensional CAD system.
  • FIG. 5 shows an exemplary user interface screenshot 500 for importing information from the CAD system relating to a mounting assembly, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention.
  • the screenshot 500 displays, among other things, a hierarchical part family tree 510 showing that a BuildingServicesFan part family includes sub-parts entitled FanAssembly, HousingAssembly, MotorAssembly, and MountingAssembly, with the sub-parts having their own part families entitled Rotor, Housing, Motor, and Mounting, respectively.
  • the screenshot 500 shows information relating to the MountingAssembly sub-part (as indicated by the MountingAssembly sub-part being highlighted in the part family tree 510 ), including a list of all specifications 520 relating to the MountingAssembly sub-part and a window 530 for entering information about the MountingAssembly sub-part.
  • the screenshot 500 also includes a toolbar 540 from which various functions of the knowledge management application (such as creating a new part family, sub-part, property, connection, or CAD specification) can be accessed using either pull-down menus or icons.
  • the window 530 includes a portion 531 showing that there is a single valid part family entitled Mounting associated with the MountingAssembly sub-part.
  • the window 530 also includes a portion 532 for defining a rule to determine the optimal part family for a particular model (in this case, the optimal part family is the Mounting part family by default).
  • FIG. 6 shows an exemplary user interface screenshot 600 for defining a new geometric specification relating to the Mounting part family, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention.
  • the screenshot 600 shows information relating to the Mounting part family of the MountingAssembly sub-part (as indicated by the Mounting part family being highlighted in the part family tree 610 ), including a list of all specifications 620 relating to the Mounting part family and a window 630 for entering the new geometric specification for the Mounting part family.
  • the window 630 shows the geometry type 631 (in this case, “SolidWorks”) and a list of valid CAD part files 632 associated with the Mounting part family (in this case, none have yet been specified).
  • FIG. 7 shows an exemplary user interface screenshot 700 displaying information upon entry of the name of a new CAD part file, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention.
  • the screenshot 700 shows the part family tree 710 , a list of all specifications 720 relating to the Mounting part family, a window 730 showing the new valid part file (Mounting-Aero.SLDPR), and a window 740 displaying a list of parameters defined for the part in the CAD part file.
  • a window 730 showing the new valid part file (Mounting-Aero.SLDPR)
  • a window 740 displaying a list of parameters defined for the part in the CAD part file.
  • FIG. 8 shows an exemplary user interface screenshot 800 for defining a geometry feature, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention.
  • the screenshot 800 includes a window 840 for defining a geometry feature and associating the geometry feature with one or more specific CAD parts.
  • a geometry feature having a display name 842 HubDiameter and a system name HubDiameter 843 is associated with a corresponding CAD part entitled HubDiameter by specifying a formula in portion 844 .
  • FIG. 9 shows an exemplary user interface screenshot 900 showing geometry features (properties) defined for the CAD part file, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention.
  • the screenshot 900 shows the part family tree 910 , a list of all specifications 920 relating to the Mounting part family, and a window 930 including a properties portion 931 showing the geometry features associated with specific CAD parts (in this case, a HubDiameter geometry feature and a MountingDiameter geometry feature).
  • FIG. 10 shows an exemplary user interface screenshot 1000 for defining a mating, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention.
  • the screenshot 1000 shows the part family tree 1010 , a list of all specifications 1020 relating to the Mounting part family, a part file window 1030 , and a window 1040 for entering mating information.
  • FIG. 11 shows an exemplary user interface screenshot 1100 showing mating definitions, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention.
  • the screenshot 1100 shows the part family tree 1110 , a list of all specifications 1120 relating to the Mounting part family, and a window 1130 displaying various mating (orientation) definitions 1131 for the CAD part.
  • the user can establish rules for attributes that may be difficult or impossible to model in the CAD system, including certain geometric attributes (such as “negative” attributes), certain geometry-based attributes that are not modeled as physical features of a structure or assembly, and non-geometric attributes (such as pricing and processes).
  • certain geometric attributes such as “negative” attributes
  • certain geometry-based attributes that are not modeled as physical features of a structure or assembly
  • non-geometric attributes such as pricing and processes.
  • a rule for computing a non-modeled geometry-based attribute such as area covered by the sweep of the fan blade component when rotating. While this fan area might be useful, for example, for computing the volume of air moved by a fan blade component having a specified number of blades rotating at a specified rate, the fan area is typically not modeled as a physical feature of the fan.
  • FIG. 12 shows an exemplary user interface screenshot 1200 showing a rule for determining a fan area for the fan, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention.
  • the screenshot 1200 shows the part family tree 1210 (with the part family BuildingServicesFan highlighted), a list of all specifications 1220 relating to the BuildingServicesFan part family (with the FanArea specification highlighted), and a window 1230 displaying the rule 1240 for determining the fan area based on the diameter of the fan blade component.
  • the user can establish other rules that utilize this FanArea value.
  • the knowledge management application controls the CAD system through its API to produce a geometric model according to predetermined specifications.
  • the specifications can be incorporated into the rules and/or provided by a user at run time.
  • the CAD model may be produced for display to the user via the graphical user interface, or may be produced solely for the knowledge management application to obtain model-related information from the CAD system.
  • the knowledge management application can control the CAD system to generate a model and then produce a graphical display through the graphical user interface including a graphical representation of the model as generated by the CAD system (e.g., by displaying a display window generated by the computer-aided design system), with or without related information from the knowledge management system.
  • the knowledge management application can control the CAD system to generate a model and then control the CAD system to compute the surface area of a component for a cost estimate to be produced by the knowledge management application.
  • FIG. 13 shows an exemplary user interface screenshot 1300 including an embedded graphical representation of a model generated by the CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention.
  • the screenshot 1300 shows the part family tree 1310 (with the part family BuildingServicesFan highlighted), a list of all specifications 1320 relating to the BuildingServicesFan part family, and a window 1330 including a portion 1340 including a graphical representation of the model generated by the CAD system.
  • the user can specify how information is to be displayed by the knowledge management application. For example, the user can specify that the CAD system window be displayed under some conditions but not others, and can also specify what knowledge management system information to display along with the CAD system window.
  • FIG. 14 shows a first exemplary user interface screenshot 1400 including a sub-window generated by the CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention.
  • the screenshot 1400 displays a function list 1410 , information from the knowledge management system 1430 , and a sub-window 1440 generated by the CAD system including a graphical representation of the model generated by the CAD system and controls for manipulating the model.
  • FIG. 15 shows a second exemplary user interface screenshot 1500 including a sub-window generated by the CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention.
  • the screenshot 1500 displays a function list 1510 , a part family tree 1520 , information from the knowledge management system 1530 , a sub-window 1540 generated by the CAD system including a graphical representation of the model generated by the CAD system and controls for manipulating the model, and properties information 1550 .
  • FIG. 16 shows a third exemplary user interface screenshot 1600 including a full view window generated by the CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention.
  • the screenshot 1600 displays a function list 1610 and a full view window 1630 generated by the CAD system.
  • the user can make rule changes on the fly, and the knowledge management application will control the CAD system to update the model accordingly and will display the updated graphical representation of the model to the user substantially in real time. In this way, the user essentially gets immediate feedback regarding the rule change.
  • changes to a model can be made in the CAD system, and the knowledge management application will identify those changes through interactions with the CAD system and will modify and apply rules accordingly. For example, if the user makes a change in the CAD system that overrides a particular rule, the knowledge management application might cause appropriate tracking information to be stored by the knowledge storage application, create one or more revised rules that reflect the change, and apply other rules to update other components of the model according to the rules.
  • the manner in which the knowledge management application can identify CAD system changes depends to a large degree on the CAD system API. For example, the CAD system might communicate the changes to the knowledge management application, or the knowledge management application might monitor or poll the CAD system for changes.
  • the knowledge management application can cause a particular model part displayed in the CAD system window to be displayed or highlighted when the user is working on rules relating to that part. For example, with reference again to FIG. 13 , if the user selects the Motor part family in the part family tree 1310 , the knowledge management application might cause the motor to be highlighted in the window 1340 , for example, by changing the color of the motor.
  • the knowledge management application can cause information relating to a particular model part to be displayed when the user highlights that part in the CAD system window. For example, with reference again to FIG. 13 , if the user highlights the fan blade component in the CAD window 1340 , the knowledge management application might cause information relating to the fan blade component to be displayed in the window 1330 , with appropriate highlighting in the part family tree 1310 and the list of specifications 1320 .
  • the knowledge management application can interoperate with two-dimensional CAD systems as well as three-dimensional CAD systems.
  • the knowledge management application supports both the two-dimensional CAD system VISIOTM and the three-dimensional CAD system SOLIDWORKSTM.
  • FIG. 17 shows an exemplary user interface screenshot 1700 including a window generated by a two-dimensional CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention.
  • the screenshot 1700 displays a function list 1710 , a part family tree 1720 , a CAD system window 1740 , and properties information 1750 .
  • the knowledge management application can also interoperate with various analysis applications. Typically, the knowledge management application exports information to the analysis application for analysis. The knowledge management application can display analysis information to the user.
  • FIG. 18 shows an exemplary user interface screenshot 1800 including an analysis window, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention.
  • the screenshot 1800 displays a function list 1810 , a part family tree 1820 , a CAD system window 1840 , properties information 1850 , and an analysis window 1860 generated by the analysis application.
  • structures are defined in a CAD system and are associated with a structure class.
  • Rules are defined for the structure class. When one of the structures is selected by the knowledge management system for a computer-aided design model, the rules are applied to the selected structure.
  • These class-based rules make it easier for the user to define rules, since a single rule defined by the user gets applied to an entire class of structures, and therefore the user does not have to define the rule individually for each structure of the structure class.
  • FIG. 21 is a logic flow diagram showing exemplary logic 2100 for class-based rules in accordance with an embodiment of the present invention.
  • structures such as parts for an assembly
  • the structures are associated with a structure class (such as a part family) in a knowledge management system, in block 2106 .
  • At least one rule is defined that applies to the structure class, in block 2108 .
  • the knowledge management system applies the rule(s) to the selected structure, in block 2112 .
  • the logic 2100 ends in block 2199 .
  • the knowledge management application obtains a set of rules from a central database.
  • the set of rules may include rules relating to geometric and non-geometric attributes.
  • the non-geometric attributes may be dependent on geometric attributes.
  • the knowledge management application generates instructions for modeling a geometric structure based on the set of rules.
  • the knowledge management application communicates the instructions to a computer-aided design system, typically through an API of the computer-aided design system.
  • the knowledge management application may produce a graphical display on a graphical user interface including information from the knowledge management system as well as information from the computer-aided design system (such as a graphical representation of a geometric model).
  • FIG. 22 is a logic flow diagram showing exemplary logic 2200 for the knowledge management application in accordance with an embodiment of the present invention.
  • the logic obtains a set of rules from a central database, in block 2204 .
  • the logic generates instructions for modeling a geometric structure based on the set of rules, in block 2206 .
  • the logic communicates the instructions to a computer-aided design system, in block 2208 , typically through an application program interface of the computer-aided design system.
  • the logic may produce a graphical display on a graphical user interface including a first portion including information from the knowledge management application and a second portion including information from the computer-aided design system, in block 2210 .
  • the logic ends in block 2299 .
  • logic flow diagrams are used herein to demonstrate various aspects of the invention, and should not be construed to limit the present invention to any particular logic flow or logic implementation.
  • the described logic may be partitioned into different logic blocks (e.g., programs, modules, functions, or subroutines) without changing the overall results or otherwise departing from the true scope of the invention.
  • logic elements may be added, modified, omitted, performed in a different order, or implemented using different logic constructs (e.g., logic gates, looping primitives, conditional logic, and other logic constructs) without changing the overall results or otherwise departing from the true scope of the invention.
  • the present invention may be embodied in many different forms, including, but in no way limited to, computer program logic for use with a processor (e.g., a microprocessor, microcontroller, digital signal processor, or general purpose computer), programmable logic for use with a programmable logic device (e.g., a Field Programmable Gate Array (FPGA) or other PLD), discrete components, integrated circuitry (e.g., an Application Specific Integrated Circuit (ASIC)), or any other means including any combination thereof.
  • a processor e.g., a microprocessor, microcontroller, digital signal processor, or general purpose computer
  • programmable logic for use with a programmable logic device
  • FPGA Field Programmable Gate Array
  • ASIC Application Specific Integrated Circuit
  • predominantly all of the knowledge management system applications are implemented as a set of computer program instructions that are executed by a computer under the control of an operating system.
  • Source code may include a series of computer program instructions implemented in any of various programming languages (e.g., an object code, an assembly language, or a high-level language such as Fortran, C, C++, JAVA, or HTML) for use with various operating systems or operating environments.
  • the source code may define and use various data structures and communication messages.
  • the source code may be in a computer executable form (e.g., via an interpreter), or the source code may be converted (e.g., via a translator, assembler, or compiler) into a computer executable form.
  • the computer program may be fixed in any form (e.g., source code form, computer executable form, or an intermediate form) either permanently or transitorily in a tangible storage medium, such as a semiconductor memory device (e.g., a RAM, ROM, PROM, EEPROM, or Flash-Programmable RAM), a magnetic memory device (e.g., a diskette or fixed disk), an optical memory device (e.g., a CD-ROM), a PC card (e.g., PCMCIA card), or other memory device.
  • a semiconductor memory device e.g., a RAM, ROM, PROM, EEPROM, or Flash-Programmable RAM
  • a magnetic memory device e.g., a diskette or fixed disk
  • an optical memory device e.g., a CD-ROM
  • PC card e.g., PCMCIA card
  • the computer program may be fixed in any form in a signal that is transmittable to a computer using any of various communication technologies, including, but in no way limited to, analog technologies, digital technologies, optical technologies, wireless technologies (e.g., Bluetooth), networking technologies, and internetworking technologies.
  • the computer program may be distributed in any form as a removable storage medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the communication system (e.g., the Internet or World Wide Web).
  • Hardware logic including programmable logic for use with a programmable logic device
  • implementing all or part of the functionality previously described herein may be designed using traditional manual methods, or may be designed, captured, simulated, or documented electronically using various tools, such as Computer Aided Design (CAD), a hardware description language (e.g., VHDL or AHDL), or a PLD programming language (e.g., PALASM, ABEL, or CUPL).
  • CAD Computer Aided Design
  • a hardware description language e.g., VHDL or AHDL
  • PLD programming language e.g., PALASM, ABEL, or CUPL
  • Programmable logic may be fixed either permanently or transitorily in a tangible storage medium, such as a semiconductor memory device (e.g., a RAM, ROM, PROM, EEPROM, or Flash-Programmable RAM), a magnetic memory device (e.g., a diskette or fixed disk), an optical memory device (e.g., a CD-ROM), or other memory device.
  • a semiconductor memory device e.g., a RAM, ROM, PROM, EEPROM, or Flash-Programmable RAM
  • a magnetic memory device e.g., a diskette or fixed disk
  • an optical memory device e.g., a CD-ROM
  • the programmable logic may be fixed in a signal that is transmittable to a computer using any of various communication technologies, including, but in no way limited to, analog technologies, digital technologies, optical technologies, wireless technologies (e.g., Bluetooth), networking technologies, and internetworking technologies.
  • the programmable logic may be distributed as a removable storage medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the communication system (e.g., the Internet or World Wide Web).
  • printed or electronic documentation e.g., shrink wrapped software
  • a computer system e.g., on system ROM or fixed disk
  • server or electronic bulletin board e.g., the Internet or World Wide Web

Abstract

A knowledge management system captures, stores, manages, and applies rules for modeling geometric objects and related non-geometric attributes. The knowledge management system controls a computer-aided design system for modeling a geometric structure. The knowledge management system includes a knowledge management application in communication with the computer-aided design system through an application program interface. The knowledge management system also includes a central database managed by a knowledge storage application for maintaining rules and other related information. The knowledge management system also includes a knowledge acquisition application for generating rule programs for storage in the central database. The rules can relate to geometric and non-geometric attributes of the model.

Description

    FIELD OF THE INVENTION
  • The present invention relates generally to computer-aided design, and, more particularly, to a knowledge management system for computer-aided design modeling.
  • BACKGROUND OF THE INVENTION
  • Computer-aided design (CAD) systems can be used to produce and manipulate geometric models. CAD systems often include very sophisticated algorithms for producing complex geometric models, manipulating those models, and analyzing the components of those models. For example, a CAD system may be used to model a complex structure having a curved surface, view the structure at various angles, and calculate the surface area of the curved surface and the volume of the structure as a whole. It might be useful to know the surface area of the curved surface, for example, to determine how much paint would be needed to cover the surface. It might be useful to know the volume of the structure, for example, to determine how much material would be needed to produce the structure.
  • While CAD systems can be very powerful modeling tools, they are generally limited to geometric modeling. Thus, CAD systems generally require the user to apply product design rules and practices necessary to produce the model. For example, if the user is required by an employer to use certain practices (such as, for example, always using a certain size bolt to connect two components), then the user must apply those practices to the model. The user is typically also required to make successive changes to a model when changing a component of the model. For example, each time the user changes an attribute of a component (such as, for example, the outside diameter of a component), the user may have to change attributes of one or more other components that connect or otherwise interact with that component, and the effects of these changes may cascade through many components of the model. The user is typically also required to handle non-geometric attributes of the model (such as, for example, component pricing and manufacturing processes). As a result of these limitations, CAD systems can be difficult to use, particularly for casual CAD users (such as engineers, architects, or managerial staff) who may not be proficient with the CAD system but often need to make modifications to drawings or models on an as-needed basis.
  • Knowledge-based engineering (KBE) attempts to combine some level of knowledge management with design automation. Knowledge management typically includes such things as best practices, lessons learned (e.g., from earlier models), common practices (e.g., industry standards, company policies), product design rules, and quality metrics. Knowledge management might be applied to design automation, for example, to reduce the number of parts a company needs to order (e.g., by reusing parts from one model in another model), reduce design time, reduce product cost, and produce higher quality and reliability. KBE functionality is typically implemented within a CAD system or as an add-on to a CAD system (e.g., as a plug-in) so as to provide the CAD system with additional knowledge management capabilities.
  • CAD systems are often used in conjunction with computer-aided engineering (CAE) analysis tools for performing advanced model analysis. CAD systems are also often used in conjunction with product document management (PDM) tools for generating and maintaining product documentation. These CAE and PDM tools can be implemented as stand-alone applications or as add-ons to a CAD system. The KBE functionality may interact with the CAE and PDM tools to gather or provide information.
  • SUMMARY OF THE INVENTION
  • In various embodiments of the present invention, a knowledge management system captures, stores, manages, and applies rules for modeling geometric objects and related non-geometric attributes. The knowledge management system controls a computer-aided design system for modeling a geometric structure, typically through an application program interface of the computer-aided design system. The knowledge management system typically includes a knowledge management application in communication with the computer-aided design system through an application program interface. The knowledge management system typically also includes a central database managed by a knowledge storage application for maintaining rules and other related information. The knowledge management system typically also includes a knowledge acquisition application for generating rule programs for storage in the central database.
  • Rule programs are generated by the knowledge management system based on information that can be provided by a user, imported from the computer-aided design system, or extracted from a product document management application. The rules can relate to both geometric and non-geometric attributes of the model. Non-geometric attributes can be dependent on geometric attributes. Geometric structures can be modeled based on rules relating to non-geometric attributes.
  • In certain embodiments of the present invention there is provided a computer-aided modeling system includes a knowledge management system for managing a set of modeling rules and a computer-aided design system controlled by the knowledge management system. The knowledge management system generates instructions for modeling a geometric structure based on the set of modeling rules and communicates the instructions to the computer-aided design system for generating a model of the geometric structure.
  • The knowledge management system can include a knowledge management application in communication with the computer-aided design system through an application program interface of the computer-aided design system. The knowledge management system can also include a knowledge storage application in communication with the knowledge management application for storing the set of rules in a central database and communicating the set of rules to the knowledge management application. The knowledge management system can also include a knowledge acquisition application in communication with the knowledge storage application for generating the set of rules and communication the set of rules to the knowledge storage application for storage in the central database. The knowledge management system can produce a graphical display on a graphical user interface, including a first portion including information from the knowledge management system and a second portion including information from the computer-aided design system (such as a display window including a graphical representation of the geometric structure, with or without controls for manipulating the graphical representation).
  • In other embodiments of the present invention there is provided a method for computer-aided design modeling involves generating instructions for modeling a geometric structure based on a set of modeling rules and communicating the instructions to a computer-aided design system for generating a model of the geometric structure. In certain embodiments of the present invention, the set of rules are obtained from a central database over a communication network. The computer-aided design system typically includes an application program interface, and the instructions are typically communicated to the computer-aided design system through the application program interface.
  • The method can also involve producing a graphical display on a graphical user interface, including a first portion including information relating to the set of modeling rules and a second portion including information from the computer-aided design system. This may involve directing a window display generated by the computer-aided design system to be displayed on the graphical user interface. The display window can include a graphical representation of the geometric structure, and may also include controls for manipulating the graphical representation of the geometric structure.
  • In other embodiments of the present invention there is provided apparatus for computer-aided design modeling, the apparatus includes a design modeler for generating instructions for modeling a geometric structure based on a set of modeling rules and an interface from the design modeler to a computer-aided design system for communicating the instructions to the computer-aided design system for generating a model of the geometric structure. The apparatus typically also includes an interface from the design modeler to a central database over a communication network for obtaining the set of modeling rules from the central database. The computer-aided design system typically includes an application program interface, and the interface from the design modeler to a computer-aided design system typically complies with the application program interface.
  • In certain embodiments of the present invention, the apparatus includes a graphical user interface. The design modeler can produce a graphical display on the graphical user interface, including a first portion including information from the design modeler and a second portion including information from the computer-aided design system. This may involve the design modeler directing a window display generated by the computer-aided design system to be displayed on the graphical user interface. The display window can include a graphical representation of the geometric structure, and may also include controls for manipulating the graphical representation of the geometric structure.
  • In still other embodiments of the present invention there is provided a computer program for computer-aided design modeling can be embodied in a computer readable medium. The computer program includes means for generating instructions for modeling a geometric structure based on a set of modeling rules and means for communicating the instructions to a computer-aided design system for generating a model of the geometric structure. In certain embodiments of the present invention, the set of rules are obtained from a central database over a communication network. The computer-aided design system typically includes an application program interface, and the instructions are typically communicated to the computer-aided design system through the application program interface.
  • The computer program typically includes means for producing a graphical display on a graphical user interface, including a first portion including information relating to the set of modeling rules and a second portion including information from the computer-aided design system. This may involve directing a window display generated by the computer-aided design system to be displayed on the graphical user interface. The display window can include a graphical representation of the geometric structure, and may also include controls for manipulating the graphical representation of the geometric structure.
  • In other embodiments of the present invention there is provided apparatus for computer-aided design modeling including means for generating instructions for modeling a geometric structure based on a set of modeling rules and means for communicating the instructions to a computer-aided design system for generating a model of the geometric structure.
  • In the various embodiments of the present invention, the set of rules can include rules relating to both geometric and non-geometric attributes. Rules relating to non-geometric attributes can include, for example, a rule for determine a cost of the geometric structure or a rule for defining a process. The set of rules can include rules relating to a class having a plurality of geometric structures. The set of rules can include rules relating to geometric structures defined in the computer-aided design system.
  • Typical embodiments include a three-dimensional computer-aided design system controlled by a knowledge management system, such as the SOLIDWORKS™ three-dimensional computer-aided design system, and may additionally include a two-dimensional computer-aided design system, such as the VISIO™ two-dimensional computer-aided design system.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • In the accompanying drawings:
  • FIG. 1 is a block diagram showing an exemplary modeling system in accordance with an embodiment of the present invention;
  • FIG. 2 is a block diagram showing the relevant components of the knowledge management system in accordance with an embodiment of the present invention;
  • FIG. 3A is a block diagram showing relevant components of the CAD system in accordance with an embodiment of the present invention;
  • FIG. 3B is a block diagram showing the relevant components of a CAD program in accordance with an embodiment of the present invention;
  • FIG. 4 is a block diagram showing an exemplary computer-aided modeling system in accordance with an embodiment of the present invention;
  • FIG. 5 shows an exemplary user interface screenshot for importing information from the CAD system relating to a mounting assembly, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention;
  • FIG. 6 shows an exemplary user interface screenshot for defining a new geometric specification relating to the Mounting part family, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention;
  • FIG. 7 shows an exemplary user interface screenshot displaying information upon entry of the name of a new CAD part file, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention;
  • FIG. 8 shows an exemplary user interface screenshot for defining a geometry feature, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention;
  • FIG. 9 shows an exemplary user interface screenshot showing geometry features (properties) defined for the CAD part file, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention;
  • FIG. 10 shows an exemplary user interface screenshot for defining a mating, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention;
  • FIG. 11 shows an exemplary user interface screenshot showing mating definitions, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention;
  • FIG. 12 shows an exemplary user interface screenshot showing a rule for determining a fan area for the fan, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention;
  • FIG. 13 shows an exemplary user interface screenshot including an embedded graphical representation of a model generated by the CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention;
  • FIG. 14 shows a first exemplary user interface screenshot including a sub-window generated by the CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention;
  • FIG. 15 shows a second exemplary user interface screenshot including a sub-window generated by the CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention;
  • FIG. 16 shows a third exemplary user interface screenshot including a full view window generated by the CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention;
  • FIG. 17 shows an exemplary user interface screenshot including a window generated by a two-dimensional CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention;
  • FIG. 18 shows an exemplary user interface screenshot including an analysis window, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention;
  • FIG. 19 shows the relationship between the user (engineer), knowledge management application, knowledge database, and the integrated systems controlled by the knowledge management application in accordance with an embodiment of the present invention; and
  • FIG. 20 shows the relationship between the knowledge management application and the integrated systems in greater detail;
  • FIG. 21 is a logic flow diagram showing exemplary logic for class-based rules in accordance with an embodiment of the present invention; and
  • FIG. 22 is a logic flow diagram showing exemplary logic for the knowledge management application in accordance with an embodiment of the present invention.
  • DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT
  • For the purpose of the present description, the attachments thereto, and the accompanying claims, the following terms shall have the indicated meanings unless the context otherwise requires:
  • ActiveX Control—A reusable control written in Visual Basic used to create custom user interfaces in nAct.
  • Application—In the context of a model, a unit of deployment that contains one or more top-level parts and its components. In some cases, top-level part families can reference components in other applications.
  • Assembly—A grouping of parts and their subparts. An assembly is the hierarchy of parts that make up something meaningful to the engineers, such as a top-level part or a finished good.
  • Calculated Value—The value that was calculated by the formula that was entered into the rules database. The formula may return a constant, a calculation based on other properties or a value obtained from a customer database.
  • Check In/Check Out —
      • A project cannot be deleted if it contains line items that are checked out to another user.
      • A line item cannot be deleted or edited if it is checked out to another user.
      • A model cannot be edited if the line item is checked out to another user.
      • When a user edits a model that is not checked out to anyone, the corresponding line item automatically becomes checked out to them.
      • Line items can be manually checked in or out by clicking the Check In and Check Out buttons beneath the line item grid or by clicking the corresponding options under the Line Item menu. While editing a model automatically checks out a line item, the check in process must always be done manually.
      • When a line item is checked out, Checked_Out_By column in the LineItem table in the Project database is updated with the user's username. When the line item is checked back in, the column is set to null.
      • Anyone can edit a line item (or its model) if the line item is not checked out to anyone.
  • Child Part Family—A family that inherits properties, subparts and connections from another part family (template part family).
  • Code Generation—The creation of rules into executable source code for use in nAct during run-time. The generated code can also be compiled into a dynamic link library (.DLL) using Visual Basic.
  • Column—In an SQL table, the area in each row that stores the data value for some attribute of the object modeled by the table.
  • Compiled Mode—Editing models in nAct with rules that are compiled into a DLL file using Microsoft Visual Basic 6.0. In a typical embodiment of the invention, compiled rules cannot be seen by the user and cannot be debugged at runtime. (See also Developer Mode)
  • Component—A component is any part or sub-assembly within an assembly.
  • Connection Collection—A conceptual or physical relationship between two or more parts. This differs from a subpart collection in that the two connected parts do not have a parent-child relationship (such as a nut and a bolt).
  • Connection Constraint—The formula used to determine the correct part or parts to be connected at run-time. There is preferably never a connection constraint associated with a connection specification where the same part family owns both.
  • Connection Point—A point in which two schematic shapes can be connected directly or via wire.
  • Connection Spec—The definition of a relationship between two parts at run-time (e.g. a hose and a valve). A connection exists when one part in an assembly needs to reference the properties of another part in an assembly and the user cannot or prefers not to walk up and down the part/subpart hierarchy.
  • Constraint—A formula that indicates how a specification should be computed in the design model.
  • Context—The current location of the part in the tree defined by its parents, grandparents, etc. A part may be used in more than one location in the tree, and each location is considered a different context.
  • Custom Control—A customer-developed ActiveX Control written in Microsoft Visual Basic 6.0 and compiled to an .OCX file. Custom controls are used to create custom interfaces for process steps.
  • Database—A collection of data arranged for ease and speed of search and retrieval. A database also includes an engine which accepts commands from the user to insert, update, delete and select the data. Exemplary embodiments of the invention use Microsoft SQL Server 2000 database to store its data.
  • Decache—Resetting values based on a dependency.
  • Dependency—A property or attribute that is used in the calculation of another formula.
  • Design Time—Using nAct Expert to create part families and specifications (properties, subparts, connections, database constraints, geometry and schematics) and to write formulas for rules. (See also Run Time)
  • Developer Mode—Editing models in nAct with rules running in source code using Microsoft Visual Basic for Applications. The user can see the actual formulas for the rules and can step through and debug them at run time. (See also Compiled Mode)
  • Display Name—This is a property that is used to create a formula-driven name that appears in the run-time application instead of the part family pretty name. (Display Name can be placed on any part family.)
  • Drawing—A Drawing is a 2D representation of a 3D part or assembly.
  • Feature—A geometric attribute of a part (i.e. plane, extrusion, sketch, cut, etc.) whose dimensions can be driven by nAct properties within the model.
  • Follow Part Number—When this flag is set, all parts with the same part number will share the user input value of its properties, subparts or connections.
  • Frame—A component of a process step layout. Each layout contains 1 to 4 frames. Each frame contains 1 of the following user interface elements: dynamically generated form, CAD system, 2D modeler, drawing, report or custom control.
  • Hierarchy—A logical tree structure that organizes the members of a dimension such that each member has one parent member and zero or more child members.
  • IIS—Microsoft Internet Information Services. IIS includes a web server, SMTP (mail) services and FTP (file transfer protocol) services. The RuleStream Enterprise Web tools must be installed on an IIS server. IIS is a component of Microsoft Windows 2000 Server and Microsoft Windows 2003 Server and can be installed from the Windows CD.
  • Index—In a relational database, a database object that provides fast access to data in the rows of a table, based on key values. Indexes can also enforce uniqueness on the rows in a table. SQL Server supports clustered and nonclustered indexes. The primary key of a table is automatically indexed. In full-text search, a full-text index stores information about significant words and their location within a given column.
  • Input Value—A value that is entered by the user in nact during run-time. This takes precedence over any calculated values.
  • Kernel—The knowledge engine that executes rules. It provides the base system functionality for managing the run-time model.
  • Layout—The configuration of the user interface of the model designer window in nAct. Each step in the selected process can have its own unique layout. A layout consists of 1 to 4 frames, and each frame can contain 1 of the following user interface elements: dynamically generated form, CAD system, 2D modeler, drawing, report or custom control.
  • Line Item—A top-level part that is associated with a project. The line item has an associated top-level part family.
  • Local Constraint—A constraint owned the same part family as the associated spec. This is the default formula.
  • Model—An actual design created using nact (the graphical representation of a line item).
  • nAct—The client server tool used to create projects, line items and models.
  • nAnswer—The web-based tool which allows users to query the databases using English like query statements.
  • nExplore—The web-based tool used to view rules and documentation.
  • nPlatform—The project and rules repository.
  • nQuality—The web-based tool for entering and reporting quality data, scoring and risks.
  • Override—The action of a higher-level part within an assembly determining the value for a subordinate part.
  • Owner Part Family—The part family that contains the specification or constraint.
  • Parent Part Family—The part family that owns the subpart collection of which the part is a member.
  • Part—An instance of a part family.
  • Part Family—The definition of a fundamental object in an assembly. This may be a component or a finished good.
  • Process—A defined set of steps. Each top-level part family can have 1 or more processes. The processes that will be used during run time are determined by the line item definition.
  • Process Step—A defined workflow for editing a model during run time. Each process step has a layout that defines its user interface. Process steps are grouped in categories and have a defined order within the process. Each process must have 1 or more process steps.
  • Property Constraint—The formula used to determine the value of a property.
  • Property Specification—The definition of the characteristics of a part family (e.g. height, weight, length).
  • Release—A snapshot of a model and its values.
  • Row—In an SQL table, the collection of elements that form a horizontal line in the table. Each row in the table represents a single occurrence of the object modeled by the table and stores the values for all the attributes of that object.
  • Run Time—Using the nAct Model Designer to edit a model using defined part families, specs and rules. Users design models in run time in Compiled Mode or Developer Mode. (See also Design Time)
  • Schematic—A 2D representation, usually associated with electrical components.
  • Score—A value assigned to rate the effectiveness of the design.
  • Shape—A 2D object within a schematic diagram.
  • Specification—The constituent elements of a part family. Specifications indicate that parts of that type always have certain properties, subpart collections, or connection collections.
  • Step—(see Process Step)
  • Stored Procedure—A precompiled collection of Transact-SQL statements stored under a name and processed as a unit.
  • Subpart Collection—A collection of component parts.
  • Subpart Link Constraint—The formulas used to determine existence, type, quantity and/or names of parts within the collection.
  • Subpart Link Spec—Provides the valid part families that can become components at run-time.
  • Subscription—The ability of one part family to assume the property, subpart or connection definitions and formulas of another part family.
  • Table—A two-dimensional object, consisting of rows and columns, used to store data in a relational database. Each table stores information about one of the types of objects modeled by the database.
  • Template Part Family—The part family from which a child part family inherits its characteristics.
  • UDF (User Defined Fields)—Customizable columns on the project table. There are four UDF columns available.
  • Unit—A unit of measure for a numeric property value. Like units are grouped in unit categories. The unit category “Length” may include units such as “feet”, “meters”, “inches” or “millimeters”.
  • VB—Microsoft Visual Basic 6.0. In exemplary embodiments of the invention, Visual Basic is the language used to create custom controls for use in process steps and to create compiled versions of rules (application DLLs).
  • VBA—Microsoft Visual Basic for Applications.
  • View—A database object that can be referenced the same way as a table in SQL statements. Views are defined using a SELECT statement and are analogous to an object that contains the result set of this statement.
  • Wire—A line or connector used when two connected objects are not coincidental.
  • In embodiments of the present invention, a knowledge management system captures, stores, manages, and applies rules for modeling geometric objects and related non-geometric attributes. The knowledge management system preferably supports rules relating to geometric attributes that can be represented and manipulated by a CAD system as well as rules relating to various other attributes that generally cannot be represented and manipulated by the CAD system, such as certain “negative” geometric attributes (e.g., a specification for producing a hole in a component or for removing material from a component so as to form a feature of that component), certain geometry-based attributes that are not modeled as physical features of a structure or assembly, and non-geometric attributes (e.g., pricing, processes, component relationships, component classes, user intentions, and abstractions). The rules are typically stored in a central database so that the rules can be manipulated independently of any modeling. The rules can be derived from various sources, including general engineering principles, user-provided information, and information obtained from a PDM system. The knowledge management system can tracks rule changes over time, and can apply a particular version of the rules to a model. The knowledge management system defines the components and parameters for a particular model based on the rules being applied. The knowledge management system can incorporate predefined components (such as components created in a CAD system) or dynamically defined components into the model.
  • The knowledge management system is generally independent of the CAD system, although the knowledge management system can interface with a CAD system for, among other things, importing/integrating component specifications from the CAD system for use in modeling, instructing the CAD system to produce a geometric model incorporating the components and parameters defined by the knowledge management system, and obtaining geometric information relating to a model (e.g., sizes, surface areas, volumes) for use by the knowledge management system (e.g., for computing the cost of a component based on its volume according to pricing rules provided by a user). A geometric model produced by the CAD system can be viewed and manipulated as usual using the CAD system, although it is preferable for any and all changes to the model to be coordinated through the knowledge management system so that the appropriate rules can be applied to the changes.
  • In certain embodiments of the present invention, the knowledge management system interfaces with the CAD system through an application program interface (API) of the CAD system. Specifically, the CAD system includes an API through which certain functions of the CAD system can be performed. The CAD system API is typically used for such things as macros (i.e., programs that perform a series of function steps for the user) and add-ons (i.e., programs that add functionality to the CAD system). In embodiments of the present invention, however, the knowledge management system uses the API to control the CAD system such that the CAD system runs only when activated by the knowledge management system. The knowledge management system typically activates the CAD system for such things as displaying a model to the user and obtaining geometric information relating to model components.
  • FIG. 1 is a block diagram showing an exemplary modeling system 100 in accordance with an embodiment of the present invention. Among other things, the modeling system 100 includes a knowledge management system 110 in communication with a CAD system 120. The knowledge management system 110 controls the CAD system 120, specifically by generating instructions for modeling a geometric structure based on a set of modeling rules and communicating the instructions to the computer-aided design system 120 for generating a model of the geometric structure. The knowledge management system 110 can also interface with a CAE application 130 for analysis and with a PDM application 140 for product document management.
  • FIG. 2 is a block diagram showing the relevant components of the knowledge management system 110 in accordance with an embodiment of the present invention. Among other things, the knowledge management system 110 includes a knowledge acquisition application 210 for capturing and generating rules, a knowledge storage application 220 for storing rules and models in a central database 240, and a knowledge management application 230 for generating models based on the rules. Among other things, the knowledge acquisition application 210 generates rule programs based on information obtained from a user and communicates the rule programs to the knowledge storage application 220 for storage in the central database 240. The knowledge management application 230 obtains rule programs from the knowledge storage application 220 and applies the rule programs for building a model. The knowledge management application 230 may communicate model information to the knowledge storage application 220 for storage in the central database 240.
  • More specifically, the knowledge acquisition application 210 captures modeling rules and generates rule programs for storage by the knowledge storage application 220. The knowledge acquisition application 210 interacts with a user through a user interface through which the user enters information regarding components, design processes, engineering and manufacturing rules, and customer and marketing requirements. The knowledge acquisition application 210 generates rule programs from the user information, and sends the rule programs to the knowledge storage application 220 for storage. The knowledge acquisition application 210 allows rules to be modified quickly and easily.
  • The knowledge storage application 220 stores modeling information in a relational database, including, among other things, rule programs generated by the knowledge acquisition application 210 and models generated by the knowledge management application 230. The knowledge storage application 220 also tracks revision histories, design status, and user group security. Multiple revisions of a rule can be stored so that a particular version of a rule can be applied to a model while another version of the rule is being created or modified. A design can be modeled using an earlier version of a rule if desired.
  • The knowledge management application 230 applies rules to create detailed computer models. The knowledge management application 230 can model two-dimensional schematics or three-dimensional geometries. The knowledge management application 230 can also model a bill of materials for the components of an assembly. The knowledge management application 230 can automatically update a previously completed model under revised or new rules. In this way, models can be generated by manipulating the rules through the knowledge management system rather than manipulating the model itself through the computer-aided design system.
  • FIG. 3A is a block diagram showing relevant components of the CAD system 120 in accordance with an embodiment of the present invention. Among other things, the CAD system 120 includes a 3D CAD program 301, such as such as SOLIDWORKS™from SolidWorks Corporation, 300 Baker Avenue, Concord, Mass. 01742, and may also include a 2D CAD program 302, such as VISIO™ from Microsoft Corporation. Each of the CAD programs has its own API through which it interacts with the knowledge management application. FIG. 3B is a block diagram showing the relevant components of a CAD program, such as the 3D CAD program 301 or the 2D CAD program 302, in accordance with an embodiment of the present invention. Among other things, the CAD program includes a CAD application 320 having an API 310 through which certain functions of the CAD application 320 can be controlled. The interactions between the knowledge management application and different CAD systems depend to a large degree on the CAD system API. The SOLIDWORKS™ three-dimensional CAD program has an internal macro/recording language and also supports an application programming interface language that is accessible through an OLE (Object Linking and Embedding) interface with support for VISUAL BASIC™ and VISUAL C++™. In an exemplary embodiment of the present invention, the knowledge management application is substantially reactive to the VISIO™ two-dimensional CAD system, while the knowledge management application actively controls the SOLIDWORKS™ three-dimensional CAD system. Thus, support for each particular CAD system generally requires some level of integration by the knowledge management application to work with the specific functions and API of the CAD program.
  • In certain embodiments of the present invention, the various functions of the knowledge management system 110 are divided among different devices that communicate over a communication network, such as the public Internet or public or private intranets. In an exemplary embodiment of the present invention, knowledge storage functions reside in one or more storage servers that incorporate the knowledge storage application 220 and central database 240, while knowledge acquisition and management functions reside in user workstations (such as personal computers) or terminals that incorporate the knowledge acquisition application 210, the knowledge management application 230, and the CAD system 120. The user workstations or terminals typically include a user interface for interacting with a user and a network interface for communicating with the storage server over a communication network.
  • FIG. 4 is a block diagram showing an exemplary computer-aided modeling system in accordance with an embodiment of the present invention. Among other things, the system 400 includes one or more user workstations 410 in communication with one or more storage servers 430 over a communication network 420. The workstation 410 incorporates the knowledge acquisition application 210, the knowledge management application 230, and the CAD system 120, and also includes a user interface for interacting with the user and a network interface for communicating over the communication network 420 with the storage server(s) 430. The user interface 411 is typically a graphical user interface that provides for both displaying information to the user and receiving inputs from the user. The storage server 430 incorporates the knowledge storage application 220 and the central database 240, and also includes a network interface 431 for communicating over the communication network 420 with the user workstation(s) 410.
  • Within the user workstation 410, the knowledge acquisition application 210 and the knowledge management application 230 interact with the user through the user interface 411, and also interact with the knowledge storage application 220 in the storage server 430 through the network interface 412 using a client-server paradigm. The knowledge management application 230 also controls the CAD system 120 through an API of the CAD system 120. The user workstation 410 is typically a general-purpose computer, and the knowledge acquisition application 210, the knowledge management application 230, and the CAD system 120 are typically software programs that run on the general-purpose computer.
  • Within the storage server 430, the knowledge storage application 220 interacts with the central database 240 through a database interface (not shown), and interacts with the knowledge acquisition application 210 and the knowledge management application 230 in the user workstation 410 through the network interface 431. The storage server 430 is typically a general-purpose computer, and the knowledge storage application 220 is typically a software program that runs on the general-purpose computer. The central database 240 is typically a relational database.
  • FIG. 19 shows the relationship between the user (engineer) 1910, knowledge management application 1920, knowledge database 1930, and the integrated systems 1940 controlled by the knowledge management application 1920, including CAD system(s) and possibly also a CAE application, a PDM application, and a component databases. The knowledge management application 1920 extracts rules for design automation from the knowledge database 1930. The knowledge management application 1920 may also receive specifications, rules, and other information relating to modeling. A product control modeler element of the knowledge management application 1920 interacts with the integrated applications as necessary for modeling, analysis, product document management, and component selection. Information generated by the knowledge management application 1920, such as runtime rule authoring and trend analysis, may be stored in the knowledge database 1930.
  • FIG. 20 shows the relationship between the knowledge management application and the integrated systems in greater detail. The knowledge management application 1920 interacts with the CAD system 2010 for modeling such things as features, mating conditions, surface area, volume, and mass properties. The knowledge management application 1920 interacts with the CAE analysis application 2020 for such things as stress, thermal, kinematics, and loads analysis. The knowledge management application 1920 interacts with the PDM application 2030 to generate and utilize such things as files, structure, workflow, and bill of materials (BOM). The knowledge management application 1920 interacts with component databases 2040 for such things as part numbers, standards, inventory, and pricing.
  • In typical embodiments of the present invention, a model may include multiple geometric components. Each component can be associated with both geometric attributes and non-geometric attributes. Rules can be established for defining relationships between components without necessarily defining that actual parameters of the relationship (such as, for example, a rule that a fan blade assembly must mate with a motor shaft, without necessarily defining the shape or size of the shaft which might affect the type of mating). Components can be organized into classes (such as, for example, three possible motors for a fan assembly can be organized into a “motors” class), and rules can be established for the class as a whole such that the rules are applied to whatever class member is selected for inclusion in a particular model (such as, for example, a generic rule that any of the class of motors must mate with a fan blade component). Rules can be established for selecting a particular member of a class for a particular model (such as, for example, a rule for selecting a particular motor based on the amount of power or the rotational speed required for a model, or a rule for selecting the number of fan blades for the fan blade component based on the volume of air to be moved and other parameters such as the motor selected and the diameter of the fan blade component). Rules relating to “negative” attributes can be defined (such as, for example, a rule that a motor frame must include a hole in a particular location for bolting the motor frame to a chassis) and applied to a model component as a library feature. Rules relating to various non-geometric attributes can be established (such as, for example, rules for deriving manufacturing processes based on the components incorporated into a selected model, or rules for estimating component, sub-assembly, product, and manufacturing costs).
  • One particular implementation of a knowledge management application in accordance with an embodiment of the present invention is described in Attachment I (consisting of numbered pages 1-91) and in Attachment II (consisting of numbered pages 1-113), each of which is hereby incorporated herein by reference in its entirety. Within these attachments, the knowledge management system may be referred to generally as “Rulestream” or “Navion,” the knowledge management application may be referred to as “nAct” or “nAct Engineer,” the knowledge acquisition application may be referred to as “nAct Expert,” and the knowledge storage application may be referred to as “nPlatform.” In Attachment II, edit rules relating to “Geometry Specification” and “Geometry Constraint” generally relate to the SOLIDWORKS™ three-dimensional CAD system, while edit rules relating to “2DSchematic Specification” generally relate to the VISIO™ two-dimensional CAD system.
  • As discussed above, the knowledge management application controls the CAD system through a CAD system API. While the actual CAD functions that can be performed through the API are substantially limited by the API (and are subject to change by the CAD system provider), the specific API functions used and the manner in which the API functions are used are determined by the knowledge management application for performing specific knowledge management operations. In an exemplary embodiment of the present invention, the knowledge management application controls the SOLIDWORKS™ three-dimensional CAD system through its API. In order to control the CAD system, the knowledge management application typically performs such operations as starting SOLIDWORKS™, opening a part file, opening an assembly file, mating a component, deleting a mate, fixing a component, removing a part or assembly, suppressing a component, hiding/showing a component, suppressing a feature, inserting a library feature, removing a library feature, setting a part dimension, setting an assembly dimension, creating a component pattern, removing a component pattern, creating a feature pattern, removing a point in a sketch, removing a feature pattern, setting a custom property, setting component color, and closing SOLIDWORKS™. This is not meant as an exhaustive list, and the knowledge management application can perform other operations as needed. Exemplary API calls and settings for performing the above operations in an exemplary embodiment of the invention are described below.
  • Starting SOLIDWORKS™ may involve use of the following API functions:
      • Set SW=New SldWorks.SldWorks
      • SW.UserControl=False
      • Set Assembly=SW.OpenDoc6(strFilename, swDocPART,
        • swOpenDocOptions_Silent, “ ”, lngErr, lngMess)
  • The following SOLIDWORKS™ settings may be used:
      • swMateAnimationSpeed=0
      • swLargeAsmModeAutoActivate=swResponseNever
      • swPerformanceAssemRebuildOnLoad=swResponseAlways
      • swLoadExternalReferences=swResponseNever
      • swAutoSaveInterval=0
      • swBackupCopiesPerDocument=0
      • swShowErrorsEveryRebuild=False
      • swMaximizeDocumentOnOpen=True
      • swSnapToPoints=False
      • swLargeAsmModeAutoLoadLightweight=False
      • swLargeAsmModeUpdateMassPropsOnSave=False
      • swLargeAsmModeAutoRecover=False
      • swAutoLoadPartsLightweight=False
      • swPerformanceVerifyOnRebuild=False
      • swEnablePerformanceEmail=False
      • swUseFolderSearchRules=False
      • swExtRefUpdateCompNames=True
      • swFeatureManagerEnsureVisible=False
  • Opening a part file typically involves opening the part file, adding the part file as a component to a parent assembly, closing the part file, and rebuilding the top level assembly. The following API functions may be used:
      • Set objDoc=SW.OpenDoc6(strFilename, swDocPART, swOpenDocOptions_Silent, “ ”, lngErr, lngMess)
      • Assembly.AddComponent2(strFilename, 0, 0, 0)
      • SW.CloseDoc objDoc.GetTitle
      • Assembly.EditRebuild3
  • Opening an assembly file typically involves opening the part file, adding the part file as a component to a parent assembly, closing the part file, and rebuilding the top level assembly. If assembly dimensions are driven by the knowledge management application, then all components are typically renamed to ensure uniqueness. The following API functions may be used:
      • Set objDoc=SW.OpenDoc6(strFilename, swDocPART, swOpenDocOptions_Silent, “ ”, lngErr, lngMess)
      • Set objconfiguration=objDoc.GetActiveConfigurationO
      • Set obj Component=objConfiguration.GetRootComponent( )
      • objComponent.GetChildren
      • Set objChildDoc=objChild.GetModelDoc objChildDoc.SaveAs4 strNewFileName swSaveAsCurrentVersion, swSaveAsOptions_Silent, lngErr, lngWarnings
      • SWAssembly.AddComponent2(strFilename, 0, 0, 0)
      • SW.CloseDoc objDoc.GetTitle
      • SWAssembly.EditRebuild3
  • Mating a component typically involves putting the parent assembly in “edit” mode, selecting the features to mate, adding the mate, and rebuilding the assembly. The mate name is then found and noted by the knowledge management application in the case where a dependent property is changed and the mating is effected. The following API functions may be used:
      • ObjParentComponent.Select False
      • Assembly.EditAssembly
  • Selecting Plane, Axis, or Point
      • Assembly.SelectByID strFeatureName, strFeatureType, 0, 0, 0 (also used, strFeatureName & “@,” & strComponentPath, and “Point1@” & strFeatureName) Selecting Face or Edge (loop through Faces, or Faces and Edges to find name match)
      • objComponent.GetBody( ), objBody.GetFirstFaceo,
        • objBody.GetNextFace( ), objFace.GetEdges,
        • Assembly.GetEntityName(obj)
      • Assembly.AddMate lngMateType, lngAlignType, boolFlip, dblDist, dblAngle
      • Assembly.EditRebuild3
  • Finding the Mate created (find the MateGroup, move to the last SubFeature)
      • Assembly.FeatureByPositionReverse(i)
      • objFeature.GetTypeName=“MateGroup”
      • objMateGroup.GetFirstSubFeature
      • objMate.GetNextSubFeatureO
  • Deleting a mate typically involves selecting the mate using the parent assembly's model document and deleting the selection. The following API functions may be used:
      • Assembly.SelectByID strMateName, “MATE”, 0, 0, 0
      • Assembly.DeleteSelection False
      • Assembly.EditRebuild3
  • Fixing a component typically involves setting the component transform, selecting the component, and fixing the component. The following API functions may be used:
      • objComponent.GetXform
      • objComponent.SetXform (varXForm)
      • objComponent.Select False
      • Assembly.FixComponent
      • Assembly.EditRebuild3
  • Removing a part or assembly typically involves selecting the parent assembly, putting the parent assembly in “edit” mode, selecting the component, and deleting the selection. The following API functions may be used:
      • objParentComp.Select False
      • Assembly.EditAssembly
      • objComponent.Select False
      • Assembly.DeleteSelection False
      • Assembly.ClearSelection
      • Assembly.EditAssembly
      • Assembly.EditRebuild3
  • Suppressing a component typically involves checking the suppression state of the component and setting the suppression state, if suppressing the document is saved. The following API functions may be used:
      • objComponent.IsSuppressed
      • Set oModelDoc=objComponent.GetModelDoc
      • oModelDoc.Save3 swSaveAsOptions_Silent, lngErr, lngwarnings
      • objComponent.Select False
      • Assembly.EditSuppress2 or Assembly.EditUnSuppress2
      • Assembly.EditRebuild3
  • Hiding or showing a component typically involves setting the hidden state appropriately. The following API functions may be used:
      • objComponent.IsHidden(False)
      • objComponent.Select False
      • Assembly.ShowComponent2, Assembly.HideComponent2
      • Assembly.EditRebuild3
  • Suppressing a feature typically involves traversing the model documents to find the named feature and setting its suppression state accordingly. The following API functions may be used:
      • objModelDoc.FirstFeature
      • objFeature.Name( )
      • objFeature.GetNextFeature( )
      • objFeature.IsSuppressed
      • objFeature.SetSuppression 0
      • objFeature.SetSuppression 2
  • Inserting a library feature typically involves selecting the component to receive the feature, putting the component in “edit” mode, selecting the references required for insertion, and inserting the library feature. The new feature and its sub-features are typically renamed. The following API functions may be used:
      • objParentComponent.Select2 False, 0
      • Assembly.EditPart2 True, True, lngErr
      • obj.Select2 True, intMark (Traverse features and select for Edges and Faces)
      • Assembly.AndSelectByMark(strFeatureName & “@” & strComponentPath, strFeatureType, 0, 0, 0, intMark) (Plane, Point, or Axis)
      • Assembly.InsertLibraryFeature(strFileName)
      • Assembly.SelectedFeatureProperties 0, 0, 0, 0, 0, 0, 0, 1, 0, strNewName)
      • objFeature.GetFirstSubFeature, subFeature.Name( ),
        • subFeature.GetNextFeature( )
      • Assembly.EditAssembly
      • Assembly.EditRebuild3
  • Removing a library feature typically involves selecting component owning the feature, putting the component in “edit” mode, selecting the feature, and deleting the feature using the context of the top level assembly. The following API functions may be used:
      • objComponent.Select2 False, 0
      • Assembly.EditPart2 True, True, lngErr
      • Assembly.ClearSelection
      • Assembly.SelectByID strFeatureName & “@” & objComponentPath,
        • “BODYFEATURE”, 0, 0, 0
      • Assembly.DeleteSelection False
      • Assembly.EditAssembly
      • Assembly.EditRebuild3
  • Setting a part dimension typically involves setting the read-only status of the dimension to false, setting the system value for the dimension, and resetting the read-only status of the dimension to true (this is because all dimensions controlled by the knowledge management application are preferably maintained as read-only to prevent modification through the CAD system). A dimension is typically references by a string (e.g. D1@Sketch1). The following API functions may be used:
      • objDoc.Parameter(strDimension).ReadOnly=False
      • objDoc.Parameter(strDimension).SystemValue=varValue
      • objDoc.Parameter(strDimension).ReadOnly=True
  • Setting an assembly dimension typically involves all of the steps for setting an assembly dimension, except Parameter is additionally checked for existence on the components. The following API functions may be used:
      • objDoc.Parameter(strDimension & “@” & strComponent).ReadOnly=False
      • objDoc.Parameter(strDimension & “@” & strComponent).SystemValue=varValue
      • objDoc.Parameter(strDimension & “@” & strComponent).ReadOnly=True OR
      • objDoc.Parameter(strDimension & “@” & strComponent & “.Part”).ReadOnly=False
      • objDoc.Parameter(strDimension & “@” & strComponent & “.Part”).SystemValue=varValue
      • objDoc.Parameter(strDimension & “@” & strComponent & “.Part”).ReadOnly=True OR
      • objDoc.Parameter(strDimension & “@” & strComponent & “.Assembly”).ReadOnly=False
      • objDoc.Parameter(strDimension & “@” & strComponent & “.Assembly”).SystemValue=varValue
      • objDoc.Parameter(strDimension & “@” & strComponent & “.Assembly”).ReadOnly=True
  • Creating a component pattern typically involves selecting the parent assembly, putting the parent assembly in “edit” mode, selecting the component and the feature pattern, and inserting the feature pattern. The Derived Pattern is typically renamed by traversing the parent assembly and finding the Derived Pattern using the seed component. The following API functions may be used:
      • objComponent.Select False
      • Assembly.EditAssembly
      • Assembly.ClearSelection
      • Assembly.SelectByID strComponentPath, “COMPONENT”, 0, 0, 0
      • Assembly.AndSelectByID strPatternName & “@” & strComponentPath2, “BODYFEATURE”, 0, 0, 0
      • Assembly.InsertDerivedPattern
      • Set objFeature=objDoc.FirstFeature
      • objFeature.GetTypeName=“DerivedSketchPattern”
      • arrSeed=def.SeedComponentArray( )
      • arrSeed(i).Name
      • def.ReleaseSelectionAccess
      • Set objFeature=objFeature.GetNextFeature
  • Removing a component pattern typically involves selecting the Derived Pattern from the parent model document and deleting the selection. In some models, the referenced configuration may need to be reset to prevent future selections from failing on this part. The following API functions may be used:
      • oParentDoc.ClearSelection
      • oParentDoc.SelectByID strPatternName, “COMPPATTERN”, 0, 0, 0
      • oParentDoc.DeleteSelection False
      • oParentComponent.ReferencedConfiguration=
      • Assembly.EditRebuild3
  • The knowledge management application typically requires a part for each feature in the pattern, and maintains a property containing the X and Y coordinates for each feature. In order to create a feature pattern, the is activated and is used to select the Sketch Pattern. A point for each component required is created, it's identifier is stored, the Sketch is inserted, and the document rebuilt. The Sketch and Feature are selected and a Pattern is created. The Sketch Pattern is then found and renamed by traversing the Document and finding the Pattern using the seed feature. The following API functions may be used:
      • SW.ActivateDoc2 objDoc.GetTitle, True, lngErr
      • objDoc.ClearSelection
      • objDoc.SelectByID strSketchName, “SKETCH”, 0, 0, 0
      • objDoc.SetAddToDB True
      • objDoc.EditSketch
      • Set oPoint=objDoc.CreatePoint2(lngX, lngY, 0)
      • arrPointID=oPoint.GetId( )
      • objDoc.InsertSketch
      • objDoc.EditRebuild3
      • objDoc.SelectByID strSketch, “SKETCH”, 0, 0, 0
      • objDoc.AndSelectByID strFeature, “BODYFEATURE”, 0, 0, 0
      • objDoc.ActivateSelectedFeature
      • objDoc.FeatureSketchDrivenPattern 1
      • Set objFeature=objDoc.FirstFeature
      • objFeature.GetTypeName=“SketchPattern”
      • arrSeed=def.PatternFeatureArray( )
      • Set subFeature=arrSeed(i)
      • objModelDoc.GetEntityName(subFeature)=strSeedName
      • def.ReleaseSelectionAccess
      • Set objFeature=objFeature.GetNextFeature
      • SW.ActivateDoc2 Assembly.GetTitle, True, lngErr
      • SW.CloseDoc objDoc.GetTitle
  • Removing a point in a sketch typically involves opening the document containing the sketch, putting the sketch in “edit” mode, traversing the sketch points to find the point with the corresponding identifier, selecting the point, and deleting the selected point. The following API functions may be used:
      • SW.ActivateDoc2 objDoc.GetTitle, True, lngErr
      • objDoc.ClearSelection
      • objDoc.SelectByID strSketchName, “SKETCH”, 0, 0, 0
      • objDoc.EditSketch
      • Set oSketch=objModelDoc.GetActiveSketch2( )
      • arrPoints=oSketch.GetSketchPoints
      • arrID=arrPoints(i).GetId
      • arrPoints(i).Select2 False, 0
      • objDoc.DeleteSelection False
      • objDoc.InsertSketch
      • objDoc.EditRebuild3
      • SW.ActivateDoc2 Assembly.GetTitle, True, lngErr
      • SW.CloseDoc objDoc.GetTitle
  • Removing a feature pattern typically involves selecting the derived pattern from the parent model document and deleting the selected derived pattern. The following API functions may be used:
      • oParentDoc.ClearSelection
      • oParentDoc.SelectByID strPatternName, “BODYFEATURE”, 0, 0, 0
      • oParentDoc.DeleteSelection False
      • Assembly.EditRebuild3
  • Setting a custom property typically involves verifying the value and setting the value if necessary. The following API functions may be used:
      • objDoc.GetCustominfoValue(“ ”, strName) ovarArgument
      • objDoc.CustomInfo2(“ ”, strName)=varArgument
      • Assembly.EditRebuild 3
  • Setting a component color typically involves retrieving the MaterialPropertyValues for the component from the component or the model document, changing the first three elements in the array to reflect the new color, and setting the new MaterialPropertyValues on the component. If the color is being removed, the RemoveMaterialProperty is called. The following API functions may be used:
      • arr=objComponent.MaterialPropertyValues( )
      • arr=objComponent.GetModelDoc.MaterialPropertyValues( )
      • objComponent.MaterialPropertyValues=arr
      • Assembly.EditRebuild 3
      • objComponent.RemoveMaterialProperty
  • Closing SOLIDWORKS™ typically involves closing the top level assembly (which is typically the only one open at this point) and calling the Exit App API function.
  • The following API functions may be used:
      • SW.QuitDoc strTitle
      • SW.ExitApp
  • Various aspects of an exemplary embodiment of the present invention are described hereinafter with reference to modeling a fan. In accordance with an embodiment of the present invention, a fan includes various sub-parts, including a fan assembly, a housing assembly, a motor assembly, and a mounting assembly. Certain components of the fan might have fixed characteristics. For example, a company might purchase three different motors that can be used in a fan, and these motors have fixed dimensions that cannot be changed in the model. CAD models of the motors may be created in the CAD system and imported into the knowledge management application for storage by the knowledge storage application. Other components of the fan might have characteristics that can be determined dynamically during modeling. For example, the dimensions of a fan hub might depend on the motor selected for the model. Models of these components might be created in the CAD system and imported into the knowledge management application, or rules for defining these components might be established. For purposes of the following example, the CAD system is presumed to be the SOLIDWORKS™ three-dimensional CAD system.
  • FIG. 5 shows an exemplary user interface screenshot 500 for importing information from the CAD system relating to a mounting assembly, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention. The screenshot 500 displays, among other things, a hierarchical part family tree 510 showing that a BuildingServicesFan part family includes sub-parts entitled FanAssembly, HousingAssembly, MotorAssembly, and MountingAssembly, with the sub-parts having their own part families entitled Rotor, Housing, Motor, and Mounting, respectively. The screenshot 500 shows information relating to the MountingAssembly sub-part (as indicated by the MountingAssembly sub-part being highlighted in the part family tree 510), including a list of all specifications 520 relating to the MountingAssembly sub-part and a window 530 for entering information about the MountingAssembly sub-part. The screenshot 500 also includes a toolbar 540 from which various functions of the knowledge management application (such as creating a new part family, sub-part, property, connection, or CAD specification) can be accessed using either pull-down menus or icons. The window 530 includes a portion 531 showing that there is a single valid part family entitled Mounting associated with the MountingAssembly sub-part. It should be noted that there could be multiple part families associated with the MountingAssembly sub-part, and all valid part families would be displayed in the portion 531. The window 530 also includes a portion 532 for defining a rule to determine the optimal part family for a particular model (in this case, the optimal part family is the Mounting part family by default).
  • In order to associate a mounting component defined in the CAD system with the Mounting part family, the user might highlight “Mounting” in the part family tree 510 and then select a function from the toolbar 540 to create a new geometric specification (this function can be accessed from either the File menu or an icon on the toolbar). FIG. 6 shows an exemplary user interface screenshot 600 for defining a new geometric specification relating to the Mounting part family, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention. The screenshot 600 shows information relating to the Mounting part family of the MountingAssembly sub-part (as indicated by the Mounting part family being highlighted in the part family tree 610), including a list of all specifications 620 relating to the Mounting part family and a window 630 for entering the new geometric specification for the Mounting part family. The window 630 shows the geometry type 631 (in this case, “SolidWorks”) and a list of valid CAD part files 632 associated with the Mounting part family (in this case, none have yet been specified).
  • In order to associate a CAD part file with the Mounting part family, the user might select the “add part file” control 633 and enter the name of a CAD part file, in which case the knowledge management application imports from the CAD system information relating to the specified CAD part file. The knowledge management application preferably displays a list of parameters defined for the part in the CAD part file. FIG. 7 shows an exemplary user interface screenshot 700 displaying information upon entry of the name of a new CAD part file, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention. The screenshot 700 shows the part family tree 710, a list of all specifications 720 relating to the Mounting part family, a window 730 showing the new valid part file (Mounting-Aero.SLDPR), and a window 740 displaying a list of parameters defined for the part in the CAD part file.
  • Once the CAD part file has been associated with the Mounting part family, the user typically defines various geometry features and associates the geometry features with specific CAD parts. In order to define a geometry feature and associate the geometry feature with one or more specific CAD parts, the user might select a function from the toolbar 750 to create a new geometry feature (this function can be accessed from either the File menu or an icon on the toolbar). FIG. 8 shows an exemplary user interface screenshot 800 for defining a geometry feature, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention. The screenshot 800 includes a window 840 for defining a geometry feature and associating the geometry feature with one or more specific CAD parts. In this case, a geometry feature having a display name 842 HubDiameter and a system name HubDiameter 843 is associated with a corresponding CAD part entitled HubDiameter by specifying a formula in portion 844.
  • FIG. 9 shows an exemplary user interface screenshot 900 showing geometry features (properties) defined for the CAD part file, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention. The screenshot 900 shows the part family tree 910, a list of all specifications 920 relating to the Mounting part family, and a window 930 including a properties portion 931 showing the geometry features associated with specific CAD parts (in this case, a HubDiameter geometry feature and a MountingDiameter geometry feature).
  • After the geometry features have been defined and associated with corresponding CAD parts, the user typically defines any mating rules associated with the CAD parts file. In order to define a mating, the user may select a function from the toolbar 950 (this function can be accessed from either the File menu or an icon on the toolbar). FIG. 10 shows an exemplary user interface screenshot 1000 for defining a mating, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention. The screenshot 1000 shows the part family tree 1010, a list of all specifications 1020 relating to the Mounting part family, a part file window 1030, and a window 1040 for entering mating information.
  • FIG. 11 shows an exemplary user interface screenshot 1100 showing mating definitions, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention. The screenshot 1100 shows the part family tree 1110, a list of all specifications 1120 relating to the Mounting part family, and a window 1130 displaying various mating (orientation) definitions 1131 for the CAD part.
  • As discussed above, the user can establish rules for attributes that may be difficult or impossible to model in the CAD system, including certain geometric attributes (such as “negative” attributes), certain geometry-based attributes that are not modeled as physical features of a structure or assembly, and non-geometric attributes (such as pricing and processes). For example, continuing with the fan modeling scenario above, it might be useful to establish a rule for computing a non-modeled geometry-based attribute, such as area covered by the sweep of the fan blade component when rotating. While this fan area might be useful, for example, for computing the volume of air moved by a fan blade component having a specified number of blades rotating at a specified rate, the fan area is typically not modeled as a physical feature of the fan. FIG. 12 shows an exemplary user interface screenshot 1200 showing a rule for determining a fan area for the fan, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention. The screenshot 1200 shows the part family tree 1210 (with the part family BuildingServicesFan highlighted), a list of all specifications 1220 relating to the BuildingServicesFan part family (with the FanArea specification highlighted), and a window 1230 displaying the rule 1240 for determining the fan area based on the diameter of the fan blade component. The user can establish other rules that utilize this FanArea value.
  • After component information has been imported from the CAD system and modeling rules have been established, the knowledge management application controls the CAD system through its API to produce a geometric model according to predetermined specifications. The specifications can be incorporated into the rules and/or provided by a user at run time. The CAD model may be produced for display to the user via the graphical user interface, or may be produced solely for the knowledge management application to obtain model-related information from the CAD system. As an example of the former, the knowledge management application can control the CAD system to generate a model and then produce a graphical display through the graphical user interface including a graphical representation of the model as generated by the CAD system (e.g., by displaying a display window generated by the computer-aided design system), with or without related information from the knowledge management system. As an example of the latter, the knowledge management application can control the CAD system to generate a model and then control the CAD system to compute the surface area of a component for a cost estimate to be produced by the knowledge management application.
  • FIG. 13 shows an exemplary user interface screenshot 1300 including an embedded graphical representation of a model generated by the CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention. The screenshot 1300 shows the part family tree 1310 (with the part family BuildingServicesFan highlighted), a list of all specifications 1320 relating to the BuildingServicesFan part family, and a window 1330 including a portion 1340 including a graphical representation of the model generated by the CAD system.
  • The user can specify how information is to be displayed by the knowledge management application. For example, the user can specify that the CAD system window be displayed under some conditions but not others, and can also specify what knowledge management system information to display along with the CAD system window.
  • FIG. 14 shows a first exemplary user interface screenshot 1400 including a sub-window generated by the CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention. The screenshot 1400 displays a function list 1410, information from the knowledge management system 1430, and a sub-window 1440 generated by the CAD system including a graphical representation of the model generated by the CAD system and controls for manipulating the model.
  • FIG. 15 shows a second exemplary user interface screenshot 1500 including a sub-window generated by the CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention. The screenshot 1500 displays a function list 1510, a part family tree 1520, information from the knowledge management system 1530, a sub-window 1540 generated by the CAD system including a graphical representation of the model generated by the CAD system and controls for manipulating the model, and properties information 1550.
  • FIG. 16 shows a third exemplary user interface screenshot 1600 including a full view window generated by the CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention. The screenshot 1600 displays a function list 1610 and a full view window 1630 generated by the CAD system.
  • In certain embodiments of the invention, the user can make rule changes on the fly, and the knowledge management application will control the CAD system to update the model accordingly and will display the updated graphical representation of the model to the user substantially in real time. In this way, the user essentially gets immediate feedback regarding the rule change.
  • In certain embodiments of the invention, changes to a model can be made in the CAD system, and the knowledge management application will identify those changes through interactions with the CAD system and will modify and apply rules accordingly. For example, if the user makes a change in the CAD system that overrides a particular rule, the knowledge management application might cause appropriate tracking information to be stored by the knowledge storage application, create one or more revised rules that reflect the change, and apply other rules to update other components of the model according to the rules. The manner in which the knowledge management application can identify CAD system changes depends to a large degree on the CAD system API. For example, the CAD system might communicate the changes to the knowledge management application, or the knowledge management application might monitor or poll the CAD system for changes.
  • In certain embodiments of the invention, the knowledge management application can cause a particular model part displayed in the CAD system window to be displayed or highlighted when the user is working on rules relating to that part. For example, with reference again to FIG. 13, if the user selects the Motor part family in the part family tree 1310, the knowledge management application might cause the motor to be highlighted in the window 1340, for example, by changing the color of the motor.
  • In certain embodiments of the invention, the knowledge management application can cause information relating to a particular model part to be displayed when the user highlights that part in the CAD system window. For example, with reference again to FIG. 13, if the user highlights the fan blade component in the CAD window 1340, the knowledge management application might cause information relating to the fan blade component to be displayed in the window 1330, with appropriate highlighting in the part family tree 1310 and the list of specifications 1320.
  • As discussed above, the knowledge management application can interoperate with two-dimensional CAD systems as well as three-dimensional CAD systems. In an exemplary embodiment of the present invention, the knowledge management application supports both the two-dimensional CAD system VISIO™ and the three-dimensional CAD system SOLIDWORKS™.
  • FIG. 17 shows an exemplary user interface screenshot 1700 including a window generated by a two-dimensional CAD system, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention. The screenshot 1700 displays a function list 1710, a part family tree 1720, a CAD system window 1740, and properties information 1750.
  • The knowledge management application can also interoperate with various analysis applications. Typically, the knowledge management application exports information to the analysis application for analysis. The knowledge management application can display analysis information to the user.
  • FIG. 18 shows an exemplary user interface screenshot 1800 including an analysis window, such as might be generated by the knowledge management application in accordance with an embodiment of the present invention. The screenshot 1800 displays a function list 1810, a part family tree 1820, a CAD system window 1840, properties information 1850, and an analysis window 1860 generated by the analysis application.
  • Thus, in certain embodiments of the present invention, structures are defined in a CAD system and are associated with a structure class. Rules are defined for the structure class. When one of the structures is selected by the knowledge management system for a computer-aided design model, the rules are applied to the selected structure. These class-based rules make it easier for the user to define rules, since a single rule defined by the user gets applied to an entire class of structures, and therefore the user does not have to define the rule individually for each structure of the structure class.
  • FIG. 21 is a logic flow diagram showing exemplary logic 2100 for class-based rules in accordance with an embodiment of the present invention. Starting in block 2102, structures (such as parts for an assembly) are defined in a CAD system, in block 2104. The structures are associated with a structure class (such as a part family) in a knowledge management system, in block 2106. At least one rule is defined that applies to the structure class, in block 2108. When one of the structures is selected for a computer-aided design model by the knowledge management system, in block 2110, the knowledge management system applies the rule(s) to the selected structure, in block 2112. The logic 2100 ends in block 2199.
  • As discussed above, the knowledge management application obtains a set of rules from a central database. The set of rules may include rules relating to geometric and non-geometric attributes. The non-geometric attributes may be dependent on geometric attributes. The knowledge management application generates instructions for modeling a geometric structure based on the set of rules. The knowledge management application communicates the instructions to a computer-aided design system, typically through an API of the computer-aided design system. The knowledge management application may produce a graphical display on a graphical user interface including information from the knowledge management system as well as information from the computer-aided design system (such as a graphical representation of a geometric model).
  • FIG. 22 is a logic flow diagram showing exemplary logic 2200 for the knowledge management application in accordance with an embodiment of the present invention. Starting in block 2202, the logic obtains a set of rules from a central database, in block 2204. The logic generates instructions for modeling a geometric structure based on the set of rules, in block 2206. The logic communicates the instructions to a computer-aided design system, in block 2208, typically through an application program interface of the computer-aided design system. The logic may produce a graphical display on a graphical user interface including a first portion including information from the knowledge management application and a second portion including information from the computer-aided design system, in block 2210. The logic ends in block 2299.
  • It should be noted that the logic flow diagrams are used herein to demonstrate various aspects of the invention, and should not be construed to limit the present invention to any particular logic flow or logic implementation. The described logic may be partitioned into different logic blocks (e.g., programs, modules, functions, or subroutines) without changing the overall results or otherwise departing from the true scope of the invention. Often times, logic elements may be added, modified, omitted, performed in a different order, or implemented using different logic constructs (e.g., logic gates, looping primitives, conditional logic, and other logic constructs) without changing the overall results or otherwise departing from the true scope of the invention.
  • The present invention may be embodied in many different forms, including, but in no way limited to, computer program logic for use with a processor (e.g., a microprocessor, microcontroller, digital signal processor, or general purpose computer), programmable logic for use with a programmable logic device (e.g., a Field Programmable Gate Array (FPGA) or other PLD), discrete components, integrated circuitry (e.g., an Application Specific Integrated Circuit (ASIC)), or any other means including any combination thereof. In a typical embodiment of the present invention, predominantly all of the knowledge management system applications are implemented as a set of computer program instructions that are executed by a computer under the control of an operating system.
  • Computer program logic implementing all or part of the functionality previously described herein may be embodied in various forms, including, but in no way limited to, a source code form, a computer executable form, and various intermediate forms (e.g., forms generated by an assembler, compiler, linker, or locator). Source code may include a series of computer program instructions implemented in any of various programming languages (e.g., an object code, an assembly language, or a high-level language such as Fortran, C, C++, JAVA, or HTML) for use with various operating systems or operating environments. The source code may define and use various data structures and communication messages. The source code may be in a computer executable form (e.g., via an interpreter), or the source code may be converted (e.g., via a translator, assembler, or compiler) into a computer executable form.
  • The computer program may be fixed in any form (e.g., source code form, computer executable form, or an intermediate form) either permanently or transitorily in a tangible storage medium, such as a semiconductor memory device (e.g., a RAM, ROM, PROM, EEPROM, or Flash-Programmable RAM), a magnetic memory device (e.g., a diskette or fixed disk), an optical memory device (e.g., a CD-ROM), a PC card (e.g., PCMCIA card), or other memory device. The computer program may be fixed in any form in a signal that is transmittable to a computer using any of various communication technologies, including, but in no way limited to, analog technologies, digital technologies, optical technologies, wireless technologies (e.g., Bluetooth), networking technologies, and internetworking technologies. The computer program may be distributed in any form as a removable storage medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the communication system (e.g., the Internet or World Wide Web).
  • Hardware logic (including programmable logic for use with a programmable logic device) implementing all or part of the functionality previously described herein may be designed using traditional manual methods, or may be designed, captured, simulated, or documented electronically using various tools, such as Computer Aided Design (CAD), a hardware description language (e.g., VHDL or AHDL), or a PLD programming language (e.g., PALASM, ABEL, or CUPL).
  • Programmable logic may be fixed either permanently or transitorily in a tangible storage medium, such as a semiconductor memory device (e.g., a RAM, ROM, PROM, EEPROM, or Flash-Programmable RAM), a magnetic memory device (e.g., a diskette or fixed disk), an optical memory device (e.g., a CD-ROM), or other memory device. The programmable logic may be fixed in a signal that is transmittable to a computer using any of various communication technologies, including, but in no way limited to, analog technologies, digital technologies, optical technologies, wireless technologies (e.g., Bluetooth), networking technologies, and internetworking technologies. The programmable logic may be distributed as a removable storage medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the communication system (e.g., the Internet or World Wide Web).
  • The present invention may be embodied in other specific forms without departing from the true scope of the invention. The described embodiments are to be considered in all respects only as illustrative and not restrictive.

Claims (66)

1. A computer-aided modeling system comprising:
a knowledge management system for managing a set of modeling rules; and
a computer-aided design system controlled by the knowledge management system, wherein the knowledge management system generates instructions for modeling a geometric structure based on the set of modeling rules and communicates the instructions to the computer-aided design system for generating a model of the geometric structure.
2. A computer-aided modeling system according to claim 1, wherein the knowledge management system comprises a knowledge management application in communication with the computer-aided design system through an application program interface of the computer-aided design system.
3. A computer-aided modeling system according to claim 2, wherein the knowledge management system further comprises a knowledge storage application in communication with the knowledge management application for storing the set of rules in a central database and communicating the set of rules to the knowledge management application.
4. A computer-aided modeling system according to claim 3, wherein the knowledge management system further comprises a knowledge acquisition application in communication with the knowledge storage application for generating the set of rules and communication the set of rules to the knowledge storage application for storage in the central database.
5. A computer-aided modeling system according to claim 1, further comprising a graphical user interface, wherein the knowledge management system produces a graphical display on the graphical user interface, the graphical display comprising a first portion including information from the knowledge management system and a second portion including information from the computer-aided design system.
6. A computer-aided modeling system according to claim 5, wherein the second portion includes a display window generated by the computer-aided design system.
7. A computer-aided modeling system according to claim 6, wherein the display window includes a graphical representation of the geometric structure.
8. A computer-aided modeling system according to claim 7, wherein the display window further includes controls for manipulating the graphical representation of the geometric structure.
9. A computer-aided modeling system according to claim 1, wherein the set of rules includes at least one rule relating to a non-geometric attribute of the geometric structure.
10. A computer-aided modeling system according to claim 9, wherein the at least one rule relating to a non-geometric attribute includes a rule for determine a cost of the geometric structure.
11. A computer-aided modeling system according to claim 9, wherein the at least one rule relating to a non-geometric attribute includes a rule for defining a process.
12. A computer-aided modeling system according to claim 1, wherein the set of rules includes at least one rule relating to a class having a plurality of geometric structures.
13. A computer-aided modeling system according to claim 1, wherein the set of rules includes at least one rule relating to a geometric structure defined in the computer-aided design system.
14. A computer-aided modeling system according to claim 1, wherein the computer-aided design system comprises a three-dimensional computer-aided design system.
15. A computer-aided modeling system according to claim 14, wherein the three-dimensional computer-aided design system is SOLIDWORKS™.
16. A computer-aided modeling system according to claim 14, wherein the computer-aided design system further comprises a two-dimensional computer-aided design system.
17. A computer-aided modeling system according to claim 16, wherein the two-dimensional computer-aided design system is VISIO™.
18. A method for computer-aided design modeling, the method comprising:
generating instructions for modeling a geometric structure based on a set of modeling rules; and
communicating the instructions to a computer-aided design system for generating a model of the geometric structure.
19. A method according to claim 18, wherein generating instructions for modeling a geometric structure based on a set of modeling rules comprises obtaining the set of modeling rules from a central database over a communication network.
20. A method according to claim 18, wherein the computer-aided design system comprises an application program interface, and wherein communicating the instructions to a computer-aided design system comprises communicating the instructions to the computer-aided design system through the application program interface.
21. A method according to claim 18, further comprising:
producing a graphical display on a graphical user interface, the graphical display comprising a first portion including information relating to the set of modeling rules and a second portion including information from the computer-aided design system.
22. A method according to claim 21, wherein producing a graphical display on a graphical user interface comprises:
directing a window display generated by the computer-aided design system to be displayed on the graphical user interface.
23. A method according to claim 22, wherein the display window includes a graphical representation of the geometric structure.
24. A method according to claim 23, wherein the display window further includes controls for manipulating the graphical representation of the geometric structure.
25. A method according to claim 18, wherein the set of rules includes at least one rule relating to a non-geometric attribute of the geometric structure.
26. A method according to claim 25, wherein the at least one rule relating to a non-geometric attribute includes a rule for determine a cost of the geometric structure.
27. A method according to claim 25, wherein the at least one rule relating to a non-geometric attribute includes a rule for defining a process.
28. A method according to claim 18, wherein the set of rules includes at least one rule relating to a class having a plurality of geometric structures.
29. A method according to claim 18, wherein the set of rules includes at least one rule relating to a geometric structure defined in the computer-aided design system.
30. A method according to claim 18, wherein the computer-aided design system comprises a three-dimensional computer-aided design system.
31. A method according to claim 30, wherein the three-dimensional computer-aided design system is SOLIDWORKS™.
32. A method according to claim 30, wherein the computer-aided design system further comprises a two-dimensional computer-aided design system.
33. A method according to claim 32, wherein the two-dimensional computer-aided design system is VISIO™.
34. Apparatus for computer-aided design modeling, the apparatus comprising:
a design modeler for generating instructions for modeling a geometric structure based on a set of modeling rules; and
an interface from the design modeler to a computer-aided design system for communicating the instructions to the computer-aided design system for generating a model of the geometric structure.
35. Apparatus according to claim 34, further comprising an interface from the design modeler to a central database over a communication network for obtaining the set of modeling rules from the central database.
36. Apparatus according to claim 34, wherein the computer-aided design system comprises an application program interface, and wherein the interface from the design modeler to a computer-aided design system complies with the application program interface.
37. Apparatus according to claim 34, further comprising a graphical user interface, wherein the design modeler produces a graphical display on the graphical user interface, the graphical display comprising a first portion including information from the design modeler and a second portion including information from the computer-aided design system.
38. Apparatus according to claim 37, wherein the design modeler directs a window display generated by the computer-aided design system to be displayed on the graphical user interface.
39. Apparatus according to claim 38, wherein the display window includes a graphical representation of the geometric structure.
40. Apparatus according to claim 39, wherein the display window further includes controls for manipulating the graphical representation of the geometric structure.
41. Apparatus according to claim 34, wherein the set of rules includes at least one rule relating to a non-geometric attribute of the geometric structure.
42. Apparatus according to claim 41, wherein the at least one rule relating to a non-geometric attribute includes a rule for determine a cost of the geometric structure.
43. Apparatus according to claim 41, wherein the at least one rule relating to a non-geometric attribute includes a rule for defining a process.
44. Apparatus according to claim 34, wherein the set of rules includes at least one rule relating to a class having a plurality of geometric structures.
45. Apparatus according to claim 34, wherein the set of rules includes at least one rule relating to a geometric structure defined in the computer-aided design system.
46. A method according to claim 34, wherein the computer-aided design system comprises a three-dimensional computer-aided design system.
47. Apparatus according to claim 46, wherein the three-dimensional computer-aided design system is SOLIDWORKS™.
48. Apparatus according to claim 46, wherein the computer-aided design system further comprises a two-dimensional computer-aided design system.
49. Apparatus according to claim 48, wherein the two-dimensional computer-aided design system is VISIO™.
50. Apparatus comprising a computer readable medium having embodied therein a computer program for computer-aided design modeling, the computer program comprising:
means for generating instructions for modeling a geometric structure based on a set of modeling rules; and
means for communicating the instructions to a computer-aided design system for generating a model of the geometric structure.
51. Apparatus according to claim 50, wherein the means for generating instructions comprises means for obtaining the set of modeling rules from a central database over a communication network.
52. Apparatus according to claim 50, wherein the computer-aided design system comprises an application program interface, and wherein the means for communicating the instructions to the computer-aided design system comprises means for communicating the instructions to the computer-aided design system through the application program interface.
53. Apparatus according to claim 50, further comprising:
means for producing a graphical display on a graphical user interface, the graphical display comprising a first portion including information relating to the set of modeling rules and a second portion including information from the computer-aided design system.
54. Apparatus according to claim 53, wherein the means for producing a graphical display on a graphical user interface comprises:
means for directing a window display generated by the computer-aided design system to be displayed on the graphical user interface.
55. Apparatus according to claim 54, wherein the display window includes a graphical representation of the geometric structure.
56. Apparatus according to claim 55, wherein the display window further includes controls for manipulating the graphical representation of the geometric structure.
57. Apparatus according to claim 50, wherein the set of rules includes at least one rule relating to a non-geometric attribute of the geometric structure.
58. Apparatus according to claim 57, wherein the at least one rule relating to a non-geometric attribute includes a rule for determine a cost of the geometric structure.
59. Apparatus according to claim 57, wherein the at least one rule relating to a non-geometric attribute includes a rule for defining a process.
60. Apparatus according to claim 50, wherein the set of rules includes at least one rule relating to a class having a plurality of geometric structures.
61. Apparatus according to claim 50, wherein the set of rules includes at least one rule relating to a geometric structure defined in the computer-aided design system.
62. A method according to claim 50, wherein the computer-aided design system comprises a three-dimensional computer-aided design system.
63. Apparatus according to claim 62, wherein the three-dimensional computer-aided design system is SOLIDWORKS™.
64. Apparatus according to claim 62, wherein the computer-aided design system further comprises a two-dimensional computer-aided design system.
65. Apparatus according to claim 64, wherein the two-dimensional computer-aided design system is VISIO™.
66. Apparatus for computer-aided design modeling, the apparatus comprising:
means for generating instructions for modeling a geometric structure based on a set of modeling rules; and
means for communicating the instructions to a computer-aided design system for generating a model of the geometric structure.
US10/675,809 2003-09-30 2003-09-30 Knowledge management system for computer-aided design modeling Abandoned US20050071135A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US10/675,809 US20050071135A1 (en) 2003-09-30 2003-09-30 Knowledge management system for computer-aided design modeling
US10/818,475 US20050071136A1 (en) 2003-09-30 2004-04-05 Knowledge management system with interactive rule changes for computer-aided design modeling
PCT/US2004/031644 WO2005033985A1 (en) 2003-09-30 2004-09-22 Knowledge management system for computer-aided design modeling
US12/444,890 US8762877B2 (en) 2003-09-30 2009-02-13 Creation and modification of valid functional design layouts

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/675,809 US20050071135A1 (en) 2003-09-30 2003-09-30 Knowledge management system for computer-aided design modeling

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US10/818,475 Continuation-In-Part US20050071136A1 (en) 2003-09-30 2004-04-05 Knowledge management system with interactive rule changes for computer-aided design modeling

Publications (1)

Publication Number Publication Date
US20050071135A1 true US20050071135A1 (en) 2005-03-31

Family

ID=34377277

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/675,809 Abandoned US20050071135A1 (en) 2003-09-30 2003-09-30 Knowledge management system for computer-aided design modeling
US12/444,890 Active US8762877B2 (en) 2003-09-30 2009-02-13 Creation and modification of valid functional design layouts

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/444,890 Active US8762877B2 (en) 2003-09-30 2009-02-13 Creation and modification of valid functional design layouts

Country Status (2)

Country Link
US (2) US20050071135A1 (en)
WO (1) WO2005033985A1 (en)

Cited By (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030220911A1 (en) * 2002-05-23 2003-11-27 Tompras Anthony D. Solid model library tool
US20050120010A1 (en) * 2003-11-20 2005-06-02 Apriori Technologies, Inc. System and method for determining costs within an enterprise
US20060020629A1 (en) * 2004-03-01 2006-01-26 Karthik Ramani Multi-tier and multi-domain distributed rapid product configuration and design system
US20060041842A1 (en) * 2004-08-17 2006-02-23 Loberg Barrie A Capturing a user's intent in design software
US20060059011A1 (en) * 2004-09-15 2006-03-16 Karen Ulreich Systems for automated proposal generation
US20060058993A1 (en) * 2004-09-15 2006-03-16 Karen Ulreich Methods for automated proposal generation
US20060080279A1 (en) * 2004-10-13 2006-04-13 Jones Ryan K Customized and customizable engineering calculation and project detailing system
US20060206225A1 (en) * 2005-03-11 2006-09-14 Wright Anthony P Automatic data configuration strategy, such as for storing and manipulating product manufacturing data
US20060267980A1 (en) * 2005-05-30 2006-11-30 Fujitsu Limited CAD method, CAD system and program storage medium storing CAD program thereof
US20070008621A1 (en) * 2005-07-07 2007-01-11 Naoyuki Satoh Selection of a part in image showing three dimensional object
US20070013709A1 (en) * 2004-12-20 2007-01-18 Bernard Charles Process and system for rendering an object in a view using a product lifecycle management database
US20070094175A1 (en) * 2005-08-17 2007-04-26 Tacton Systems Ab Configuration assistance for complex products
WO2007020231A3 (en) * 2005-08-18 2007-05-03 Pace Aerospace Engineering And System for the computer-aided design of technical devices
US20070120875A1 (en) * 2005-11-30 2007-05-31 Symons Corporation Computer aided design interface
WO2007093060A1 (en) 2006-02-16 2007-08-23 Dirtt Environmental Solutions, Ltd. Integrating object-oriented design software with record-based cad software
US20080077902A1 (en) * 2006-09-26 2008-03-27 Ichiro Harashima Method of Determining Range Of Change in Design, Design Change Range Determining Apparatus, and Design Change Range Determining System
US20080148297A1 (en) * 2006-12-14 2008-06-19 Canon Kabushiki Kaisha Application management system and method of controlling the same
US20080234991A1 (en) * 2005-08-17 2008-09-25 Tomas Axling Customizing of computer aided design models
WO2008118952A1 (en) * 2007-03-26 2008-10-02 Hntb Holdings Ltd Bridge information modeling
US20090033656A1 (en) * 2007-07-30 2009-02-05 Larkins Darren Database driven relational object modeling and design system, method and software
US20090060393A1 (en) * 2007-08-28 2009-03-05 Naoyuki Satoh Image searching device, image searching method, image searching program, and recording medium recording the image searching program
US20090259440A1 (en) * 2008-04-14 2009-10-15 Reed Darwin G Part standard geometry management in a computer aided design system
WO2010022439A1 (en) * 2008-08-26 2010-03-04 Cinergix Pty Ltd Modelling of systems
US20100114355A1 (en) * 2008-11-04 2010-05-06 Ichiro Harashima Method and system for management of manufacturing information
US20100191360A1 (en) * 2007-07-25 2010-07-29 Object Geometries Ltd. Solid freeform fabrication using a plurality of modeling materials
US20100268513A1 (en) * 2006-02-16 2010-10-21 Dirtt Environmental Solutions Ltd. Rendering and modifying cad design entities in object-oriented applications
WO2011051639A1 (en) * 2009-10-30 2011-05-05 Centre Scientifique Et Technique Du Batiment (Cstb) Configuration of construction products for a digital building model
US20110130855A1 (en) * 2009-10-02 2011-06-02 Philpott Michael L Template framework for automated process routing
US20110191706A1 (en) * 2004-08-17 2011-08-04 Dirtt Environmental Solutions Ltd. Automatically creating and modifying furniture layouts in design software
US20110225208A1 (en) * 2010-03-12 2011-09-15 Intergraph Technologies Company Integrated GIS System with Interactive 3D Interface
WO2012058604A2 (en) * 2010-10-28 2012-05-03 Parametric Technology Corporation Methods and systems for computer-aided design
US20120109591A1 (en) * 2010-10-28 2012-05-03 Brian Thompson Methods and systems for enforcing parametric constraints in a direct modeling interface in computer-aided design
US8204902B1 (en) 2009-02-27 2012-06-19 Emergent Systems Corporation Dynamic ranking of experts in a knowledge management system
US20120253763A1 (en) * 2011-03-30 2012-10-04 The Boeing Company Model Management for Computer Aided Design Systems
US20120268463A1 (en) * 2009-11-24 2012-10-25 Ice Edge Business Solutions Securely sharing design renderings over a network
US8301419B1 (en) 2009-10-09 2012-10-30 The Boeing Company Managing information for generating models of parts
WO2012148680A1 (en) * 2011-04-29 2012-11-01 Siemens Product Lifecycle Management Software Inc. Interactive configuration-management-based diagramming tool
US8347236B1 (en) 2009-02-24 2013-01-01 Emergent Systems Corporation Client server interface for a knowledge management system
US20130024836A1 (en) * 2010-11-22 2013-01-24 Jason Adam Koerner Interactive Graphical Construction of Parametric Components of Typical Cross Section Frameworks
US20130097489A1 (en) * 2011-10-14 2013-04-18 Siemens Product Lifecycle Management Software Inc. Drawing automation in computer aided design systems
US20130132424A1 (en) * 2011-11-23 2013-05-23 Siemens Product Lifecycle Management Software Inc. Massive model visualization with spatial indexing
US8589128B2 (en) 2010-10-28 2013-11-19 Parametric Technology Corporation Methods and systems for creation of a dynamically configurable product design
US8762877B2 (en) 2003-09-30 2014-06-24 Ice Edge Business Solutions Ltd. Creation and modification of valid functional design layouts
US20140180646A1 (en) * 2012-12-20 2014-06-26 Dassault Systemes Designing An Assembly Of Parts In A Three-Dimensional Scene
US20140200862A1 (en) * 2013-01-11 2014-07-17 Tekla Corporation Drawings and computer-aided modeling
US8818769B2 (en) 2010-10-28 2014-08-26 Parametric Technology Corporation Methods and systems for managing synchronization of a plurality of information items of a computer-aided design data model
US8843884B1 (en) * 2009-11-23 2014-09-23 Jason Adam Koerner Interactive graphical construction of parametric components of typical cross section frameworks
US8892404B2 (en) 2010-10-28 2014-11-18 Parametric Technology Corporation Methods and systems for consistent concurrent operation of a plurality of computer-aided design applications
US8890867B2 (en) 2010-10-28 2014-11-18 Parametric Technology Corporation Methods and systems for dynamically loading portions of a computer-aided design model on demand
US20150324491A1 (en) * 2014-05-09 2015-11-12 Autodesk, Inc Techniques for using controlled natural language to capture design intent for computer-aided design
US9189571B2 (en) 2011-06-11 2015-11-17 Ice Edge Business Solutions, Ltd. Automated re-use of structural components
US20150363513A1 (en) * 2014-06-13 2015-12-17 Wolfram Alpha Llc Method and system for designing products
US9230043B2 (en) * 2004-11-25 2016-01-05 Jukka Suomi Computer-aided modeling
US9361585B1 (en) * 2008-10-31 2016-06-07 Emergent Systems Corporation Method for determining data quality in a knowledge management system
US20160314626A1 (en) * 2015-04-23 2016-10-27 Siemens Product Lifecycle Management Software Inc. Massive model visualization with a product lifecycle management system
US9519407B2 (en) 2008-03-11 2016-12-13 Ice Edge Business Solutions, Ltd. Automatically creating and modifying furniture layouts in design software
EP3005180A4 (en) * 2013-05-31 2017-01-11 Dirtt Environmental Solutions, Ltd. Automatically incorporating third party features into a computer design schematic
US9600770B1 (en) 2014-02-13 2017-03-21 Emergent Systems Corporation Method for determining expertise of users in a knowledge management system
US20170329867A1 (en) * 2016-05-13 2017-11-16 Cognitive Scale, Inc. Ingesting a Natural Language Query into a Cognitive Graph
US10037403B2 (en) 2014-01-13 2018-07-31 The Boeing Company Method and system for managing aircraft parts
CN108573112A (en) * 2018-05-08 2018-09-25 北京特种工程设计研究院 Aerospace test based on digitalized artificial emits two dimensional topology analysis method
CN109359434A (en) * 2018-12-11 2019-02-19 北京市政路桥股份有限公司 Falsework system derivative design method
US10318661B2 (en) * 2016-07-27 2019-06-11 Applied Software Technology, Inc. Managing custom REVIT inheritance-based assembly families for manufacturing
US20190213287A1 (en) * 2018-01-08 2019-07-11 Nuvolo Technologies Corporation Space profile interpreter framework for a computer file
WO2019152769A1 (en) * 2018-02-05 2019-08-08 Advanced Solutions Life Sciences, Llc System and workstation for the design, fabrication and assembly of 3-dimensional constructs
US20190303620A1 (en) * 2018-03-27 2019-10-03 Desprez, Llc Systems for secure collaborative graphical design using secret sharing
US10558199B2 (en) * 2018-02-13 2020-02-11 University Of Central Florida Research Foundation, Inc. Method for the design and manufacture of composites having tunable physical properties
US10573059B2 (en) 2018-03-27 2020-02-25 Desprez, Llc Methods of secret sharing for secure collaborative graphical design
US20200134560A1 (en) * 2018-10-29 2020-04-30 DIGIBILT, Inc. Method and system for automatically creating a bill of materials
US10922450B2 (en) 2014-06-09 2021-02-16 Dirtt Environmental Solutions, Ltd. Associating computer-executable objects with timber frames within an architectural design environment
US20210081582A1 (en) * 2019-09-18 2021-03-18 Bricsys Nv Automated detail adaptation and insertion in a cad model
US11030709B2 (en) 2018-10-29 2021-06-08 DIGIBILT, Inc. Method and system for automatically creating and assigning assembly labor activities (ALAs) to a bill of materials (BOM)
US11161308B2 (en) 2007-07-25 2021-11-02 Stratasys Ltd. Solid freeform fabrication using a plurality of modeling materials
US20210382884A1 (en) * 2020-06-08 2021-12-09 aPriori, Inc. Insight generation based on retrieved plm data
US11676106B2 (en) 2020-10-14 2023-06-13 Streamlinx Llc Method and system for managing and sourcing materials and services for energy retrofit projects

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9613458B2 (en) * 2010-05-20 2017-04-04 Mechanical Software Technologies, Inc. Self drawing tool for a computer-implemented automated design, modeling and manufacturing system
US9128733B2 (en) * 2010-11-12 2015-09-08 Microsoft Technology Licensing, Llc Display and resolution of incompatible layout constraints
FI20125644L (en) * 2012-06-12 2013-12-13 Tekla Corp Computer-aided modeling
US20140280804A1 (en) * 2013-03-13 2014-09-18 Dell Products L.P. Relationship driven dynamic workflow system
US9785727B1 (en) 2014-01-10 2017-10-10 Verso Furniture, Inc. Method and system of assembly design
US9529951B2 (en) 2014-05-29 2016-12-27 International Business Machines Corporation Synthesis tuning system for VLSI design optimization
US10404938B1 (en) 2015-12-22 2019-09-03 Steelcase Inc. Virtual world method and system for affecting mind state
US10181218B1 (en) 2016-02-17 2019-01-15 Steelcase Inc. Virtual affordance sales tool
US10380273B2 (en) 2016-03-31 2019-08-13 M.C. Dean Inc. System and method for testing the validity of BIM-designed electrical wiring pathways
US10182210B1 (en) 2016-12-15 2019-01-15 Steelcase Inc. Systems and methods for implementing augmented reality and/or virtual reality
US11567636B2 (en) * 2018-03-07 2023-01-31 Lutron Technology Company Llc Configuring a load control system
EP3640767A1 (en) * 2018-10-17 2020-04-22 Siemens Schweiz AG Method for determining at least one area in at least one input model for at least one element to be placed
US10902580B2 (en) * 2019-04-18 2021-01-26 Applied Software Technology, Inc. Auto-dimensioning REVIT models
US11244084B2 (en) 2019-04-18 2022-02-08 Applied Software Technology, Inc. Spool sheet generation
US11100257B2 (en) 2019-04-18 2021-08-24 Applied Software Technology, Inc. Spool run route finding in CAD systems
US20230359790A1 (en) * 2022-05-05 2023-11-09 D.TO, Inc Apparatus and methods for determining and solving design problems using machine learning

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293479A (en) * 1991-07-08 1994-03-08 Quintero Smith Incorporated Design tool and method for preparing parametric assemblies
US5355445A (en) * 1991-04-25 1994-10-11 Mitsui Petrochemical Industries, Ltd. Knowledge base management system for an information reasoning apparatus
US5455599A (en) * 1993-11-02 1995-10-03 Taligent Inc. Object-oriented graphic system
US20020183982A1 (en) * 2001-03-26 2002-12-05 Rauscher Thomas C. Design and estimating tools for the design of communication infrastructure in a structure
US6647305B1 (en) * 2000-06-19 2003-11-11 David H. Bigelow Product design system and method
US6725184B1 (en) * 1999-06-30 2004-04-20 Wisconsin Alumni Research Foundation Assembly and disassembly sequences of components in computerized multicomponent assembly models
US6775581B2 (en) * 2001-03-14 2004-08-10 Delphi Technologies, Inc. Horizontally-structured CAD/CAM modeling for virtual concurrent product and process design

Family Cites Families (198)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4970666A (en) * 1988-03-30 1990-11-13 Land Development Laboratory, Inc. Computerized video imaging system for creating a realistic depiction of a simulated object in an actual environment
US5255207C1 (en) * 1988-06-16 2001-01-09 Larry Cornwell Method for designing and detailing cabinets
GB8822739D0 (en) 1988-09-28 1988-11-23 Zyqad Ltd Improvements in/relating to knowledge engineering
US5111392A (en) * 1989-06-09 1992-05-05 Steelcase Inc. Design system for creating furniture layouts
US5557537A (en) 1990-07-12 1996-09-17 Normann; Linda M. Method and apparatus for designing and editing a distribution system for a building
US6701288B1 (en) 1990-07-12 2004-03-02 First Graphics, Inc. Method and apparatus for designing and editing a distribution system for a building
CA2077173C (en) 1991-11-22 2003-04-22 Michael Chen Method and apparatus for direct manipulation of 3-d objects on computer displays
JPH0689314A (en) 1992-04-16 1994-03-29 Hitachi Ltd Design assisting system and device therefor
CA2134645C (en) 1992-04-29 2000-04-18 Linda M. Normann Method and apparatus for designing and editing a distribution system for a building
EP0621545A3 (en) * 1993-04-21 1995-12-13 Hitachi Ltd Computer-aided design and production system for component arrangement and pipe routing.
US5684713A (en) 1993-06-30 1997-11-04 Massachusetts Institute Of Technology Method and apparatus for the recursive design of physical structures
US5625827A (en) 1993-09-21 1997-04-29 Gary M. Krause Method and system of blueprint document manipulation
US5514232A (en) 1993-11-24 1996-05-07 Burns; Marshall Method and apparatus for automatic fabrication of three-dimensional objects
US5555357A (en) * 1994-06-03 1996-09-10 Claris Corporation Computer system and method for generating and manipulating charts and diagrams
US5659477A (en) 1994-12-28 1997-08-19 Collins; Charles Michael Self reproducing fundamental fabricating machines (F-Units)
US5572639A (en) 1995-05-08 1996-11-05 Gantt; Brian D. Method and apparatus for interactively manipulating and displaying presumptive relationships between graphic objects
US6016147A (en) * 1995-05-08 2000-01-18 Autodesk, Inc. Method and system for interactively determining and displaying geometric relationships between three dimensional objects based on predetermined geometric constraints and position of an input device
US5692184A (en) 1995-05-09 1997-11-25 Intergraph Corporation Object relationship management system
US6020885A (en) 1995-07-11 2000-02-01 Sony Corporation Three-dimensional virtual reality space sharing method and system using local and global object identification codes
US6014503A (en) * 1995-12-22 2000-01-11 Matsushita Electric Industrial Co., Ltd. Computer aided building renovation supporting systems
US5894310A (en) 1996-04-19 1999-04-13 Visionary Design Systems, Inc. Intelligent shapes for authoring three-dimensional models
US5977982A (en) 1996-06-28 1999-11-02 Avid Technology Inc. System and method for modification of the visual characteristics of digital 3D objects
US5995107A (en) 1996-08-02 1999-11-30 Autodesk, Inc. Caching in a three dimensional modeling and animation system
US5796401A (en) * 1996-08-09 1998-08-18 Winer; Peter W. System for designing dynamic layouts adaptable to various display screen sizes and resolutions
US6437805B1 (en) 1996-09-23 2002-08-20 National Instruments Corporation System and method for accessing object capabilities in a graphical program
US5870771A (en) 1996-11-15 1999-02-09 Oberg; Larry B. Computerized system for selecting, adjusting, and previewing framing product combinations for artwork and other items to be framed
WO1998033151A1 (en) 1997-01-24 1998-07-30 Sony Corporation Device, method, and medium for generating graphic data
KR20000064771A (en) 1997-01-24 2000-11-06 이데이 노부유끼 Apparatus for generating a shape data, a method for generating the shape data, and a medium thereof
US6292810B1 (en) 1997-03-03 2001-09-18 Richard Steele Richards Polymorphic enhanced modeling
JP3932462B2 (en) 1997-05-27 2007-06-20 ソニー株式会社 Client device, image display control method, shared virtual space providing device and method, and recording medium
US6052669A (en) * 1997-06-06 2000-04-18 Haworth, Inc. Graphical user interface supporting method and system for remote order generation of furniture products
US6720949B1 (en) 1997-08-22 2004-04-13 Timothy R. Pryor Man machine interfaces and applications
US6110213A (en) * 1997-11-06 2000-08-29 Vlt Coporation Fabrication rules based automated design and manufacturing system and method
US20020069221A1 (en) 1997-12-02 2002-06-06 Ramana B. Rao Method and system for representing a table with multiple focal levels
US6037945A (en) 1997-12-16 2000-03-14 Xactware, Inc. Graphical method for modeling and estimating construction costs
US6446030B1 (en) * 1998-01-24 2002-09-03 Quantapoint, Inc. Method and apparatus for establishing the layout of a building
US6256595B1 (en) * 1998-03-04 2001-07-03 Amada Company, Limited Apparatus and method for manually selecting, displaying, and repositioning dimensions of a part model
US6285369B1 (en) * 1998-05-12 2001-09-04 Autodesk, Inc. Electronic notebook for maintaining design information
US6025849A (en) 1998-06-01 2000-02-15 Autodesk, Inc. Framework for objects having authorable behaviors and appearance
US6912293B1 (en) * 1998-06-26 2005-06-28 Carl P. Korobkin Photogrammetry engine for model construction
US6629065B1 (en) * 1998-09-30 2003-09-30 Wisconsin Alumni Research Foundation Methods and apparata for rapid computer-aided design of objects in virtual reality and other environments
AU2382300A (en) * 1998-12-23 2000-07-12 National Institute Of Standards And Technology ("Nist") Method and system for a virtual assembly design environment
US6888542B1 (en) 1999-01-27 2005-05-03 Autodesk, Inc. Error recovery in a computer aided design environment
US7353192B1 (en) 1999-02-16 2008-04-01 Autobytel Inc. Product configuration display system and method with user requested physical product alterations
US6509906B1 (en) 1999-04-29 2003-01-21 Autodesk, Inc. Display representations and streams for objects having authorable and dynamic behaviors and appearances
US7062454B1 (en) 1999-05-06 2006-06-13 Jarbridge, Inc. Previewing system and method
US6493679B1 (en) 1999-05-26 2002-12-10 Wireless Valley Communications, Inc. Method and system for managing a real time bill of materials
US6850946B1 (en) * 1999-05-26 2005-02-01 Wireless Valley Communications, Inc. Method and system for a building database manipulator
US6317599B1 (en) 1999-05-26 2001-11-13 Wireless Valley Communications, Inc. Method and system for automated optimization of antenna positioning in 3-D
US6556211B2 (en) * 1999-06-02 2003-04-29 Punch Software, Llc Method for constructing architectural models including scaled surface textures
US6255207B1 (en) * 1999-06-21 2001-07-03 Taiwan Semiconductor Manufacturing Company Composite planarizing dielectric layer employing high density plasma chemical vapor deposited (HDP-CVD) underlayer
US7243054B2 (en) 1999-07-14 2007-07-10 Wireless Valley Communications, Inc. Method and system for displaying network performance, cost, maintenance, and infrastructure wiring diagram
US6499006B1 (en) 1999-07-14 2002-12-24 Wireless Valley Communications, Inc. System for the three-dimensional display of wireless communication system performance
US8397177B2 (en) 1999-07-22 2013-03-12 Tavusi Data Solutions Llc Graphic-information flow method and system for visually analyzing patterns and relationships
US6307573B1 (en) 1999-07-22 2001-10-23 Barbara L. Barros Graphic-information flow method and system for visually analyzing patterns and relationships
US8843850B2 (en) 1999-07-22 2014-09-23 Tavusi Data Solutions Llc Graphic-information flow for visually analyzing patterns and relationships
US7000190B2 (en) 1999-08-19 2006-02-14 National Instruments Corporation System and method for programmatically modifying a graphical program in response to program information
EP1098244A3 (en) 1999-11-02 2001-06-13 CANAL + Société Anonyme Graphical user interface
JP2001195491A (en) 1999-11-02 2001-07-19 Matsushita Electric Works Ltd Selling support method for commodity associated with living space, method and system for charging the same and recording medium
JP3548065B2 (en) 1999-11-15 2004-07-28 インターナショナル・ビジネス・マシーンズ・コーポレーション Remote control system, server / client system, product terminal device control server, product terminal device operation method, device information sharing method, and storage medium
US8271336B2 (en) * 1999-11-22 2012-09-18 Accenture Global Services Gmbh Increased visibility during order management in a network-based supply chain environment
US6727925B1 (en) * 1999-12-20 2004-04-27 Michelle Lyn Bourdelais Browser-based room designer
US6459435B1 (en) * 2000-01-11 2002-10-01 Bluebolt Networks, Inc. Methods, systems and computer program products for generating storyboards of interior design surface treatments for interior spaces
US6611725B1 (en) * 2000-02-03 2003-08-26 Solidworks Corporation Computer drawing system
US20010047250A1 (en) 2000-02-10 2001-11-29 Schuller Joan A. Interactive decorating system
US20010047251A1 (en) 2000-03-03 2001-11-29 Kemp William H. CAD system which designs 3-D models
US6859768B1 (en) * 2000-03-03 2005-02-22 The Beck Technology Computer-implemented automated building design and modeling and project cost estimation and scheduling system
US7216092B1 (en) 2000-04-14 2007-05-08 Deluxe Corporation Intelligent personalization system and method
US6690981B1 (en) 2000-05-04 2004-02-10 National Instruments Corporation System and method for encapsulating user interface code for a graphical program
US20020012007A1 (en) * 2000-05-05 2002-01-31 Twigg John M. Internet based design/drafting system and method of use thereof
US6651228B1 (en) 2000-05-08 2003-11-18 Real Intent, Inc. Intent-driven functional verification of digital designs
US6922685B2 (en) * 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
US7039569B1 (en) * 2000-06-09 2006-05-02 Haws Richard R Automatic adaptive dimensioning for CAD software
JP2002041276A (en) 2000-07-24 2002-02-08 Sony Corp Interactive operation-supporting system, interactive operation-supporting method and recording medium
US6971063B1 (en) 2000-07-28 2005-11-29 Wireless Valley Communications Inc. System, method, and apparatus for portable design, deployment, test, and optimization of a communication network
US7505044B2 (en) 2000-07-31 2009-03-17 Bowsher M William Universal ultra-high definition color, light, and object rendering, advising, and coordinating system
US6922701B1 (en) 2000-08-03 2005-07-26 John A. Ananian Generating cad independent interactive physical description remodeling, building construction plan database profile
US7096173B1 (en) 2000-08-04 2006-08-22 Motorola, Inc. Method and system for designing or deploying a communications network which allows simultaneous selection of multiple components
US7085697B1 (en) 2000-08-04 2006-08-01 Motorola, Inc. Method and system for designing or deploying a communications network which considers component attributes
US7246045B1 (en) 2000-08-04 2007-07-17 Wireless Valley Communication, Inc. System and method for efficiently visualizing and comparing communication network system performance
US6625454B1 (en) 2000-08-04 2003-09-23 Wireless Valley Communications, Inc. Method and system for designing or deploying a communications network which considers frequency dependent effects
US7523411B2 (en) 2000-08-22 2009-04-21 Bruce Carlin Network-linked interactive three-dimensional composition and display of saleable objects in situ in viewer-selected scenes for purposes of object promotion and procurement, and generation of object advertisements
US7062722B1 (en) * 2000-08-22 2006-06-13 Bruce Carlin Network-linked interactive three-dimensional composition and display of saleable objects in situ in viewer-selected scenes for purposes of promotion and procurement
US7246044B2 (en) * 2000-09-13 2007-07-17 Matsushita Electric Works, Ltd. Method for aiding space design using network, system therefor, and server computer of the system
US6912429B1 (en) * 2000-10-19 2005-06-28 Destiny Networks, Inc. Home automation system and method
AU2002227376A1 (en) 2000-10-30 2002-05-15 Tririga, Inc. Susiness asset management system
US6628279B1 (en) * 2000-11-22 2003-09-30 @Last Software, Inc. System and method for three-dimensional modeling
US6910186B2 (en) * 2000-12-08 2005-06-21 Kyunam Kim Graphic chatting with organizational avatars
BR0116693A (en) 2000-12-18 2004-08-17 Wireless Valley Comm Inc Computer system and method for collecting data from a spatially distributed object group or network and method for visualizing a spatially distributed object group or network
US7266768B2 (en) 2001-01-09 2007-09-04 Sharp Laboratories Of America, Inc. Systems and methods for manipulating electronic information using a three-dimensional iconic representation
AU2002240341B2 (en) * 2001-02-09 2007-11-01 Mark Greenstein Systems and methods for improving investment performance
US7299416B2 (en) 2001-02-15 2007-11-20 Denny Jaeger Metro for creating and using linear time line and play rectangle
US6988091B2 (en) 2001-04-02 2006-01-17 Richard Levine Method and system for coordination of CAD drawings providing collision detection between drawings
US6721684B1 (en) 2001-04-26 2004-04-13 Nasser Saebi Method of manufacturing and analyzing a composite building
US7269632B2 (en) 2001-06-05 2007-09-11 Xdyne, Inc. Networked computer system for communicating and operating in a virtual reality environment
US7996191B2 (en) 2001-08-10 2011-08-09 Jon Milton Foster Property development utilizing structure depicted in a motion picture or television show
US6868297B1 (en) * 2001-09-17 2005-03-15 Impactxoft Method and system for designing objects using functional modeling
US7155375B1 (en) * 2001-09-17 2006-12-26 Impactxoft Method and system for designing objects using design intent merge
US7650260B1 (en) * 2001-09-17 2010-01-19 Impact Xoft Method and system for designing objects using functional object representation
US20060036513A1 (en) * 2001-09-26 2006-02-16 Jerry Whatley System and method for providing property improvements
CN1306444C (en) 2001-11-07 2007-03-21 鹿岛建设株式会社 Building production information integration system
US7574323B2 (en) * 2001-12-17 2009-08-11 Wireless Valley Communications, Inc. Textual and graphical demarcation of location, and interpretation of measurements
US7340383B2 (en) 2001-12-20 2008-03-04 Ricoh Company, Ltd. Control device, method and computer program product for browsing data
US20040205519A1 (en) 2002-01-10 2004-10-14 Chris Chapel Method and system for automatically generating construction documents
US6952207B1 (en) * 2002-03-11 2005-10-04 Microsoft Corporation Efficient scenery object rendering
US8290849B2 (en) * 2002-04-30 2012-10-16 Analect Benefit Finance, Llc Method and system for administering the hedging of an employee deferred compensation plan using swaps
WO2004010384A2 (en) 2002-07-23 2004-01-29 Imagecom, Inc. System and method for creating and updating a three-dimensional model and creating a related neutral file format
US20050065951A1 (en) 2002-08-30 2005-03-24 Kathleen Liston Visualization of commonalities in data from different sources
JP2004135051A (en) 2002-10-10 2004-04-30 Sony Corp Information processing system, apparatus and method for providing service, apparatus and method for processing information, recording medium, and program
JP4185052B2 (en) * 2002-10-15 2008-11-19 ユニバーシティ オブ サザン カリフォルニア Enhanced virtual environment
US7146231B2 (en) * 2002-10-22 2006-12-05 Fisher-Rosemount Systems, Inc.. Smart process modules and objects in process plants
US6996789B2 (en) 2002-11-18 2006-02-07 Cadence Design Systems, Inc. Method and apparatus for performing an exponential path search
US20040113945A1 (en) * 2002-12-12 2004-06-17 Herman Miller, Inc. Graphical user interface and method for interfacing with a configuration system for highly configurable products
US20050041028A1 (en) * 2003-05-02 2005-02-24 123-D Software, Inc. Computer aided design (CAD) system
US20080036769A1 (en) * 2003-05-02 2008-02-14 Richard Coutts Computer aided design (cad) system
US7814436B2 (en) 2003-07-28 2010-10-12 Autodesk, Inc. 3D scene orientation indicator system with scene orientation change capability
US7661959B2 (en) 2003-09-19 2010-02-16 Minutes Matter Solutions, Inc. Interior design system and method
US8751950B2 (en) 2004-08-17 2014-06-10 Ice Edge Business Solutions Ltd. Capturing a user's intent in design software
US20050071135A1 (en) 2003-09-30 2005-03-31 Vredenburgh David W. Knowledge management system for computer-aided design modeling
US7277572B2 (en) * 2003-10-10 2007-10-02 Macpearl Design Llc Three-dimensional interior design system
US20080052687A1 (en) * 2003-11-03 2008-02-28 Agustin Gonzales-Tuchmann Development environment for data transformation applications
US7534157B2 (en) * 2003-12-31 2009-05-19 Ganz System and method for toy adoption and marketing
US7643966B2 (en) 2004-03-10 2010-01-05 Leica Geosystems Ag Identification of 3D surface points using context-based hypothesis testing
US7680694B2 (en) 2004-03-11 2010-03-16 American Express Travel Related Services Company, Inc. Method and apparatus for a user to shop online in a three dimensional virtual reality setting
JP2007536634A (en) 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド Service-oriented architecture for process control systems
US20050268245A1 (en) * 2004-05-11 2005-12-01 Peter Gipps User interface for path determination system
US20060020430A1 (en) * 2004-05-11 2006-01-26 Peter Gipps Path analysis system with client and server-side applications
US20060206623A1 (en) * 2005-03-10 2006-09-14 Peter Gipps Path determination system for vehicle infrastructure paths
US20060020431A1 (en) * 2004-05-11 2006-01-26 Peter Gipps Path determination system for transport system
US7545373B2 (en) 2004-08-03 2009-06-09 Nextpat Limited Applications with integrated capture
US7277830B2 (en) 2004-08-17 2007-10-02 Dirtt Environmental Solutions Ltd. Capturing a user's design intent with resolvable objects
CA2577199C (en) 2004-08-17 2015-12-22 Dirtt Environmental Solutions, Ltd. Capturing a user's intent in design software
US7249005B2 (en) 2004-08-17 2007-07-24 Dirtt Environmental Solutions Ltd. Design software incorporating efficient 3-D rendering
US8510672B2 (en) 2004-08-17 2013-08-13 Dirtt Environmental Solutions Ltd Automatically creating and modifying furniture layouts in design software
US8276088B2 (en) * 2007-07-11 2012-09-25 Ricoh Co., Ltd. User interface for three-dimensional navigation
US8332401B2 (en) * 2004-10-01 2012-12-11 Ricoh Co., Ltd Method and system for position-based image matching in a mixed media environment
US8521737B2 (en) * 2004-10-01 2013-08-27 Ricoh Co., Ltd. Method and system for multi-tier image matching in a mixed media environment
US8600989B2 (en) * 2004-10-01 2013-12-03 Ricoh Co., Ltd. Method and system for image matching in a mixed media environment
US8335789B2 (en) * 2004-10-01 2012-12-18 Ricoh Co., Ltd. Method and system for document fingerprint matching in a mixed media environment
US20060271378A1 (en) * 2005-05-25 2006-11-30 Day Andrew P System and method for designing a medical care facility
US8423391B2 (en) * 2005-07-28 2013-04-16 Sap Ag Systems and methods for automated parallelization of transport load builder
US8650179B2 (en) * 2005-08-18 2014-02-11 International Business Machines Corporation Generating statistics for temporary tables during query optimization
US20070088704A1 (en) 2005-10-17 2007-04-19 Julian Bourne System and method for creation, distribution, and utilization of portable knowledge format
US20070168374A1 (en) 2006-01-13 2007-07-19 Julian Bourne Portable knowledge format for the distribution of content
US7663644B2 (en) * 2005-11-08 2010-02-16 Autodesk, Inc. Automatic element substitution in vector-based illustrations
GB2432239A (en) * 2005-11-15 2007-05-16 Toshiba Kk Building layout design support system
US9563980B2 (en) 2005-11-18 2017-02-07 Autodesk, Inc. Grip manipulatable shadows in 3D models
US8255338B1 (en) * 2006-01-10 2012-08-28 Brittan Jeffrey C Method for designing and estimating costs of food service equipment
WO2008130337A1 (en) 2006-01-13 2008-10-30 Choice Enterprises Llc Computer network-based 3d rendering system
US7542886B2 (en) 2006-01-27 2009-06-02 Autodesk, Inc. Method and apparatus for extensible utility network part types and part properties in 3D computer models
US7788068B2 (en) 2006-01-31 2010-08-31 Autodesk, Inc. Transferring load information and result information between analysis and design software
US7587302B2 (en) 2006-01-31 2009-09-08 Autodesk, Inc. Graphic interactive method to reorder sequential data values on graphic objects
WO2007093060A1 (en) 2006-02-16 2007-08-23 Dirtt Environmental Solutions, Ltd. Integrating object-oriented design software with record-based cad software
US8762941B2 (en) 2006-02-16 2014-06-24 Dirtt Environmental Solutions, Ltd. Rendering and modifying CAD design entities in object-oriented applications
US20070204241A1 (en) 2006-02-28 2007-08-30 Autodesk, Inc. Method for generating three dimensional stair objects in computer aided design drawings
US20070219764A1 (en) 2006-03-15 2007-09-20 Autodesk, Inc. Synchronized Physical and Analytical Flow System Models
US7567844B2 (en) * 2006-03-17 2009-07-28 Honeywell International Inc. Building management system
US8244025B2 (en) 2006-03-20 2012-08-14 Siemens Energy, Inc. Method of coalescing information about inspected objects
US8442850B2 (en) * 2006-03-30 2013-05-14 Sap Ag Providing accounting software application as enterprise services
US20070250295A1 (en) 2006-03-30 2007-10-25 Subx, Inc. Multidimensional modeling system and related method
US7644363B2 (en) * 2006-04-10 2010-01-05 Autodesk, Inc. “For-each” label components in CAD drawings
WO2007120384A2 (en) * 2006-04-14 2007-10-25 Genesistp, Inc. Method and system for manufacturing a structure
US8307286B2 (en) 2006-05-07 2012-11-06 Wellcomemat Llc Methods and systems for online video-based property commerce
US8484556B2 (en) 2006-08-22 2013-07-09 Autodesk, Inc. Drawing interoperability between different computer-aided design applications
US8645973B2 (en) * 2006-09-22 2014-02-04 Oracle International Corporation Mobile applications
US8402473B1 (en) * 2006-09-28 2013-03-19 Sap Ag Managing consistent interfaces for demand business objects across heterogeneous systems
US7822584B1 (en) 2006-09-30 2010-10-26 Nasser Saebi Method of performing a finite element analysis of a composite structure
US7856342B1 (en) 2006-10-02 2010-12-21 Autodesk, Inc. Automatic reinforcement modeling
US7877237B1 (en) 2006-10-05 2011-01-25 Nasser Saebi Method of performing a finite element analysis of a composite structure
US8285707B2 (en) * 2006-11-08 2012-10-09 International Business Machines Corporation Method of querying relational database management systems
US8332827B2 (en) * 2006-12-01 2012-12-11 Murex S.A.S. Produce graph oriented programming framework with scenario support
US8086042B2 (en) * 2006-12-29 2011-12-27 Johns Manville Weatherization imaging systems and methods
US7733351B1 (en) * 2007-02-06 2010-06-08 Judith Sinnard Method for forming an interactive image of indoor and outdoor spaces
US8314799B2 (en) 2007-04-13 2012-11-20 Apple Inc. Enhanced motion behavior framework
CA2685088A1 (en) 2007-04-24 2008-11-06 Topplestone, Llc Method and system for designing a pastry
US20090273598A1 (en) 2008-05-01 2009-11-05 M.E.P. Cad, Inc. Methods and apparatuses for automatically converting objects in CAD drawing from two-dimensions to three-dimensions
US8224628B2 (en) 2007-05-01 2012-07-17 M.E.P. Cad, Inc. Methods and apparatuses for placing a flexible drop in a CAD drawing
US8441502B2 (en) 2007-05-01 2013-05-14 M.E.P. Cad, Inc. Methods and apparatuses for resolving a CAD drawing conflict with an arm around
CA2691881C (en) 2007-05-01 2014-11-04 M.E.P. Cad, Inc. Methods and apparatuses for handling a conflict in a cad drawing
US8150660B2 (en) 2007-05-01 2012-04-03 M.E.P. Cad, Inc. Methods and apparatuses for automatically selecting a pipe in a CAD drawing
US8368717B2 (en) 2007-05-01 2013-02-05 Auto Prep, Llc Methods and apparatuses for comparing CAD drawings
US7996756B2 (en) 2007-09-12 2011-08-09 Vistaprint Technologies Limited System and methods for displaying user modifiable server-rendered images
US8134553B2 (en) 2007-09-24 2012-03-13 Microsoft Corporation Rendering three-dimensional objects on a server computer
US20090113349A1 (en) 2007-09-24 2009-04-30 Mark Zohar Facilitating electronic commerce via a 3d virtual environment
US8510382B2 (en) * 2007-10-15 2013-08-13 Insidesales.com Apparatus system and method for responding to web form inquiries
US20090119039A1 (en) * 2007-11-07 2009-05-07 Sproutlets, Inc. Approach for Controlling Electrical Power
WO2009067675A1 (en) 2007-11-23 2009-05-28 Mercury Computer Systems, Inc. Client-server visualization system with hybrid data processing
US8386918B2 (en) * 2007-12-06 2013-02-26 International Business Machines Corporation Rendering of real world objects and interactions into a virtual universe
US8566419B2 (en) * 2007-12-12 2013-10-22 Insidesales.com Systems and methods for enhanced user communications
AU2009206331A1 (en) 2008-01-23 2009-07-30 Sensable Technologies, Inc. Haptically enabled dental modeling system
EP2098994A1 (en) 2008-03-04 2009-09-09 Agfa HealthCare NV System for real-time volume rendering on thin clients via a render server
US20110078169A1 (en) * 2008-05-05 2011-03-31 Accela, Inc. Electronic Blueprint Evaluation System For Approving Blueprints
KR20110063617A (en) 2008-05-13 2011-06-13 몬트레이 그룹 원 엘엘씨 Apparatus and methods for interacting with multiple information forms across multiple types of computing devices
US8427473B2 (en) 2008-09-28 2013-04-23 Rdv Systems Ltd. Pseudo-realistic rendering of BIM data responsive to positional indicator
US8108267B2 (en) 2008-10-15 2012-01-31 Eli Varon Method of facilitating a sale of a product and/or a service
US8352218B2 (en) 2009-07-08 2013-01-08 Graphisoft Active building information modeling apparatus and method
US8462147B2 (en) 2009-09-15 2013-06-11 Microsoft Corporation Mega-mesh sculpting for environments
US20120331422A1 (en) 2011-06-22 2012-12-27 Gemvision Corporation, LLC Custom Jewelry Configurator

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5355445A (en) * 1991-04-25 1994-10-11 Mitsui Petrochemical Industries, Ltd. Knowledge base management system for an information reasoning apparatus
US5293479A (en) * 1991-07-08 1994-03-08 Quintero Smith Incorporated Design tool and method for preparing parametric assemblies
US5455599A (en) * 1993-11-02 1995-10-03 Taligent Inc. Object-oriented graphic system
US6725184B1 (en) * 1999-06-30 2004-04-20 Wisconsin Alumni Research Foundation Assembly and disassembly sequences of components in computerized multicomponent assembly models
US6647305B1 (en) * 2000-06-19 2003-11-11 David H. Bigelow Product design system and method
US6775581B2 (en) * 2001-03-14 2004-08-10 Delphi Technologies, Inc. Horizontally-structured CAD/CAM modeling for virtual concurrent product and process design
US20020183982A1 (en) * 2001-03-26 2002-12-05 Rauscher Thomas C. Design and estimating tools for the design of communication infrastructure in a structure

Cited By (155)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030220911A1 (en) * 2002-05-23 2003-11-27 Tompras Anthony D. Solid model library tool
US7469242B2 (en) * 2002-05-23 2008-12-23 The Boeing Company Central based computer network of solid models and associated data with search capability
US8762877B2 (en) 2003-09-30 2014-06-24 Ice Edge Business Solutions Ltd. Creation and modification of valid functional design layouts
US20050120010A1 (en) * 2003-11-20 2005-06-02 Apriori Technologies, Inc. System and method for determining costs within an enterprise
US20060020629A1 (en) * 2004-03-01 2006-01-26 Karthik Ramani Multi-tier and multi-domain distributed rapid product configuration and design system
US7725299B2 (en) * 2004-03-01 2010-05-25 Purdue Research Foundation Multi-tier and multi-domain distributed rapid product configuration and design system
US8510672B2 (en) 2004-08-17 2013-08-13 Dirtt Environmental Solutions Ltd Automatically creating and modifying furniture layouts in design software
US20060041842A1 (en) * 2004-08-17 2006-02-23 Loberg Barrie A Capturing a user's intent in design software
US8751950B2 (en) 2004-08-17 2014-06-10 Ice Edge Business Solutions Ltd. Capturing a user's intent in design software
US9536340B2 (en) 2004-08-17 2017-01-03 Dirtt Environmental Solutions, Ltd. Software incorporating efficient 3-D rendering
US20110191706A1 (en) * 2004-08-17 2011-08-04 Dirtt Environmental Solutions Ltd. Automatically creating and modifying furniture layouts in design software
US20060058993A1 (en) * 2004-09-15 2006-03-16 Karen Ulreich Methods for automated proposal generation
US20060059011A1 (en) * 2004-09-15 2006-03-16 Karen Ulreich Systems for automated proposal generation
US20060080279A1 (en) * 2004-10-13 2006-04-13 Jones Ryan K Customized and customizable engineering calculation and project detailing system
US9230043B2 (en) * 2004-11-25 2016-01-05 Jukka Suomi Computer-aided modeling
US20070013709A1 (en) * 2004-12-20 2007-01-18 Bernard Charles Process and system for rendering an object in a view using a product lifecycle management database
US9075931B2 (en) * 2004-12-20 2015-07-07 Dassault Systemes Process and system for rendering an object in a view using a product lifecycle management database
US20070288119A1 (en) * 2005-03-11 2007-12-13 The Boeing Company Automatic Data Configuration Strategy, Such as For Storing and Manipulating Product Manufacturing Data
US20060206225A1 (en) * 2005-03-11 2006-09-14 Wright Anthony P Automatic data configuration strategy, such as for storing and manipulating product manufacturing data
US20060267980A1 (en) * 2005-05-30 2006-11-30 Fujitsu Limited CAD method, CAD system and program storage medium storing CAD program thereof
US20070008621A1 (en) * 2005-07-07 2007-01-11 Naoyuki Satoh Selection of a part in image showing three dimensional object
US7457789B2 (en) 2005-08-17 2008-11-25 Tacton Systems Ab Configuration assistance for complex products
US20080234991A1 (en) * 2005-08-17 2008-09-25 Tomas Axling Customizing of computer aided design models
US8200457B2 (en) 2005-08-17 2012-06-12 Tacton Systems Ab Customizing of computer aided design models
US20070094175A1 (en) * 2005-08-17 2007-04-26 Tacton Systems Ab Configuration assistance for complex products
US20100106466A1 (en) * 2005-08-18 2010-04-29 Froehlich Martin System for the computed-aided design of technical devices
US8239173B2 (en) 2005-08-18 2012-08-07 Pace Aerospace Engineering And Information Technology Gmbh System for the computed-aided design of technical devices
WO2007020231A3 (en) * 2005-08-18 2007-05-03 Pace Aerospace Engineering And System for the computer-aided design of technical devices
US20070120875A1 (en) * 2005-11-30 2007-05-31 Symons Corporation Computer aided design interface
EP1987456A4 (en) * 2006-02-16 2012-09-26 Ice Edge Business Solutions Ltd Integrating object-oriented design software with record-based cad software
EP1987456A1 (en) * 2006-02-16 2008-11-05 Dirtt Environmental Solutions, Ltd. Integrating object-oriented design software with record-based cad software
WO2007093060A1 (en) 2006-02-16 2007-08-23 Dirtt Environmental Solutions, Ltd. Integrating object-oriented design software with record-based cad software
US8762941B2 (en) * 2006-02-16 2014-06-24 Dirtt Environmental Solutions, Ltd. Rendering and modifying CAD design entities in object-oriented applications
US20100268513A1 (en) * 2006-02-16 2010-10-21 Dirtt Environmental Solutions Ltd. Rendering and modifying cad design entities in object-oriented applications
US7908296B2 (en) * 2006-02-16 2011-03-15 Dirtt Environmental Solutions, Ltd. Integrating object-oriented design software with record-based CAD software
US20090049081A1 (en) * 2006-02-16 2009-02-19 Ice Edge Business Solutions Ltd. Integrating object-oriented design software with record-based cad software
US20080077902A1 (en) * 2006-09-26 2008-03-27 Ichiro Harashima Method of Determining Range Of Change in Design, Design Change Range Determining Apparatus, and Design Change Range Determining System
US8108059B2 (en) * 2006-09-26 2012-01-31 Hitachi, Ltd. Method of determining range of change in design, design change range determining apparatus, and design change range determining system
US20080148297A1 (en) * 2006-12-14 2008-06-19 Canon Kabushiki Kaisha Application management system and method of controlling the same
US8555298B2 (en) * 2006-12-14 2013-10-08 Canon Kabushiki Kaisha Application management system and method of controlling the same
US20080243445A1 (en) * 2007-03-26 2008-10-02 Hntb Holdings Ltd Bridge information modeling
WO2008118952A1 (en) * 2007-03-26 2008-10-02 Hntb Holdings Ltd Bridge information modeling
US8160841B2 (en) 2007-03-26 2012-04-17 Hntb Holdings Ltd Bridge information modeling
US9919474B2 (en) 2007-07-25 2018-03-20 Stratasys Ltd. Solid freeform fabrication using a plurality of modeling materials
US11161308B2 (en) 2007-07-25 2021-11-02 Stratasys Ltd. Solid freeform fabrication using a plurality of modeling materials
US20100191360A1 (en) * 2007-07-25 2010-07-29 Object Geometries Ltd. Solid freeform fabrication using a plurality of modeling materials
US9031680B2 (en) 2007-07-25 2015-05-12 Stratasys Ltd. Solid freeform fabrication using a plurality of modeling materials
US20090033656A1 (en) * 2007-07-30 2009-02-05 Larkins Darren Database driven relational object modeling and design system, method and software
US20090060393A1 (en) * 2007-08-28 2009-03-05 Naoyuki Satoh Image searching device, image searching method, image searching program, and recording medium recording the image searching program
US8135240B2 (en) * 2007-08-28 2012-03-13 Ricoh Company, Ltd. Image searching device, method and recording medium
US9519407B2 (en) 2008-03-11 2016-12-13 Ice Edge Business Solutions, Ltd. Automatically creating and modifying furniture layouts in design software
US20090259440A1 (en) * 2008-04-14 2009-10-15 Reed Darwin G Part standard geometry management in a computer aided design system
US10372833B2 (en) * 2008-04-14 2019-08-06 The Boeing Company Part standard geometry management in a computer aided design system
US20110224954A1 (en) * 2008-08-26 2011-09-15 Cinergix Pty Ltd Modelling of systems
WO2010022439A1 (en) * 2008-08-26 2010-03-04 Cinergix Pty Ltd Modelling of systems
US9361585B1 (en) * 2008-10-31 2016-06-07 Emergent Systems Corporation Method for determining data quality in a knowledge management system
US10002324B1 (en) * 2008-10-31 2018-06-19 Emergent Systems Corporation Method for determining data quality in a knowledge management system
US20100114355A1 (en) * 2008-11-04 2010-05-06 Ichiro Harashima Method and system for management of manufacturing information
US8347236B1 (en) 2009-02-24 2013-01-01 Emergent Systems Corporation Client server interface for a knowledge management system
US8204902B1 (en) 2009-02-27 2012-06-19 Emergent Systems Corporation Dynamic ranking of experts in a knowledge management system
US20110130855A1 (en) * 2009-10-02 2011-06-02 Philpott Michael L Template framework for automated process routing
US9335760B2 (en) 2009-10-02 2016-05-10 Apriori Technologies, Inc. Template framework for automated process routing
US8914141B2 (en) 2009-10-02 2014-12-16 Apriori Technologies, Inc. Template framework for automated process routing
US8301419B1 (en) 2009-10-09 2012-10-30 The Boeing Company Managing information for generating models of parts
FR2952208A1 (en) * 2009-10-30 2011-05-06 Ct Scient Et Tech Du Batiment Cstb CONFIGURATION OF CONSTRUCTION PRODUCTS FOR A DIGITAL BUILDING MODEL.
WO2011051639A1 (en) * 2009-10-30 2011-05-05 Centre Scientifique Et Technique Du Batiment (Cstb) Configuration of construction products for a digital building model
US8843884B1 (en) * 2009-11-23 2014-09-23 Jason Adam Koerner Interactive graphical construction of parametric components of typical cross section frameworks
US9245064B2 (en) * 2009-11-24 2016-01-26 Ice Edge Business Solutions Securely sharing design renderings over a network
US20120268463A1 (en) * 2009-11-24 2012-10-25 Ice Edge Business Solutions Securely sharing design renderings over a network
US8896595B2 (en) 2010-03-12 2014-11-25 Intergraph Corporation System, apparatus, and method of modifying 2.5D GIS data for a 2D GIS system
US20110225208A1 (en) * 2010-03-12 2011-09-15 Intergraph Technologies Company Integrated GIS System with Interactive 3D Interface
US8525827B2 (en) 2010-03-12 2013-09-03 Intergraph Technologies Company Integrated GIS system with interactive 3D interface
US8589128B2 (en) 2010-10-28 2013-11-19 Parametric Technology Corporation Methods and systems for creation of a dynamically configurable product design
US20120109591A1 (en) * 2010-10-28 2012-05-03 Brian Thompson Methods and systems for enforcing parametric constraints in a direct modeling interface in computer-aided design
US8892404B2 (en) 2010-10-28 2014-11-18 Parametric Technology Corporation Methods and systems for consistent concurrent operation of a plurality of computer-aided design applications
US8890867B2 (en) 2010-10-28 2014-11-18 Parametric Technology Corporation Methods and systems for dynamically loading portions of a computer-aided design model on demand
WO2012058604A2 (en) * 2010-10-28 2012-05-03 Parametric Technology Corporation Methods and systems for computer-aided design
US8818769B2 (en) 2010-10-28 2014-08-26 Parametric Technology Corporation Methods and systems for managing synchronization of a plurality of information items of a computer-aided design data model
WO2012058604A3 (en) * 2010-10-28 2012-07-05 Parametric Technology Corporation Methods and systems for computer-aided design
US8566066B2 (en) * 2010-10-28 2013-10-22 Parametric Technology Corporation Enforcing parametric constraints in a direct modeling interface in computer-aided design
US20130024836A1 (en) * 2010-11-22 2013-01-24 Jason Adam Koerner Interactive Graphical Construction of Parametric Components of Typical Cross Section Frameworks
US20120253763A1 (en) * 2011-03-30 2012-10-04 The Boeing Company Model Management for Computer Aided Design Systems
US8838420B2 (en) * 2011-03-30 2014-09-16 The Boeing Company Model management for computer aided design systems
US8768654B2 (en) 2011-04-29 2014-07-01 Siemens Product Lifecycle Management Software Inc. Interactive configuration-management-based diagramming tool
WO2012148680A1 (en) * 2011-04-29 2012-11-01 Siemens Product Lifecycle Management Software Inc. Interactive configuration-management-based diagramming tool
US9189571B2 (en) 2011-06-11 2015-11-17 Ice Edge Business Solutions, Ltd. Automated re-use of structural components
US20130097489A1 (en) * 2011-10-14 2013-04-18 Siemens Product Lifecycle Management Software Inc. Drawing automation in computer aided design systems
US9177082B2 (en) * 2011-10-14 2015-11-03 Siemens Product Lifecycle Management Software Inc. Drawing automation in computer aided design systems
US20130132424A1 (en) * 2011-11-23 2013-05-23 Siemens Product Lifecycle Management Software Inc. Massive model visualization with spatial indexing
US8725763B2 (en) * 2011-11-23 2014-05-13 Siemens Product Lifecycle Management Software Inc. Massive model visualization with spatial indexing
US9582613B2 (en) 2011-11-23 2017-02-28 Siemens Product Lifecycle Management Software Inc. Massive model visualization with spatial retrieval
US9529507B2 (en) 2011-11-23 2016-12-27 Siemens Product Lifecycle Management Software Inc. Massive model visualization in PDM systems
US9053254B2 (en) 2011-11-23 2015-06-09 Siemens Product Lifecycle Management Software Inc. Massive model visualization in PDM systems
US20140180646A1 (en) * 2012-12-20 2014-06-26 Dassault Systemes Designing An Assembly Of Parts In A Three-Dimensional Scene
US11275870B2 (en) * 2012-12-20 2022-03-15 Dassault Systemes Designing an assembly of parts in a three-dimensional scene
US20140200862A1 (en) * 2013-01-11 2014-07-17 Tekla Corporation Drawings and computer-aided modeling
EP3005180A4 (en) * 2013-05-31 2017-01-11 Dirtt Environmental Solutions, Ltd. Automatically incorporating third party features into a computer design schematic
EP3005185A4 (en) * 2013-05-31 2017-01-18 DIRTT Environmental Solutions, Ltd. Automatically resolving boundaries within an architectural design environment
US10289758B2 (en) 2013-05-31 2019-05-14 Dirtt Environmental Solutions, Ltd. Automatically resolving boundaries within an architectural design environment
US10037403B2 (en) 2014-01-13 2018-07-31 The Boeing Company Method and system for managing aircraft parts
US9600770B1 (en) 2014-02-13 2017-03-21 Emergent Systems Corporation Method for determining expertise of users in a knowledge management system
US20150324494A1 (en) * 2014-05-09 2015-11-12 Autodesk, Inc Techniques for using controlled natural language to capture design intent for computer-aided design
US20150324491A1 (en) * 2014-05-09 2015-11-12 Autodesk, Inc Techniques for using controlled natural language to capture design intent for computer-aided design
US11113430B2 (en) * 2014-05-09 2021-09-07 Autodesk, Inc. Techniques for using controlled natural language to capture design intent for computer-aided design
US20150324492A1 (en) * 2014-05-09 2015-11-12 Autodesk, Inc Techniques for using controlled natural language to capture design intent for computer-aided design
US11062057B2 (en) * 2014-05-09 2021-07-13 Autodesk, Inc. Techniques for using controlled natural language to capture design intent for computer-aided design
US20150324493A1 (en) * 2014-05-09 2015-11-12 Autodesk, Inc Techniques for using controlled natural language to capture design intent for computer-aided design
US10839110B2 (en) * 2014-05-09 2020-11-17 Autodesk, Inc. Techniques for using controlled natural language to capture design intent for computer-aided design
US10657296B2 (en) * 2014-05-09 2020-05-19 Autodesk, Inc. Techniques for using controlled natural language to capture design intent for computer-aided design
US10922450B2 (en) 2014-06-09 2021-02-16 Dirtt Environmental Solutions, Ltd. Associating computer-executable objects with timber frames within an architectural design environment
US20150363513A1 (en) * 2014-06-13 2015-12-17 Wolfram Alpha Llc Method and system for designing products
US20160314626A1 (en) * 2015-04-23 2016-10-27 Siemens Product Lifecycle Management Software Inc. Massive model visualization with a product lifecycle management system
US10614632B2 (en) * 2015-04-23 2020-04-07 Siemens Industry Software Inc. Massive model visualization with a product lifecycle management system
US10860934B2 (en) 2016-05-13 2020-12-08 Cognitive Scale, Inc. Universal cognitive graph having persistent knowledge elements
US10769535B2 (en) 2016-05-13 2020-09-08 Cognitive Scale, Inc. Ingestion pipeline for universal cognitive graph
US11244229B2 (en) 2016-05-13 2022-02-08 Cognitive Scale, Inc. Natural language query procedure where query is ingested into a cognitive graph
US10565504B2 (en) 2016-05-13 2020-02-18 Cognitive Scale, Inc. Structurally defining knowledge elements within a cognitive graph
US20170329867A1 (en) * 2016-05-13 2017-11-16 Cognitive Scale, Inc. Ingesting a Natural Language Query into a Cognitive Graph
US10860935B2 (en) 2016-05-13 2020-12-08 Cognitive Scale, Inc. Universal cognitive graph having persistent knowledge elements
US10528870B2 (en) 2016-05-13 2020-01-07 Cognitive Scale, Inc. Natural language query procedure where query is ingested into a cognitive graph
US10699196B2 (en) 2016-05-13 2020-06-30 Cognitive Scale, Inc. Lossless parsing when storing knowledge elements within a universal cognitive graph
US10706358B2 (en) 2016-05-13 2020-07-07 Cognitive Scale, Inc. Lossless parsing when storing knowledge elements within a universal cognitive graph
US10706357B2 (en) 2016-05-13 2020-07-07 Cognitive Scale, Inc. Ingesting information into a universal cognitive graph
US10719766B2 (en) 2016-05-13 2020-07-21 Cognitive Scale, Inc. Universal cognitive graph architecture
US10860932B2 (en) 2016-05-13 2020-12-08 Cognitive Scale, Inc. Universal graph output via insight agent accessing the universal graph
US10796227B2 (en) 2016-05-13 2020-10-06 Cognitive Scale, Inc. Ranking of parse options using machine learning
US10860936B2 (en) 2016-05-13 2020-12-08 Cognitive Scale, Inc. Universal quantification of knowledge elements within a cognitive graph
US11295216B2 (en) 2016-05-13 2022-04-05 Cognitive Scale, Inc. Structurally defining knowledge elements within a cognitive graph
US10860933B2 (en) 2016-05-13 2020-12-08 Cognitive Scale, Inc. Universal graph output via insight agent accessing the universal graph
US10318661B2 (en) * 2016-07-27 2019-06-11 Applied Software Technology, Inc. Managing custom REVIT inheritance-based assembly families for manufacturing
US11544420B2 (en) 2016-07-27 2023-01-03 Evolve Mep, Llc Managing custom computer-aided design inheritance-based assembly families for manufacturing
US11514205B2 (en) 2018-01-08 2022-11-29 Nuvolo Technologies Corporation Interpreter framework for a computer file
US10628616B2 (en) * 2018-01-08 2020-04-21 Nuvolo Technologies Corporation Space profile interpreter framework for a computer file
US20190213287A1 (en) * 2018-01-08 2019-07-11 Nuvolo Technologies Corporation Space profile interpreter framework for a computer file
US11741272B2 (en) 2018-01-08 2023-08-29 Nuvolo Technologies Corporation Interpreter framework for a computer file
US11842125B2 (en) 2018-01-08 2023-12-12 Nuvolo Technologies Corporation Space profile interpreter framework for a computer file
US11222148B2 (en) 2018-01-08 2022-01-11 Nuvolo Technologies Corporation Space profile interpreter framework for a computer file
US11249459B2 (en) 2018-02-05 2022-02-15 Advanced Solutions Life Sciences, Llc System and workstation for the design, fabrication and assembly of 3-dimensional constructs
US10838404B2 (en) 2018-02-05 2020-11-17 Advanced Solutions Life Sciences, Llc System and workstation for the design, fabrication and assembly of 3-dimensional constructs
WO2019152769A1 (en) * 2018-02-05 2019-08-08 Advanced Solutions Life Sciences, Llc System and workstation for the design, fabrication and assembly of 3-dimensional constructs
US10558199B2 (en) * 2018-02-13 2020-02-11 University Of Central Florida Research Foundation, Inc. Method for the design and manufacture of composites having tunable physical properties
US11250164B2 (en) * 2018-03-27 2022-02-15 Desprez, Llc Systems for secure collaborative graphical design using secret sharing
US10573059B2 (en) 2018-03-27 2020-02-25 Desprez, Llc Methods of secret sharing for secure collaborative graphical design
US20190303620A1 (en) * 2018-03-27 2019-10-03 Desprez, Llc Systems for secure collaborative graphical design using secret sharing
CN108573112A (en) * 2018-05-08 2018-09-25 北京特种工程设计研究院 Aerospace test based on digitalized artificial emits two dimensional topology analysis method
US11030709B2 (en) 2018-10-29 2021-06-08 DIGIBILT, Inc. Method and system for automatically creating and assigning assembly labor activities (ALAs) to a bill of materials (BOM)
US10997553B2 (en) * 2018-10-29 2021-05-04 DIGIBILT, Inc. Method and system for automatically creating a bill of materials
US20200134560A1 (en) * 2018-10-29 2020-04-30 DIGIBILT, Inc. Method and system for automatically creating a bill of materials
CN109359434A (en) * 2018-12-11 2019-02-19 北京市政路桥股份有限公司 Falsework system derivative design method
US20210081582A1 (en) * 2019-09-18 2021-03-18 Bricsys Nv Automated detail adaptation and insertion in a cad model
EP4143702A1 (en) * 2020-06-08 2023-03-08 Apriori Technologies, Inc. Insight generation based on retrieved plm data
US11693868B2 (en) * 2020-06-08 2023-07-04 Apriori Technologies, Inc. Insight generation based on retrieved PLM data
WO2021252445A1 (en) * 2020-06-08 2021-12-16 aPriori, Inc. Insight generation based on retrieved plm data
US20210382884A1 (en) * 2020-06-08 2021-12-09 aPriori, Inc. Insight generation based on retrieved plm data
US11676106B2 (en) 2020-10-14 2023-06-13 Streamlinx Llc Method and system for managing and sourcing materials and services for energy retrofit projects

Also Published As

Publication number Publication date
US20100306681A1 (en) 2010-12-02
US8762877B2 (en) 2014-06-24
WO2005033985A1 (en) 2005-04-14

Similar Documents

Publication Publication Date Title
US20050071135A1 (en) Knowledge management system for computer-aided design modeling
US20050203718A1 (en) Knowledge management system with integrated product document management for computer-aided design modeling
WO2005098687A1 (en) Knowledge management system with interactive rule changes for computer-aided design modelling
US7079990B2 (en) Automated connections of computer-aided design components
US10877874B2 (en) Systems and methods for modeling and generating test requirements for software applications
US5019961A (en) Computer apparatus and method for logical modelling
EP1510952B1 (en) Capture, aggregation and/or visualisation of structural data of architectures
North et al. Applications of graph visualization
US7707533B2 (en) Data-mining-based knowledge extraction and visualization of analog/mixed-signal/custom digital circuit design flow
JP2004520635A (en) Object-oriented software application with application framework for oil company model assets
WO1999014651A2 (en) Method and system for database application software creation requiring minimal programming
Stoter et al. Visualisation and editing of 3D objects organised in a DBMS
WO1996023280A1 (en) Modelling and analysis of systems of three-dimensional object entities
Van Emmerik Interactive design of 3D models with geometric constraints
US20070136333A1 (en) Method of inspection and a user interface for a business measure modeling tool
Halfawy et al. Modeling and implementation of smart AEC objects: an IFC perspective
JP4813639B2 (en) Feature-type macro language for defining customized analysis and customized graphics functions
Woodbury et al. Code checking by representation comparison
Russ Development of a CAD model simplification framework for finite element analysis
Brockman et al. The schema-based approach to workflow management
US7353488B1 (en) Flow definition language for designing integrated circuit implementation flows
Pantelios Development of a QGIS plugin for the CityGML 3D City Database
Schreiber Specification and generation of user interfaces with the boss-system
Ng et al. A visual approach to distributed programming
Willenborg Simulation of explosions in urban space and result analysis based on CityGML City models and a cloud based 3D Web client

Legal Events

Date Code Title Description
AS Assignment

Owner name: RULESTREAM CORPORATION, OHIO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VREDENBURGH, DAVID W.;SMITH, GREGORY J.;MATTERN, ROBERT J.;REEL/FRAME:014613/0934

Effective date: 20040218

AS Assignment

Owner name: QUAYE, ALBERT JR., PENNSYLVANIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:RULESTREAM COPORATION;REEL/FRAME:015084/0187

Effective date: 20040811

Owner name: QUAYE, ALBERT E. III, VIRGINIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:RULESTREAM COPORATION;REEL/FRAME:015084/0187

Effective date: 20040811

Owner name: QUAYE, JOSEPHINE D., PENNSYLVANIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:RULESTREAM COPORATION;REEL/FRAME:015084/0187

Effective date: 20040811

Owner name: HOURI MANAGEMTNE LIMITED, VIRGIN ISLANDS, BRITISH

Free format text: SECURITY AGREEMENT;ASSIGNOR:RULESTREAM COPORATION;REEL/FRAME:015084/0187

Effective date: 20040811

Owner name: SCHLECK, JAMES D., NEW JERSEY

Free format text: SECURITY AGREEMENT;ASSIGNOR:RULESTREAM COPORATION;REEL/FRAME:015084/0187

Effective date: 20040811

Owner name: MASTHEAD VENTURE PARTNERS CAPITAL, LP, MAINE

Free format text: SECURITY AGREEMENT;ASSIGNOR:RULESTREAM COPORATION;REEL/FRAME:015084/0187

Effective date: 20040811

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: RULESTREAM CORPORATION, MASSACHUSETTS

Free format text: PARTIAL RELEASE OF SECURITY INTEREST;ASSIGNOR:MASTHEAD VENTURE PARTNERS CAPITAL, LP;REEL/FRAME:023203/0238

Effective date: 20090825

Owner name: SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE INC.

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:RULESTREAM CORPORATION;REEL/FRAME:023203/0386

Effective date: 20090825

Owner name: SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE INC.

Free format text: PARTIAL RELEASE OF SECURITY INTEREST;ASSIGNOR:MASTHEAD VENTURE PARTNERS CAPITAL, LP;REEL/FRAME:023203/0238

Effective date: 20090825