The Geometry Modeling System User’s Guide

Stephen Clark

Sanford Ressler

U.S. DEPARTMENT OF COMMERCE

National Bureau of Standards

National Engineering Laboratory

Center for Manufacturing Engineering

Factory Automation Division

Machine Intelligence Group

Gaithersburg, MD. 20899

January 1987

100

.056

87-3508

1987 i U-2 j
NATIONAL INSTITUTE OF STANDARDS &

TECHNOLOGY

Research Information Center

Gaithersburg, MD 20899

DATE DUE

Demco. Inc. 38-293
NBSIR 87-3508

THE GEOMETRY MODELING SYSTEM USER’S GUIDE

Stephen Clark

Sanford Ressler

U.S. DEPARTMENT OF COMMERCE

National Bureau of Standards

Natonal Engineering Laboratory

Center for Manufacturing Engineering

Factory Automation Division

Machine Intelligence Group

Gaithersburg, MD 20899

January 1987

U.S. DEPARTMENT OF COMMERCE, Malcolm Baldrige, Secretary

NATIONAL BUREAU OF STANDARDS, Ernest Ambler. Dir«ctor

The Geometry Modeling System

User’s Guide

by

Stephen Clark

Sanford Ressler

National Bureau of Standards

October 1986

Introduction

The Geometry Modeling System (GMS) is an interactive graphics program

which allows the definition of features, functionality and tolerances of a part

defined in the AMRF part model report format, [HOPP 86]. The system mns

on a Silicon Graphics IrisTM and Sun MicrosystemsTM workstations. The

geometry and topology of the part is previously created on a CAD system such

as an IBMTM miming CATIATM with a conversion postprocessor to convert the

data to the AMRF format. This data is subsequently read by the GMS, which

expects the complete geometry and topology data and allows the user to define

and modify the feamres and functionality of the part. Upon completion of a session the user can write out a full AMRF database report containing the

modified part model data.

Layout

In figure 1 one can see the overall layout of the user interface. The mode

and high-level area contain system control buttons. The entity manipulation

area contains generic entity manipulation button. The text interaction area asks

for and presents textual feedback and error messages. The menu area is where the dynamic menus appear. Finally the part display area is where the

part model is displayed in a wire frame view(s).

When a part is loaded, it is displayed in the large part display area. Entities

that are selected are highlighted in this area, which can be manipulated using

the UNICADTM [UNICAD 86] viewing subsystem. The text interaction area in

the upper left of the screen displays messages, such as prompts and error messages, and is the area into which textual input is entered. The icons in the

upper right provide high-level functions such as loading a part and exiting

Silicon Graphics Iris is a trademark of Silicon Graphics Corp. Sun Workstations is a trademark of Sun Microsystems Inc. Unicad is a trademark of Unicad Inc. Catia is a trademark of Dassault Systems Inc. IBM is a trademark of International Business Machines Inc.
Page 2

GMS. Next to these is a current mode icon, which indicates the type of entity

which is currently being used. This entitiy mode can be cycled by chcking the

middle mouse button. Across the bottom of the screen are six icons which

provide the actual function for the manipulation of entities. Currently copy is

not implemented and edit merely deletes and then allows for the creation of a new one, providing no new functionality.

It is sometimes necessary for GMS to present the user a temporary menu.

Tliese menus are displayed on the left side of the screen, and selections are made from them with the left mouse button. GMS must also display or request

Text Interaction Areas Mode and High-Level Functions

M

E

N

PART

U

S

DISPLAY

Entity Manipulation Functions

Figure 1. GMS Screen Layout

a large amount of textual data on some occasions (for example, to show the

definition of an existing tolerance). When this occurs, a text window is

temporarity displayed in the lower left comer of the screen. This window will

obscure any portion of the part display which falls behind it, but the display wiU

be restored when then window is no longer needed. See figures 2 and 3 for
Page 3

Figure 2

Figure 3
Page 4

some example screen images of GMS.

Entities

GMS provides functions to create delete, and examine five types of entities:

face (read only), features, datums, datum reference frames, and tolerances.

These correspond exactly to the block in the AMRF part model report with the

same names.

The most common function performed on an entity is picking. Entities can

be picked in two ways: by text or graphically. Graphical picking is implemented for all entities except datum reference frames. To pick an entity

graphically, position the cursor on one of the edges in the displayed object..

GMS wiU make a guess as to which of the entities containing that edge is the

desired one, and highlight the geometry associated with it. It wiU ask "is this

the correct <entity>?". If GMS has guessed correctly, simply answer ’y’ or

click on the left button, and the entity wiU be selected. Otherwise, answer ’n’ or click on the middle button, and GMS will make a new guess. GMS wiU

continue to cycle through the possible selections in this way until one is selected or until the right mouse button is clicked, which aborts the selection

process. Note that the edges of a tolerance are considered to be those of the

