Common User Interface
for Parametric Data Entry
- Text file driven
(generic variable template, GVT)
- Tool to build and modify
the GVT
- Tool to read file and
display user interface (the “index card” approach)
- Tool/method to transfer
input data to other tool(s) and global database
Common User Interface
GVT
Each tool will have an
associated text file describing its input requirements.
Visible (user)
variable name (long & provides cues)
Internal (tool)
variable name (whatever)
Global (project)
database name (null if none)
Visible (user) units
(user selectable?)
Internal (tool)
units (converter tool or conversion factor?)
Data type in tool
(i.e. real, integer, character, etc.) (type in Python???)
Input required or
optional (i.e. must enter or obtain from GDB or not)
Default value (null
if none)
Upper/lower limits
(null if none)
Read from global
data if variable exists in GDB (Y/N or T/F option)
Write to global data
(Y/N or T/F option)
CUI Display
Directives
- Group membership
(i.e. which index card)
- Display type (i.e.
toggle, button, box, slide, etc.)
- Visible/hidden (in
the GVT for each variable)
- Dependencies (i.e.
only display when certain option(s) selected)
- Each “Index Card”
should have a [Display Hidden] button
Need to address:
- Items having multiple
entries (e.g. many magnet coils)
- Accessing data from
files
- Output control
(generic & tool specific)
- Graphics control
(generic & tool specific)
- Accessing global
database data
- Capability for simple
parametric variation
- Tool <–> text
file association method (e.g. <toolname>.dict)
- Uniform way to access
HELP on each variable
Common User Interface
for Geometry Entry
- 2D (at first)
- Separate project-wide
geometry “index card” (tool independent)
- Use Python objects to
implement geometric objects (GOs)
- GOs have methods:
translate, rotate, scale, duplicate, etc.
- GOs have attributes:
bounding box, material properties, Entry & Exit Point, etc.
- Implement geometric
“library” capability, predefined PGEs, user defined objects
- Implement a collapsible,
tabbed list of objects
- Display the geometry in
a separate window
- Use “CutBoxes” to
connect geometry to tools
|
|