UT Austin and the College of Engineering

GraphSynth

Version 1.8
Software for Creating Graph Grammars
created by the Automated Design Lab
in the Mechanical Engineering Department
under the direction of Dr. Matt Campbell

Navigating GraphSynth

File Directory Navigation (folders in italics)

Drop-Down Menu Navigation

File

  • New
    • Graph (Ctrl+N)
    • Grammar Rule (Ctrl+Shift+N)
    • Rule Set (Alt+N)
  • Open (Ctrl+O)
  • Save Active (Ctrl+S)
  • Close
    • Active Window (Ctrl+W)
    • All Open Graphs (Ctrl+Shift+W)
  • Print
    • Print Preview (Ctrl+P)
  • Exit (Alt+X)



Open a new window to create a new graph, rule, or ruleset (set of rules). In drawing a graph or rule, a right click will bring up a context-sensitve menu, and Ctrl+1, 2, 3, 4, or 5 will add different node shapes.

Open and save graphs, rules, or rulesets. "Active" refers to the active window in GraphSynth.

Close the active window, or all open graphs. This can be handy when running a long generation process.



Modify the settings to save time in GraphSynth.

A print command is useful to save the graph. It will only send to the default printer. Please set up in advance.

Edit

  • Force Update & Refresh
  • Cut (Ctrl+X)
  • Copy  (Ctrl+C)
  • Paste (Ctrl+V)
  • Delete (Del)
  • Select All (Ctrl+A)

  • adding nodes (not shown)
    • largeCircleNode (1)
    • medCircleNode (2)
    • smallCircleNode (3)
    • ovalNode (4)
    • roundtangleNode (5)
    • rectangleNode (6)
    • squareNode (7)


force update and refresh to tie display to xml data. Hopefully it is not necessary to do this manually, but here it is just in case.

Cut, Copy, Paste, Delete, Select All - edit functions like you're used to.





Nodes can be added to graphs or rules by these helpful shortcuts. They can also be added by right-clicking and selecting them from the bottom of the pop-up menu.

View

  • Zoom
    • 10% to 400%
    • (Ctrl+Z - zoom in)
    • (Alt+Z - zoom out)
    • (Ctrl+Shift+Z
        - zoom to 100%)
  • Text (Ctrl+T to reset)
    • Hide (Ctrl+H)
    • Shrink Text (Ctrl+F)
    • Enlarge Text (Ctrl+G)
  • Graph Layout
    • Randomizer (Alt+1)
    • Force-Directed (Alt+2)
    • Fruchterman-Reingold Algorithm (Alt+3)
    • Cartesian Layout (Alt+4)
    • Balloon Tree (Alt+5)
    • Radial Tree (Alt+6)
    • Custom 1 Layout(Alt+7)
    • Custom 2 Layout(Alt+8)
    • Custom 3 Layout(Alt+9)
    • Undo Last Layout (Alt+0)
  • Windows
    • Cascade
    • Tile Horizontally
    • Tile Vertically



Set a zoom for the current graph or rule. Within a rule, click on either the left-hand-side or the right-hand-side to apply the zoom.





Node and arc names can busy up a graph. Quickly hide them or shrink them with these commands. Also when zoomed out, the enlarge text is useful. The three shortcuts are adjacent, so feel free to adjust randomly.


Here are three generic layout algorithms and (up to) three custom layout algorithms that you can write in the graphLayout.cs file. The actual names of the functions will be shown here.







Manage multiple docked windows with these handy windows layout methods.

Design

  • Set Active as Seed (Alt+D)
  • Set Active as Rule Set #0
  • Set Active as Rule Set #1
  • ...
  • Set Active as Rule Set #9
  • Clear All Rule Sets and Seed

 

  • Run Search Process (Ctrl+Spacebar or F5)
  • RecognizeUser ChooseApply (Ctrl+U)
  • RecognizeRandom ChooseApply (Ctrl+R)
  • #steps (for Random Choose)
Before a generation process can be initiated, we must specify the seed graph and the rulesets. This is best done by fixing the settings so that the seed and rulesets are loaded at the beginning of the program. But if this is not done, then we can use active windows in GraphSynth to set this up.

The seed can only be applied to a graph, and it is possible to set as many as 10 active rule sets. The number of items that appears depends on what put in "# of RuleSets" in settings. These can be changed dynamically. Finally, we can clear all the prescribed rulesets and seeds with this final command.


This simply invokes the custom search process that you is contained in searchProcess.cs.


To test the generation with a pop-up showing the list of option, call this function.


Invoking this will randomly call options until the process ends. Beware, in many cases, there is no end, unless no more rules are recognized or the cycle limit is reached ("Max # of Rules to Apply in the settings dialog). To invoke the random process for a fixed set of rule call, fill in values in the #steps box. Note: you need a limit for each rule set. Separate values with a space or comma. 

Help

  • Help (F1)
  • About GraphSynth


The help menu item simply opens a browser to this series of pages (sorry, that's all folks!)

Click on the "About GraphSynth" tab to see the splash and get to links to our site.



© 2007, the Automated Design LaboratoryMechanical Engineering Department of the College of Engineering at the University of Texas at Austin.
All rights reserved. This page was last updated on Wednesday, July 4, 2007 by the Dr. Matt Campbell.