feature controlled by the toloerance.

This process of picking, system guessing and usercycling through the

possibilities is used in many

places in the system. The reason Selection Choice cycling

for this sometimes annoying

process is that the only low level

graphical picking implemented is

on edges, i.e. line segments.

Edges are always part of two

faces, so the ambiguity must be

resolved by giving the user a choice among the two faces,

(when the entity being picked is

FACE). The same ambiguity

occurs with the other entities, as

the edges are associated with an

ambiguous entity choice and the

user resolves the choice by

cycling.

The system is icon-driven: aU Figure 4. GMS Mouse Button Conventions
Page 5

of the functions required in normal operation are obtained by picking the

appropriate icon with the mouse. A convention is maintained throughout the

system with respect to the functionality of the mouse buttons (fig 4). The left

button is always used to make selections: to pick an icon, make a selection

from a menu, or select geometric and functional entities on the part. Tire

middle button is used as a toggle: between input modes or tiirough a list of

possible choices. The right button is used to terminate or abort an operation: to

signal completion of a form or the end of a list of selections.

High-Level Functions

There are four high-level functions available. Each is obtained by selecting

the appropriate icon from the high-level function area. These icons are always

present, and can be selected at any time. The available functions are:

Load Part

Save Part

Viewing

Parse an AMRF database report and display the part

described. The user is prompted for the name of the file to

be parsed, or for the part name if the AMRF database is available (future extention). The file is obtained from disk

(or from the AMRF database), and is parsed and

displayed. If a part is already in memory, the user is first

asked whether to wipe out the existing part from memory.

A response of ’n’ aborts the load operation.

If a part is currently in memory, the user is asked for a name under which to save it. Hitting return causes the

default, i.e. the name under which the part was loaded, to

be selected. The part is saved under the given name and, if

the AMRF database is available it is informed of the

presence of the new part (future extension).

This option caUs the Viewing subsystem provided by

UNICAD. This system provides functions such as multiple

viewports, various viewing angles, view scaling, and

dynamic view transformations. For more information see

the UNICAD documentation [UNICAD 86].

Exit The user is asked to confirm exit. A’y’ response causes

GMS to exit gracefully, while any other response leaves the

user in GMS.
Page 6

Mode Icons

Next to the high-level function icons is a single icon which displays the

current entity type. Whenever an entity manipulation function is selected from

the bottom row of icons on the screen, the type of entity which will be used is the type indicated by this icon. The current entity mode can be changed any

time at the top level by clicking the middle mouse button. Any such change

wiU be reflected by a change in the entity mode icon displayed. The entity

mode cannot be changed in the middle of an entity operation, for example while

creating a feature.

Entity Manipulation Functions

Across the bottom of the screen are six icons, which select functions which

manipulate the various entities which GMS knows about. These icons are always present and can be selected at anytime when the cursor is displayed as an arrow or a plus sign. Each function looks at the current entity mode,

indicated by the entity mode icon, to determine what type of entity to deal

with. Note that the current entity mode cannot be changed from within one of

these functions. The following functions are available.

Show Repeatedly asks the user to pick an entity of the appropriate type

and displays the definition of the entity picked. The definition is displayed until a key is struck, at which point another entity may

be picked. This process continues until the user clicks the right

mouse button when asked to pick an entity.

Define Prompts the user for the various items of data needed to create an

entity of the current type. If all data are entered correctly, the

new entity is created and added to the database. Otherwise, the

operation is aborted and no entity is created. Clicking on the right

button at any time during the defmition process also causes the

operation to be aborted.

Copy Not implemented at this time. This option will create a duplicate of

a picked entity, asking for a new id for the copy.

Edit The edit option is not fuUy implemented. Currently, an entity may

be picked and is deleted from the database on confirmation. The
Page 7

definition process for a new entity of the same type is then begun.

Delete Entities of the current type can be selected and deleted from the

database. Each selected entity is highlighted in red before being

deleted, and confirmation is required to actually delete the entity.

Selections can be made repeatedly until the right mouse button is clicked when a selection is expected, to terminate the deletion

cycle.

List Displays a list of the id’s of all entities of the current type which are

in the local database. The list remains on the screen until a key is

struck.

Forms

GMS at times must read in a large amount of textual data. The mechanism

through which this is done is a form. The low level utility implementing the

forms functions are provided by UNICAD utilities. A form is displayed in the

same location as the text window in the lower left comer of the screen. It consists of a set of prompts, which cannot be modified by the user, and a set of

input fields, which the user is expected to fill in. There are two main types of

input fields: text entry fields and toggle fields. A toggle field is one which has a limited set of values which can be cycled through by typing a period ’.’on the

keypad. A toggle field is indicated by an asterisk ’*’ at the beginning of its value. All other fields are for pure text entry: text typed when the cursor is in a

text field is appended to the field’s value (ctrl-U is used to clear a field). A field

