Enhanced Directed Dependency Graph for Cyclic CAD Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional CAD systems face complexity in evaluating dependencies between elements due to cyclic dependencies, which requires complex solving techniques and constraint solvers, making it difficult to determine the correct evaluation order for dependent nodes.

Innovation Solution

The method introduces an enhanced directed dependency graph with invertible edges and delay nodes to create a conditionally acyclic graph, allowing for the evaluation of dependencies using an activation algorithm, which suppresses edges and provides a specific activation order, enabling the evaluation of cyclic systems without the need for complex constraint solvers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional dependency graphs are used to represent cyclic dependencies in CAD systems, then the system can model complex relationships between elements, but determining the evaluation order becomes complex requiring constraint solvers

Engineering Contradiction:
Improveability to model cyclic dependenciesVSAvoidcomplexity of evaluation process
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the cyclic dependency graph into multiple evaluation passes, where each pass evaluates a subset of nodes. By dividing the evaluation process into discrete passes that process nodes in specific groups, the system maintains the ability to handle cyclic dependencies while avoiding the need for complex constraint solvers. Each pass evaluates nodes that are ready based on current dependency satisfaction, and the process repeats until all nodes are evaluated.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a dynamic evaluation approach where the dependency graph structure is actively manipulated during evaluation. Nodes are temporarily removed from the graph after evaluation, and the graph is re-evaluated in subsequent passes. This dynamic modification of the graph structure allows the system to progressively resolve cyclic dependencies without requiring complex solving techniques, as the evaluation order emerges naturally through the iterative process.

Inventive Principle:
Principle #15Dynamics

2Productivity

If topological sort is used to evaluate acyclic dependency graphs, then the evaluation order can be determined efficiently, but this method cannot handle cyclic dependencies

Engineering Contradiction:
Improveevaluation efficiencyVSAvoidability to handle cyclic dependencies
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent applies periodic action by implementing multiple evaluation passes that repeat the topological sort process. Each pass evaluates a portion of the dependency graph using efficient topological sorting, and then the graph is updated for the next pass. This periodic repetition of the evaluation process allows the system to efficiently handle cyclic dependencies by breaking them into manageable segments that can be processed using proven efficient algorithms.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS7620947B2Enhanced directed graph representation for dependency systems
Publication Date: 2009.11.17 AUTODESK INC
  • US7620947B2 patent drawing
  • US7620947B2 patent drawing
  • US7620947B2 patent drawing

AI summary

Methods for representing and evaluating dependency systems are provided. In one implementation a method is provided. The method includes receiving a file. The file includes a node array having data entries corresponding to one or more nodes. The file also includes an edge array having data entries corresponding to one or more edges, the edge entries identifying an invertability state of an edge, a suppressed state of an edge, and one or more partner edge linking a first and a second edge in the edge array. The method also include processing the received file. In another implementations a method for evaluating dependencies in a cyclic system is provided as well as a method for evaluating an enhanced directed dependency graph.