which has an exclamation ’!’ at the beginning of its value is mandatory and the

form cannot be exited until a value has been entered for that field. Movement

between fields of a form is accomplished with the up and down arrow keys,

which operate in the obvious fashion. Hitting <retum> also moves the cursor to

the next field in a form. A form remains on the screen until the user clicks the

right mouse button, at which point it is removed.

Keyboard Functions

There are several functions, not usually required in normal operation, which

can be called from the keyboard at any time when text input is NOT expected.

These functions are invoked simply by hitting the appropriate key on the

keyboard. Functions callable in this manner include:
Page 8

C Print the current group technology code.

D Start the UNICAD drafting subsystem

G Enable the entering of a group technology code via a series of menus

M Start the UNICAD modeling subsystem.

Q Exit the current subsystem

R Repaint the screen

S Sleep for 2 seconds, useful for creating scripts of actions

T Pick by text

U Load a UNICAD .u file (UNICAD geometry format)

V Save a UNICAD .u file (UNICAD geometry format)

Y Window zoom (user defines rectangle whichs will fill viewport)

Z Extrema zoom (bounding box of object fiUs viewport)

Implementation

The GMS was implemented on a Silicon Graphics Iris workstation. The

system was written using UNICAD’s M/P/E system. UNICAD’s utilities

provided subsystems which we incorporated into our application and also

provided for the managment of low level functions such as device I/O. Another

factor in using these utilities is portability. Most of GMS also runs on a Sun

Microsystems workstation (with the associated performance sacrifices due to

hardware differences). All of the code other than the UNICAD utilities were

written in C under UNIXTM. In addition, the parser [RESSLER 86] which

interprets the AMRF part model report was written using LEX and YACC both

of which are highly portable.

When running GMS on the Iris or Sun one may mn it from within the

window subsystem although it requires the fuU screen and cannot be scaled.

This is useful because one may want to control other processes (such and

network interfaces), and can simply push the GMS application window back

and then work with the other windows.

References

[HOPP 86] Hopp, T., "AMRF Database Report Format: Part Model",

Detailed specification of report format, syntax (BNF) and

semantics. NBSIR in preparation.

[UNICAD 86] UNICAD, "Viewing Subsystem", M/P/E Reference Manual

Release 1.0 Boulder, Colorado.

[RESSLER 86] Ressler, S. "Using the AMRF Part Model Report" NBSIR in

preparation.

UNIX is a trademark of Bell Laboratories.

No approval or endorsement of Sun Microsystems, Silicon Graphics, DEC, IBM, CATIA,

UNICAD or AT&T products by the National Bureau of Standards is intended or implied.
NBS-n4A iREv. 2-dC U.S. OEPT. OF COMM.

BIBLIOGRAPHIC DATA

SHEET (See Instructions)

1. PUBLICATION OR

REPORT NO.

NBSIR 87-3508

2. Performing Organ. Report No. 3. Publication Date JANUARY 1987

4. TITLE AND SUBTITLE

The Geometry Modeling System User's Guide

5. AUTHOR(S)

Steven Clark, Sanford Ressler

6. PERFORMING ORGANIZATION (If joint or other than N8S, see in struction s)

national bureau of standards

DEPARTMENT OF COMMERCE

WASHINGTON, D.C. 20234

7. Contract/Grant No.

3. Type of Report 8< Period Covered

9.

SPONSORING ORGANIZATION NAME AND COMPLETE ADDRESS (Street. City. State. ZIP)

10.

SUPPLEMENTARY NOTES

I I Document describes a computer program; SF-185, FIPS Software Summary, is attached.

II. ABSTRACT (A 200-word or less factual summary of most significant information. If document includes a significant

bibliography or literature survey, mention it here)

The Geometry Modeling System (GMS) is an interactive graphics program which

allows the definition of the features, functionality and tolerances of a part

defined in the AMRF part model report format. The geometry and topology of the

part is previously created on a CAD system with the appropriate postprocessor to

convert the data to the AMRF format. This data is subsequently read by the GMS

which expect complete geometry and topology data and allows the user to define

and modify the features and functionality of the part. Upon completion of a session the user can write out a full AMRF database report containing the

modified part data.

12.

KEY WORDS (Six to twelve entries; alphabetical order; capitalize only proper names; and separate key words by semicolons)

Boundary representation, computer graphics, CAD, CAM

13. AVAILABILITY

Uni imited

i 1 For Official Distribution. Do Not Release to NTIS

j

1 Order From Superintendent of Documents, U.S. Government Printing Office, Washington, D.C.

20402.

^sj Order From National Technical Information Service (NTIS), Springfield. VA. 22161

14. NO. OF

PRINTED PAGES

11

15. Price

$9.95

USCOMM-OC 6043-P90
»i«Jk~... iyvy*f^ ..,. '

.;

"}< ,

<\h ,\ ri^'. ri i •..

*”* i