grip fundamentals unigraphics

Transcription

grip fundamentals unigraphics
UNIGRAPHICS
GRIP FUNDAMENTALS
STUDENT GUIDE
NOVEMBER 2003
MT13010 - Unigraphics NX 2
EDS Inc.
Proprietary & Restricted Rights Notices
Copyright
Proprietary right of Unigraphics Solutions Inc., its subcontractors, or its suppliers are included in this
software, in the data, documentation, or firmware related thereto, and in information disclosed
therein. Neither this software, regardless of the form in which it exists, nor such data, information, or
firmware may be used or disclosed to others for any purpose except as specifically authorized in writing
by Unigraphics Solutions Inc. Recipient by accepting this document or utilizing this software agrees
that neither this document nor the information disclosed herein nor any part thereof shall be
reproduced or transferred to other documents or used or disclosed to others for manufacturing or any
other purpose except as specifically authorized in writing by Unigraphics Solutions Inc.
2003 Electronic Data Systems Corporation. All rights reserved.
Restricted Rights Legend
The commercial computer software and related documentation are provided with restricted rights.
Use, duplication or disclosure by the U.S. Government is subject to the protections and restrictions as
set forth in the Unigraphics Solutions Inc. commercial license for the software and/or documentation
as prescribed in DOD FAR 227-7202-3(a), or for Civilian Agencies, in FAR 27.404(b)(2)(i), and any
successor or similar regulation, as applicable. Unigraphics Solutions Inc., 10824 Hope Street, Cypress,
CA 90630.
Warranties and Liabilities
All warranties and limitations thereof given by Unigraphics Solutions Inc. are set forth in the license
agreement under which the software and/or documentation were provided. Nothing contained within
or implied by the language of this document shall be considered to be a modification of such warranties.
The information and the software that are the subject of this document are subject to change without
notice and should not be considered commitments by Unigraphics Solutions Inc.. Unigraphics
Solutions Inc. assumes no responsibility for any errors that may be contained within this document.
The software discussed within this document is furnished under separate license agreement and is
subject to use only in accordance with the licensing terms and conditions contained therein.
Trademarks
EDS, the EDS logo, I-DEAS, UNIGRAPHICS SOLUTIONS, UNIGRAPHICS, GRIP,
PARASOLID, UG, UG/..., UG SOLUTIONS, iMAN are trademarks or registered
trademarks of Electronic Data Systems Corporation or its subsidiaries. All other logos or trademarks
used herein are the property of their respective owners.
Grip Fundamentals Student Guide Publication History:
Version
16.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . January 2000
Version
17.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . December 2000
Version
18.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . February 2002
Unigraphics NX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . December 2002
Unigraphics NX 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . November 2003
Table of Contents
Table of Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Course Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GRIP Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Course Objectives . . . . . . . . . . . . . . . . . . . . . . . . .
-1
-1
-2
-3
GRIP Development Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
File Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a GRIP Program . . . . . . . . . . . . . . . . . . . . . . . . . . .
Program Development using GRADE . . . . . . . . . . . . . . . . .
Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Compiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sections of a GRIP Compiler Listing . . . . . . . . . . . . . . . . . .
Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Linking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Running a Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Activity: Sample GRIP program with errors . . . . . . . . . . . .
Activity: Edit a GRIP program . . . . . . . . . . . . . . . . . . . . . . .
1-1
1-2
1-2
1-3
1-4
1-5
1-7
1-8
1-9
1-10
1-11
1-15
GRIP Language Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GRIP Program Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GRIP Command Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GRIP Vocabulary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Major Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Minor Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Global Parameter Access Symbols (GPA's) . . . . . . . . . . . . .
Entity Data Access Symbols (EDA's) . . . . . . . . . . . . . . . . . .
Conventions Used in this Manual . . . . . . . . . . . . . . . . . . . . . . . .
Declaring Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Numeric Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entity Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
String Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Initializing and Setting Variables . . . . . . . . . . . . . . . . . . . . . . . . .
Assigning Values to String Variables . . . . . . . . . . . . . . . . . . .
Assigning Values to Numeric Variables . . . . . . . . . . . . . . . .
Assigning Values to Entity Variables . . . . . . . . . . . . . . . . . . .
Subrange Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-1
2-2
2-3
2-4
2-4
2-4
2-4
2-5
2-6
2-7
2-7
2-12
2-13
2-16
2-17
2-18
2-19
2-20
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
i
Table of Contents
ii
Rules for Using Subrange Operators . . . . . . . . . . . . . . . . . .
Detect Undeclared Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-21
2-23
2-25
Two Dimensional Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Positional Modifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TwoĆDimensions - PMOD2 . . . . . . . . . . . . . . . . . . . . . . . . .
ThreeĆDimensions - PMOD3 . . . . . . . . . . . . . . . . . . . . . . . .
Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Point: Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Point: Center of a Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Point: End Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Point: Intersection Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Point: EDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Line: Between Two Specified Points (Coordinates) . . . . . .
Line: Between Two Existing Points . . . . . . . . . . . . . . . . . . . .
Line: Parallel at a Distance . . . . . . . . . . . . . . . . . . . . . . . . . .
Line: Through a Point, At an Angle . . . . . . . . . . . . . . . . . . .
Line: Point, Tangent to a Curve . . . . . . . . . . . . . . . . . . . . . . .
Line: Through a Point, Parallel/Perpendicular to a Line . .
Line EDA's . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Activity The LĆshape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-1
3-2
3-2
3-3
3-4
3-5
3-6
3-7
3-8
3-10
3-11
3-12
3-13
3-14
3-16
3-18
3-20
3-22
3-24
More Two Dimensional Commands . . . . . . . . . . . . . . . . . . . . . . . . .
Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Circle: Center Coordinates, Radius . . . . . . . . . . . . . . . . . . .
Circle: Center Point, Radius . . . . . . . . . . . . . . . . . . . . . . . . .
Circle: Center Point, Tangent to a Line . . . . . . . . . . . . . . . .
Circle: Center Point, Point on the Arc . . . . . . . . . . . . . . . . .
Circle: Through Three Points . . . . . . . . . . . . . . . . . . . . . . . . .
Fillet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fillet: Two Objects, Center Point . . . . . . . . . . . . . . . . . . . . . .
Fillet: Two Lines, Positional Modifiers . . . . . . . . . . . . . . . . .
Circle EDA's . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entity Independent EDA's . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nesting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Activity: Sheet Metal Part . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-1
4-2
4-3
4-5
4-7
4-9
4-11
4-12
4-13
4-16
4-19
4-21
4-23
4-24
Controlling Program Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Suggested Labeling Guidelines . . . . . . . . . . . . . . . . . . . . . . .
5-1
5-2
5-3
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Table of Contents
JUMP: Unconditional Branching . . . . . . . . . . . . . . . . . . . . .
JUMP: Conditional Branching . . . . . . . . . . . . . . . . . . . . . . . .
DO: Program Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IF: Logical IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BLOCKIF: Block If . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IF Boolean Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-6
5-7
5-9
5-12
5-16
5-21
5-23
Basic Interactive Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interactive Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Typical Interactive Menu Flow . . . . . . . . . . . . . . . . . . . . . . . .
Program Outline using Interactive Statements . . . . . . . . . .
POS: Indicate Screen Position Point . . . . . . . . . . . . . . . . . . .
GPOS: Indicate Generic Point Position . . . . . . . . . . . . . . . .
PARAM: Enter Parameters . . . . . . . . . . . . . . . . . . . . . . . . . .
Activity: Interactive L-Shape . . . . . . . . . . . . . . . . . . . . . . . .
6-1
6-2
6-5
6-8
6-11
6-13
6-15
6-18
Advanced Interactive Commands . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interactive Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IDENT: Select Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TEXT: Enter Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CHOOSE: Choose Single Option . . . . . . . . . . . . . . . . . . . . .
MCHOOS: Choose Multiple Options . . . . . . . . . . . . . . . . . .
Activity: Interactive Sheet Metal Part . . . . . . . . . . . . . . . . . .
7-1
7-2
7-3
7-8
7-11
7-15
7-18
Solid Object Modeling Commands . . . . . . . . . . . . . . . . . . . . . . . . . .
Solid Feature Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Solid Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Solid Object EDAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Solid Object GPAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Activity: Extrude the L-Shape . . . . . . . . . . . . . . . . . . . . . . .
Activity: Solid L-Shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-1
8-2
8-12
8-18
8-18
8-19
8-20
Database Cycling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
File Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Object Cycling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INEXTE: Initialize Data Model Cycling . . . . . . . . . . . . . . .
NEXTE: Cycle to Next Object . . . . . . . . . . . . . . . . . . . . . . . .
INEXTN: Initialize Non-geometric Object Cycling . . . . .
NEXTN: Cycle to Next Non-geometric Object . . . . . . . . .
NonĆGeometric Database Cycling Example . . . . . . . . . . . . .
Reading and Writing to Text Files . . . . . . . . . . . . . . . . . . . . . . . .
9-1
9-2
9-9
9-11
9-12
9-13
9-15
9-16
9-17
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
iii
Table of Contents
READ: Read Text from a File . . . . . . . . . . . . . . . . . . . . . . .
WRITE: Write Text to a File . . . . . . . . . . . . . . . . . . . . . . . . .
PRINT: Print Data on Listing Device . . . . . . . . . . . . . . . . . .
Activity: Reading a Text File . . . . . . . . . . . . . . . . . . . . . . . . .
9-19
9-21
9-22
9-23
Object Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Categories and Layer Control . . . . . . . . . . . . . . . . . . . . . . . . . . .
LAYER: Layer Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CAT: Create Layer Category . . . . . . . . . . . . . . . . . . . . . . . . .
CATE: Edit Category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CATD: Delete Category . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CATV: Query Category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Object Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MASK: Class Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TYPF: Object Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OBTAIN: Object Information . . . . . . . . . . . . . . . . . . . . . . . .
Object Display Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DRAW: Control Object Display . . . . . . . . . . . . . . . . . . . . . .
DELETE: Delete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Global Parameter Access (GPA) Symbols . . . . . . . . . . . . . . . . .
Access Type (Read and Write Options) of GPA Functions
Data Types Assigned to GPAs . . . . . . . . . . . . . . . . . . . . . . . .
GPA Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Active Part Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Decimal Places . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Work Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Work View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unit of Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
User ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Activity: Entity Cycling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10-1
10-2
10-3
10-5
10-7
10-8
10-9
10-10
10-12
10-15
10-17
10-19
10-20
10-23
10-24
10-24
10-24
10-26
10-26
10-28
10-28
10-29
10-29
10-30
10-30
10-31
Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2
TRANSF: Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-4
MATRIX: Translate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-6
MATRIX: Scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7
MATRIX: Mirror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-8
MATRIX: Rotate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-9
MATRIX: Multiple Transformations (Concatenation) . . . . 11-10
Activity Transforming the LĆShape . . . . . . . . . . . . . . . . . . . . 11-12
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Processing Arithmetic Expressions . . . . . . . . . . . . . . . . . . . .
iv
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
12-1
12-2
Unigraphics NX 2
Table of Contents
Mathematical Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Arithmetic Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Trigonometric Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
String Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Return Current Date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Set Full Date Flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Return Current Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Create Blank Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Number of Characters in a String . . . . . . . . . . . . . . . . . . . . .
Convert Integer to Character String . . . . . . . . . . . . . . . . . . .
Convert Real Number to Character String . . . . . . . . . . . . . .
Convert String to Real Number . . . . . . . . . . . . . . . . . . . . . . .
ASCII Value of a Character . . . . . . . . . . . . . . . . . . . . . . . . . .
Return string with ASCII Value of N . . . . . . . . . . . . . . . . . .
Replace Characters in a String . . . . . . . . . . . . . . . . . . . . . . . .
Extract a portion of a Character String . . . . . . . . . . . . . . . . .
Position of Characters in a String . . . . . . . . . . . . . . . . . . . . .
Activity: Date Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Activity: Case Conversion (Optional) . . . . . . . . . . . . . . . . . .
12-3
12-5
12-7
12-9
12-10
12-11
12-12
12-13
12-14
12-15
12-16
12-17
12-18
12-19
12-20
12-22
12-23
12-24
12-25
Subroutines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Subroutine Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Call Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Procedure Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Return Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Activity: Case Converter Subroutine . . . . . . . . . . . . . . . . . . .
13-1
13-2
13-3
13-4
13-6
13-8
Drafting Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Drawing Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Create a Drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Change Drawing Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Add View to Drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verify a Drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Delete a Drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Current Drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Import an Existing Part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Import an Existing Part Grouped . . . . . . . . . . . . . . . . . . . . .
Activity: Drawing Creation . . . . . . . . . . . . . . . . . . . . . . . . . . .
14-1
14-3
14-4
14-5
14-6
14-7
14-11
14-12
14-13
14-16
14-19
Dimensions and Drafting Aids . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating Drafting Objects on Drawings . . . . . . . . . . . . . . . .
15-1
15-2
15-5
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
v
Table of Contents
vi
Horizontal and Vertical Dimensions . . . . . . . . . . . . . . . . . . .
Angular Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Radius Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dimension Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Extension Line Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Text and Arrow Location . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entity Site related to Text . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Drafting Aids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Linear Centerline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Drafting EDAs: Drafting Object Origin . . . . . . . . . . . . . . .
Drafting EDAs: Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Activity: Dimensioning the LĆshape . . . . . . . . . . . . . . . . . . .
15-8
15-11
15-13
15-15
15-18
15-19
15-20
15-22
15-23
15-25
15-27
15-29
15-30
15-31
Attributes (Optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Object Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
&NAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ENUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
&ENAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DELNAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ASATT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
&ATTTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
&ATTVL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DLATT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
&ATDISL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16-1
16-2
16-3
16-5
16-6
16-8
16-9
16-12
16-16
16-19
16-22
ASCII Conversion Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A-1
GRIP Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GRIP Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Running a Program with the Debugger . . . . . . . . . . . . . . . .
Set Breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Clear Breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
List Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B-1
B-2
B-3
B-4
B-6
B-9
Final Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Activity: Creating a Spur Gear . . . . . . . . . . . . . . . . . . . . . . . .
C-1
C-2
Statement Format Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D-1
GPA Symbol Format Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
E-1
EDA Symbol Format Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
F-1
Word/Symbol List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
G-1
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IN-1
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Introduction
Introduction
Course Overview
The GRIP Fundamentals Course teaches the concepts of the Unigraphics
Graphics Interactive Programming (GRIP) language.
How to Use this Book
This student guide is intended to be the classroom workbook. It is not intended
to be a complete reference. For full reference detail consult the UG/Open GRIP
Reference Manual.
This workbook is arranged as a series of lessons. Each lesson starts with general
concepts and builds to detailed concepts. Each concept, whether it introduces a
GRIP command or theory, includes a description of the concept, the command
for the particular application, and an illustration of the concept. Examples and
sample programs in this workbook demonstrate these concepts.
GRIP
GRIP is a software package developed by Unigraphics Solutions. GRIP is used to
create FORTRAN-like programs to operate the Unigraphics system. Many
operations that can be performed interactively can be performed by using a
GRIP program. Commands are available to create geometric and drafting
entities, control preferences, perform file management functions and modify
existing geometry. GRIP also provides interactive commands. These commands
display messages in a motif dialog, allowing the user to interact with a GRIP
program while it is running. The messages displayed by these commands can be
programmed to fit the user's specific needs. There are interactive commands to
control entity selection, menu option selection, data entry, text entry and the
Generic Point Subfunction.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
-1
Introduction
GRIP Applications
GRIP/Unigraphics
Special Geometric Functions
Calculation and Analysis
Part Standardization
Family-of-Parts Programming
File Management
Data Access
GRIP N/C Machining
Basic Machining
Planar Milling
Surface Milling
Lathe Machining
GRIP/Finite Element Modeling
-2
Node Creation and Editing
Element Creation and Editing
Mesh Node/Element Creation
Mesh Definition by Surface
CNL Creation
Node/Element Transformations
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Introduction
Course Objectives
Intended
Audience
This training manual Create programs using a variety of GRIP commands and data
is for students in the
types.
GRIP
Fundamentals
Automate the construction of 2D wireframe and 3D solid
class.
geometry.
Prerequisites
The student should
be familiar with
Unigraphics and
its file naming
conventions, and
with fundamental
programming
techniques.
Organize program execution using logical statements and
branching commands in conjunction with appropriate error
handling techniques.
Develop user interfaces that request data.
Examine and edit data stored in a Unigraphics part file.
Copy and move geometry using transformations.
Use string and mathematical functions.
Create and use subroutines to manage program complexity.
Effectively use the GRIP Debugger to reduce development time.
Create and modify drawings.
Create notes, labels, and dimensions.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
-3
Introduction
(This Page Intentionally Left Blank)
-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Development Process
ÉÉÉ
ÉÉÉ
1
ÉÉÉ
ÉÉÉ
GRIP Development Process
Lesson 1
Objectives
Demonstrate an understanding of the rules for creating source files
and file extensions used for GRIP programs.
Run GRIP programs.
Use an editor to create and edit GRIP source code.
Recognize and fix compilation errors; then successfully compile, link,
and run a GRIP program.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
1-1
GRIP Development Process
ÉÉÉ
ÉÉÉ
1
ÉÉÉ
ÉÉÉ
File Naming Conventions
A prerequisite for this class is that you are familiar with Unigraphics and
Unigraphics file naming conventions. Table 1-1 lists the file types and file
extensions associated with GRIP files.
Table 1-1
GRIP File, File Name Extension, and File Type
GRIP File
*
File Name* and
Extension
File Type
Source Code
name.grs
Text
Object Code
name.gri
UGII
Executable Code
name.grx
GRXI
In Table 1-1 above, the word name" refers to any name assigned to a program.
Creating a GRIP Program
Follow these steps to create and run a GRIP program:
1. Develop and input the source file for the GRIP program using an
editor.
2. Once the source file has been created, compile the GRIP program. The
GRIP compiler converts the GRIP source file (.grs extension) into a
GRIP object file (.gri extension).
3. After compilation has been successfully completed, use the Link
option to link the GRIP object file. This combines the main program
with all the subprograms (if any) and creates a GRIP execution file
(.grx extension).
4. The GRIP execution (.grx) file can now be run interactively after
entering Unigraphics or through GRIP batch processing.
1-2
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Development Process
ÉÉÉ
ÉÉÉ
1
The development of a
program or subprogram begins when the source file ÉÉÉ
is created. The source file consists of statements, labels, and comments
ÉÉÉ
arranged in a logical manner to perform various tasks.
Program Development using GRADE
GRIP
This file is created by using an operating system editor, typically after entering
GRADE, the GRIP Advanced Development Environment. GRADE facilitates
editing, compiling, and linking to the create a GRIP executable file. The
executable file can then be run after entering Unigraphics or by using GRIP
batch.
GRIP Advanced Development Environment (GRADE) is a separate, executable
program that allows a variety of GRIP program development functions to be
performed from the operating system. These functions include those on the
menu below:
GRIP Advanced Development Environment
1) Edit
6) send Output to [CRT]
2) Compile
7) comPile listing [ALL]
3) Link
8) change ediTor [vi]
4) change Directory
9) grade Batch
5) liSt directory
0) turn Menu on/off
q) QUIT
The GRADE commands can be invoked in one of two ways, either by entering
the number or upper case character for the desired option. For instance, the
Link option can be used by entering either a 3" or a L".
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
1-3
GRIP Development Process
ÉÉÉ
ÉÉÉ
1
ÉÉÉ
ÉÉÉ
Edit
GRIP Advanced Development Environment
1) Edit
6) send Output to [CRT]
2) Compile
7) comPile listing [ALL]
3) Link
8) change ediTor [vi]
4) change Directory
9) grade Batch
5) liSt directory
0) turn Menu on/off
q) QUIT
To Edit, enter a 1" or an E". This will invoke the specified operating system
editor after the file name is specified.
Enter the file name using the following guidelines:
The file name may contain up to 26 characters before the .grs"
extension.
Any alpha or numeric character may be used.
The characters -", and  " are permitted. All other special characters
should not be used.
When editing the source file through GRADE, the .grs" file extension will
automatically be added to the entered file name. Alternatively, if the source
file is created directly from an operating system prompt, be sure to specify the
.grs" extension in the file name, so that it will be properly recognized as a
source code file.
1-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Development Process
ÉÉÉ
ÉÉÉ
1
ÉÉÉ
ÉÉÉ
Compiling
Once editing is complete and the GRIP source file is created, it can then be
compiled.
Several things happen during the compilation process. First the GRIP compiler
converts the GRIP source file (program or subprogram) into an object file (.gri
extension). Each line of the GRIP source file is analyzed and a listing is
generated which consists of statements, labels, variables and any errors
recognized by the compiler. If the GRIP source file compiles without errors, the
object file is automatically created and filed in the current directory. If errors
exist, the object file is not created. Finally, the compiler lists the number of
subprograms that were either compiled without error or failed compilation. If
the program(s) failed compilation, the name(s) of the program(s) that failed
will be listed.
GRIP Advanced Development Environment
1) Edit
6) send Output to [CRT]
2) Compile
7) comPile listing [ALL]
3) Link
8) change ediTor [vi]
4) change Directory
9) grade Batch
5) liSt directory
0) turn Menu on/off
q) QUIT
To compile, select option 2" or C" on the GRADE menu. This starts the
compile operation.
If a file name has been previously entered, this file name will be assumed as the
default file name. A file name may also be entered, if it is not desired to
compile the current file.
Multiple files can be compiled by specifying a file name using the *" character
as a template. For example, if all source files in a directory are to be compiled,
enter a file specification of *.grs".
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
1-5
GRIP Development Process
ÉÉÉ
ÉÉÉ
1
ÉÉÉ
ÉÉÉ
After compiling the source file, a listing may be displayed of the GRIP source
statements, variable storage locations, labels, errors, etc. or a listing of the
errors only. To toggle between a complete listing and an errors only listing, use
option 7" or P" as indicated on the following GRADE menu. The default is
to list all of the compiler output.
GRIP Advanced Development Environment
1) Edit
6) send Output to [CRT]
2) Compile
7) comPile listing [ALL]
3) Link
8) change ediTor [vi]
4) change Directory
9) grade Batch
5) liSt directory
0) turn Menu on/off
q) QUIT
On the following page is a typical listing of a successful compilation. An
explanation of the information in the listing is provided below:
Notice that the heading shows the program name and compiler
version.
The program listing appears with each line of the source code
numbered (Option 7 was set to ALL).
Following the program listing, the name, type, address, and dimensions
of the variables will appear.
Next the description of the processing of the information appears.
The program ends with a HALT" statement.
The listing of the number of errors, the program size and the data size
appears for each program compiled.
Finally, the number of programs compiled without errors and number
of programs that failed compilation along with a list of those programs
which failed compilation is provided.
At the end of this Lesson, you will complete an exercise to practice the GRIP
Development Process after editing a program which contains compilation
errors.
1-6
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Development Process
ÉÉÉ
ÉÉÉ
1
ÉÉÉ
ÉÉÉ
Sections of a GRIP Compiler Listing
1. Heading:
2. Body of
Program:
================================================================
UNIGRAPHICS GRIP COMPILER, REV 06
PROGRAM : gf_sheet
3. Comments:
1
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$
3 $$ Description: This program creates
4 $$
2–dimensional geometry
5 $$
to represent a part edge
6 $$
and a bolt
7 $$
8 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
9
10 ENTITY/ edge(4), bolt(2), e_group, b_group
11
12 $$
13 $$ Create the edge.
14 $$
15
16 edge(1) = LINE/ –1, –.5, 1, –.5
17 edge(2) = LINE/ 1, –.5, 1, .5
18 edge(3) = LINE/ 1, .5, –1, .5
19 edge(4) = LINE/ –1, .5, –1, –.5
20 e_group = GROUP/ edge(1..4)
21
22 $$
23 $$ Create the bolt.
24 $$
25
26 bolt(1) = CIRCLE/ 0, 0, .5
27 bolt(2) = CIRCLE/ 0, 0, .25
28 b_group = GROUP/ bolt(1..2)
29
30 HALT
2
4. Declarations:
5. Halt
Statement:
6. Compile
information:
7. Errors,
Program Size
and Data Size:
NAME
EDGE
BOLT
E_GROU
B_GROU
TYPE
ENT ARRAY
ENT ARRAY
ENTITY
ENTITY
ADDR
DIM
4
2
0
4
6
7
0 ERRORS, PROGRAM = 162, DATA = 8
UNIVERSAL LINK FILE
==================================================================
*** 1 GRIP PROGRAM COMPILED WITHOUT ERROR
==================================================================
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
1-7
GRIP Development Process
ÉÉÉ
ÉÉÉ
1
ÉÉÉ
ÉÉÉ
Errors
Program error messages may appear on the screen after attempting to Compile,
Link or Run. Types of GRIP error messages are listed below. You can find a
complete list of error messages listed in the UG/Open GRIP Reference Manual.
If your GRIP source file compiles without errors, the object file is automatically
created and you return to the Grade menu. If errors exist, the object file is not
created and a message indicating the number of files that failed compilation is
displayed. You must then Edit the program(s) and correct the errors.
Error Range Error Type
1-99
NOTE
1-8
Non-fatal compilation errors. Compilation
continues but object code cannot be filed.
100-199
Fatal compilation errors. Compilation is halted.
500-599*
Compiler system errors.
600-699*
Interpreter system errors.
15450001545999
Non-fatal execution errors. Program execution
may be continued.
15490001549999
Fatal execution errors. Program execution is
halted.
*Errors numbered 500-699 indicate a malfunction in
Unigraphics and should be reported to Unigraphics
Global Technical Access Center (GTAC). The toll free
telephone number is: 1-800-955-0000. You can also
report problems via the World Wide Web. The site is
http://support.ugsolutions.com. You must have a BBS
account to log a problem report through the website.
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Development Process
ÉÉÉ
ÉÉÉ
1
ÉÉÉ
ÉÉÉ
Linking
As soon as compilation has been successfully completed, the executable
program must be created through linking.
GRIP Advanced Development Environment
1) Edit
6) send Output to [CRT]
2) Compile
7) comPile listing [ALL]
3) Link
8) change ediTor [vi]
4) change Directory
9) grade Batch
5) liSt directory
0) turn Menu on/off
q) QUIT
Select GRADE option 3" or L".
The GRIP linker links the object file of a main GRIP program together with the
object file of any GRIP subprograms into an executable program (.grx
extension). During this process the system generates a listing which consists of
the main program name and the names of all subprograms (if any) in the order
in which they are referenced.
NOTE
Linking is necessary even when all of the statements for a
program reside in one source code file.
Enter the name of the main program that is to be linked. As the linking process
proceeds, the system will produce a listing containing the name of the main
program, the names of all the subprograms that the main program calls, and
any linker errors. See the following example of this listing.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
1-9
GRIP Development Process
ÉÉÉ
ÉÉÉ
1
ÉÉÉ
ÉÉÉ
Example 1-1.
Linker Listing Without Errors
UNIGRAPHICS
GRIP LINK LIST
1–16–96
PROGRAM NAME
PROG PROG DATA DATA
SECT DISP SECT DISP
FLOWCHART
INTERACTION
PROCESS
OFF–PAGE
DECISION
SPECIAL
GUIDELINE
0
0
1
2
4
5
6
0
315
248
248
194
239
255
0
1
2
3
5
6
6
245
140
99
404
86
131
442
LINKING COMPLETE
PROGRAM SIZE =0006 0491
INTERACTIVE EXECUTION FILE
***1 GRIP PROGRAM(S) LINKED WITHOUT ERROR
Running a Program
After the GRIP program links without errors, the executable module will be
automatically filed. The program can be run in either in the interactive mode
or in the batch mode to create the output of the program.
To run a program interactively, select the following sequence of options starting
at the Unigraphics menu bar:
File ––>Execute UG/Open ––>Grip
A File Selection menu will be displayed with a list of all GRIP executable files.
After the desired selection is made, the program will begin execution.
NOTE
1-10
The execution of a GRIP program may require an active
Unigraphics part. Therefore, the selected program may
not execute properly without first activating a part.
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Development Process
ÉÉÉ
ÉÉÉ
1
ÉÉÉ
ÉÉÉ
Activity: Sample GRIP program with errors
Study the program below and determine where you would have to edit the
program to remove errors.
Hints:
Fix all typographical errors. Look at program statements similar to the
one that has the errors for correct spelling.
Look for missing or extra delimiters. These include commas and
parentheses. A single missing character can cause several errors.
Look for a missing continuation character, $". Without this character,
the lines after it will error and so will the statement that would have
contained the $".
=====================================================================
UNIGRAPHICS GRIP COMPILER, REV 06
PROGRAM : sample_bad
1
2
3
4
5
6
7
8
9
10
11
12
$$
$$
$$
$$
DECLARE THE ENTITY NAMES TO BE USED IN
THE PROGRAM
ENTITY/E(20),TMP(5)
NUMBER/X0,Y0,Z0,WD,HT,TH,R1,R2,R3
$$
$$
$$
$$
DEFINE X Y Z VALUES TO LOCATE THE ORIGIN OF THE HANDLE
DEFINE THE X Y Z VALUES TO BE USED TO CONSTRUCT THE HANDLE
DATA/X0,1,Y0,1.5,Z0,0
DAAT/WD,5,HT,2.5,R1,.25,R2,.5,R3,.25,TH,.5
*
Error no. 15 in line no. 12: Expression on left of equal sign.
13 $$
14 $$ DISPLAY/VERIFY DIMENSIONS:
15 $$ (ALSO CHECK FOR ERRORS)
16 $$
17 BCK010:
18
PARAM/’HANDLE CONSTRUCTION*DIMENSIONS’,$
19
’XC’,X0,’YC’,Y0,’ZC’,Z0,
20
’HEIGHT’,HT,’WIDTH’,WD,$
*
Error no. 1 in line no. 20: Syntax error.
21
’THICKNESS’,TH,RESP
*
Error no. 1 in line no. 21: Syntax error.
22
JUMP/CANCEL:,CANCEL:,RESP
23 $$
24 $$ ERROR CHECKING:
25 $$ (SET LIMITS FOR CONSTRUCTING A GOOD HANDLE)
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
1-11
GRIP Development Process
ÉÉÉ
ÉÉÉ
1
ÉÉÉ
ÉÉÉ
26
27
28
29
30
31
Error no.
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Error no.
46
Error no.
47
Error no.
48
49
50
51
52
53
54
Error no.
55
56
Error no.
57
58
59
60
61
62
63
64
65
66
Error no.
1-12
GRIP Fundamentals
Student Guide
$$
IFTHEN/TH<R1*2 OR TH>R2*2
MESSG/’INVALID THICKNESS’,$
’(MUST BE’+FSTR(R1*2)+’<=T<=’+FSTR(R2*2)+’)’
JUMP/BCK010:
ELESIF/HT<1.5
*
15 in line no. 31: Expression on left of equal sign.
MESSG/’INVALID HEIGHT’,’(MUST BE >=1.5)’
JUMP/BCK010:
ELSEIF/WD<3.5
MESSG/’INVALID HEIGHT’,’(MUST BE >=3.5)’
JUMP/BCK010:
ENDIF
$$
$$ DEFINE THE GEOMETRY:
$$ (START AT LOWER LEFT ARC AND WORK AROUND
$$ COUNTER–CLOCKWISE).
$$
E(1)=CIRCLE/X0,Y0,Z0,R2,START,100,END,80
E(3)=LINE/(X0+TH/2),Y0,Z0,(X0+TH/2),Y0+HT,Z0
E(5)=LIN/X0,(Y0+HT),Z0,(X0+WD),(Y0+HT),
*
1 in line no. 45: Syntax error.
E(7)=LIN/(X0+WD–TH/2),Y0,Z0,(X0+WD–TH/2),Y0+HT,Z0
*
1 in line no. 46: Syntax error.
E(9)=CIRCL/(X0+WD),Y0,Z0,R2,START,100,END,
*
1 in line no. 47: Syntax error.
E(11)=LINE/PARLEL,E(7),XLARGE,TH
E(13)=LINE/PARLEL,E(5),YLARGE,TH
E(15)=LINE/PARLEL,E(3),XSMALL,TH
$$
$$ CONSTRUCT TEMPORARY POINTS FOR FILLETING:
$$
TMP(1)=PNT/(X0+WD/2),(Y0+R2),Z0
$$ FOR INSIDE FILLETS
*
1 in line no. 54: Syntax error.
TMP(2)=POINT/(X0+WD+TH),(Y0+R2),Z0 $$ FOR RIGHT OUTSIDE
TM(3)=POINT/(X0–TH),(Y0+R2),Z0
$$ FOR LEFT OUTSIDE
*
1 in line no. 56: Syntax error.
$$
$$ NOW CONSTRUCT FILLETS:
$$ (CLOCKWISE AROUND OUTSIDE OUTLINE, TOO)
$$
E(2)=FILLET/E(3),E(1),CENTER,TMP(1),RADIUS,R3
E(4)=FILLET/YSMALL,E(5),XLARGE,E(3),RADIUS,R3,
E(6)=FILLET/XSMALL,E(7),YSMALL,E(5),RADIUS,R3
E(8)=FILLET/E(9),E(7),CENTER,TMP(1),RADIUS,R3
E(10)=FILLET/E(11),E(9),CENTER,TMP(2),RADIUS,R3
E(12)=FILL/XSMLL,E(11),YSMALL,E(13),RADIUS,R3+TH
*
1 in line no. 66: Syntax error.
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Development Process
67
E(14)=FILL/YSMLL,E(13),XLARGE,E(15),RADIUS,R3+TH
*
Error no. 1 in line no. 67: Syntax error.
68
E(16)=FILL/E(1),E(15),CENTER,TMP(3),RADIUS,R3
*
Error no. 1 in line no. 68: Syntax error.
69
DELETE/TMP(1..3) $$ CLEAN TEMP POINTS
70 $$
71 $$ PUT HOLES IN HANDLE, AND GROUP IT ALL:
72 $$
73
E(17)=CIRCLE/X0,Y0,Z0,R1
74
E18)=CIRCLE/(X0+WD),Y0,Z0,R1
*
Error no. 11 in line no. 74: Unbalanced parentheses in an arithmetic
expression.
75
GROUP/E(1..18)
76 $$
77 CANCEL:
78
HALT
Error no. 70 PARAM at argument no. 8 in line no. 18: Invalid field.
Error no. 71 (FILLET) in line no. 62: Too many fields.
Error no. 58 in line no. 68: Illegal use of division.
NAME
TYPE
ADDR
DIM
E
ENT ARRAY
0
20
TMP
ENT ARRAY
20
5
X0
NUMBER
25
Y0
NUMBER
27
Z0
NUMBER
29
WD
NUMBER
31
HT
NUMBER
33
TH
NUMBER
35
R1
NUMBER
37
R2
NUMBER
39
R3
NUMBER
41
DAAT
NUMBER
43
BCK010
LABEL
6
CANCEL
LABEL
703
RESP
NUMBER
73
ELESIF
NUMBER
93
LIN
NUMBER
119
CIRCL
NUMBER
121
PNT
NUMBER
123
TM
NUMBER
125
FILL
NUMBER
127
XSMLL
NUMBER
129
YSMLL
NUMBER
131
E18
NUMBER
133
16 ERRORS, PROGRAM = 708, DATA = 135
=====================================================================
*** 0 GRIP PROGRAMS COMPILED WITHOUT ERROR
*** 1 GRIP PROGRAM FAILED COMPILATION, IT IS:
sample_bad.grs
=====================================================================
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
1-13
ÉÉÉ
ÉÉÉ
1
ÉÉÉ
ÉÉÉ
GRIP Development Process
ÉÉÉ
ÉÉÉ
1
ÉÉÉ
ÉÉÉ
(This Page Intentionally Left Blank)
1-14
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Development Process
Activity: Edit a GRIP program
This exercise is designed to provide you practice in editing a GRIP program.
Edit the program on the following page to match the program that faces it.
Follow these instructions:
Make a copy of the file using your initials.
( UNIX command:cp parts/gf-intro.grs
./***-gf-intro.grs )
Your instructor will discuss this step with the class.
Enter GRADE and edit the file you copied.
Use editing commands as needed to modify the program to
be like the one on the facing page.
After all edits are complete, save the file.
Compile the program. NOTE: You may need to reĆenter
the file using the editor to make corrections if there are
compilation errors.
Link the program.
Enter Unigraphics, create a new part file, and execute the
program.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
1-15
ÉÉÉ
ÉÉÉ
1
ÉÉÉ
ÉÉÉ
GRIP Development Process
ÉÉÉ
ÉÉÉ
1
ÉÉÉ
ÉÉÉ
xxx-intro.grs
(original)
The program below is the unedited version for the gf-intro activity.
$$ PROGRAM NAME: gf–intro
$$ AUTHOR:
STAFF
$$ CREATION DATE: MAY 1999
$$ RELEASE:
UG NX
$$ PART ACTIVE:
YES
$$ SUBROUTINES:
NONE
$$ ABSTRACT:
INTRODUCTION TO GRIP
$$
$$ ******************************
$$ DECLARATION AND INITIALIZATION
$$ ******************************
$$
$$
$$
Interactive prompt to ask user to locate a note
$$
BCK010:
GPOS/’Specify a Position’,$
x, y, z, resp
JUMP/BCK010:,ZZZ,,,,resp
$$
$$
Interactive prompt to ask for student name
$$
BCK020:
TEXT/xxxxxxxxxxxxxxxxx,s_name,resp,DEFLT
JUMP/BCK010:,ZZZ,,,,resp
$$
$$
Set character size to .25
$$
&CSIZE=.25
$$
$$
Set module parameters for entity site to be mid–center
$$
&ENSITE=&MIDC
$$
$$
Create a note and place it in the center of the screen
$$
welc_note = NOTE/x, y, $
’<C2>’ + s_name + $
’<C1> Welcome to the <C3><F3>GRIP 1<C><F> CLASS’
$$
$$ AUTO MAX/MIN THE VIEW
$$
VIEWE/AUTO
ENTITY/ xxxxxxxxx
$$ move this line to after DECLARATION and INITIALIZATION
STRING/ s_name(30)
$$ move this line to after DECLARATION and INITIALIZATION
NUMBER/ x, y, z, resp $$ move this line to after DECLARATION and INITIALIZATION
ZZZ
HALT
1-16
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Development Process
xxx-intro.grs
ÉÉÉ
ÉÉÉ
1
ÉÉÉ
ÉÉÉ
(solution)
The program below is the solution for the gf-intro activity
$$ PROGRAM NAME: gf–intro
$$ AUTHOR:
STAFF
$$ CREATION DATE: MAY 1999
$$ RELEASE:
UG NX
$$ PART ACTIVE:
YES
$$ SUBROUTINES:
NONE
$$ ABSTRACT:
INTRODUCTION TO GRIP
$$
$$ ******************************
$$ DECLARATION AND INITIALIZATION
$$ ******************************
$$
ENTITY/ welc_note
$$ move this line to after DECLARATION and INITIALIZATION
STRING/ s_name(30)
$$ move this line to after DECLARATION and INITIALIZATION
NUMBER/ x, y, z, resp $$ move this line to after DECLARATION and INITIALIZATION
$$
$$
Interactive prompt to ask user to locate a note
$$
BCK010:
GPOS/’Specify a Position’,$
x, y, z, resp
JUMP/BCK010:,CANCEL:,,,,resp
$$
$$
Interactive prompt to ask for student name
$$
BCK020:
TEXT/’Enter Your Name Please’,s_name,resp,DEFLT
JUMP/BCK010:,CANCEL:,,,,resp
$$
$$
Set character size to .25
$$
&CSIZE=.25
$$
$$
Set module parameters for entity site to be mid–center
$$
&ENSITE=&MIDC
$$
$$
Create a note and place it in the center of the screen
$$
welc_note = NOTE/x, y, $
’<C2>’ + s_name + $
’<C1> Welcome to the <C3><F3>GRIP 1<C><F> CLASS’
$$
$$ AUTO MAX/MIN THE VIEW
$$
VIEWE/AUTO
CANCEL:
HALT
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
1-17
GRIP Development Process
ÉÉÉ
ÉÉÉ
1
ÉÉÉ
ÉÉÉ
(This Page Intentionally Left Blank)
1-18
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Language Components
GRIP Language Components
Lesson 2
Objectives
Demonstrate knowledge of the style used to explain the GRIP
language in the student guide.
Demonstrate knowledge of the components of the GRIP
language.
Demonstrate knowledge of how a typical GRIP program is
structured.
Use initialization statements available in a GRIP program.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
2-1
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
GRIP Language Components
GRIP Program Organization
A GRIP source program is composed of a series of statements in the GRIP
language. Generally, a GRIP program can be organized into five major areas
listed below. Each area has related GRIP language commands.
GRIP Program Outline
Declaration Statements
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
ENTITY/
NUMBER/
STRING/
Initialization Statements
DATA/
Assignments
Numeric (A=3)
String (usr_name = 'Pat Smith')
Interactive Statements
PARAM/
TEXT/
GPOS/
etc.
Processing Statements
POINT/
LINE/
CIRCLE/
DELETE/
etc.
Termination
HALT
This lesson will provide a general focus on all five areas of a GRIP program, with
detailed discussion of the first two areas, declaration and initialization
statements.
2-2
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Language Components
GRIP Command Structure
Each line of a GRIP statement may contain no more than 80 characters. A single
command may be split between several lines, thus creating a multiple line
command. This is done by using the continuation character ($) at the end of
each line of the multiple line command, remembering that each line can
contain no more than 80 characters.
CAUTION When the command is separated close to a comma (,) the
comma must appear at the end of the line to be continued, before the
continuation character ($). This is illustrated in the example below:
Example
FILLET/ XSMALL, line1, YLARGE, line2, RADIUS, $
.5, NOTRIM
You may use blank characters (spaces) to separate the major and Minor words
and variables in a command line.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
2-3
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
GRIP Language Components
GRIP Vocabulary
There are four types of GRIP reserved vocabulary words:
Example
&ENTCLR = &YELLOW
ln1 = LINE/ 0, 0, 0, 10, 0, 0
ln2 = LINE/ PARLEL, ln1, YSMALL, 12
&COLOR(ln2) = &GREEN
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
A complete categorized list of the GRIP vocabulary words is provided in the
Appendix. These vocabulary words should be treated as reserved words.
Major Words
GRIP command words, usually followed by the slash (/) character. In Example
2-2, LINE is a major word.
Some Major words are:
CALL, DELETE, CIRCLE, LINE, PARAM, HALT
Minor Words
Command modifiers used in conjunction with major words which describe
various options available for a particular command. Minor words always follow
the slash (/) character in the command line. In Example 2-2, PARLEL and
YSMALL are minor words.
Some Minor words are:
ANGLE, ARROW, PARLEL, START, END, INTOF
Global Parameter Access Symbols (GPA's)
Enable various preferences which control the Unigraphics environment to be
set. GPA's are always preceded by the ampersand (&) character. In Example
2-2, &ENTCLR is a GPA.
Some GPA's are:
&UNIT, &ACTPRT, &FONT
2-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Language Components
Entity Data Access Symbols (EDA's)
Enable information about entities to be extracted or edited. Like GPA's, EDA's
are always preceded by the ampersand (&) character. In Example 2-2,
&COLOR, &YELLOW, and &GREEN are EDA's.
Some EDA's are:
&LAYER, &COLOR, &POINT, &FONT
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
2-5
GRIP Language Components
Conventions Used in this Manual
This manual describes GRIP statements using a shorthand convention that
makes the statements easier to understand.
GRIP vocabulary words are written in upper case letters.
Numerical values and variables or expressions are written in lower
case letters.
Example
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
Actual Statement
In This Book
SQRTF(B)
SQRTF(num)
STORE/3,A–11.3
STORE/reg,num
Some of the GRIP statements have optional information. These
optional fields are indicated by enclosing the field in square brackets.
Example
POINT/x,y[,z]
Example
FILLET/PMOD3,line1,PMOD3,line2,RADIUS,$
r[,NOTRIM]
Some statements have a choice of several possibilities in a specific
field. These are indicated by placing the options in curly braces with
vertical slashes (|) between. This convention means that you must
select one of the options indicated between the vertical slashes from
within the braces.
Example
FONT/{SOLID|DASH|PHANTM|CENTER}
The example shown above is how the manual would describe a GRIP statement
but not the way you would write a statement in a program.
The GRIP language is not case sensitive so code can be written in either upper
case or lower case. For clarity, it is recommended that you use the same
convention used in this manual, with GRIP vocabulary words in upper case and
userĆdefined variables in lower case.
2-6
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Language Components
Declaring Variables
Declaration statements are used to assign variables. The declaration
statements reserve space in memory to store data in a GRIP program.
NOTE
Declaration statements must precede the first line of
executable code.
GRIP has the following three types of variables:
ENTITY/ is used for geometric elements and other data created by
Unigraphics.
STRING/ is used for storing character data.
NUMBER/ is used for storing both integer and real numerical data.
The rules for naming variables are listed below:
The name cannot exceed 32 characters.
The first six characters must be unique, i.e., cannot be the same as the
first six characters of another variable name.
The first character must be alphabetic, with the remaining characters
alphanumeric.
Characters may not be punctuation marks.
The name should not be one of the reserved words.
Numeric Variables
The NUMBER word declares variables and arrays with up to three dimensions.
GRIP does not distinguish between integer and real data. All numbers are
stored in GRIP as double precision. Numbers can be used as if they were
integers.
All subscripted arrays must be declared. Any variable used in a GRIP program
but not declared as ENTITY, STRING or NUMBER is assumed to be a
NUMBER. A GRIP switch can be used to override this default assumption.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
2-7
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
GRIP Language Components
There are two types of numerical variables, simple and subscripted.
Simple Variable
This variable does not have to be declared in the NUMBER/
statement but it is a good practice to do so.
Example
In the following example, S3=15. Also, S1, S2, and S3 are
three distinct variables.
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
S1=5
S2=3
S3=S1*S2
Subscripted Variable
This is a numerical array of elements in one, two, or three
dimensions. Arrays let you store several items of related
information in a convenient fashion. This variable must be
declared in the NUMBER statement.
In a declaration statement, a constant subscript within parenthesis indicates the
array dimension. When the array is referenced throughout the code, a
subscript indicates which portion of the array is being used in the GRIP
statement. Throughout the code, the subscript may be a numerical value,
expression, or subrange enclosed in parenthesis.
Example
In the following example, T is a one dimensional array
consisting of three variable elements: 5, 3, and 15.
NUMBER/T(3)
T(1)=5
T(2)=3
T(3)=T(1)*T(2)
2-8
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Language Components
Example
One Dimension Variable Array
Format: NUMBER/Variable Name (Column)
NUMBER/NMS(10)
NMS(1)=2.1
NMS(2)=5.6
NMS(3)=7.8
NMS(4)=9.2
.
.
.
NMS(10)=2.9
NMS
1
2
3
4
5
6
7
8
9
10
2.1
5.6
7.8
9.2
0
0
0
0
0
2.9
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
Figure 2-1 Graphic Illustration of a One Dimensional Variable Array
Example
Two Dimensional Variable Array
Format: NUMBER/Variable Name (Column, Row)
NUMBER/NMS(5,2)
NMS(1,1)
NMS(2,1)
NMS(1,2)
NMS(2,2)
.
.
.
NMS(5,2)
=
=
=
=
2.1
7.8
5.6
9.2
NMS
1
2
3
4
5
1
2.1
7.8
0.0
0.0
0.0
2
5.6
9.2
0.0
0.0
2.9
= 2.9
Figure 2-2 Graphic Illustration of a Two Dimensional Variable Array
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
2-9
GRIP Language Components
The terms column and row are conventions to describe a useful picture of a two
dimensional array. You can use different terms and different pictures as long as
you remember that GRIP assigns and stores values in arrays by varying the
rightmost subscript most rapidly. It is important that you understand this
principle when you use DATA/ to initialize an array.
Example
Three Dimensional Variable Array
Format: NUMBER/Variable Name(Column, Row, Depth)
NUMBER/A,N(4,3,2)
DATA/N,1,2,3,4,5,6,7,8,9,10,11,12,13,$
14,15,16,17,18,19,20,21,22,23,24
PRINT/N(3,2,2)
PRINT/N(1,3,1)
A = N(4,2,1) + N(1,3,2)
PRINT/A
HALT
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
Results of Print Commands
16.00
5.00
27.00
Depth Storage Format
Depth#1
ROW#1
ROW#2
ROW#3
COL#1
1.00
3.00
5.00
COL#2
7.00
9.00
11.00
ROW#1
ROW#2
ROW#3
COL#1
2.00
4.00
6.00
COL#2
8.00
10.00
12.00
COL#3
13.00
15.00
17.00
Depth#2
COL#3
14.00
16.00
18.00
COL#4
19.00
21.00
23.00
COL#4
20.00
22.00
24.00
Figure 2-3 Data Storage Format
2-10
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Language Components
Table 2-1
Three Dimensional Array Data Assignment Table
N(1,1,1)
N(1,1,2)
N(1,2,1)
N(1,2,2)
N(1,3,1)
N(1,3,2)
N(2,1,1)
N(2,1,2)
N(2,2,1)
N(2,2,2)
N(2,3,1)
N(2,3,2)
N(3,1,1)
N(3,1,2)
N(3,2,1)
N(3,2,2)
N(3,3,1)
N(3,3,2)
N(4,1,1)
N(4,1,2)
N(4,2,1)
N(4,2,2)
N(4,3,1)
N(4,3,2)
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
1.00
2.00
3.00
4.00
5.00
6.00
7.00
8.00
9.00
10.00
11.00
12.00
13.00
14.00
15.00
16.00
17.00
18.00
19.00
20.00
21.00
22.00
23.00
24.00
EDS
All Rights Reserved
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
GRIP Fundamentals
Student Guide
2-11
GRIP Language Components
Entity Variables
The ENTITY declaration establishes variables and arrays with up to three
dimensions. An entity variable or array provides the ability to store and to
reference objects that are created by the program, selected by the user, or
accessed by cycling the data model.
Remember, you must make sure all declaration statements are before the first
executable statement in the program. Entity variables are declared as follows:
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
ENTITY/name
ENTITY/name(dim1[,dim2][,dim3]),name...
where name" is the variable name of the entity, and
dim1,dim2,dim3" define the array size.
If it is necessary for you to refer to a point (or any other entity) again in the
program, you must give the point a name. This is called an entity variable."
Example
ENTITY/PT(3),LN4,P1,P2,LN3
P1 = POINT/ 3, 1, 6
P2 = POINT/ 2, 4, 6
LN4 = LINE/ P1, P2
PT(2) = POINT/ 3, 0, 0
PT(3) = POINT/ 4, 1, 2
LN3 = LINE/ PT(2), PT(3)
Notations such as P1, P2, and LN3, LN4 indicate single entities. There is no
need to use parentheses when referencing them in a program, since they have
not been declared using a subscript.
Notations such as PT(3) refer to multiple entities in arrays. PT(3) declares an
array called PT holding three spaces for entity values .
2-12
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Language Components
String Variables
The STRING major word declares string variables and arrays with up to two
dimensions. A string is a sequence of characters used whenever text is required
in GRIP, such as in notes, dimensions, messages, etc.
STRING/NAME(n)
STRING/NAME(dim1[,dim2],n)
where: NAME is a variable name of the string and dim1,dim2
define the array size.
n is the number of characters in the string. n must be less than
or equal to 132.
Example
Declaration of a string variable (TXT) and a 2 dimensional
string array (ST).
STRING/TXT(11),ST(2,2,5)
TXT = ’MY DOG SPOT’
ST(2,2) = ’MAY’
ST(1,2) = ’JUNE’
ST(1,1) = ’APRIL’
T
O
P
S
G
O
D
L
Y
I
M
R
E
P
N
U
A
J
Y
A
M
Figure 2-4 String Variable and Two Dimensional Arrays
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
2-13
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
GRIP Language Components
In GRIP you may express a string in three ways:
1. String Literal
A sequence of characters enclosed in single quotes, with a
maximum of 132 characters.
Example
MESSG/’THIS IS A STRING LITERAL’
displays the message on the dialog area.
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
2. String Variable
You must declare a string by using the STRING/ declaration
before you can use it. You may assign a value to a string
variable by using the general format:
STRING VARIABLE = 'STRING LITERAL'
If it is not assigned, the content of the string is assumed to be
null.
Example
STRING/A(5)
.
.
.
A = ’LINES’
NOTE/1,1,A
The variable A is declared a string, then assigned the value
’LINES’.
The variable A can then be used in place of the string literal
’LINES’ throughout the rest of the program.
2-14
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Language Components
3. String Expression
You may use a string expression to set up a combination of
string literals, string variables and string-valued functions.
Strings may be added (concatenated) using the plus sign (+).
Example
STRING/A(6),B(16)
.
.
.
A = ’MY DOG’
B = A + BLSTR(1) + ’HAS FLEAS’
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
results in the string:
B = ’MY DOG HAS FLEAS’
BLSTR(1) is a string function which generates a one
character string of blanks (’ ’). You will learn about string
functions later in this student guide.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
2-15
GRIP Language Components
Initializing and Setting Variables
The DATA statement initializes the values of numerical and string variables.
The string and numerical variables included in a DATA/ statement must first be
declared using the STRING and NUMBER declarations. The initialization
occurs the first time a subroutine is executed but does not occur on subsequent
calls to that routine.
The data item list may consist of items of the following types:
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
Form
Statement Example
string, 'string'
DATA/STR,’ENTER’
string array
element, 'string'
STRING/MES(2,2,6)
DATA/MES(1,2),’VALUES’
num. var, value
DATA/X,5
num. array, list
NUMBER/A(2)
DATA/A,–1.2,8
num. array
element, value
NUMBER/A(6)
DATA/A(3),8
num. array, value NUMBER/B(2)
DATA/B,3
The values assigned to numerical variables and arrays must be constants and
the subscripts used to specify array elements must also be constants. The
variable length subrange operation cannot be used in a DATA/ statement.
Example
The following example of statements assign ’ENTER’ to STR,
–1,2,5 to A(1), A(2), A(3) respectively, and 3 to B(1).
NUMBER/A(3),B(10)
STRING/STR(50)
DATA/STR,’ENTER’,A,–1,2,5,B,3
To check the amount of numbers, strings and entities that have
been declared, refer to the last line on the Unigraphics GRIP
compilation screen. The number after the word DATA/ gives the
amount of numbers, strings, and entities which have been
declared.
2-16
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Language Components
Assigning Values to String Variables
You have three ways to assign a value to a string variable:
1. Direct Assignment
STRING/str1(20)
str1=’NOTE:LINES’
Advantages:
Disadvantages:
You can use anywhere
in the program. STRING/ must be
before the first executable line.
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
You can only assign one variable at
a time. Occurs during Run which
slows processing
2. Data Statement Assignment
NUMBER/NUM
STRING/STR(10),STR2(35)
DATA/STR,’THE NUMBER’,NUM,0,$
STR2,’ IS USED TO CALCULATE DISTANCE.’
Advantages:
Assigns values during compile.
Disadvantages:
Must occur directly after the
declaration statements.
3. Null Assignment
ENTITY/ nm_note
STRING/ str(30)
str = ’Pat Smith’
nm_note = NOTE/ 1, 5, str
str = &NULSTR
&NULSTR is a GPA constant that can be used to assign a null value
to a string variable.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
2-17
GRIP Language Components
Assigning Values to Numeric Variables
Numeric variables declared in the NUMBER/" statement are all initially zero.
Example
NUMBER/A(3)
All three parts of array A are set to zero.
You have three ways to assign a value to a numerical variable:
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
1. Direct Assignment
NUMBER/A(3)
A(1)=7.125
A(2)=0
A(3)=1
Advantages:
Can be anywhere in the program.
Disadvantages:
Can only assign one variable at
a time. Occurs during Run
which results in slower processing.
2. Data Statement Assignment
NUMBER/A(3),B(3)
DATA/A(1),7.125,A(2),0,A(3),1,B,$
5,9.1,29.6
Advantages:
Assigns value during Compile
which results in faster processing.
Can assign values to entire array two ways.
The assignment to B results:
B(1)=5
B(2)=9.1
B(3)=29.6
Disadvantages:
Must occur directly after the
declaration statements.
Numerical values may be in exponential notation:
Mantissa" E exponent"
The mantissa can be a sign and up to 15 digits.
The exponent can be from -79 to +75.
2-18
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Language Components
3. Null Assignment
ENTITY/ nm_note
STRING/ str(30)
NUMBER/ loc_note(2)
str = 'Pat Smith'
nm_note = NOTE/ loc_note, str
loc_note(1) = 0
loc_note(2) = 0
Numbers can never really be null" in GRIP. However, a zero
value can be used to assign a null value to a number variable.
Example
NUMBER/A(3)
DATA/A(1),32.3E–3
$$ A(1)=.0323
A(2)=–.1234E6 $$ A(2)=–123400
All numbers in GRIP are real.
Assigning Values to Entity Variables
There are three ways of assigning values to entity variables. The DATA/
statement is never used to initialize the value of entity variables.
1. Creating an Entity
ENTITY/ part_edge(4)
part_edge(1) = LINE/ 0, 0, 0, 1, 2, 0
2. Reading the Identifier of an Entity
ENTITY/ nam_note
nam_note = &ENAME(1, 'drafter_name', IFERR, LBL050:)
The EDA &ENAME is used to examine the Unigraphics data for the
first occurrence of the entity with the attribute name `drafter_name'.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
2-19
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
GRIP Language Components
3. Null Assignment
ENTITY/ part_edge(4)
part_edge(1) = LINE/ 0, 0, 0, 1, 2, 0
part_edge(1) = &NULENT
&NULENT is a GPA constant that can be used to assign a null
value to an entity variable.
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
Subrange Operators
When you are using arrays, many times it is desirable to refer to portions of an
array rather than the entire array. The subrange operator .." addresses a range
of elements in an array.
You have three methods of expressing the upper and lower bounds of a
subrange:
1. Constant Subrange:
The bounds are constants or are expressions that reduce to
constants.
Example
In the example below, the bounds are from 1 to 3, and from
12 to 18
N(1..3), N(4*3..18)
2. Fixed Array Subrange:
The lower bound is a variable and the upper bound is a
constant added to the variable.
Example
In the example below the upper bounds of J and K ranges
are J+7 and k+3 respectively.
N(J..J+7), N(I,J,K..K+3)
2-20
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Language Components
3. Variable Array Subrange:
The lower and upper bounds may be expressed as any valid
arithmetic expressions.
Example
In the example below, ABSF(X+3) expresses the lower
bound and I*2 expresses the upper bound.
N(ABSF(X+3)..I*2)
Rules for Using Subrange Operators
When subranges are used at run time, the difference between the first
and last number in the subrange must be positive. If this is not true, a
run time error occurs, and you will be informed that the difference
between subrange operators cannot be negative.
You may use constant and fixed array subranges anywhere in a GRIP
program where an entire unsubscripted array can be used (except in a
data statement).
You may only use variable array subranges in the following GRIP
functions: BLANK, BOUND, CLINE, DELETE, DRAW, GROUP,
HATCH, IDENT, MASK, and UNBLNK.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
2-21
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
GRIP Language Components
Example
Array Subrange Usage
ENTITY/E1(50),E2(10,10)
NUMBER/N1(200),N2(10,10),N3(5,10)
Table 2-2
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
Array Assignments
Assignment
Validity
N1(51..150)=N2
Valid assignment of N1 because
150 is less than 200.
Same number of array
elements on either side of the
equals sign.
N3=N1(I..J)
Valid. No compilation error.
At run time, error checks will be
made on array bounds
and the subrange.
N1(6..10)=N1(1..5) Valid assignment.
POINT/N1(20..22)
Valid.
POINT/N1(I..I+2)
Valid.
POINT/N1(J..K)
Invalid to use variable array subrange
in a POINT definition.
HATCH/E1(J..K)
Valid. Variable subrange can be
used with HATCH statement.
GROUP/E2(1..I,1..J) Invalid. Only one array
subrange can be used in a
multidimensional array.
2-22
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Language Components
Detect Undeclared Variables
DESCRIPTION
The GRIPSW statement is used for compiler directives. If used
with the minor word directive DECLRV, it prevents the program
from compiling if the program contains undeclared simple
variables. This ensures that all variables are declared before
they are used in the program. This reinforces the data
assignment to the correct variable types.
During compilation, if the compiler comes across an undefined
simple variable, it will generate error number 62, UNDEFINED
VARIABLE.
You can place the GRIPSW statement anywhere in the
declaration section, but it must come before the first executable
statement. For example, this declaration:
NUMBER/a,b
GRIPSW/DECLRV
STRING/STR(2,30),NAME(6)
.
.
a = 10
.
.
would have the same result as this:
GRIPSW/DECLRV
NUMBER/a,b
STRING/STR(2,30),NAME(6)
.
.
a = 10
.
.
FORMAT
GRIPSW/DECLRV
REQUIRED INPUT
DECLRV
OPTIONAL INPUT
NONE
PARAMETERS
DECLRV
Minor word which detects undeclared variables.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
2-23
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
GRIP Language Components
EXAMPLE
DESCRIPTION
This example demonstrates the usage of the GRIPSW/DECLRV statement
in a program.
NUMBER/A,B
STRING/STR(2,30),NAME(6)
GRIPSW/DECLRV
.
.
.
A = 10
NUM = A + B
PRINT/NUM
.
.
.
HALT
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
AFTER COMPILATION:
1
2
3
NUMBER/A,B
STRING/STR(2,30),NAME(6)
GRIPSW/DECLRV
.
.
.
A = 10
NUM = A + B
*
27
28
Error no. 62 in line no. 28: Undefined variable
29
PRINT/NUM
*
Error no. 62 in line no. 29: Undefined variable
45
2-24
GRIP Fundamentals
Student Guide
.
.
.
HALT
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Language Components
Exercises
Complete the following exercises to familiarize yourself with the language
components of GRIP. Refer to the prior pages in this manual, or to the GRIP
Programming Manual for further information.
Exercise 2-1
Write declarations and/or initialization statements for the data
as described.
1. An engineer wants you to write a program that will
parametrically construct the outer edge of a part that will
be later manufactured using a lathe. Upon further
questioning, you determine that the maximum number of
entities expected for the part edge is 200.
2. You are designing an application that will store the full
path name to a part file. A full path name to a UNIX file
can contain up to 132 characters.
3. You are developing an application that will store the
following data with the following default values that will be
requested by the user:
Numeric information
length
width
height
10.2
8
.5
Character string information
part name
designer name
date
EDS
All Rights Reserved
PLATE
XX XXXXXXXXXX
DD MMM YYYY
GRIP Fundamentals
Student Guide
2-25
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
GRIP Language Components
Exercise 2-2
The following statements are a scrambled GRIP program. Using
the program structure outline on page 2-2, rewrite the
statements in their correct order.
ctr_pt = POINT/ xc, yc, zc
HALT
DATA/ strt_coord, 10, 20
ÉÉÉ
2
ÉÉÉ
ÉÉÉ
ÉÉÉ
xc = 5
NUMBER/ strt_coord(3), xc, yc, zc
yc = 10
ENTITY/ ctr_pt, strt_pt
strt_pt = POINT/ strt_coord(1..3)
2-26
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Two Dimensional Commands
Two Dimensional Commands
Lesson 3
Objectives
Demonstrate an understanding of two dimensional modeling
commands including points and lines.
Become familiar with the way the options of the processing commands
are documented.
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
3-1
Two Dimensional Commands
Positional Modifiers
A positional modifier helps the system determine which of several geometric
possibilities will be used. In GRIP documentation, PMOD2 is used to represent
positional modifiers for two dimensional objects; PMOD3 is used to represent
positional modifiers for three dimensional objects. Positional modifiers identify
quadrant locations or end positions of existing objects. The six PMOD Minor
words are XSMALL, YSMALL, ZSMALL, XLARGE, YLARGE, and
ZLARGE.
TwoĆDimensions - PMOD2
For two dimensional objects, use one of the PMOD2 modifiers or the
corresponding number listed below. In PMOD2, the ZSMALL and ZLARGE
positional modifiers are not allowed.
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
Minor Word
Corresponding Number
XSMALL
1
YSMALL
2
XLARGE
4
YLARGE
5
2-D
Positional
Modifier Examples
CR(1)
4
YLARGE
XLARGE
3
LN(2)
2
XLARGE
YSMALL
1
LN(1)
0
-1
1
2
3
YSMALL
Figure 3-1 2ĆD Positional Modifiers
3-2
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Two Dimensional Commands
ThreeĆDimensions - PMOD3
For three dimensional objects, use the PMOD3 modifiers listed below, or the
corresponding numbers.
Minor Word
Corresponding Number
XSMALL
1
YSMALL
2
ZSMALL
3
XLARGE
4
YLARGE
5
ZLARGE
6
YLARGE
ZLARGE
XSMALL
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
XLARGE
ZSMALL
YSMALL
Figure 3-2 3ĆD Positional Modifiers (Top View)
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
3-3
Two Dimensional Commands
Point
The POINT statement creates points using several different methods. You can
create a point by specifying its work coordinates or by using geometric
construction techniques to create the point relative to other objects.
Table 3-1
Point Command Statements
Function
Format
Coordinates
POINT/x,y[,z]
Center of a Circle
POINT/CENTER,circle
End Point
POINT/ENDOF, PMOD3",obj
Intersection Point
POINT/[{PMOD2"|point},]
INTOF,obj1,obj2 [,IFERR,label:]
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
3-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Two Dimensional Commands
Point: Coordinates
Synopsis
obj = POINT/x,y[,z]
Description
Creates a point by specifying its coordinates in XC, YC, and ZC.
The ZC value is optional. If it is omitted, the point will lie on
the current work plane.
Parameters
x,y,z
The X,Y, and Z coordinates of the work coordinate system. If
the optional Z coordinate is omitted, the Z coordinate of the
point will be equal to zero.
Example
This example demonstrates the creation of several points by
specifying their coordinates.
Declarations
ENTITY/PT1,PT2,PT3
Point Definition
PT1=POINT/0,0
PT2=POINT/1,0,1
P T3=POINT/1,0
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
Figure 3-3 Points defined by coordinate values
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
3-5
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
Two Dimensional Commands
Point: Center of a Circle
Synopsis
obj = POINT/CENTER,circle
Description
Creates a point at the center of a previously defined circle.
Parameters
CENTER
Minor word that indicates that the point defined will be the
center of a circle.
circle
An existing circle.
Example
This example demonstrates the creation of a point at the center
of a previously defined circle.
Declarations
ENTITY/CR1,PT1
Geometry Definition CR1=CIRCLE/0,0,1
Point Definition
PT1=POINT/CENTER,CR1
Figure 3-4 A point at the center of a circle
3-6
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Two Dimensional Commands
Point: End Point
Synopsis
obj = POINT/ENDOF,PMOD3",obj
Description
Creates a point at the end of a previously defined object. A
positional modifier is used to define which end of the object is
desired.
Parameters
ENDOF
Minor word that indicates that the point defined will assume the
coordinate values at the end of an object.
PMOD3
A three dimensional positional modifier which indicates which
end of the object will be used. The direction will be in reference
to the work coordinate system.
obj
An existing object which may be any one of the following curves:
line, circle, conic, or spline
Example
Declarations
Geometry Definition
Point Definition
This example demonstrates the creation of several points at the
ends of a line and a circle.
ENTITY/LN1,CR1,PT1,PT2,PT3,PT4
LN1=LINE/-2,-1,0,1
CR1=CIRCLE/1,0,1,START,45,END,210
PT1=POINT/ENDOF,XSMALL,LN1
PT2=POINT/ENDOF,YLARGE,LN1
PT3=POINT/ENDOF,XLARGE,CR1
PT4=POINT/ENDOF,YSMALL,CR1
Figure 3-5 A point at the end of an object
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
3-7
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
Two Dimensional Commands
Point: Intersection Point
Synopsis
obj = POINT/[{PMOD2"|point},]INTOF,obj1,obj2
[,IFERR,label:]
Description
Creates a point at the intersection of two previously defined
objects. A reference point may be specified to indicate the
desired point in the case of multiple intersections of the two
objects. The intersection is determined by looking down the
ZĆaxis of the WCS.
Parameters
PMOD2
A two dimensional positional modifier which may be used to
indicate which intersection will be used when multiple
intersections exist. The direction will be in reference to the
work coordinate system.
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
point
Reference point closest to the desired intersection which may be
used instead of the positional modifier, when both objects are
curves. If the desired point is the intersection of a curve and a
surface or plane, a previously defined point must be used.
NOTE
A positional modifier is used to assign a reference point.
This calculated reference point may not yield the
expected results.
INTOF
Minor word that indicates that the point defined will be a
unique intersection of two objects.
obj1,obj2
Two existing objects which are not parallel in the work view. If
one of the objects is a surface or plane, it must be obj2.
IFERR,label:
Specifies label to which program execution will jump if no
intersection is found.
3-8
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Two Dimensional Commands
Example
This example demonstrates the creation of several intersection
points between two sets of circles.
Declarations
ENTITY/CR1,CR2,CR3,CR4,PT0,PT1,PT2,PT3,PT4
Geometry Definition
CR1=CIRCLE/-1.25,0,.5
CR2=CIRCLE/-.5,0,.5
CR3=CIRCLE/1,.375,.5
CR4=CIRCLE/1,-.375,.5
PT0=POINT/1.5,0
Point Definition
PT1=POINT/YLARGE,INTOF,CR1,CR2
PT2=POINT/YSMALL,INTOF,CR1,CR2
PT3=POINT/XSMALL,INTOF,CR3,CR4
PT4=POINT/PT0,INTOF,CR3,CR4
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
Figure 3-6 Intersection points of two curves
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
3-9
Two Dimensional Commands
Point: EDA
Synopsis
&POINT(obj)
Description
Accesses the location of an existing point. The coordinates in
X, Y, and Z of the work coordinate system may be extracted
and/or edited.
Characteristics
Read/Write
Example
This example demonstrates the use of the &POINT EDA to edit
the location of a point. A point is created and it's coordinates
displayed in a menu using the &POINT EDA in a read mode.
Once the user enters the new coordinates, the point is edited by
using the &POINT EDA in a write mode.
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
Number
Three Position Numerical Array
ENTITY/ ref_point
NUMBER/ ref_coord(3), resp
$$
$$ Create point
$$
ref_point = POINT/ 3, 0, 0
$$
$$ Extract coordinates of the point
$$
ref_coord = &POINT(ref_point)
$$
$$ Change the values of the coordinates
$$
ref_coord(1) = ref_coord(1)+1.5
ref_coord(2) = ref_coord(2)+2
ref_coord(3) = ref_coord(3)+1
$$
$$ Edit the point using the new coordinates
$$
&POINT(ref_point) = ref_coord
CANCEL:
HALT
3-10
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Two Dimensional Commands
Line
The LINE statement creates lines using several different methods. You can
define a line between end points or use geometric construction principles using
other existing geometry.
Table 3-2
Line Command Statements
Type
Format
Between Two
Specified Points
LINE/x1,y1[,z1],x2,y2[,z2]
Between Two
Existing Points
LINE/point1,point2
Parallel at a Distance
LINE/PARLEL,line,PMOD3",offset
Thru a Point, at an Angle
LINE/point,ATANGL,angle
Point, Tangent to a Curve
LINE/point1,{LEFT|RIGHT|point2},
TANTO,curve
Thru a Point, Parallel/
Perpendicular to a Line
LINE/point,
{PARLEL|PERPTO},line
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
3-11
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
Two Dimensional Commands
Line: Between Two Specified Points (Coordinates)
Synopsis
obj = LINE/x1,y1[,z1],x2,y2[,z2]
Description
Creates a line by specifying the coordinates of the end points of
the line.
The Z value at both positions is optional, therefore, if only the
X and Y coordinates of an end point is specified, the current
depth setting will be assumed for the Z coordinate. If both Z
values are omitted, the line will lie in a plane parallel to the XĆY
plane of the work coordinate system.
Parameters
x1,y1,z1,x2,y2,z2
The coordinate values of two points between which the line will
be created. The start point of the line will be at coordinates
x1,y1,z1 and the end will be at coordinates x2,y2,z2.
Example
This example demonstrates the creation of two lines by
specifying the coordinates of their end points.
LN1 lies on the current work plane because only X and Y values
were specified.
LN2 is defined in space because X, Y, and Z values were
specified.
Declarations
ENTITY/LN1,LN2
Line Definition
LN1=LINE/-1,-1,1, 1
LN2=LINE/-1,1,1,1,-1,-1
Figure 3-7 Top view of lines created with two and three dimensional values
3-12
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Two Dimensional Commands
Line: Between Two Existing Points
Synopsis
obj = LINE/point1,point2
Description
Creates a line between two previously defined points. A point
array may be used to define the two points.
Parameters
point1, point2
Two previously defined points between which the line is created.
The start point of the line is point1 and the end point is point 2.
Example
This example demonstrates the creation of a line between two
previously defined points.
Declarations
ENTITY/PT1,PT2,LN1
Geometry Definition
PT1=POINT/-1,-1
PT2=POINT/PT1,DELTA,2,2,0
Line Definition
LN1=LINE/PT1,PT2
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
Figure 3-8 A line between two points.
NOTE
Since PT1 and PT2 were defined with two dimensional
values the line LN1 will lie in the XĆY plane of the work
coordinate system, if the work coordinate system is not
changed between the point definitions and the line
creation.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
3-13
Two Dimensional Commands
Line: Parallel at a Distance
Synopsis
obj = LINE/PARLEL,line,PMOD3",offset
Description
Creates a line parallel to an existing line at a specified distance.
A positional modifier is used to indicate which side of the
existing line the new line will be created on.
If XLARGE, XSMALL, YLARGE, YSMALL are specified,
the distance will be offset in the current work plane.
If ZLARGE or ZSMALL is specified the distance will be offset
parallel to the current Z axis.
Parameters
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
PARLEL
Minor word that indicates that the new line will be parallel to an
existing line.
line
An existing line to which the new line will be parallel.
PMOD3
The positional modifier PMOD3 establishes the relationship of
the new line to the existing line, with respect to the work
coordinate system.
offset
The distance from the existing line to the new line.
NOTE
3-14
The length of the new line will be the same as the existing
line.
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Two Dimensional Commands
Example
This example demonstrates the creation of a line parallel to
another existing line at a specified distance.
Declarations
ENTITY/LN1,LN2,LN3
Geometry Definition
LN1=LINE/-1,0,1,0
Line Definition
LN2=LINE/PARLEL,LN1,YLARGE,1
LN3=LINE/PARLEL,LN1,YSMALL,1
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
Figure 3-9 Lines parallel to an existing line at a given distance
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
3-15
Two Dimensional Commands
Line: Through a Point, At an Angle
Synopsis
obj = LINE/point,ATANGL,angle
Description
Creates a line thru a previously created point at a specified
angle. The angle is measured counterclockwise from the
current positive X axis. The line is created, and the angle is
measured in a plane containing the point which is parallel to the
current work plane.
Parameters
point
A previously defined point through which the line will run.
ATANGL
Minor word that indicates that the angle of the line will be
specified.
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
angle
The angle of the line in degrees, which is measured from the
positive X axis of the work coordinate system to the line. A
positive angle will rotate the line counterclockwise about the
specified point and a negative angle will rotate the line
clockwise.
Example
This example demonstrates the creation of two lines that pass
thru PT1 at a specified angle.
Declarations
ENTITY/PT1,LN1,LN2
Geometry Definition PT1=POINT/0,0
Line Definition
3-16
LN1=LINE/PT1,ATANGL,45
LN2=LINE/PT1,ATANGL,-30
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Two Dimensional Commands
Figure 3-10 Line through a point at an absolute angle
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
3-17
Two Dimensional Commands
Line: Point, Tangent to a Curve
Synopsis
obj = LINE/point1,{LEFT|RIGHT|point2},TANTO,curve
Description
Creates a line from specified point tangent to a previously
defined curve. You may specify either a point or use the minor
words RIGHT or LEFT to define which side of the curve the
line should be tangent to. If you use RIGHT or LEFT, position
yourself at the point looking at the curve.
Parameters
point1
A previously defined point from which the line will start.
LEFT,RIGHT
Positional modifiers which may be used to indicate which side of
the existing curve the line will be tangent to, as viewed from the
point to the curve. LEFT and RIGHT are not recommended
for splines.
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
point2
A previously defined point may be used in place of the
positional modifier to approximate the point of tangency.
TANTO
Minor word that indicates that the new line will be tangent to an
existing curve.
curve
An existing curve to which the new line will be tangent.
3-18
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Two Dimensional Commands
Example
This example demonstrates the creation of two lines from PT1
tangent to a previously defined circle.
LN1 is defined using PT2 to specify which side of the circle it
should be tangent to.
LN2 is defined using a the minor word RIGHT.
Declarations
ENTITY/PT1,PT2,CR1,LN1,LN2
Geometry Definition
PT1=POINT/-1,0
PT2=POINT/1,1
CR1=CIRCLE/1,0,.5
Line Definition
LN1=LINE/PT1,PT2,TANTO,CR1
LN2=LINE/PT1,RIGHT,TANTO,CR1
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
Figure 3-11 Line through a point and tangent to a curve
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
3-19
Two Dimensional Commands
Line: Through a Point, Parallel/Perpendicular to a Line
Synopsis
obj = LINE/point,{PARLEL|PERPTO}, line
Description
Creates a line thru a previously defined point which is either
parallel or perpendicular to a specified line. The line will be
created either parallel or perpendicular to the specified curve
depending upon which minor word (PARLEL or PERPTO) is
used.
Parameters
point
A previously defined point from which the perpendicular line
will start or through which the parallel line will run.
PARLEL
Minor word that indicates that the new line will be parallel to an
existing line.
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
PERPTO
Minor word that indicates that the new line will be
perpendicular to an existing line.
line
An existing line to which the new line will be parallel or
perpendicular.
NOTE
3-20
If PARLEL is used, the new line will be the same length
as the existing line if the projected point falls between the
existing line endpoints. Otherwise, the end closest to the
point will be extended to the point.
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Two Dimensional Commands
Example
This example demonstrates the creation of several lines which
are parallel or perpendicular to a line (LN1) and pass thru a
previously defined point.
Declarations
ENTITY/PT1,PT2,LN1,LN2,LN3,LN4
Geometry Definition
PT1=POINT/0,-.5
PT2=POINT/0,.5
LN1=LINE/-1,-.5,0,.5
Line Definition
LN2=LINE/PT1,PARLEL,LN1
LN3=LINE/PT1,PERPTO,LN1
LN4=LINE/PT2,PERPTO,LN1
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
Figure 3-12 Lines through points, parallel or perpendicular to a line
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
3-21
Two Dimensional Commands
Line EDA's
There are several EDA's which access the geometric properties
of a line. Some of the EDA's are READ/WRITE, which means
that the properties can be accessed and edited. READ ONLY
EDA's can be accessed to extract the geometric properties only.
Geometric
Property
EDA Symbol
Access
Type
Data Type
Start point
&SPOINT(obj)
R/W
N(3)
End point
&EPOINT(obj)
R/W
N(3)
Length
&LENGTH(obj)
RO
Number
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
3-22
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Two Dimensional Commands
Example
This example demonstrates the use of the line EDA's in
conjunction with the &POINT EDA to trim a line.
ln1
int_pt
ln2
Figure 3-13 Untrimmed: the objective is to trim ln2 to the intersection between ln1 and ln2
int_pt = POINT/ INTOF, ln1, ln2
scoord = &SPOINT(ln2)
ecoord = &EPOINT(ln2)
$$
$$ Evaluate the coordinates of ln2 to determine
$$ whether the starting coordinate or ending
$$ coordinate should be edited
$$
IFTHEN/ scoord(1) < ecoord(1)
&EPOINT(ln2) = &POINT(int_pt)
ELSE/
&SPOINT(ln2) = &POINT(int_pt)
ENDIF
DELETE/ int_pt
ln1
ln2
Figure 3-14 Trimmed: ln2 is trimmed to the intersection between ln1 and ln2
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
3-23
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
Two Dimensional Commands
Activity The LĆshape
This first activity will let you begin programming in GRIP. Look at the diagram
of the L-Shape on the next page. Write a program to create the figure. Create
a new file using your initials (***Ćlshape.grs) and follow these directions:
Use line definitions only. Do not use any point definitions.
Write the program so that the X and Y coordinates for the
lowest, leftmost corner of the figure are the only coordinates
that will be given.
The following number of variables and their accompanying
values are the only ones to be used.
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
Variable
Value
Definition
x
0
X coordinate of lowest,
leftmost corner of figure.
y
-3
Y coordinate of lowest,
leftmost corner of figure.
bw
1
Bottom width of figure
tw
2
Top width of figure
tht
6
Total height of figure
tpht
2
Top height of figure
Notice that the variables are numeric. This means you cannot use them as
object names. The variables represent the lengths of the lines.
TIP This project will need declaration and initialization statements:
ENTITY/
NUMBER/
DATA/
six LINE/ statements such as:
ln(1) = LINE/x, y, x, (y + tht)
and the program termination statement:
HALT
3-24
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Two Dimensional Commands
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
Figure 3-15 The L-Shape
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
3-25
Two Dimensional Commands
(This Page Intentionally Left Blank)
ÉÉÉ
ÉÉÉ
3
ÉÉÉ
ÉÉÉ
3-26
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
More Two Dimensional Commands
More Two Dimensional Commands
Lesson 4
Objectives
Demonstrate an understanding of two dimensional circle commands.
Become familiar with the way the options of the processing commands
are documented.
Demonstrate knowledge of the Entity Data Access Symbols (EDA's)
used when accessing and altering information about geometric objects.
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
4-1
More Two Dimensional Commands
Circle
A Circle is created in a counterclockwise direction from the positive X axis of
the work coordinate system. The start and end angles of the arc may be
specified in some of the circle definitions. If the optional start and end angles
are omitted in the definition statement, a full circle will be created.
Table 4-1
Circle Command Statements
Function
Format
Center Coordinates,
Radius
CIRCLE/ x, y, [z,] r
[,START, start angle, END, end angle]
Center Point,
Radius
CIRCLE/ CENTER, point, RADIUS, r
[,START, start angle, END, end angle]
Center Point,
Tangent to Line
CIRCLE/ CENTER, point, TANTO, line,
[,START, start angle, END, end angle]
Center Point,
Point on Arc
CIRCLE/ CENTER, point1, point2,
[,START, start angle, END, end angle]
Through Three
Points
CIRCLE/ point1, point2, point3
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
4-2
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
More Two Dimensional Commands
Circle: Center Coordinates, Radius
Synopsis
obj = CIRCLE/x,y,[z,]r[,START,start angle,END,end angle]
Description
Creates a circle by defining the X, Y, and Z coordinates in work
coordinates and the radius. The Z coordinate is optional. The
plane of the arc will be parallel to the plane of the current WCS.
Parameters
x,y,[z]
The coordinate values of the circle center point. If the optional
Z coordinate is omitted, the center point will assume the Z
value of the currently set depth.
r
A positive value which establishes the circle radius.
START
The optional parameter START indicates that the starting angle
for the arc will be specified.
start angle
The starting angle of the arc as measured from the positive X
axis of the work coordinate system.
END
The optional parameter END indicates that the ending angle
for the arc will be specified.
end angle
The ending angle of the arc as measured from the positive X
axis of the work coordinate system.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
4-3
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
More Two Dimensional Commands
Example
This example shows the creation of a full and partial circle.
The partial circle demonstrates the use of the START and END
minor words.
ENTITY/CR1,CR2
Declarations
CR1=CIRCLE/1,0,1,.5
CR2=CIRCLE/3,0,.5,START,30,END,270
Figure 4-1 Arcs with specified center point coordinates and radius
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
4-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
More Two Dimensional Commands
Circle: Center Point, Radius
Synopsis
obj = CIRCLE/CENTER,point,RADIUS,r
[,START,start angle,END,end angle]
Description
Defines a circle with a specified radius using a previously
defined point as its center. You may also define start and end
angles for the circle.
Parameters
CENTER
Minor word that indicates that the center of the circle is an
existing point.
point
A previously defined point which establishes the center of the
circle.
RADIUS
Minor word that indicates that the radius of the circle will be
specified.
r
A positive value which establishes the circle radius.
START
Indicates that the starting angle for the arc will be specified.
start angle
The starting angle of the arc as measured from the positive X
axis of the work coordinate system.
END
Indicates that the ending angle for the arc will be specified.
end angle
The ending angle of the arc as measured from the positive X
axis of the work coordinate system.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
4-5
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
More Two Dimensional Commands
Example
The following example shows the creation of a circle using a
center point and radius.
Declarations
ENTITY/PT1,CR1
Geometry Definition PT1=POINT/0,0
Circle Definition
CR1=CIRCLE/CENTER,PT1,RADIUS,1
Figure 4-2 Circle with a specified center point and radius
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
4-6
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
More Two Dimensional Commands
Circle: Center Point, Tangent to a Line
Synopsis
obj = CIRCLE/CENTER,point,TANTO,line
[,START,start angle, END,end angle]
Description
Creates a circle which is tangent to a specified line using a
previously defined center point. The arc lies in the plane
containing the center point and the line. You may also define
start and end angles for the circle.
Parameters
CENTER
Minor word that indicates that the center of the circle is an
existing point.
point
A previously defined point which establishes the center of the
circle.
TANTO
Minor word that indicates that the circle will be tangent to an
existing object.
line
An existing line to which the circle will be tangent .
START
The optional parameter START indicates that the starting angle
for the arc will be specified.
start angle
The starting angle of the arc as measured from the positive X
axis of the work coordinate system.
END
The optional parameter END indicates that the ending angle
for the arc will be specified.
end angle
The ending angle of the arc as measured from the positive X
axis of the work coordinate system.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
4-7
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
More Two Dimensional Commands
NOTE
Example
If the plane defined by the line and center point are not
parallel to the WCS, the system ignores the start and end
angles and creates a full circle.
The following example shows how to create a circle with a
center point, tangent to a line.
ENTITY/PT1,LN1,CR1
PT1=POINT/0,0
LN1=LINE/2,0,0,2
CR1=CIRCLE/CENTER,PT1,TANTO,LN1,START,0,END,90
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
Figure 4-3 Arc with a specified center point and tangent to a line
4-8
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
More Two Dimensional Commands
Circle: Center Point, Point on the Arc
Synopsis
obj = CIRCLE/CENTER,point1,point2
[,START,start angle,END,end angle]
Description
Creates a circle by specifying a previously defined point on its
arc (point is used to calculate the radius), whose center point is
also previously defined. You may also define start and end
angles for the circle.
Parameters
CENTER
Minor word that indicates that the center of the circle is an
existing point.
point1
A previously defined point which establishes the center of the
circle.
point2
A previously defined point through which the arc passes . The
point may lie on a nonĆconstructed portion of the arc.
START
The optional parameter START indicates that the starting angle
for the arc will be specified.
start angle
The starting angle of the arc as measured from the positive X
axis of the work coordinate system.
END
The optional parameter END indicates that the ending angle
for the arc will be specified.
end angle
The ending angle of the arc as measured from the positive X
axis of the work coordinate system.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
4-9
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
More Two Dimensional Commands
Example
The example shows the use of the Center Point, Point on the
Arc statement to create full and partial circles.
Declarations
ENTITY/P(4),CR(2)
Geometry Definition P(1)=POINT/1,0
P(2)=POINT/1,.5
P(3)=POINT/3,0
P(4)=POINT/3,.5
Circle Definition
CR(1)=CIRCLE/CENTER,P(1),P(2),START,45,END,360
CR(2)=CIRCLE/CENTER,P(3),P(4)
Figure 4-4 Arcs with specified center points and points on the arcs
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
4-10
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
More Two Dimensional Commands
Circle: Through Three Points
Synopsis
obj = CIRCLE/point1,point2,point3
Description
Creates a circle thru three previously defined points. The points
are used to calculate the plane of the arc.
Parameters
point1,point2,point3
Three previously defined points through which the arc passes.
The arc is constructed in a counterclockwise direction (with
respect to the ZC axis of the WCS) from point1 (start) to point
3 (end). The second point, point 2, may lie on either the
constructed or nonĆconstructed portion of the arc. If the three
points are collinear, an error message will be displayed.
Example
This example shows the creation of a circle thru three points.
Declarations
ENTITY/P(3),CR1
Geometry Definition
P(1)=POINT/1,0
P(2)=POINT/0,1
P(3)=POINT/0,-1
Circle Definition
CR1 = CIRCLE/P(1),P(2),P(3)
NOTE
The following statement shows the use of the point array
to specify the three points in the arc.
CR1 = CIRCLE/P
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
Figure 4-5 An arc through three points
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
4-11
More Two Dimensional Commands
Fillet
The FILLET statement creates an arc of a specified radius
between two objects.
Fillets are created counterclockwise from the positive X
direction of the work coordinate system.
The FILLET statement will trim the objects being filleted to the
endpoints of the fillet. Trim can be suppressed by specifying the
optional minor word NOTRIM.
Table 4-2
Fillet Command Statements
Function
Format
Two Entities,
Center Point
FILLET/obj1,obj2,CENTER,point,
RADIUS,r[,NOTRIM]
[,IFERR,label:]
Two Lines,
Positional Modifiers
FILLET/PMOD3",line1,PMOD3",
line2,RADIUS,r[,NOTRIM]
[,IFERR,label:]
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
4-12
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
More Two Dimensional Commands
Fillet: Two Objects, Center Point
Synopsis
obj = FILLET/obj1,obj2,CENTER,point,RADIUS,r
[,NOTRIM][,IFERR,label:]
Description
Creates a fillet between two objects by specifying the objects
(e.g. two lines), a point which lies in the same area as the center
of the fillet radius, and the radius value.
The center point should be in the general vicinity of the fillet
radius center. If two perpendicular lines are being filleted, the
point can be anywhere in the quadrant which contains the
desired fillet radius. However, if you want to fillet other objects,
defining the proper point can be more difficult.
Parameters
obj1,obj2
The two existing objects to be filleted. The objects do not have
to intersect, but the maximum distance between the two points
of tangency must be less than or equal to twice the specified
radius of the fillet. The fillet will be constructed
counterclockwise from the first object to the second object.
CENTER
Minor word that indicates that a point will be supplied which
will approximate the location of the fillet center.
point
A previously defined point which approximates the location of
the fillet center. If the indicated center is invalid, the error
message NO FILLET will be displayed. The approximate point
will be projected onto the fillet plane along the plane's Z axis.
RADIUS, r
A positive value which establishes the fillet radius. If the radius
is invalid, the error message NO FILLET will be displayed.
NOTRIM
If the NOTRIM parameter is included the objects will remain
unchanged, if omitted the objects will be trimmed to the points
of tangency.
IFERR,label:
Specifies a label to which program execution jumps if an error
occurs.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
4-13
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
More Two Dimensional Commands
Example
This example demonstrates the creation of a fillet between two
previously defined lines. NOTRIM suppresses trimming the
lines. A previously defined point (PT1) is used to specify the
fillet radius center.
Without the point (PT1), this fillet statement could generate
four different fillets, one in each quadrant formed as the lines
cross. The point (PT1) clearly lies in the lower quadrant which
is where the fillet is created.
Declarations
ENTITY/PT1,LN1,LN2,FLT1
Geometry Definition PT1 =POINT/0,0
LN1 =LINE/0,1.5,1,-.5
LN2 =LINE/1,1.5,-1,-.5
Fillet Definition
FLT1=FILLET/LN1,LN2,CENTER,PT1,RADIUS,.5,NOTRIM
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
Figure 4-6 Two object fillet without trimming
4-14
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
More Two Dimensional Commands
Example
This example demonstrates the creation of a fillet between two
previously defined lines. A previously defined point (PT1) is
used to specify the fillet radius center.
Without the point (PT1), this fillet statement could generate
four different fillets, one in each quadrant formed as the lines
cross. The point (PT1) clearly lies in the lower quadrant which
is where the fillet is created.
Declarations
ENTITY/PT1,LN1,LN2,FLT1
Geometry Definition
PT1 =POINT/0,0
LN1 =LINE/0,1.5,1,-.5
LN2 =LINE/1,1.5,-1,-.5
Fillet Definition
FLT1=FILLET/LN1,LN2,CENTER,PT1,RADIUS,.5
Figure 4-7 Two object fillet with trimming
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
4-15
More Two Dimensional Commands
Fillet: Two Lines, Positional Modifiers
Synopsis
obj = FILLET/PMOD3",line1,PMOD3",line2,
RADIUS,r[,NOTRIM][,IFERR,label:]
Description
Creates a fillet between two previously defined lines. The fillet
radius center is located by specifying its position relative to the
objects using positional modifiers. The fillet will be created
counterclockwise from the first to the second object.
Parameters
PMOD3
A positional modifier which is used to indicate on which side of
the existing line the fillet lies . The direction will be in
reference to the work coordinate system.
line1,line2
The two existing lines to be filleted. The lines do not have to
intersect, but must be coĆplanar and the maximum distance
between the two points of tangency must be less than or equal
to twice the specified radius of the fillet. The fillet will be
constructed counterclockwise from the first line to the second
line.
RADIUS
Minor word that indicates that the radius of the fillet will be
specified.
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
r
A positive value which establishes the fillet radius. If the radius
is invalid, the error message NO FILLET will be displayed.
NOTRIM
If the NOTRIM parameter is included the objects will remain
unchanged, if omitted the objects will be trimmed to the points
of tangency.
IFERR,label:
Specifies a label to which program execution jumps if an error
occurs.
4-16
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
More Two Dimensional Commands
Example
This example demonstrates the creation of a fillet between two
lines where the center of the fillet is defined using positional
modifiers.
Declarations
ENTITY/LN1,LN2,FLT1
Geometry Definition
LN1 =LINE/-1,0,1,0
LN2 =LINE/0,-1,0,1
Fillet Definition
FLT1=FILLET/YLARGE,LN1,XSMALL,LN2,RADIUS,.5,$
NOTRIM
Figure 4-8 Lines filleted in the second quadrant
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
4-17
More Two Dimensional Commands
Example
This example demonstrates the creation of a fillet between two
lines by specifying the fillet center using positional modifiers.
Declarations
ENTITY/LN1,LN2,FLT1
Geometry Definition LN1 =LINE/-1,0,1,0
LN2 =LINE/0,-1,0,1
Fillet Definition
FLT1=FILLET/YSMALL,LN1,XLARGE,LN2,RADIUS,.5,$
NOTRIM
Figure 4-9 Lines filleted in the fourth quadrant
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
4-18
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
More Two Dimensional Commands
Circle EDA's
There are several EDA's which access the geometric properties
of arcs. These EDA's work on objects that were created using
either the CIRCLE/ or the FILLET/ command. Some of the
EDA's are READ/WRITE, which means that the properties can
be accessed and edited. Using EDA's in the edit mode can be a
convenient method for making extensive changes. For example,
you could write a program that would READ the radius of every
arc in a part, and edit any .250 radii to .253, if press fits for that
size hole were all replaced with slip fits.
The X, Y, and Z axis matrix values represent axes of the
coordinate system of the arc. The arc lies in the X-Y plane,
with the arc angle measured counterclockwise from the positive
X axis.
Geometric Property EDA Symbol
Center (X,Y,Z)
&CENTER(obj)
Access
Type
RW
Radius
&RADIUS(obj)
RW
Number
Start angle
&SANG(obj)
RW
Number
End angle
&EANG(obj)
RW
Number
Start point (X,Y,Z)
&SPOINT(obj)
RW
N(3)
End point (X,Y,Z)
&EPOINT(obj)
RW
N(3)
Arc length
&LENGTH(obj)
RO
Number
X axis matrix values &XAXIS(obj)
RO
N(3)
Y axis matrix values &YAXIS(obj)
RO
N(3)
Z axis matrix values &ZAXIS(obj)
RO
N(3)
EDS
All Rights Reserved
Data Type
N(3)
GRIP Fundamentals
Student Guide
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
4-19
More Two Dimensional Commands
Example
This example demonstrates the use of the circle EDA's to edit
the start and end angles of an arc.
arc
Figure 4-10 Original arc, starting at 270 degrees, ending at 90 degrees
ENTITY/ arc
arc = CIRCLE/ 0, 0, 1, START, 270, END, 90
&SANG(arc) = 0
HALT
arc
Figure 4-11 Edited arc, starting at 0 degrees, ending at 90 degrees
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
4-20
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
More Two Dimensional Commands
Entity Independent EDA's
There are several EDA's that allow information about objects to
be extracted and modified.
Geometric Property EDA Symbol
Font
&FONT(obj)
Access
Type
RW
Data Type
Number [1..7]
For the &FONT EDA, the following values are expected:
1 = &SOLID
2 = &DASHED
3 = &PHANTM
4 = &CLINE
5 = Dotted
6 = Long Dashed
7 = Dotted Dashed
Example
ENTITY/ arc
arc = CIRCLE/0,0,1, START,270, END,90
&FONT(arc) = &DASHED
Geometric Property EDA Symbol
Color
&COLOR(obj)
Access
Data Type
Type
RW
Number [1..15]
For the &COLOR EDA, the following values are expected:
1 = &BLUE
6 = &YELLOW 11 = &ORANGE
2 = &GREEN
7 = &WHITE
12 = &PURPLE
3 = &CYAN
8 = &OLIVE
13 = &DKRED
4 = &RED
9 = &PINK
14 = &AQUAMR
5 = &MAGENT 10 = &BROWN 15 = &GRAY
Example
ENTITY/ arc
arc = CIRCLE/ 0, 0, 1, START, 270, END, 90
&COLOR(arc) = &MAGENT
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
4-21
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
More Two Dimensional Commands
Geometric Property EDA Symbol
Line Width
&LWIDTH(obj)
Access
Type
RW
Data Type
Number [1..3]
For the &LWIDTH EDA, the following values are expected:
1 = Normal
2 = Thick (heavy)
3 = Thin
Example
ENTITY/ arc
arc = CIRCLE/ 0, 0, 1, START, 270, END, 90
&LWIDTH(arc) = 2
Geometric Property EDA Symbol
Layer
Example
&LAYER(obj)
Access
Type
RW
Data Type
Number
[1..256]
ENTITY/ arc1, arc2
arc2 = CIRCLE/ 0, 0, 1, START, 270, END, 90
&LAYER(arc2) = &LAYER(arc1)
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
4-22
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
More Two Dimensional Commands
Nesting
You may nest definitions of objects within other definitions.
The nested statement must have parentheses around it.
A maximum of 10 objects may be nested with each other.
Nesting can be useful, but you can also carry it to extremes. Nesting will make a
program difficult to read, to debug, and to revise, and may have a great effect
on the run time.
Example
ENTITY/P1,P2,LN1
P1=POINT/0,1.5
P2=POINT/2.2,3.7
LN1=LINE/P1,P2
HALT
$$ PREVIOUS PROGRAM COULD HAVE BEEN WRITTEN
ENTITY/P1,P2,LN1
LN1=LINE/(P1=POINT/0,1.5),(P2=POINT/2.2,3.7)
HALT
Example
$$ CREATE POINT AT INTERSECTION OF 2 LINES
ENTITY/P1,P2,P3,P4,P5,LN1,LN2
P5=POINT/INTOF,(LN1=LINE/$
(P1=POINT/1,1),(P2=POINT/3,1.5)),(LN2=LINE/$
(P3=POINT/1.5,6.2),(P4=POINT/3.2,2.7))
HALT
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
4-23
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
More Two Dimensional Commands
Activity: Sheet Metal Part
Write a program to draw the sheet metal part pictured on the following page.
Follow the steps below.
Use any geometry definition necessary.
The dimensions of the part are 5 X 6, with filleted corners,
containing two holes and a pocket with rounded ends.
The radii of the circles and arcs are oneĆsixth the distance
between the center of the part and the corners of the part
(before filleting). To get this distance, use the formula:
rad=SQRTF((hgt/2)**2+(wid/2)**2)/6
Construct the geometry using the center of the part as your
starting point. All objects should be created in relation to
the center of the part. Do not start at one of the corners.
When you finish the assignment, demonstrate the program to
your instructor.
Optional Tasks:
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
4-24
Make the color of the part edge cyan, with yellow hole and slot
features.
Make the font of the part solid, with dashed hole and slot
features.
Make the line width of the part edge normal, with thin hole and
slot features.
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
More Two Dimensional Commands
r = 0.25
rad
hgt/4
* ( x, y )
hgt
rad
hgt/4
wid/4
wid/4
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
wid
Figure 4-12 Sheet Metal Part
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
4-25
More Two Dimensional Commands
(This Page Intentionally Left Blank)
ÏÏÏ
4
ÏÏÏ
ÏÏÏ
4-26
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Controlling Program Execution
Controlling Program Execution
Lesson 5
Objectives
Use the commands for branching, logic, and looping.
Build data checking into the user interface.
Write error handling code.
Write structured logic.
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
5-1
Controlling Program Execution
Introduction
Up to this point, we have discussed GRIP programs that execute sequentially
from beginning to end. However, we typically want the computer to execute
different portions of code depending on various conditions. These conditions
may depend on information provided by the user or other stored values. The
commands for branching allow altering the flow of the program. When
overused, they can make programs difficult to maintain and understand.
Table 5-1
Branching, loop and logic Statements
Function
Format
Branch always
JUMP/label1:
Branch using the integer
value of the expression.
JUMP/ [label:]+, expression
Loop to label:. Iterate
from 'begin' to 'end'
DO/label:,index,$
begin, end[,increment]
Logical IF
IF/logical expression, $
GRIP statement
Block IF
IFTHEN/logical expression
GRIP statements as required
[ELSEIF/logical expression
GRIP statements as required]
[ELSE
GRIP statements as required]
ENDIF
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
5-2
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Controlling Program Execution
Suggested Labeling Guidelines
Most commands in Table 5-1 use labels. Labels can be thought of as tags that
identify special locations in your code. A label is a name which may precede
any GRIP statement (except the PROC/ statement). In GRIP, the following rules
apply for labels:
Labels can contain up to 32 characters.
The first six characters of each label must be unique.
All labels must start with an alphabetic character, with the remaining
characters alphanumeric.
There can be no blank characters.
A label must end with a colon (:) character.
NOTE
GRIP allows a total of 1000 labels per subroutine. A DO
loop generates two labels, a CALL command generates
one label, and the IFTHEN/ELSE/ELSEIF/ENDIF uses
two labels plus one for every ELSEIF. These labels count
against the total you can use.
The following section describes a recommended labeling standard. These are
not rules and should not be interpreted as such.
1. When reading a GRIP program, labels should stand out". It is
suggested that all labels start in column one, with remaining
statements starting after column eight.
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
5-3
Controlling Program Execution
2. Each label should describe its purpose by using a mnemonic to
describe the purpose of the label. Mnemonics include:
BCKxxx:
Precedes an interactive command, providing a
position for execution to return when the user
selects the Back option on the dialog box.
DOLxxx:
Used to construct “DO” loops.
WHLxxx:
Used to simulate “WHILE” loops, which are
common constructs available in other high level
programming languages
LBLxxx:
A generic label to be used sparingly for a variety of
purposes including non–fatal error handling.
ERRxxx:
Indicates code to be executed when an error
condition occurs. May precede a “MESSG”
statement.
FAIL:
A position in a program or subroutine for use in
error handling when a fatal error is encountered.
RTN:
Indicates the return point in a subroutine.
Precedes the “RETURN” statement.
CANCEL:
Marks the end of a GRIP program. Precedes the
“HALT” statement.
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
5-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Controlling Program Execution
3. Use a sequential series of numbers as a suffix to the previously defined
mnemonics. This makes it easier for the reader to locate labels when
many labels are used. Alternate the numbers in even units of 10 when
writing the code, in order to leave room for inserting more labels. For
example:
BCK010:
BCK015:
WHL020:
LBL025:
DOL030:
ERR040:
The labels BCK015: and LBL025: can assume to have been added
after the code was originally written.
The rules for generating labels are not restrictive, allowing for a wide variety of
labeling styles. When programmers use different methods for naming labels,
understanding GRIP programs becomes difficult. You should follow a standard
labeling convention which can be easily understood by other programmers.
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
5-5
Controlling Program Execution
JUMP: Unconditional Branching
Synopsis
JUMP/label:
Description
This statement allows you to perform unconditional branching,
which causes the program to branch to the statement containing
the specified label. This feature is generally used to bypass
sections of the program which are controlled by conditional
branching statements or as the executable part of a logical IF
statement.
Parameters
label:
Label to which program execution will jump.
Example
This example demonstrates the use of the JUMP statement in
an IF statement. A JUMP statement is also used to skip over a
portion of the program which is only executed under certain
conditions.
IF/mtype==1, JUMP/ALUM:
IF/mtype==2, JUMP/STL:
IF/mtype==3, JUMP/OTHR:
ALUM:
dens = .100
JUMP/LBL030:
STL:
dens = .289
JUMP/LBL030:
OTHR:
PRINT/'Density not defined'
LBL030:
NOTE
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
5-6
In the example above, if the variable mtype is equal to 1,
the variable dens is assigned a value of .100 and the
statements between the labels STL: and LBL030: are
bypassed.
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Controlling Program Execution
JUMP: Conditional Branching
Synopsis
JUMP/label:+,[expression]
Description
Conditional branching is the computed or conditional JUMP
statement that causes the program to branch to one of several
locations based on the integer portion of a supporting expression
or variable. The integer may be set in many ways, either by a
numerical expression (ntype = a+b) or by a GRIP interactive
statement such as PARAM, CHOOSE, etc.. If the number being
considered is not an integer (4.25), the integer portion of the
expression or variable, which is also referred to as the index, is
obtained by truncating without rounding in either direction (4.25
would be evaluated as 4). The resulting integer will cause the
program to branch to the label specified by that location in the
label list which may consist of up to 43 labels. If a label does not
exist in the indicated location (a field between two commas
L1:,L2:,,L4:) the program will continue with the next statement in
the program. This statement is ignored if the resulting integer
value is a negative, is zero, or is greater than the number of labels
provided in the statement.
Parameters
label:+
A desired number of unique label names to which the program will
branch. A label must end with a colon (:).
expression
An expression results in a numeric value. The numeric value may
be set by the expression or by a previous GRIP statement.
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
5-7
Controlling Program Execution
Example
This example demonstrates the use of a JUMP statement to
branch based on the results of expressions in the statement.
JUMP/ALUM:, STL:,OTHR:, mtype
ALUM:
dens = .100
JUMP/LBL030:
STL:
dens = .289
JUMP/LBL030
OTHR:
PRINT/'Density not defined'
LBL030:
The three IF statements from the previous example are
replaced by a single conditional JUMP statement yielding the
same result.
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
5-8
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Controlling Program Execution
DO: Program Loop
Synopsis
DO/label:,index variable,start,end[,increment]
Description
The following provides an effective means of performing a given
operation a specified number of times. The operation
commonly referred to as a DO loop is a segment of the program
which starts with the statement containing the word DO,
followed by a slash and a label, and ends with the statement or
blank statement which starts with the specified label.
Additional DO loops, referred to as nested loops, may exist
inside of a loop, referencing either the same label or a separate
label. If a separate label is used in a nested loop, both the DO
statement and the specified label statement must exist within
the outer loop.
NOTE
GRIP allows a total of 1000 labels per subroutine. A DO
loop generates two labels. These labels count against the
total you can use.
Acceptable Jump Situations:
A jump may be made from a statement inside of a loop to
a label which is also inside of the loop.
A jump may be made from a statement inside of a loop to
a label which is outside of the loop (this will terminate the
loop).
Unacceptable Jump Situation:
Parameters
A jump may not be made from a statement outside of a
loop to a label which is inside of a loop.
label:
Specifies either the last executable statement in the loop or a
blank statement following the last executable statement in the
loop.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
5-9
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
Controlling Program Execution
index variable
A variable which registers the current value of the loop. When
the loop is entered, the index variable will be set to the start
value; when the loop is finished, the index variable will be equal
to the end value plus the increment value.
start
The starting value for the loop which may be either a constant,
an expression, or a variable.
end
The ending value for the loop which may be either a constant,
an expression, or a variable.
increment
The optional increment value for the loop which may be either a
constant, an expression, or a variable. If not specified the
increment default is 1.
Example
This example demonstrates the creation of several points using
a nested DO loop.
Declarations
ENTITY/pt(2,4)
NUMBER/delt(2),x(4),y(4),i,j
DATA/delt,-2,2
DATA/x,-.5,0,.5,0
DATA/y,0,-.5,0,.5
DO/ENDO2:,i,1,2
DO/ENDO1:,j,1,4
pt(i,j)=POINT/delt(i)+x(j), y(j)
Geometry Definition
ENDO1:
ENDO2:
Do Statements
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
5-10
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Controlling Program Execution
POINTS CREATED
WHEN I = 1
POINTS CREATED
WHEN I = 2
Figure 5-1 Nested DO loops
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
5-11
Controlling Program Execution
IF: Logical IF
Synopsis
IF/logical expression,statement
Description
This statement provides for the execution or exclusion of a
statement based on the results of a logical expression. If the
results of the logical comparison is true, for example: does 1
equal 1, IF/1==1, the following statement will be executed. If
the results of the logical comparison is false, for example: does 1
equal 2, IF/1==2, the following statement will not be executed.
The order of evaluation for the arithmetic and logical operators
is important in obtaining the desired results.
Order
First
Operator
Arithmetic Operators:
+ Addition
Ć Subtraction
* Multiplication
/ Division
** Exponentiation
Second
Logical Operators:
==
<>
<
<=
Equal to
Not equal to
Less than
Less than or equal
to
> Greater than
>= Greater than or
equal to
Third
Boolean Operator:
NOT Complement
Fourth
Boolean Operators:
AND Both
OR Either
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
5-12
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Controlling Program Execution
logical expression
A logical expression which consists of two values separated by a
logical operator. The expression may consist of any
combination of constants and numerical variables or any
combination of string literals and string variables. The following
table is a list of logical operators which perform the
comparisons (the symbols < and > represent the less than and
greater than symbols respectively).
Parameters
Operator
==
Equal to
<>
Not equal to
<
Less than
<=
Less than or equal to
>
Greater than
>=
NOTE
Comparison
Greater than or equal to
EDA's are not allowed in logical expressions.
statement
Any executable GRIP statement such as:
JUMP/label:
A=1
DELETE/LN1
Exceptions are: DO and DECLARATION statements.
Example
This example demonstrates the use of the logical IF statement.
Logical operations may be performed on numerical variables
and/or constants.
scoord=&SPOINT(ln1)
ecoord=&EPOINT(ln1)
IF/scoord(2)==ecoord(2), DELETE/ln1
In the example above, the line ln1 will be deleted if it is
horizontal.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
5-13
Controlling Program Execution
Example
The following example shows how logical operations may be
performed on an entity variable.
Declarations
ENTITY/PT1, NT1
IF/PT1<>&NULENT,JUMP/LBL020:
PT1=POINT/2,2
LBL020:
NT1=NOTE/DELTA,PT1,.25,.25,'BILL OF
MATERIALS'
LBL040:
To avoid an error in the NOTE statement, the GPA &NULENT
is used in the IF statement to check if point PT1 exists. If it
does, execution will jump to label LBL020: and the note will be
created. Otherwise, PT1 will be created then the note will be
created.
Example
This example demonstrates that logical operations may be
performed on string variables and/or string literals.
IF/partno<>&NULSTR, nt=NOTE/x,y,partno
In the example above, the GPA &NULSTR was used to check if
the string partno had a value to avoid an error in the NOTE
statement.
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
5-14
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Controlling Program Execution
Example
The previous examples have shown logical operations on simple
variables, constants, and string literals. Logical operations,
however, may also be performed on arrays or subranges of
arrays which are of similar type and size.
Declarations
NUMBER/A(3),B(3)
DATA/A,1,2,3
DATA/B,1,4,3
If Statement
IF/A==B, JUMP/LBL010:
MESSG/'THE ARRAYS ARE NOT EQUAL'
LBL010:
Since A in the example above, which was set to 1, 2 and 3, is not
equal to B, which was set to 1, 4 and 3, the message THE
ARRAYS ARE NOT EQUAL will be displayed.
The logical array comparison in the program above would be
equal to the individual comparison in the program below.
Declarations
If Statement
NUMBER/A(3),B(3)
DATA/A,1,2,3
DATA/B,1,4,3
DO/DOL010:,I,1,3
IF/A(I)<>B(I), JUMP/LBL020:
DOL010:
JUMP/LBL030:
LBL020:
MESSG/'THE ARRAYS ARE NOT EQUAL'
LBL030:
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
5-15
Controlling Program Execution
BLOCKIF: Block If
Synopsis
IFTHEN/e1
block1
[ELSEIF/e2
block2]
.
.
.
[ELSE
blockn]
ENDIF
Description
The BLOCKIF statements allow you to conditionally execute
blocks (or groups) of GRIP statements. The four BLOCKIF
statements are:
IFTHEN
ELSEIF
ELSE
ENDIF
These statements are used in BLOCKIF constructs. A block is a
sequence of zero or more complete GRIP statements. Each
sequence is called a statement block.
Each BLOCKIF statement, except the ENDIF statement, has an
associated statement block. The statement block consists of all
the statements following the BLOCKIF statement up to (but not
including) the next BLOCKIF statement in the BLOCKIF
construct. The statement block is conditionally executed based
on the value(s) of the logical expression(s) in the preceding
BLOCKIF statements.
The IFTHEN statement begins a BLOCKIF construct. The
block following it is executed if the value of the logical
expression in the IFTHEN statement is true.
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
The ELSEIF statement is an optional statement that specifies a
statement block to be executed if no preceding statement block
in the BLOCKIF construct has been executed, and if the value
of the logical expression in the ELSEIF statement is true.
5-16
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Controlling Program Execution
The ELSE statement specifies a statement block to be executed
if no preceding statement block in the BLOCKIF construct has
been executed. The ELSE statement is optional. However, if
the ELSE statement is present, its statement block must be
immediately followed by the ENDIF statement.
The ENDIF statement terminates the BLOCKIF construct.
NOTE
Parameters
GRIP allows a total of 1000 labels per subroutine. The
IFTHEN/ELSE/ELSEIF/ENDIF uses two labels plus one
for every ELSEIF. These labels count against the total
you can use.
IFTHEN
The BLOCKIF statement which begins the construct. It
evaluates the logical expression passed to it. If the expression is
true, it executes the accompanying block. Up to 32 levels of
IFTHEN statements can be nested per block as shown in
Figure 5-2.
Nest up to 32 levels per block
Single
statement
block
IFTHEN/e1
IFTHEN/e1a
ENDIF
Level 2
ENDIF
Level 1
Levels
1
2
2
1
2
3
3
2
1
IFTHEN
IFTHEN
ENDIF
ELSEIF
IFTHEN
IFTHEN
ENDIF
ENDIF
ENDIF
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
Figure 5-2 Levels of IFTHEN statements per block
e1
The logical expression passed to the IFTHEN statement.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
5-17
Controlling Program Execution
block1
A set of GRIP statements which are executed if the preceding e1
expression is true.
ELSEIF
An optional BLOCKIF statement that specifies a statement
block to be executed if no preceding statement block of the
BLOCKIF construct has been executed, and if the value of the
logical expression in the ELSEIF statement is true. Each
IFTHEN construct can contain up to 36 ELSEIF statements.
e2
The logical expression passed to the ELSEIF statement.
block2
A set of GRIP statements which are executed if the preceding e2
expression is true.
ELSE
An optional BLOCKIF statement which is executed if no
previous statement block in the BLOCKIF construct has been
executed.
blockn
A set of GRIP statements which the system executes if no
previous statement block in the BLOCKIF construct has been
executed.
ENDIF
The BLOCKIF statement which terminates the construct.
Example
The simplest BLOCKIF construct consists of the IFTHEN and
ENDIF statements. This construct conditionally executes one
statement block.
IFTHEN/a == b
MESSG/'ARRAY A IS EQUAL TO ARRAY B'
ENDIF
The statement first evaluates the logical expression a == b. If
this value is true, then the program displays the message
ARRAY A IS EQUAL TO ARRAY B. If the value is false,
then the statement block is not executed and control transfers to
the next executable statement after the ENDIF statement.
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
5-18
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Controlling Program Execution
The following example contains a BLOCKIF construct using the
ELSEIF statement.
IFTHEN/A == B
MESSG/'Array A is equal to array B'
ELSEIF/A == C
MESSG/'Array A is equal to array C'
ENDIF
If the value of a is equal to b, the program displays the message
Array A is equal to array B. If the value of A is equal to C, then
the program displays the message Array A is equal to array C.
But if neither expression is true, neither statement block is
executed and control transfers to the next executable statement
after the ENDIF statement.
Example
The following example contains a BLOCKIF construct using
both the ELSEIF and ELSE statements.
IFTHEN/A > B
MESSG/'Array A is greater than array B'
ELSEIF/A < B
MESSG/'Array A is less than array B'
ELSE
MESSG/'Array A is equal to array B'
ENDIF
In this case, if the value of A is greater than B, the program
displays the message Array A is greater than array B. If the value
of a is less than b, the program displays the message Array A is
less than array B. But if neither case is true (the value of a is
equal to b), then the program displays the message Array A is
equal to array B.
Example
The following example contains a BLOCKIF construct using
several ELSEIF statements with the ELSE statement.
IFTHEN/a>b
d=b
f=aĆb $$ End of first block
ELSEIF/a>c
d=c
f=aĆc $$ End of the second block
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
ELSEIF/a>z
d=z
f=aĆz $$End of third block
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
5-19
Controlling Program Execution
ELSE
d=0
f=a $$ End of fourth block
ENDIF
There are four statement blocks in this example (one for each
BLOCKIF statement except ENDIF). If a is greater than b, the
first block is executed. If a is not greater than b but is greater
than c, the second block is executed. If a is not greater than b
or c but is greater than z, the third block is executed. If a is not
greater than b, c, or z, the fourth block is executed.
Example
The following example illustrates a nested BLOCKIF construct.
IFTHEN/A=B
L=LINE/A,B+1
ELSEIF/A>B
IFTHEN/B > C
L = LINE/A,C
ELSE
L = LINE/A,B
ENDIF
Nested BLOCKIF: Note
that this block may conĆ
tain up to 36 ELSEIF
statements independent
of the outer block.
ELSE
L=LINE/B,A
ENDIF
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
5-20
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Controlling Program Execution
IF Boolean Operators
The operator AND functions the same in a logical IF and IFTHEN statement as
the conjunction AND does in a sentence. For example, if an operation
depended on the results of the two simple expressions A==B and C==D, the
two logical IF statements, IF/A==B and IF/C==D, with the necessary labels
and branching statements could be programmed to accomplish this task.
However, these two simple expressions could be combined to form the
compound logical IF statement, IF/A==B AND C==D and thereby reduce
the amount of necessary programming.
Example
Using the AND boolean
The following code accomplishes a task by using a sequence of logical
IF statements with simple expressions.
IF/A<>B, JUMP/A1:
IF/C==D, PRINT/'BOTH EXPRESSIONS ARE
TRUE'
A1:
The same task can be accomplished using a single logical IF statement
with a boolean operator.
IF/A==B AND C==D, $
PRINT/'BOTH EXPRESSIONS ARE TRUE'
Like the operator AND, the operator OR also functions the same in a logical IF
and IFTHEN statement as the conjunction OR does in a sentence. For
example, if an operation depended on the results of the two simple expressions
A==B or C==D, the two logical IF statements, IF/A==B or IF/C==D, with
the necessary labels and branching statements could be programmed to
accomplish this task. However, these two simple expressions could be
combined to form the compound logical IF statement, IF/A==B OR C==D
and thereby reduce the amount of necessary programming.
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
5-21
Controlling Program Execution
Example
Using the OR boolean
The following example accomplishes a task by using a sequence of
logical IF statements with simple expressions.
IF/A==10,JUMP/LBL010:
IF/B<>10,JUMP/LBL020:
LBL010:
D=C/(A+B)
LBL020:
The following accomplishes the same task by using a logical IF
statement with a compound expression.
IF/A==10 OR B==10, D=C/(A+B)
Example
Using the NOT boolean
The operator NOT takes the result of the previously evaluated logical
expression and compliments or reverses it. For example:
IF/NOT(A==B), JUMP/LBL100:
The benefit of this feature is that both conditions of an expression may
be tested without changing the logical operators.
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
5-22
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Controlling Program Execution
Error Handling
Many statements in the GRIP programming language contain the IFERR minor
word for trapping error conditions. The IFERR word is used with a label.
When an error occurs, program execution will be altered, resuming at the
statement immediately following the IFERR label.
There are several ways to write error handling code depending on whether the
error is considered a fatal error or a recoverable error, the complexity of the
program, etc. This section will therefore explain a variety of techniques that
can be used to handle errors with GRIP commands.
Non-Fatal Error Recovery
Often errors are encountered that may be due to incorrect information selected
or entered by the user. When these problems occur, your program should
explain what happened and provide the opportunity to correct the problem.
The coding example below illustrates this technique.
Example
IFERR for non fatal errors
ENTITY/ crv(2), ref_pt, int_pt
NUMBER/ resp, xc, yc, zc
BCK010:
MASK/ 3, 5, 6, 7, 8, 9
IDENT/ 'Select TWO Curves for Intersection',$
CURSOR, xc, yc, zc, crv, resp
JUMP/ BCK010:, CANCEL:, resp
ref_pt = POINT/ xc, yc, zc
int_pt = POINT/ ref_pt, INTOF, crv(1), crv(2),$
IFERR, LBL020:
JUMP/ LBL030: $$ No error finding INTOF, proceed.
LBL020:
$$ Could not intersect curves.
DELETE/ ref_pt
MESSG/ 'Could not create intersection between curves',$
'Please try again.'
JUMP/ BCK010:
LBL030:
$$ Normal processing.
DELETE/ ref_pt
.
.
CANCEL:
HALT
EDS
All Rights Reserved
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
GRIP Fundamentals
Student Guide
5-23
Controlling Program Execution
Fatal Error Recovery, Method 1
Often, when an error is encountered, it is not possible to continue the program.
In this case, you should make the person running the program aware of the
problem and halt the program. The example below shows a simple way of
doing this.
Example
IFERR for fatal errors
ENTITY/ crv(2), ref_pt, int_pt
.
.
.
$$
$$ A section of code creates crv(1..2) and ref_pt
$$
pt = POINT/ INTOF, crv(1), crv(2), IFERR, ERR100:
$$
$$ Now fillet the two curves.
$$
fil = FILLET/ crv(1), crv(2), CENTER, ref_pt, $
RADIUS, .25, IFERR, ERR110:
$$
$$ Remainder of normal processing
$$
.
.
.
JUMP/ CANCEL:
ERR100:
MESSG/ 'Could not intersect curves'
JUMP/ CANCEL:
ERR110:
MESSG/ 'Could not create fillets'
DELETE/pt
CANCEL:
HALT
The error handling technique described above is efficient for short programs.
However, for larger applications, many error labels and MESSG statements
might prove cumbersome. The method on the next page addresses this
problem.
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
5-24
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Controlling Program Execution
Fatal Error Recovery, Method 2
In this example, the multiple message statements of the previous example have
been removed through the use of a string array (ERRMSG) which stores error
messages. Before each command which might cause an error, the index (errno)
is set to a value corresponding to a position in the error message array. The
FAIL: label is a common point where control will be passed by all statements
using the IFERR word when an error occurs.
Example
IFERR for fatal errors; Text array of messages
ENTITY/ crv(2), ref_pt, int_pt
NUMBER/ errno
STRING/ ERRMSG(10, 60)
DATA/ ERRMSG,
$ $$ Error messages for fatal errors
'Could not intersect curves',
$
'Could not create fillets',
$
'Could not merge template part', $
'Could not file part'
.
.
.
$$
$$ A section of code creates crv(1..2) and ref_pt
$$
errno = 1
pt = POINT/ INTOF, crv(1), crv(2), IFERR, FAIL:
$$
$$ Now fillet the two curves.
$$
errno = 2
fil = FILLET/ crv(1), crv(2), CENTER, ref_pt, $
RADIUS, .25, IFERR, FAIL:
$$
$$ Remainder of normal processing
$$
.
.
.
JUMP/ CANCEL:
FAIL:
MESSG/ ERRMSG(errno)
CANCEL:
HALT
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
5-25
Controlling Program Execution
(This Page Intentionally Left Blank)
ÉÉÉ
ÉÉÉ
5
ÉÉÉ
ÉÉÉ
5-26
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Basic Interactive Commands
ÏÏÏ
ÏÏÏ
6
ÏÏÏ
ÏÏÏ
Basic Interactive Commands
Lesson 6
Objectives
Demonstrate an understanding of the types of interactive commands
available.
Use interactive commands in conjunction with the branching and logic
commands to build a user interface.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
6-1
Basic Interactive Commands
ÏÏÏ
ÏÏÏ
6
ÏÏÏ
ÏÏÏ
Interactive Commands
A variety of interactive commands are available in the programming language.
These commands display menus on the dialog box and graphics screen for the
user to enter information. Many of these commands provided the Back and
Cancel options so that the user can reverse a previously made decision or exit
the GRIP program.
Table 6-1
6-2
Interactive commands
Write to Dialog Box
MESSG/[TEMP,]string1[,string2]
Screen position pick
POS/ 'message', x, y, z, resp
Screen position menu
GPOS/ 'message', x, y, z, resp
Obtain real and/or
integer information
PARAM/ 'message',
{'option'[,INT], variable}
[, ALTACT, 'message',] resp
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Basic Interactive Commands
ÏÏÏ
ÏÏÏ
6
ÏÏÏ
ÏÏÏ
Name
MESSG
Write to Dialog Box
Synopsis
MESSG/[TEMP,]string1[,string2]
Description
This statement displays messages in a dialog box or on the status line.
It can be used to tell the user during program execution that certain
tasks have been accomplished, or that the program is working on a
statement which may take some time to execute.
CAUTION We do not recommend using the asterisk character (*)
in menu prompts or menu options.
NOTE Strings may automatically convert to a string where the
first character is uppercase followed by lowercase characters if the
string exists in the Native Language Menu (NLM) database.
TEMP
Minor word that indicates that program execution is to continue and
that the specified message is to be displayed on the status line. If
omitted, program execution is halted until OK is chosen.
string1,string2
Strings which may consist of up to 60 characters each. These strings
are displayed in a dialog box with the optional second parameter
under the first. Only two strings are allowed per message.
Example
This example demonstrates the creation of a sculptured surface. The
MESSG statement is used to tell the user during program execution,
that the surface is being calculated.
Declarations
ENTITY/L(3),P(4),SPL,SCULPT
Geometry Definition
L(1)=LINE/0,0,0,4,2,1
L(2)=LINE/0,0,0,0,4,1
L(3)=LINE/0,4,1,5,4,2
P(1)=POINT/ENDOF,XLARGE,L(1)
P(2)=POINT/4,2,.5
P(3)=POINT/4.25,3,1
P(4)=POINT/ENDOF,XLARGE,L(3)
SPL=SPLINE/P
DELETE/P
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
6-3
ÏÏÏ
ÏÏÏ
6
ÏÏÏ
ÏÏÏ
Basic Interactive Commands
First Message
MESSG/TEMP,'CALCULATING SURFACE'
SCULPT=SSURF/PRIMA,L(1),L(3),CROSS,L(2),SPL
Second Message
MESSG/TEMP,'SURFACE CREATED'
Third Message
MESSG/'SEL EC TO CONTINUE'
The first MESSG statement displays the message until the surface is
created and the second MESSG statement is executed. Since the
TEMP minor word is used, the program proceeds automatically. The
third MESSG statement does not contain the TEMP minor word,
therefore the program pauses until OK is chosen.
6-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Basic Interactive Commands
Typical Interactive Menu Flow
The following outline provides a methodology for adding interactive commands
to a GRIP program.
Back Label
BCK010:
Interactive Command
POS/
GPOS/
CHOOSE/
MCHOOS/
PARAM/
IDENT/
TEXT/
Interpret the Interactive Response
JUMP/
or
IFTHEN/
ELSEIF/
ELSE/
ENDIF
Act on the Response or Parameters Entered Interactively
Cancel Label
CANCEL:
HALT
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
6-5
ÏÏÏ
ÏÏÏ
6
ÏÏÏ
ÏÏÏ
Basic Interactive Commands
ÏÏÏ
ÏÏÏ
6
ÏÏÏ
ÏÏÏ
The last field in each interactive command is a 'response'. This is a numeric
variable which is assigned a value based on the user's action. Each command
assigns different numeric variables to the response field. Most of the
interactive commands should be followed with a JUMP or block IF statement to
control program branching.
Example
Interactive command using Conditional Branching
BCK010:
CHOOSE/’Select Principle Axis’,$
’X AXIS’, $
’Y AXIS’, $
’Z AXIS’, resp
JUMP/ BCK010:, CANCEL: ,,, $
LBL020:,LBL030:, LBL040:, resp
LBL020: (Option 1)
:
.
LBL030: (Option 2)
:
.
LBL040: (Option 3)
Example
Interactive command and a Block IF
BCK010:
CHOOSE/’Select
’X AXIS’,
’Y AXIS’,
’Z AXIS’,
IFTHEN/ resp == 1
JUMP/ BCK010:
ELSEIF/ resp == 2
JUMP/ CANCEL:
ELSEIF/ resp == 5
: (Option 1)
.
ELSEIF/ resp == 6
: (Option 2)
.
ELSEIF/ resp == 7
: (Option 3)
.
ENDIF
6-6
GRIP Fundamentals
Student Guide
Principle Axis’,$
$
$
resp
$$ X AXIS
$$ Y AXIS
$$ Z AXIS
EDS
All Rights Reserved
Unigraphics NX 2
Basic Interactive Commands
The interactive commands and the conditional branch statement (JUMP/) for
the valid responses are as follows:
POS/ 'message', x, y, z, resp
JUMP/ back, cancel, not used, not used, pos def, resp
GPOS/ 'message', x, y, z, resp
JUMP/ back, cancel, OK, not used, pos def, resp
PARAM/ 'message', {'option' [,INT], variable}
[, ALTACT, 'message',] resp
JUMP/ back, cancel, OK, alt-action, resp
IDENT/ 'message', ent list [,CNT,count] [,CURSOR, x, y, z]
[,MEMBER, {ON|OFF}], resp
JUMP/ back, cancel, OK, resp
TEXT/ 'message', string-variable, [ALTACT,'message',]
resp [,DEFLT]
JUMP/ back, cancel, OK (no text), alt-action, OK (text), resp
CHOOSE/'string list', [DEFLT, n,] [ALTACT, 'message',] resp
JUMP/ back, cancel, not used, alt-action, selection, resp
MCHOOS/ primary string, menu options, response array
[, ALTACT, 'message'], response variable
JUMP/ back, cancel, OK, alt-action, resp
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
6-7
ÏÏÏ
ÏÏÏ
6
ÏÏÏ
ÏÏÏ
Basic Interactive Commands
ÏÏÏ
ÏÏÏ
6
ÏÏÏ
ÏÏÏ
Program Outline using Interactive Statements
BCK010:
Interactive Statement 1
JUMP/ BCK010:, CANCEL:,,,,,,resp
.
.
BCK020:
Interactive Statement 2
JUMP/ BCK010:, CANCEL:,,,,,,resp
.
.
BCK030:
Interactive Statement 3
JUMP/ BCK020:, CANCEL:,,,,,,resp
.
.
BCK040:
Interactive Statement 4
JUMP/ BCK030:, CANCEL:,,,,,,resp
.
.
BCK050:
Interactive Statement 5
JUMP/ BCK040:, CANCEL:,,,,,,resp
.
.
.
.
.
CANCEL:
6-8
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Basic Interactive Commands
ÏÏÏ
ÏÏÏ
6
ÏÏÏ
ÏÏÏ
This example illustrates labels combined with the interactive programming
using the outline described on the previous page.
Example
Program with Interactive Commands
ENTITY/ hole(100)
NUMBER/ i, hole_radius, resp, x, y, z
i = 0
BCK010:
PARAM/ ’Specify hole radius’, $
’Radius’, hole_radius, resp
JUMP/ BCK010:, CANCEL:, , resp
$$
$$
$$
Check for negative or zero hole radius.
IF/ HOLE_RADIUS,BCK010:,BCK010:,
BCK020:
POS/ ’Indicate hole location’, $
x, y, z, resp
JUMP/ BCK010:, CANCEL:, , , resp
$$
$$ Create hole.
$$
hole(i=i+1) = CIRCLE/ x, y, z, hole_radius
IFTHEN/ i <= 99
JUMP/ BCK010:
ELSE/
MESSG/’Max number of holes generated,’,$
’terminating program.’
ENDIF
CANCEL:
HALT
First Message
MESSG/TEMP,'CALCULATING SURFACE'
SCULPT=SSURF/PRIMA,L(1),L(3),CROSS,L(2),SPL
Second Message
MESSG/TEMP,'SURFACE CREATED'
Third Message
MESSG/'SEL EC TO CONTINUE'
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
6-9
Basic Interactive Commands
ÏÏÏ
ÏÏÏ
6
ÏÏÏ
ÏÏÏ
The interactive commands prompt the user for input, temporarily stopping the
GRIP program until a response is obtained. Interact" means that you do one
or more of the following:
Press Back, Cancel, OK, or enter information on the dialog box.
Select a screen position with the cross hairs on the graphics screen.
Choose a method from the Generic Point Menu, then select a point.
Set the values for numerical parameters.
Select one or more objects on the graphics screen.
Enter textual information.
Choose an option (or options) from a menu on the dialog box.
Read a message on the dialog box or graphics screen.
Table 6-2
Table of interactive commands
Response Values Returned by the Interactive Command
Command
6-10
1
2
POS
Back
Cancel
Not Used
Not Used
Pos Defined
GPOS
Back
Cancel
OK
Not Used
Pos Defined
PARAM
Back
Cancel
OK
Alternate
Action
IDENT
Back
Cancel
OK
TEXT
Back
Cancel
OK (ReĆ
Alternate
turn) No
Action
Text Entered
OK (ReĆ
turn) Text
Entered
CHOOSE
Back
Cancel
Not Used
Alternate
Action
Menu SelecĆ
tion (5..18)
MCHOOS
Back
Cancel
OK
Alternate
Action
GRIP Fundamentals
Student Guide
3
EDS
All Rights Reserved
4
5
Unigraphics NX 2
Basic Interactive Commands
ÏÏÏ
ÏÏÏ
6
ÏÏÏ
ÏÏÏ
POS: Indicate Screen Position Point
Synopsis
POS/'message',x-coord,y-coord,z-coord,response
Description
This statement allows three coordinate values to be obtained by
using the screen position indicator which will automatically
appear upon execution of this statement.
CAUTION We do not recommend using the asterisk
character (*) in menu prompts or menu options.
POS works with the BACK and CANCEL buttons. If BACK is
selected during program execution while the POS statement is
pending, the value of 1 is assigned to the response variable.
CANCEL will cause 2 to be assigned. The values 3 and 4 are
not used, and may not be used. Once the position is defined,
the value of 5 will be assigned to the response variable and
program execution will continue.
Below is a list of values assigned to the response variable:
Response
Assignment
Back
1
Cancel
2
Not Used
3
Not Used
4
Position Defined
5
'message'
A string which represents the title of the menu you want to
display. The string can contain up to 40 characters.
x-coord,y-coord,z-coord
Three variables which will be assigned the coordinate values
obtained from the screen position indicated by the user during
program execution.
response
A variable which will be assigned a numerical value based on
the user response.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
6-11
ÏÏÏ
ÏÏÏ
6
ÏÏÏ
ÏÏÏ
Basic Interactive Commands
Example
This example demonstrates the creation of a rectangle using the
POS statement which prompts the user to indicate the diagonal
corner screen position points.
Declarations
ENTITY/L(4)
BCK010:
POS/'Define First Corner',$
X1,Y1,Z1,RSP
JUMP/BCK010:,CANCEL:,,,,RSP
BCK020:
POS/'Define Second Corner',$
X2,Y2,Z2,RSP
JUMP/BCK010:,CANCEL:,,,,RSP
L(1)=LINE/X1,Y1, X2,Y1
L(2)=LINE/X2,Y1, X2,Y2
L(3)=LINE/X2,Y2, X1,Y2
L(4)=LINE/X1,Y2, X1,Y1
CANCEL:
HALT
CREATED RECTANGLE
POS
Figure 6-1 Use of the POS statement to create a rectangle
6-12
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Basic Interactive Commands
ÏÏÏ
ÏÏÏ
6
ÏÏÏ
ÏÏÏ
GPOS: Indicate Generic Point Position
Synopsis
GPOS/'message',x-coord,y-coord,z-coord,response
Description
The following allows three coordinate values to be obtained via
the Point Subfunction menu. For more information on the Point
Subfunction menu, refer to the Unigraphics Essentials manual.
CAUTION We do not recommend using the asterisk
character (*) in menu prompts or menu options.
The GPOS statement works with the Back, OK, and Cancel
options. If Back is selected during program execution while the
GPOS statement is pending, the value of 1 is assigned to the
response variable. Cancel will cause 2 to be assigned. OK will
cause 3 to be assigned. The value of 4 is not used, and may not
be used.
Once the position is defined, the value of 5 will be assigned to
the response variable and program execution will continue.
Below is a list of values assigned to the response variable:
Response
Assignment
Back
1
Cancel
2
OK
3
Not used
4
Position Defined
5
'message'
A string which represents the title of the menu you want to
display. The string can contain up to 40 characters.
x-coord,y-coord,z-coord
Three variables which will be assigned the coordinate values
obtained from the generic point menu.
response
A variable which will be assigned a numerical value based on
the user response.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
6-13
ÏÏÏ
ÏÏÏ
6
ÏÏÏ
ÏÏÏ
Basic Interactive Commands
Example
This example demonstrates the creation of a rectangle using the
GPOS statement to prompt for the diagonal corner points.
Declarations
ENTITY/L(4)
BCK010:
GPOS/'Define First Corner',$
X1,Y1,Z1,RSP
JUMP/BCK010:,CANCEL:,,,,RSP
BCK020:
GPOS/'Define Second Corner',$
X2,Y2,Z2,RSP
JUMP/BCK010:,CANCEL:,,,,RSP
L(1)=LINE/X1,Y1,Z1,
L(2)=LINE/X2,Y1,Z1,
L(3)=LINE/X2,Y2,Z1,
L(4)=LINE/X1,Y2,Z1,
X2,Y1,Z1
X2,Y2,Z1
X1,Y2,Z1
X1,Y1,Z1
CANCEL:HALT
6-14
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Basic Interactive Commands
ÏÏÏ
ÏÏÏ
6
ÏÏÏ
ÏÏÏ
PARAM: Enter Parameters
Synopsis
PARAM/'message',{'option'[,INT],variable,}+
[,ALTACT,'message',]response
Description
This statement creates a data entry menu which is displayed on
the dialog box and allows the user to interactively assign
numerical values to variables, which are associated with options
in the menu.
CAUTION We do not recommend using the asterisk
character (*) in menu prompts or menu options.
PARAM works with the Back, OK, Alternate Action, and Cancel
buttons on the Unigraphics. If Back is selected during program
execution while the PARAM statement is pending, the value of
1 is assigned to the response variable. Cancel will cause 2 to be
assigned. OK will cause 3 to be assigned. Alternate Action will
cause a value of 4 to be assigned.
You can create an Alternate Action option by using the minor
word ALTACT, followed by a message, as the parameter just
before the response variable. The ALTACT message displays at
the bottom of the dialog box when the menu is displayed during
statement execution. You can make the message up to forty
characters long.
Below is a list of values assigned to the response variable:
Response
Assignment
Back
1
Cancel
2
OK
3
Alternate Action
4
'message'
A string which represents the title of the menu you want to
display. The string can contain up to 40 characters.
'option'
Each option defined will be displayed on the menu created by
the PARAM statement. The PARAM statement may contain a
maximum of 14 options, each consisting of up to 15 characters.
Options are truncated on some design stations.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
6-15
Basic Interactive Commands
ÏÏÏ
ÏÏÏ
6
ÏÏÏ
ÏÏÏ
INT
Minor word that indicates that the entered value must be an
integer. This will be indicated in the menu by the absence of a
decimal point in the assigned value.
variable
The variables which will be assigned the entered values. The
PARAM statement may contain a maximum 14 variables; one for
each of the options programmed.
ALTACT
Minor word that indicates that an alternate action message will
be displayed as the last option in the dialog box. If Alternate
Action is selected, the response variable will equal 4.
'message'
A string or string variable which represents the ALTERNATE
ACTION message. The string can contain up to 40 characters.
response
A variable which will be assigned a numerical value based on
the user response.
6-16
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Basic Interactive Commands
Example
This example demonstrates the use of the PARAM statement to
create a user-defined menu.
Declarations
NUMBER/dia, rad, nholes
dia=.375
rad=4.5
nholes=8
BCK010:
PARAM/'Circular Hole Pattern',$
'Hole Diameter',dia,$
'Radius',rad,$
'No. of Holes',INT,nholes,RSP
JUMP/BCK010:,CANCEL:,,RSP
The previous program segment would display the following
menu on the cue line and dialog box.
Cue: Circular Hole Pattern
Figure 6-2 Menu displayed on the cue line and dialog box for the given example
NOTE
The last option above does not have a decimal point
because the minor word INT was included before the
variable in the PARAM statement.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
6-17
ÏÏÏ
ÏÏÏ
6
ÏÏÏ
ÏÏÏ
ÏÏÏ
ÏÏÏ
6
ÏÏÏ
ÏÏÏ
Basic Interactive Commands
Activity: Interactive L-Shape
Modify the program you wrote for Activity 1 to include the following interactive
commands:
Follow these directions.
Add an interactive command to allow the system user to
enter the dimensions for this figure.
Add an interactive command to allow the system user to
indicate the coordinates of the lowest, leftmost corner of the
figure. These coordinates will be used for the x and y values.
When you finish the assignment, demonstrate the program to
your instructor.
6-18
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Advanced Interactive Commands
Advanced Interactive Commands
Lesson 7
Objectives
Demonstrate an understanding of the types of interactive commands
available.
Use interactive commands in conjunction with the branching and logic
commands to build a user interface.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
7-1
ÏÏÏ
7
ÏÏÏ
ÏÏÏ
ÏÏÏ
Advanced Interactive Commands
Interactive Commands
A variety of interactive commands are available in the programming language.
These commands display menus on the dialog box and graphics screen for the
user to enter information. Many of these commands provided the Back and
Cancel options so that the user can reverse a previously made decision or exit
the GRIP program.
Table 7-1
ÏÏÏ
7
ÏÏÏ
ÏÏÏ
ÏÏÏ
7-2
Advanced Interactive commands
Function
Format
Object selection
IDENT/ 'message', ent list
[,CNT,count] [,CURSOR, x, y, z]
[,MEMBER, {ON|OFF}], resp
Obtain textural data
TEXT/ 'message', string-variable,
[ALTACT,'message',]resp
[,DEFLT]
Select one item from
a menu list
CHOOSE/'string list', [DEFLT, n,]
[ALTACT, 'message',] resp
Select multiple items
from a menu list
MCHOOS/ primary string,
menu options, response array
[, ALTACT, 'message'], resp
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Advanced Interactive Commands
IDENT: Select Objects
Synopsis
IDENT/'message'[,SCOPE,{WORK|ASSY|REF}],
obj list[,CNT,count]
[,CURSOR,x-coord,y-coord,z-coord]
[,MEMBER,{ON|OFF}],response
Description
This statement allows objects selected by the user interactively
to be placed in an object list.
IDENT works with the Back, OK, and Cancel options of
Unigraphics. If Back is selected during program execution
while the IDENT statement is pending, the value of 1 is assigned
to the response variable. Cancel will cause 2 to be assigned.
OK will cause 3 to be assigned.
CAUTION We do not recommend using the asterisk
character (*) in menu prompts or menu options.
Below is a list of response values assigned to the response
variable:
Response
Assignment
Back
1
Cancel
2
OK
3
The IDENT statement will cause the system to display the Class
Selection Subfunction dialog box. Also the 'message' will be
displayed in the cue line. For more information on the Class
Selection Subfunction refer to the Unigraphics Essentials
manual.
NOTE
If the object list is a simple object variable or a single
object of an object array (OBJ(1) of OBJ(10)), the class
selection menu will not appear, but the crosshairs will be
displayed and only a single object selection will be
allowed.
message
A string which represents the title of the menu you want to
display. The string can contain up to 40 characters.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
7-3
ÏÏÏ
7
ÏÏÏ
ÏÏÏ
ÏÏÏ
Advanced Interactive Commands
SCOPE
Minor word which specifies the scope of object selection. ASSY
is the default.
WORK
Allows you to select only objects which belong to the work part.
This includes immediate components of the work part. If you
select an object occurrence, the prototype is returned.
ASSY
Allows you to select any object or object occurrence in the
assembly. No scope restrictions are applied.
ÏÏÏ
7
ÏÏÏ
ÏÏÏ
ÏÏÏ
REF
Allows you to select objects which belong to the work part or its
subassembly. If you select an object occurrence, the prototype
is returned.
obj list
An object list or array which will be assigned the selected
objects.
NOTE
If a group is selected, the object list or array must be large
enough to contain the group plus the objects in the group.
For example, an object list or array of four would be
necessary to hold a group consisting of three objects.
CNT
Minor word that indicates that a count of objects selected is
desired.
count
A variable which will be assigned the number of objects
selected.
CURSOR
Minor word that indicates that the coordinates of the screen
position used for the selection of an object are to be retained.
x-coord, y-coord, z-coord
Three variables which will be assigned the coordinates of the
screen position used for the selection of an object. The assigned
value of these variables may be unpredictable if a technique
other than cursor is used.
7-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Advanced Interactive Commands
MEMBER
Minor word that indicates that the parameter in the following
field controls the status of member selection. This option is
most important when the user is not prompted with the Class
Selection Dialog (where the member selection status could be
changed). This option has an effect when single selection is
used.
If the member parameter is not specified, the default is ON
unless selection of either groups or components is enabled. If it
is enabled, member selection is automatically OFF.
ON
Minor word that indicates that member selection is on. This
allows you to select members of groups or components without
selecting the group or component.
OFF
Minor word that indicates that member selection is off. When
you select a member of a group or component, the entire group
or component is selected.
response
A variable which will be assigned a numerical value based on
the user response.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
7-5
ÏÏÏ
7
ÏÏÏ
ÏÏÏ
ÏÏÏ
Advanced Interactive Commands
Example
This example demonstrates the use of the IDENT statement to
delete up to 25 user selected objects.
Declarations
ENTITY/OBJ(25)
BCK010:
IDENT/'Select Objects to Delete',$
OBJ,CNT,NUM,RESP
JUMP/BCK010:,LBL020:,,RESP
DELETE/OBJ(1..NUM)
LBL020:
Execution of the IDENT statement will cause the following
Class Selection Dialog menu to be displayed.
ÏÏÏ
7
ÏÏÏ
ÏÏÏ
ÏÏÏ
Cue: Select Objects to Delete
Figure 7-1 Class selection dialog
If the number of objects selected exceeds the object array
size, the message TOO MANY OBJECTS" will appear
on the dialog box when the OK key is depressed. To
continue, press the OK again. When this error occurs,
the variables will be set as follows:
NOTE
7-6
The value returned in the response variable will be equal to
zero(0).
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Advanced Interactive Commands
The count variable, if used, will reflect the number of objects
that the user attempted to select.
The object array passed to the IDENT statement will contain
identifiers to selected objects. For example, consider the
example above where an object array with a dimension of 25 is
used. If the user attempts to select 100 objects, an error
message will be displayed and the object array will contain the
identifiers to the first 25 selected objects.
ÏÏÏ
7
ÏÏÏ
ÏÏÏ
ÏÏÏ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
7-7
Advanced Interactive Commands
TEXT: Enter Text
Synopsis
TEXT/'message',string variable[,ALTACT,'message'],
response[,DEFLT]
Description
This statement creates a data entry menu which is displayed on
the dialog box, allowing the user to interactively assign
characters to a string variable.
ÏÏÏ
7
ÏÏÏ
ÏÏÏ
ÏÏÏ
CAUTION We do not recommend using the asterisk
character (*) in menu prompts or menu options.
TEXT works with the Back, Cancel, and Alternate Action
options in Unigraphics. When one of these options is selected
during program execution while the TEXT statement is pending,
the system will assign the following value to the response
variable:
Response
Assignment
Back
1
Cancel
2
OK or Return Ć no text
entered
3
Alternate Action
4
OK or Return Ć text
entered
5
You can create an Alternate Action option by using the minor
word ALTACT, followed by a message, as the parameter just
before the response variable. The ALTACT message displays at
the bottom of the dialog box when the menu is displayed during
statement execution. You can make the message up to forty
characters long.
'message'
A string which represents the title of the menu you want to
display. The string can contain up to 40 characters.
string variable
A string variable which will be assigned the input characters. If
no text is entered, a null string variable will exist.
7-8
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Advanced Interactive Commands
ALTACT
Minor word that indicates that an ALTERNATE ACTION
message will be created on the dialog area during statement
execution. If ALTERNATE ACTION is selected, the response
variable will equal 4.
'message'
A string or string variable which represents the ALTERNATE
ACTION message. The string can contain up to forty
characters.
response
A variable which will be assigned a numerical value based on
the user response.
DEFLT
Minor word that indicates that OK can be selected to accept
text which has been previously assigned to the string variable
specified. The contents of the string variables will be displayed
by the TEXT statement. The user may either accept the text or
type in new text. If the DEFLT Minor word is not specified, text
which may have been assigned to the string variable will not be
displayed. If OK or Return are used to accept the default text,
the value of 3 will be assigned to the response variable.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
7-9
ÏÏÏ
7
ÏÏÏ
ÏÏÏ
ÏÏÏ
Advanced Interactive Commands
Example
This example demonstrates the use of the TEXT statement.
Declarations
STRING/dwgno(30)
dwgno = '72A5001'
$$ Assign a default value
BCK010:
TEXT/ 'Enter Drawing Number', dwgno, resp, DEFLT
JUMP/ BCK010:, CANCEL:, resp
PRINT/ 'The Drawing Number is '+dwgno
ÏÏÏ
7
ÏÏÏ
ÏÏÏ
ÏÏÏ
The TEXT statement in the previous program segment would
display the following menu. Notice the default text '72A5001'
appears in the dialog box because the DEFLT word was used. If
the DEFLT word is not used, the text entry area in the dialog
box would be blank.
Cue: Enter Drawing Number
Figure 7-2 Menu displayed using the TEXT statement
7-10
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Advanced Interactive Commands
CHOOSE: Choose Single Option
Synopsis
CHOOSE/'message',string
list,[DEFLT,n,][ALTACT,'message',]response
Description
This statement creates a menu of options which is displayed on
the dialog box. One of the options may be selected from the
menu. The option selected by the user causes a numerical value
to be assigned to a variable called the response variable. This
value may be used later in the program. The most common use
is with a JUMP statement. This technique allows you to
perform different operations in your program (by jumping to
different labels based on the user response) based upon the
option selected from the menu created by the CHOOSE
statement.
CAUTION We do not recommend using the asterisk
character (*) in menu prompts or menu options.
The CHOOSE statement works with the Back, Cancel and
Alternate Action options within Unigraphics. Back will cause
the value of 1 to be assigned to the response variable. Cancel
will cause 2 to be assigned. The value 3 is not used, and may not
be used. Alternate Action will cause 4 to be assigned to the
response variable.
You can create an alternate action option by using the minor
word ALTACT, followed by a message, as the parameter just
before the response variable. The ALTACT message displays as
the last option in the dialog area when the menu is displayed
during statement execution. You can make the message up to
forty characters long.
The response values 1-4 are reserved for the Back, Cancel, and
Alternate Action selections. Therefore, the first value available
for assignment from the menu options created by the CHOOSE
statement is 5. The first option on the created menu will return
5, the second option will return 6, the third, 7, and so on. There
is a maximum of fourteen options on a menu. The following is a
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
7-11
ÏÏÏ
7
ÏÏÏ
ÏÏÏ
ÏÏÏ
Advanced Interactive Commands
list of values assigned to the response variable for the CHOOSE
statement:
Response
ÏÏÏ
7
ÏÏÏ
ÏÏÏ
ÏÏÏ
Assignment
Back
1
Cancel
2
Not used
3
Alternate Action
4
Option #1
5
Option #2
6
.
.
.
.
Option #14
18
string list
A list of strings or string variables which constitute the
CHOOSE menu. The first parameter in the list is the message
which is covered in the beginning of this section and the
remaining parameters in the list will be used as options. Each
string can contain up to 40 characters. Using a hyphen -" for
one of your options will create a nonselectable separator line.
NOTE
Since the maximum number of options in a choose menu
is 15, the number of parameters in the list may not be
greater than 15.
DEFLT
Minor word that indicates that a menu default position is
desired.
n
The item number in the menu where the default caret will be
displayed.
ALTACT
Minor word that indicates that an alternate action message will
be create on the dialog area during statement execution. If
Alternate Action is selected, the response variable will equal 4.
'message'
A string or string variable which represents the alternate action
message. The string can contain up to 40 characters.
7-12
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Advanced Interactive Commands
response
A variable which will be assigned a numerical value based on
the user response.
Example
This example demonstrates the use of the CHOOSE statement
to create a menu to prompt the user for a standard object.
BCK010:
CHOOSE/'Select Standard Part',$
'Bolt',$
'Nut',$
'Washer',DEFLT,1,RSP
JUMP/BCK010:,CANCEL:, , ,LBL010:,LBL020:,LBL030:,RSP
LBL010:
ptype='BOLT'
JUMP/LBL040:
LBL020:
ptype='NUT'
JUMP/LBL040:
LBL030:
ptype='WASHER'
LBL040:
$$ option 1
$$ option 2
$$ option 3
The previous example programs would display the following cue
line and dialog box:
Cue: Select Standard Part
Figure 7-3 The displayed choose statement.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
7-13
ÏÏÏ
7
ÏÏÏ
ÏÏÏ
ÏÏÏ
Advanced Interactive Commands
Choose Options (Cont'd)
Example
The program below is a simple example of use of the CHOOSE/
statement.
Example
ENTITY/ ln
NUMBER/ resp,x,y,z
BCK010:
GPOS/'INDICATE POSITION',$
x,y,z,resp
JUMP/BCK010:,CANCEL:,,,resp
ÏÏÏ
7
ÏÏÏ
ÏÏÏ
ÏÏÏ
ln=LINE/x,y,z,x-5,y,z
BCK020:
CHOOSE/'IS LINE OK?',
$
$$ Main title
'YES, CONTINUE', $
$$ Option 1
'NO',
$
$$ Option 2
DEFLT,1,resp
JUMP/BCK020:,BCK020:,,,LBL030:,,resp
DELETE/ln
JUMP/BCK010:
$$ Re-indicate position
LBL030:
&COLOR(ln)=&RED
CANCEL:
HALT
Frequently, in applications which create geometry, it is
necessary to allow the user to confirm that the geometry has
been created properly.
In the example above, the user must select either option 1, YES,
CONTINUE, or option number 2, NO, from the menu. If the
user selects BACK or CANCEL, the menu will simply be
redisplayed.
7-14
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Advanced Interactive Commands
MCHOOS: Choose Multiple Options
Synopsis
MCHOOS/primary string, menu options, response array,
[ALTACT,'message',]response variable
Description
This statement creates a dialog box with a maximum of 14
options (15 options with the Alternate Action option). You may
then interactively choose any or all of these options from the
menu. Each option you choose causes a numerical value to be
assigned to a variable, called the response array. You must
choose OK to enter the chosen options into the response array.
CAUTION We do not recommend using the asterisk
character (*) in menu prompts or menu options.
The MCHOOS statement works with the Back, Cancel and the
alternate action option. Back will cause the value of 1 to be
assigned to the response variable. Cancel will cause 2 to be
assigned. The value 3 indicates that zero or more menu options
were chosen along with OK. The alternate action option will
cause 4 to be assigned to the response variable.
You can enable an alternate action option by using the minor
word ALTACT, followed by a message, as the parameter just
before the response variable. The ALTACT message displays at
the bottom of the dialog box when the menu is displayed during
statement execution. You can make the message up to forty
characters long.
The response array entries will contain a 1 if the menu option
that matches the entry's index is chosen, and a 0 otherwise. For
example, if options 1 and 3 are chosen from a five option menu,
the response array would contain 1,0,1,0,0.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
7-15
ÏÏÏ
7
ÏÏÏ
ÏÏÏ
ÏÏÏ
Advanced Interactive Commands
There is a maximum of fourteen options on a menu. Below is a
list of response values assigned to the response variable for the
MCHOOS statement:
Response
ÏÏÏ
7
ÏÏÏ
ÏÏÏ
ÏÏÏ
NOTE
Assignment
Back
1
Cancel
2
OK
3**
Alternate Action
4**
** OK or Alternate Action indicates that one or or more
menu selections were made.
primary string
A string or string variable consisting of the title of the menu,
which can be up to 40 characters.
menu options
A string list consisting of up to 14 menu options. Each string
can contain up to 40 characters, although the display may be
truncated by the window system.
NOTE
The string list may only contain 15 items (the menu title
and 14 options).
response array
An array which handles the responses from the chosen options.
You may use a subrange; however, it must be large enough to
handle every menu option. The number of responses should
match the number of menu options. The system returns a value
of 1 if the corresponding option is chosen, a value of 0 if the
option is not chosen.
ALTACT
Minor word that indicates that an ALTERNATE ACTION
message will be created on the menu during statement
execution. If the ALTERNATE ACTION option is selected,
the response variable will equal 4.
'message'
A string or string variable which represents the ALTERNATE
ACTION message. The string can contain up to 40 characters.
7-16
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Advanced Interactive Commands
response variable
A variable which will be assigned a numerical value based on
the user response.
ÏÏÏ
7
ÏÏÏ
ÏÏÏ
ÏÏÏ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
7-17
Advanced Interactive Commands
Activity: Interactive Sheet Metal Part
Modify the program written for Activity 2. Follow these steps:
ÏÏÏ
7
ÏÏÏ
ÏÏÏ
ÏÏÏ
The program is to be modified to permit construction of any
rectangle given the width and height dimensions. Add an
interactive command to allow the user to enter the width and
height dimensions for this figure from the keyboard.
Add an interactive command to allow the user to enter the
values for the coordinates of the center of the rectangle
using the generic point menu.
Add an interactive command to allow the user to choose
whether he wants the corners filleted or not.
If the user wants the corners filleted, add an interactive
command to allow the radii of these fillets to be entered
from the keyboard.
In order to allow clean construction of the figure, all interactive
commands must come before any geometry construction
commands.
When you finish the assignment, demonstrate the program to
your instructor.
Optional: Add logical statements to check the validity of the
data the user has entered. This will provide cleaner
construction of the part. For example, a negative or zero radius
fillet value should not be allowed. Also, the fillet radius should
be less than the dimensions of the figure.
7-18
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Solid Object Modeling Commands
Solid Object Modeling Commands
Lesson 8
Objectives
Demonstrate an understanding of the commands for creating solids.
Perform various operations on solids.
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
8-1
Solid Object Modeling Commands
Solid Feature Creation
This section contains the GRIP statements necessary to create solid bodies. This
subset of commands include: block, cylinder, solid of revolution, and extruded
solid. Many of the solid creation statements in GRIP create parametric solid
bodies. Any creation parameters (e.g., dimensions of a block) are stored with
the solid body and may be edited. Usually the resulting body is associative with
any geometry used to construct the body.
Table 8-1
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
ÉÉÉ
NOTE
8-2
Solid creation statements
Function
Format
Solid Block creation
SOLBLK/ORIGIN,xc,yc,zc,
SIZE,dx,dy,dz
[,IFERR,label:]
Solid Cylinder creation
SOLCYL/ORIGIN,xc,yc,zc,
HEIGHT,h,DIAMTR,d
[,AXIS,i,j,k]
[,IFERR,label:]
Solid Extrusion
SOLEXT/obj list,HEIGHT,h
[,AXIS,i,j,k]
[,IFERR,label:]
Revolved Solid
SOLREV/obj list,
ORIGIN,xc,yc,zc,
ATANGL,a [,AXIS,i,j,k]
[,IFERR,label:]
When using solid feature statements on assemblies, you
need to make sure that the operation (or creation
statement) is performed on objects in the work part. If
the objects are not in the work part, the statement is not
executed and an error is reported.
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Solid Object Modeling Commands
Name
SOLBLK
Synopsis
obj = SOLBLK/ORIGIN,xc,yc,zc,SIZE,dx,dy,dz[,IFERR,label:]
Description
Allows you to create a parametric solid block of any size. The
origin is on a corner of the block. The edges of the block are
aligned with the axes of the WCS.
Parameters
ORIGIN
Solid Block
Minor word indicating that the following values specify the
block's origin.
xc,yc,zc
Work coordinates which specify the origin of the block.
SIZE
Minor word indicating that the following values specify the size
of the block.
dx ,dy, dz
Three length values for the block's edges. These values can be
positive or negative, and determine the placement of the block
relative to its origin. A positive value causes the system to
create that particular edge in the positive direction of the
corresponding axis. A negative value causes the system to
create that edge in the negative direction of the corresponding
axis.
IFERR,label:
Specifies a label to which program execution jumps if an error
occurs. Possible errors include an invalid origin specification,
invalid parameter value, etc.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
8-3
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
ÉÉÉ
Solid Object Modeling Commands
Example
This example demonstrates the creation of two solid blocks,
both possessing the same origin point. One has positive edge
length values, the other negative edge lengths.
Declarations
ENTITY/BLOCK1,BLOCK2
Geometry Definition BLOCK1 = SOLBLK/ORIGIN,1,3,2,SIZE,1,2,.5
BLOCK2 = SOLBLK/ORIGIN,1,3,2,SIZE,-1,-2,-.5
BLOCK2
edge lengths
xc = -1
yc = -2
zc = -.5
BLOCK1
edge lengths
xc = 1
yc = 2
zc = .5
Z
Y
origin point for
both blocks
X
Figure 8-1 Solid blocks created using positive vs. negative edge lengths
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
ÉÉÉ
8-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Solid Object Modeling Commands
Name
SOLCYL
Synopsis
obj = SOLCYL/ORIGIN,xc,yc,zc,HEIGHT,h,DIAMTR,d
[,AXIS,i,j,k][,IFERR,label:]
Description
Allows you to create a parametric solid cylinder by specifying its
origin, height, and diameter.
Parameters
ORIGIN
Solid Cylinder
Minor word indicating that the following coordinate values
specify the cylinder origin.
xc,yc,zc
Work coordinate values which specify the origin of the cylinder.
The origin is located on one of the circular faces of the cylinder.
HEIGHT
Minor word indicating that the following value specifies the
cylinder height.
h
The distance between the two circular faces of the cylinder.
The height can be positive or negative and determines one of
two possible cylinders.
DIAMTR
Minor word indicating that the following value represents the
cylinder diameter.
d
The diameter of the cylinder.
AXIS
Optional minor word indicating that the following values specify
the cylinder axis.
i, j, k
Specifies a vector which defines the axis of the cylinder. The
system defines the axis parallel to this vector. If none is
specified, the system defines the cylinder axis parallel to the ZC
axis of the WCS.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
8-5
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
ÉÉÉ
Solid Object Modeling Commands
IFERR,label:
Specifies a label to which program execution jumps if an error
occurs. Possible errors include an invalidly specified axis or
origin, parameter values not within the correct range, etc.
Example
This example demonstrates the creation of two cylinders, both
with the same center. One cylinder (CYL1) is created with a
positive height value, the other (CYL2) with a negative height
value. The axis for both is specified in the positive Z direction.
Declarations
ENTITY/CYL1,CYL2
Geometry Definition CYL1=SOLCYL/ORIGIN,2,1,1,HEIGHT,1.5,DIAMTR,.5
CYL2=SOLCYL/ORIGIN,2,1,1,HEIGHT,Ć2,DIAMTR,1,AXIS,0,0,1
CYL1
AXIS DIRECTION
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
ÉÉÉ
h
center for
both cylinders
CYL2
d
Figure 8-2 Cylinder creation; positive vs. negative height values
8-6
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Solid Object Modeling Commands
Name
SOLEXT
Synopsis
obj = SOLEXT/obj list,HEIGHT,h[,AXIS,i,j,k][,IFERR,label:]
Description
Allows you create a parametric solid body by sweeping a series
of curves a specified distance in a specified direction. The
specified curves may form an open or closed boundary. Be sure
to specify the curves in consecutive order (i.e., do not skip an
adjacent curve and then try to specify it later).
Extruded Solid
You may also create an extruded solid with holes in it. It makes
no difference whether you first define the outer boundary or the
hole.
obj list
Parameters
A list of curves to be extruded along the specified axis. If the
specified curves are not closed, the system creates a solid sheet.
A closed loop of curves creates a solid. The curves do not have
to be coplanar. The maximum number of objects allowed is 514.
NOTE
In the case of a closed loop of curves, if the curves are not
coplanar, the system attempts to attach a sheet body to
the loop. If no sheet can be attached, the extrusion fails.
Planar, spherical, conical, cylindrical, and toroidal bodies
can be attached.
HEIGHT
Minor word indicating that the next value specifies the height of
the extruded solid.
h
The distance that the specified curves sweep in the specified
direction. Values can be positive or negative. Positive values
sweep in the direction of the axis vector, negative values sweep
in the opposite direction of the axis vector.
AXIS
Optional minor word indicating that the next values specify the
axis for the extruded solid.
i,j,k
Specifies a vector which defines the direction for the sweep.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
8-7
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
ÉÉÉ
Solid Object Modeling Commands
IFERR,label:
Specifies a label to which program execution jumps if an error
occurs. Possible errors include an invalidly specified axis,
parameter values not within correct ranges, number of objects
exceeds maximum, invalid objects listed, the system was unable
to find a body while attaching a sheet to a face, the geometry
fails to pass checks while subdividing a face, etc.
Example
This example demonstrates the creation of an extruded solid
from a series of curves. The program allows the curves to be
selected interactively, then sweeps them along the ZC axis at a
distance of 2.
Declarations
ENTITY/OBJ(100),SOLID1
BCK010:
IDENT/'PICK CURVES',OBJ,CNT,NUM,RSP
JUMP/BCK010:,CANCEL:,,RSP
Geometry Definition
SOLID1 = SOLEXT/OBJ(1..NUM),HEIGHT,2,AXIS,0,0,1
CANCEL:
HALT
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
ÉÉÉ
AXIS DIRECTION
Select Arc to
Create Hole
Select Curves to
Create Outer
Boundary
Figure 8-3 Curves Swept Along ZC Axis to Form Extruded Solid
8-8
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Solid Object Modeling Commands
Name
SOLREV
Synopsis
obj = SOLREV/obj list,ORIGIN,xc,yc,zc,ATANGL,a[,AXIS,i,j,k]
[,IFERR,label:]
Description
Allows you to create a solid of revolution by revolving a series of
curves around a specified axis. The resulting solid is parametric.
The specified curves may form an open or closed boundary.
Self intersecting solids are not allowed.
Parameters
obj list
A series of curves to be revolved around the specified axis. If
the specified curves are not closed, the system creates a solid
sheet. A closed loop of curves creates a solid. The curves do
not have to be coplanar. The maximum number of objects
allowed is 514.
NOTE
Solid of Revolution
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
ÉÉÉ
In the case of a closed loop of curves, if the curves are not
coplanar, the system attempts to attach a sheet body to
the loop. If no body can be attached, the extrusion fails.
Planar, spherical, conical, cylindrical, and toroidal bodies
can be attached.
ORIGIN
Minor word indicating that the following values specify the
origin for the axis of rotation.
xc,yc,zc
Work coordinates specifying the origin of the solid.
ATANGL
Minor word indicating that the following value specifies the
angle of rotation.
a
The angle of rotation for the solid. The positive direction is
determined by the right hand rule for rotation. Align the thumb
of your right hand with the displayed vector. The direction in
which your fingers curl is the direction of positive rotation.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
8-9
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
ÉÉÉ
Solid Object Modeling Commands
AXIS
Minor word indicating that the following values specify the axis
of rotation.
i, j, k
Specifies a vector which defines the axis of rotation. The system
defines the axis as parallel to the specified vector, passing
through the origin. If no axis is specified, the YC axis is used.
IFERR,label:
Specifies a label to which program execution jumps if an error
occurs. Possible errors include: an invalidly specified axis or
origin, parameter values not within correct ranges, number of
objects exceeds maximum allowed, invalid object types listed,
the geometry fails to pass checks while subdividing a face, the
system is unable to find a body while attaching a sheet to a face,
etc.
Example
This example demonstrates the creation of a solid of revolution
from a series of curves. The program allows the curves to be
selected interactively, then revolves them around the XC axis at
an angle of 180.
Declarations
ENTITY/OBJ(100),SOLID1
BCK010:
IDENT/'PICK CURVES',OBJ,CNT,NUM,RSP
JUMP/BCK010:, CANCEL:,,RSP
Geometry Definition
SOLID1=SOLREV/OBJ(1..NUM),ORIGIN,2,2,0,$
ATANGL,180,AXIS,1,0,0
CANCEL:
HALT
8-10
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Solid Object Modeling Commands
selected curves
axis origin
AXIS OF
ROTATION
Figure 8-4 Solid of revolution creation
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
8-11
Solid Object Modeling Commands
Solid Operations
Existing solids can be altered using GRIP commands. Blends, splits, and
boolean operations can be performed on solids. Some of the operation
statements result in a non-parametric body. Association between the original
bodies and the construction curves (or sheets) may also be lost. The description
for each statement explains whether or not the resulting solid body is
parametric.
Table 8-2
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
ÉÉÉ
8-12
Solid operation statements
Function
Format
Unite Solids
UNITE/obj,WITH,obj list1
[,CNT,c][,IFERR,label:]
Subtract Solids
SUBTRA/obj,WITH,obj list
[,CNT,c][,IFERR,label:]
Intersect Solids
INTERS/obj,WITH,obj list1
[,CNT,c][,IFERR,label:]
Blend/Chamfer
BLEND/obj,{RADIUS|
CHAMFR},num
[,obj list1][,VERT,obj list2]
[IFERR,label:]
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Solid Object Modeling Commands
Name
UNITE
Synopsis
obj list = UNITE/obj,WITH,obj list1[,CNT,c][,IFERR,label:]
Description
Allows you to combine several solids into one by specifying a
target solid and a list of solids to be united to the target. The
resulting solid body is parametric. In order for the unite
operation to be useful, the specified solids must intersect.
Unite
In order to unite sheet bodies, they must meet at their edges
unless they have overlapping faces.
Parameters
obj
The target solid.
WITH
Minor word specifying that the target solid is united with the
following object list.
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
List of solid objects to be united with the target solid. Maximum
ÉÉÉ
allowed in list is 1000.
obj list1
CNT
Optional minor word indicating that a count of solid objects is
to be returned.
c
Variable which returns the number of solid objects.
IFERR,label:
Specifies a label to which program execution jumps if an error
occurs. Possible errors include: maximum amount of objects
exceeded, illegal object specified, cannot unite opposed sheets,
can't unite solid with sheet, etc.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
8-13
Solid Object Modeling Commands
Name
SUBTRA
Synopsis
obj list = SUBTRA/obj,WITH,obj list[,CNT,c][,IFERR,label:]
Description
Allows you to subtract solids from solids, sheet bodies from
sheet bodies, and sheet bodies from solids, as long as the sheet
body cuts the solid completely. When a single body results, the
body is parametric. When multiple bodies are generated, all the
bodies are non-parametric.
Parameters
obj
Subtract
The target solid.
WITH
Minor word indicates that the following list of objects is to be
subtracted from the target solid.
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
ÉÉÉ
obj list1
A list of tool solids you wish to subtract from the target solid.
Maximum number allowed in list is 1000.
CNT
Optional minor word indicating that a count of solid objects is
to be returned.
c
Variable which returns the number of solid objects.
IFERR, label:
Specifies a label to which program execution jumps if an error
occurs. Possible errors include: nonĆmanifold body or boundary,
maximum number of tool objects exceeded, illegal object type in
list, etc.
8-14
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Solid Object Modeling Commands
Name
INTERS
Synopsis
obj list = INTERS/obj,WITH,obj list1[,CNT,c][,IFERR,label:]
Description
Allows you to create a separate solid from those portions shared
by multiple solids. You can intersect solids with solids, sheet
bodies with sheet bodies, and a solid with a sheet body,
however, you cannot mix solids and sheets in the object list of
tool solids. When a single body results, the body is parametric.
When multiple bodies are generated, all the bodies are
non-parametric.
Parameters
obj
Intersect
The target solid.
WITH
Minor word indicates that the target solid is to be intersected
with the following list of solids.
obj list1
A list of tool solids you wish to add to the target solid. Objects
must be similar (all solids or all sheets). Maximum allowable
number is 1000.
CNT
Optional minor word indicates that a count of solid objects is to
be returned
c
Variable which returns the number of solid objects.
IFERR, label:
Specifies a label to which program execution jumps if an error
occurs. Possible errors include: mixture of sheet and solid tool
bodies, maximum number of tool solids exceeded, illegal object
type in list, etc.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
8-15
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
ÉÉÉ
Solid Object Modeling Commands
Name
BLEND
Synopsis
BLEND/obj,{RADIUS|CHAMFR},num[,obj list1][,VERT,obj list2]
[IFERR,label:]
Description
Allows you to modify a solid by either rounding (blend) or
beveling (chamfer) specified edges of the solid.
Blend/Chamfer
The BLEND statement works in much the same way as the
Blend option in the Modeling application except that you may
only do fixed radius blends. See the Modeling manual.
Parameters
obj
The solid to be modified.
RADIUS
Minor word indicating that a blend operation is to be performed
on the solid.
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
ÉÉÉ
CHAMFR
Minor word indicating that a chamfer operation is to be
performed on the solid.
num
When used with the RADIUS minor word, num is the positive
radius of the blend.
When used with the CHAMFR minor word, num is the offset
distance between the intersection of the specified edges. When
one edge is curved, the offset is measured along the path of the
curved edge.
obj list1
First list of point objects which identify the edges of the solid to
blend/chamfer. The points identify the edges by distance. If
neither list of points is specified, then the system
blends/chamfers every edge in the solid.
VERT
Optional minor word specifies that the following list of points
identifies vertices on the solid.
8-16
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Solid Object Modeling Commands
obj list2
Second list of point objects which identify vertices on the solid.
The points identify the vertices by distance. The edges involved
in these vertices are blended/chamfered. If you do not specify
either list of points, then the system blends/chamfers every edge
in the solid.
IFERR,label:
Specifies a label to which program execution jumps if an error
occurs. Possible errors include: illegal object specified, radius
values must be positive, etc.
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
8-17
Solid Object Modeling Commands
Solid Object EDAs
The following table describes the EDAs that can be used specifically on Solid
Objects. The &SOLDAT command is generally used in conjunction with the
SOLENT/ command. The Edge Type command will indicate the wireframe
entity type of the underlying curve that represents an edge. Solid density can
be set for individual solids. The GPA &SDENS will set the default solid density
for new solids.
Function
EDA Symbol
Access
Type
Data Type
Number of Faces or
Edges/
&SOLDAT(obj,{FACE|
EDGE}[,IFERR,label:])
R/O
Number
>= 0
Determine Edge Type
&EDGTYP(obj[,IFERR
,label:])
R/O
Number
[0,3,5,6,9]
Solid Density
&SDENS(obj)*
R/W
Number
>=0
* This command is also a GPA.
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
ÉÉÉ
Solid Object GPAs
The following table describes the GPAs that can be used to set the preferences
for solid object display and creation. The density units can be read/set using
the numbers or GPA constants: 1 = &LBIN, 2 = &LBFT, 3 = &GCM,
4 = &KGM.
Function
GPA Symbol
Access
Type
Data Type
Solid Density
&SDENS*
R/W
Number
>=0
Density Units
&SDUNIT
R/W
Number
[1..4]
* This command is also an EDA.
8-18
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Solid Object Modeling Commands
Activity: Extrude the L-Shape
The L-Shape geometry created in a previous exercise can be used with the
solid creation commands to generate a solid body. Use the geometry created in
that program to create an extruded solid with a hole.
Copy the L-shape program into a new file. Do not forget to use
your initials in the file name.
Extrude the lines in the +Z direction using a distance of
ext_ht=4.
Put a 1 inch horizontal hole through the center of the long
portion of the L. This will require a boolean subtraction
operation. You will need to create a cylinder at the
appropriate location and orient the cylinder in the XC
direction. The location of the hole should be calculated
from the reference x,y location.
tht
ext_ht
tw
bw
tpht
holdia
x,y
Figure 8-5 Extruded L-Shape
Additional Challenge: Add prompts for the extrusion
distance and diameter. Error check the new data.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
8-19
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
ÉÉÉ
Solid Object Modeling Commands
Activity: Solid L-Shape
Another method to create the L-Shape is to start with solids rather than
curves. In this activity, you will create a new program to generate the L-Shape
from solids.
Create a new GRIP source file using your initials in the file name.
Use the size data for the L-Shape curve creation program
and the extrusion data from the last exercise.
ÉÉÉ
ÉÉÉ
8
ÉÉÉ
ÉÉÉ
Variable
Value
Definition
x
0
X coordinate of lowest,
leftmost corner of figure.
y
-3
Y coordinate of lowest,
leftmost corner of figure.
bw
1
Bottom width of figure
tw
2
Top width of figure
tht
6
Total height of figure
tpht
2
Top height of figure
ext_ht
4
Extrusion distance
holdia
1
Diameter of the hole
Put a 1 inch hole through the center of the long portion of
the L. This will require a boolean subtraction operation.
You will need to create a cylinder at the appropriate location
and orient the cylinder in the XC direction. The location of
the hole should be calculated from the reference x,y location.
TIP When you create the solid blocks for the L-shape, you
should consider that they will be united. You can only
unite objects that overlap or touch. When creating the
solids for uniting, it is usually a better practice to overlap.
If the solids are not touching within tolerance, a
Non-manifold Solid error message will be displayed in a
pop-up window.
8-20
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Database Cycling
Database Cycling
Lesson 9
Objectives
Understand File Access.
Examine geometric objects in the data model.
Examine non-geometric objects in the data model.
Learn reading and writing to text files.
Understand printing data to the Listing Device.
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
9-1
Database Cycling
File Access
This section covers the GRIP statements used to control access to Unigraphics
and scratch files. Many of these statements are imbedded in Unigraphics, such
as creating, retrieving, and filing a part.
Table 9-1
NOTE
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
9-2
File Access Commands
Function
Format
Open a File
FETCH/{PART,'filespec'|TXT,file#,'filespec'}
[,IFERR,label:]
Create a File
CREATE/{PART,'filespec'
{,INCHES|MMETER}|TXT,file#
[,number list][,'filespec']}[,IFERR,label:]
Save a File
FILE/{PART|TXT[,file#][,'filespec]}[,LINNO]
[,IFERR,label:]
Close a File
FTERM/{PART[options]|TXT,file#}
[,IFERR,label:]
Delete a File
FDEL/'filespec'[,IFERR,label:]
When accessing scratch files, be aware that GRIP NC
CLS files also use scratch file 1. If you attempt to write to
scratch file 1 when it already contains a CLS file, the CLS
file will be lost.
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Database Cycling
Name
FETCH
Synopsis
FETCH/{PART,'filespec'|TXT,file#,'filespec'}[,IFERR,label:]
Description
This statement retrieves a copy of either a part file or a text file.
Parameters
PART
Minor word that indicates that the file to be retrieved is a part file.
Open a File
TXT
Minor word which indicates that the file to be retrieved is a text file.
The file pointer is left on the last line of the file after it is retrieved.
This can be an important consideration if you should try to read that
file.
file#
The number of the scratch file into which the specified file is to be
retrieved. Ten scratch file areas are available, therefore, the specified
number must be between 1 and 10. The scratch file number is
required for text files only.
The file number cannot be used if the file is a part file.
'filespec'
The filespec parameter is used to specify the name of the part or text
file. The filespec is required for part or text files only.
IFERR,label:
Specifies a label to which the program jumps if an error occurs.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
9-3
Database Cycling
Name
CREATE
Synopsis
CREATE/{PART,'filespec'{,INCHES|MMETER}|TXT,file#
[,'filespec']}
[,IFERR,label:]
Description
The following statement creates either a part file or a text file in one of
the 10 scratch file areas.
Create a File
If you are creating a part file, a filespec is required.
If you are creating a text file, the filespec is optional. A filespec is
required to file the text.
NOTE If you are creating a part file, the new part will contain all
customer default parameter values. Any GPAs defined before the
CREATE/PART statement will be reset to the current customer
default value.
Parameters
PART
Minor word that indicates that a new part file is to be created.
'filespec'
The filespec associated with part file creation.
INCHES,MMETER
The units of measure, inches and millimeters respectively, which will
be used for the part geometry.
TXT
Minor word indicating that a text file is to be created in one of the
scratch file areas which are basically used as temporary working areas.
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
file#
The number of the scratch file in which the new file is to be created.
Ten scratch file areas are available, therefore, the specified number
must be between 1 and 10.
'filespec'
The filespec associated with text file creation. The filespec for a text
file is optional in the create statement because it may be specified
later in the FILE statement, if the file is to be saved.
IFERR,label:
Specifies a label to which the program jumps if an error occurs.
9-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Database Cycling
Name
FILE
Synopsis
FILE/{PART|TXT[,file#][,'filespec']}[,LINNO]
[,IFERR,label:]
Description
This statement saves a copy a part file or a text file without terminating
the part or scratch file.
Parameters
PART
Minor word that indicates that the file to be saved is the current work
part file.
Save a File
TXT
Minor word that indicates that the file to be saved is the text file
which is currently in the specified scratch file.
NOTE The line pointer will reset to the top of the file after it has
been saved.
file#
The number of the scratch file which is to be saved. This parameter
may be used only if the file is a text file. Ten scratch file areas are
available, therefore, the specified number must be between 1 and 10.
'filespec'
The optional filespec parameter. If a filespec is not specified the file
will be saved with the name with which it was created or fetched. If
you specify an existing file, then a File already exists" message
occurs.
NOTE If a system error log or system log was fetched, the scratch
file has no name and, therefore, one must be specified in the FILE
statement.
LINNO
Minor word which indicates that the text file should be filed with the
editor's line numbers
IFERR,label:
Specifies a label to which the program jumps if an error occurs.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
9-5
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
Database Cycling
Name
FTERM
Synopsis
FTERM/{PART[options]|TXT,file#}[,IFERR,label:]
Description
This statement closes an active part(s) or scratch file without saving.
Options for the PART minor word allow you to either: close all parts
or specify a part file name, close all the subassemblies of the part, or
close modified part(s) without an error. If you do not use any options
with the PART minor word, then the command closes the default work
part.
Close a File
[options]" is equivalent to: [,all|[,string][,asmbly][,always]]. If you
specify the all option, then the use of string, asmbly, or always is
invalid. If you use any one or all of string, asmbly, or always then the
use of all is invalid. The following are some typical syntax examples of
using FTERM.
FTERM/PART[,all][,IFERR,label:]
FTERM/PART[,string][asmbly][,always][,IFERR,label:]
FTERM/TXT,file#[,IFERR,label:]
Parameters
PART
Minor word that indicates that the files to be closed are part files.
[options]
Specifies either all or any of the options string, asmbly, or always.
all
Closes all parts in a session without saving. When you use the all
option, the string, asmbly, and always options are not available for
use.
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
string
Specifies the name of the part to close. The part name can be a file
specification (path and file name). The string can be a variable or a
string literal.
asmbly
Closes the current part/specified part and all of its subassemblies.
always
Closes the part(s) without error even if the part(s) were modified.
9-6
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Database Cycling
TXT
Minor word that indicates that the file to be closed is the text file
which is currently in the specified scratch file.
file#
The number of the scratch file which is to be closed. Ten scratch file
areas are available, therefore, the specified number must be between
1 and 10.
IFERR,label:
Specifies a label to which the program jumps if an error occurs.
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
9-7
Database Cycling
Name
FDEL
Synopsis
FDEL/'filespec'[,IFERR,label:]
Description
Deletes the specified file if the user has proper access to the file.
Parameters
'filespec'
The filespec is the pathname plus the filename you want. If the file
you need is in your current directory, the filename should be sufficient
to find it. The FDEL statement requires that the file extension (e.g.,
.PRT, .GRS) be specified.
Delete a File
IFERR,label:
Specifies a label to which the program jumps if an error occurs.
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
9-8
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Database Cycling
Object Cycling
There are four GRIP commands to examine objects in the data model or to
perform some function on each object. Two commands cover geometric objects;
the remaining two commands are used for nonĆgeometric objects.
Table 9-2
Data Cycling Statements
Function
Format
Initialize Data Model
for object cycling
INEXTE[/ALL]
Obtain the next
selectable object
NEXTE/IFEND,label:
Initialize Data Model
INEXTN/{type no.|type GPA}
for non geometric cycling
[,subtype][,IFERR,label:]
Obtain the next
non-geometric object
NEXTN/IFEND,label1:
[,IFERR,label2:]
You must use the INEXTE or INEXTN commands to start the cycle at the
beginning of the data model. To access selectable geometric objects, use the
NEXTE command in a loop. To access non-geometric objects, use the
NEXTN command in a loop. You should not delete objects in a loop. The
NEXTE and NEXTN commands use data from the 'current' object to find the
next object. If you delete the object, the subsequent NEXTE or NEXTN
command will fail.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
9-9
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
Database Cycling
Example 1-2.
You may only access objects on visible and selectable layers. For
example, think of the objects as being in a list as shown in the
figure below. The list shows a part with 9 objects:
4 on Visible and Selectable layers (L1, L2, C1, P1)
3 on Invisible and NonĆselectable layers (L3, C2, P2)
2 on Visible and NonĆselectable layers (E(1..2))
Visible
Selectable
L1
L2
C1
P1
Invisible
Non-selectable
Visible
Non-selectable
L3
C2
E(1)
E(2)
P2
(LAST OBJECT)
Figure 9-1 Visible Selectable Layers
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
9-10
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Database Cycling
INEXTE: Initialize Data Model Cycling
Synopsis
INEXTE[/ALL]
Description
This statement initializes or resets the data model cycle
mechanism so that the next use of the NEXTE statement will
access the first selectable, unblanked object in the data model
which is inside the clipping bounds.
Parameters
/ALL
Minor word that indicates that all of the selectable objects in
the data base including objects blanked and outside the clipping
bounds will be accessed. If /ALL is not used, only the currently
displayed objects will be accessed.
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
9-11
Database Cycling
NEXTE: Cycle to Next Object
Synopsis
obj = NEXTE/IFEND,label:
Description
The following is an entity valued function which may be used to
address the next selectable object in the data model.
Parameters
IFEND
Minor word that indicates that the next parameter will be a
statement label, which the program will branch to after the last
selectable object in the data model has been accessed.
label:
The statement label to which the program will branch after the
last selectable object in the data model has been accessed.
Example
This code changes the color of all lines on selectable layers to
red. The ALL minor word in the INEXTE statement causes all
objects in the data model to be examined, even those that are
blanked or outside the clipping bounds (not displayed). The
MASK statement causes only lines in the database to be
selectable.
ENTITY/ cur_obj
INEXTE/ ALL
MASK/ 3
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
WHL010:
cur_obj = NEXTE/ IFEND, WHL020:
&COLOR(cur_obj) = &RED
JUMP/ WHL010:
WHL020:
HALT
9-12
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Database Cycling
INEXTN: Initialize Non-geometric Object Cycling
Synopsis
INEXTN/{type no.|type GPA}[,subtype][,IFERR,label:]
Description
This statement initializes or resets the data model cycle function
so that the next use of the NEXTN statement will access the first
nonĆgeometric object. INEXTN and NEXTN are used to cycle
only nonĆgeometric objects.
Parameters
type no.
A numerical value or variable which specifies the type of object that
can be accessed using the NEXTN statement. Allowable values are:
Value
Object Type
12
Category
60
View
61
Layout
62
Drawing
64
Reference set/library entry
100
Machining operation
107
Machining parameter set
109
Machining tool
type GPA
A GPA which specifies the type of object that can be accessed
using the NEXTN statement. Allowable GPAs are:
GPA
Object Type
&VIEWS
&LAYOUT
View
Layout
&DRWG
Drawing
&REFLIB
Reference set/library entry
&OPER
Machining operation
&PARSET
Machining parameter set
&TOOLS
Machining tool
&CATGRY
Category
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
9-13
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
Database Cycling
subtype
A numerical value or variable which specifies the subtype of
object that can be accessed using the NEXTN statement. If the
subtype is not specified, then all subtypes of the given type will
be returned. Allowable subtypes are shown in the table below.
Type /Desc
Subtype
64=Reference
set/library entry
0
1
2
107=Machining
parameter set
11
13
110
210
211
220
222
230
240
250
260
310
320
330
340
350
450
460
461
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
Subtype Description
Reference set
Tool from library entry
Parameter set from library entry
Mill post commands
Lathe post commands
Pocket
Fixed axis surface contouring
Variable axis surface contouring
Interactive generated sequential
surface machining
GRIP generated sequential surface
machining
Parameter line machining
ZigĆzag surface
RoughĆtoĆdepth
Cavity milling
Lathe rough
Lathe finish
Lathe groove
Lathe thread
Lathe drill
PointĆtoĆpoint
Sequential curve mill
Sequential curve lathe
IFERR,label:
Specifies a label to which program execution jumps if an error
occurs.
9-14
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Database Cycling
NEXTN: Cycle to Next Non-geometric Object
Synopsis
str = NEXTN/IFEND,label1:[,IFERR,label2:]
Description
This statement will return the name of the next non-geometric
object in the data base. This statement is used to cycle only
non-geometric objects and must be used with INEXTN. One
name at a time is returned for each NEXTN statement issued.
Parameters
IFEND,label1:
Specifies a label to which program execution will jump after the
last non-geometric object in the part file has been accessed.
IFERR,label2:
Specifies a label to which program execution will jump if an
error occurs.
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
9-15
Database Cycling
NonĆGeometric Database Cycling Example
Example
This code changes sends a list of drawings in the current part
file to the listing window.
A while loop is simulated using labels and a jump statement.
This loop will execute as many times as needed to find all of the
lines in the database.
STRING/ dwg_name(30)
PRINT/ 'List of Drawings'
PRINT/ '------------------------'
PRINT/ ' '
INEXTN/ &DRWG, IFERR, ERR100:
WHL010:
dwg_name = NEXTN/ IFEND, WHL020:,$
IFERR, ERR110:
PRINT/ dwg_name
JUMP/ WHL010:
WHL020:
JUMP/ CANCEL:
ERR100:
MESSG/ 'No Drawings Found
JUMP/ CANCEL:
ERR110:
MESSG/ 'Error Reading Drawing Name'
CANCEL:
HALT
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
9-16
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Database Cycling
Reading and Writing to Text Files
The commands available to open, read from, and write to text files are
described in the following pages.
Table 9-3
File Access Commands
Function
Format
File Pointer Control RESET/file#
Read Text
READ/file#[,LINNO,line#][,USING,'image
string'][,IFEND,label:][,IFERR,label:,],variable
list
Write Text
WRITE/file#[LINNO,line#][,USING,'image
string,],data list
Print to a file or
listing window
PRINT/[USING,'image string',]data
list
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
9-17
Database Cycling
Name
RESET
Synopsis
RESET/file#
Description
This statement sets the line pointer to zero in the specified scratch
file.
Parameters
file#
The number of the scratch file in which the line pointer is to be
positioned. Ten scratch file areas are available, therefore, the
specified number must be between 1 and 10.
File Pointer Control
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
9-18
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Database Cycling
READ: Read Text from a File
Name
READ
Synopsis
READ/file#[,LINNO,line#][,USING,'image string']
[,IFEND,label:][,IFERR,label:,],variable list
Description
The following statement reads a line of data from the specified
scratch file. An unformatted READ of a string will discard leading
blanks. A formatted READ of a string will retain leading blanks.
Unless the program changes line numbers using the RESEQ
statement, all line numbers are in increments of 10.
Parameters
file#
The number of the scratch file from which the data is to be read. Ten
scratch file areas are available, therefore, the specified number must
be between 1 and 10.
Read Text
LINNO
Minor word which indicates that a specified line is to be read.
NOTE If LINNO is not specified the line following the line
pointer position in the data file will be read and the line pointer will
be set to the last line read.
line#
The number of the line to be read.
USING
Minor word which indicates that the data is to be input to a specified
format.
NOTE
The USING option should be used only when the data in the
file is in a free format.
'image string'
The format image string is covered in the GRIP Programming
Reference Manual.
IFEND,label:
Specifies a label to which the program jumps when the pointer
reaches the end of the file.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
9-19
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
Database Cycling
IFERR,label:
Specifies a label to which the program jumps if an error occurs.
variable list
The variable list may consist of any combination of string variables or
numerical variables.
NOTE
If the number of items in the data record exceed the number of
variables in the variable list, the remaining items will be
ignored. If the number of variables in the variable list exceed
the number of items in the data record, subsequent lines of
data will read until the variable list has been satisfied.
The variable list may contain a maximum of 42 variables and/or array
positions. However, the line length is limited to 132 characters. If this
length is exceeded, the remaining characters are ignored.
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
9-20
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Database Cycling
WRITE: Write Text to a File
Name
WRITE
Synopsis
WRITE/file#[,LINNO,line#][,USING,'image string'],data list
Description
This statement writes a line of data to the specified scratch file.
Parameters
file#
The number of the scratch file to which the data is to be written. Ten
scratch file areas are available, therefore, the specified number must
be between 1 and 10.
Write Text
LINNO
Minor word which indicates that the line created will have the
specified line number. If the specified line exists, the data will be
replaced.
NOTE
If LINNO is not specified in the first WRITE statement, the
beginning line number will be 10. If LINNO is not specified on
subsequent WRITE statements, the new line number will be
equal to the last line number plus 10.
line#
The number of the line to be created.
USING
Minor word which indicates that the data is to be output to a specified
format.
'image string'
The format image string which is covered in the GRIP Programming
Reference Manual.
data list
The data list may consist of any combination of string variables,
numerical variables, string literals or numerical values.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
9-21
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
Database Cycling
PRINT: Print Data on Listing Device
Synopsis
PRINT/[USING,'image string',]data list
Description
This statement lists the specified data on the current listing
device.
Parameters
USING
Minor word which indicates that the data is to be output to a
specified format.
'image string'
The format image string is covered in the GRIP Programming
Reference Manual.
data list
The data list may consist of any combination of string variables,
numerical variables, string literals or numerical values.
Description
The PRINT statement is a convenient way of displaying data to
the user. Possible uses include help messages, tables of
information, and debugging.
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
9-22
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Database Cycling
Activity: Reading a Text File
Modify the L-Shape program to read in the dimensions from a text file
based on the selection of a configuration from a menu.
Replace the PARAM/ statement with the following
CHOOSE/ statement
CHOOSE/’Select Configuration’,$
’LSHAPE 1’,$
’LSHAPE 2’,$
’LSHAPE 3’,$
’LSHAPE 4’,$
’LSHAPE 5’,resp
Fetch the text file grp_lshape.dat and read data from
each line until the correct dash" number is found.
READ/2, IFEND, CANCEL:,dsh,bw,tw,tht,tpht
The text file contains the following lines of data:
1,.25,1,2,.5
2,.5,1.5,4,1
3,1,2,6,2
4,1.5,3,8,3
5,2,5,10,5
EDS
All Rights Reserved
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
GRIP Fundamentals
Student Guide
9-23
Database Cycling
(This Page Intentionally Left Blank)
ÉÉÉ
9
ÉÉÉ
ÉÉÉ
9-24
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Object Access
Object Access
Lesson 10
Objectives
Understand Layer Control.
Understand Layer Categories.
Control object selection in a GRIP program.
Obtain object information.
Use Global Parameter Access Symbols to control the Unigraphics
environment.
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
10-1
Object Access
Categories and Layer Control
The GRIP statements used to control layers perform the same functions which
are defined in Unigraphics using Layer Setting dialogs. The LAYER command
controls which layers are selectable in a Unigraphics part.
Below is the GRIP layer control statement which will be described in this
manual, as well as the commands to access objects and remove, hide, or delete
objects in a partfile.
Table 10-1
Layer Control and Modification Command
Function
Format
Layer
Control
LAYER/{[WORK,n],
[ACTIVE,{REST|layer list [,CAT,'cat']}]
[REF,{REST|layer list[,CAT,'cat']}],
[INACT,{REST|layer list[,CAT,'cat']}]}
Create
Category
CAT/'name'{,layer list|,CAT,'cat'}
[,DESCR,'description'][,IFERR,label:]
Edit Category
CATE/'name'{,ADD|,REMOVE}
[layer list][,CAT,'cat list']
[,DESCR,'description'][,IFERR,label:]
Delete Category
CATD/'name'[,IFERR,label:]
Query Category
CATV/'name'[,LAYER,layers,CNT,count]
[,DESCR,'description'][,IFERR,label:]
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
10-2
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Object Access
LAYER: Layer Control
Synopsis
LAYER/[WORK,n],
[ACTIVE,{REST|layer list[,CAT,'cat']}],
[REF,{REST|layer list[,CAT,'cat']}],
[INACT,{REST|layer list[,CAT,'cat']}]
Description
Establishes the operating status of the 256 available layers.
You can use the EDA &LAYER to later change the layer of a
specified object.
Parameters
WORK
Minor word which indicates that the following parameter will
establish the work layer. The work layer is the only layer on
which objects may be created.
n
The number of the work layer.
ACTIVE
Minor word which indicates that the following minor word or
list will establish the active layers. Objects on active layers are
visible and selectable.
REF
Minor word which indicates that the following minor word or
list will establish the reference layers. Objects on reference
layers are visible, but not selectable.
INACT
Minor word which indicates that the following minor word or
list will establish the inactive layers. Objects on inactive layers
are neither visible nor selectable.
REST
Minor word which follows each of the minor words ACTIVE,
REF and INACT and may appear only once in a layer statement.
REST indicates that the status of all layers not previously
determined in the statement will assume the status of the
preceding minor word.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
10-3
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
Object Access
layer list
Each of the minor words ACTIVE, REF, and INACT may be
followed by an optional list of layer numbers separated by
commas which will assume the status of the associated minor
word. The layer list may contain either a list of layer values
separated by commas and/or a subrange of layers (1..256).
CAT
Minor word which indicates that an existing category name will
be specified.
'cat'
A string or string variable which represents a previously defined
layer category name which, if used, must be last in the layer list.
'cat'
A string or string variable which represents a previously defined
layer category name. This string cannot contain any blanks.
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
10-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Object Access
CAT: Create Layer Category
Synopsis
CAT/'name'[,layer list][,CAT,'cat'][,DESCR,'description']
[,IFERR,label:]
Description
Allows specified layers to be grouped together and given a name
which may subsequently be used in the layer statement. You
can use categories to manage ranges or sets of layers at one
time. Category members may overlap, and a layer may be a
member of an unlimited number of categories.
For example, you may be working on an assembly of a product,
detailing one of the parts. You could create a category and give
it the name of the part. The category would contain the layers
which hold the part dimensions, notes and title block, geometry,
etc. You could then automatically activate the entire part by
activating that category.
You can also create a description for the category by using the
minor word DESCR followed by the description string. The
description string can be a maximum of 80 characters long.
If you specify an existing category name, this command
completely redefines the category.
NOTE
Parameters
The layer list and minor word CAT are both optional
parameters. However, if neither is specified, the system
doesn't generate an error message and it doesn't create
any categories. You should specify either one or both of
these optional parameters to create a category.
'name'
The category name which may be up to 30 characters long and
must start with an alpha character.
layer list
A list of layer numbers separated by commas and/or a subrange
of layers.
CAT
Minor word indicating that an existing category name will be
specified.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
10-5
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
Object Access
'cat'
A string or string variable which represents a previously defined
layer category name. This string cannot contain any blanks.
DESCR
Minor word indicating that a description will be specified for
the category.
'description'
A description string of up to 80 characters.
IFERR,label:
Specifies a label to which program execution jumps if an error
occurs.
Example
This example demonstrates the creation of a category
containing several layers and a description.
Create Category
CAT/'DIMS', 10..20, DESCR,'Dimensions, Symbols, and Notes'
The layers containing the dimensions, drafting symbols and
notes (layers 10 through 20) are now grouped into the category
called DIMS. A description of the category's contents
accompanies DIMS. At this point, if the complete assembly was
active (layers 1Ć256), you could look at just the dimensions by
making all layers (except the work layer) INACTIVE, then
ACTIVATING the category DIMS.
LAYER/WORK,10,ACTIVE,CAT,'DIMS',INACT,REST
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
10-6
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Object Access
CATE: Edit Category
Synopsis
CATE/'name'{,ADD|,REMOVE}
[,layer list][,CAT,'cat list'][,DESCR,'description']
[,IFERR,label:]
Description
Allows you to edit existing categories. To edit a category, you
must specify one of the minor words, ADD or REMOVE. Both
of these minor words apply to the layer list, category list, and
description field. When the minor word DESCR is present, the
description string is required when adding, but is optional and is
ignored when removing.
Parameters
'name'
The name of the existing category to edit.
ADD
Minor word which enables you to add layers or to add or change
the description field.
REMOVE
Minor word which enables you to remove layers or the
description field.
layer list
A list of layer numbers separated by commas and/or a subrange
of layers. To specify a subrange of layers, use two periods to
specify the range. For example, use 11..20 to specify layers
11-20.
CAT
Minor word specifies the use of an existing category name.
'cat list'
A string list which represents previously defined layer category
names. The strings cannot contain any blanks.
DESCR
Minor word indicates that there is a description for the
category.
'description'
A description string of up to 80 characters.
IFERR,label:
Specifies a label to which program execution jumps if an error
occurs.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
10-7
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
Object Access
CATD: Delete Category
Name
CATD
Synopsis
CATD/'name'[,IFERR,label:]
Description
Allows you to delete a category.
Parameters
'name'
The name of the existing category to delete.
Delete Category
IFERR,label:
Specifies a label to which program execution jumps if an error
occurs.
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
10-8
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Object Access
CATV: Query Category
Synopsis
CATV/'name'[,LAYER,layers,CNT,count][,DESCR,'description']
[,IFERR,label:]
Description
Allows you to query the layers and the description in a category.
Parameters
'name'
The name of the existing category to query.
LAYER
Minor word which indicates that you want to verify the layers.
layers
The layers in the category are returned in this numeric array.
This array should be large enough to hold the layers in the
category.
CNT
Minor word which indicates the following number variable is the
return area for the number of layers in the category.
count
Numerical return value which holds the actual count of layers in
the category.
DESCR
Minor word indicates that you want to verify the description.
'description'
A return area for the description string which can consist of up
to 80 characters.
IFERR,label:
Specifies a label to which program execution jumps if an error
occurs.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
10-9
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
Object Access
Object Control
In Unigraphics, the selection of objects can be controlled by the user using the
Unigraphics Class Selection Menu, blanking status, layer status, and group
status. In a GRIP program, various methods of specifying and selecting objects
are available.
Many GRIP commands accept an entity list as an argument to the
command. An entity list is a list of object variable names. These
variables can reference simple objects, object arrays, and groups of
objects. NO TAG shows a variety of entity lists used with the
DELETE statement.
Example
ENTITY/
.
.
.
DELETE/
DELETE/
DELETE/
refpt,pt(100),gp, ln(60)
refpt, gp
pt(2), pt(6), pt(8)
pt(30..60), ln
The MASK statement controls the selection of objects according to
their type. For instance, only circles can be selectable as in NO TAG
Example
MASK/ 5
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
10-10
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Object Access
The GRIP Statements used to temporarily hide objects from the display and
delete objects from the database are included in this section. The statement
used to obtain information about objects in the database and to filter on the
types of objects to be selected are also covered.
Table 10-2
Layer Control and Modification Command
Function
Format
Mask objects(s)
MASK/{ALL|NONE|[OMIT,],obj type list}
TYPF of object
num = TYPF(obj)
Obtain object
information
OBTAIN/obj,variable list
Draw Screen
DRAW/{ON|OFF|ALL|obj list}
Delete object(s)
DELETE/{obj list|ALL}
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
10-11
Object Access
MASK: Class Selection
Synopsis
MASK/{ALL|NONE|[OMIT,],obj type list}
Description
Changes the selectable status associated with a particular object
type to valid or invalid.
The MASK statement can be used to make only certain objects
selectable by their object type. For example, you may want to
delete all objects except lines. No matter what the lines are
named (even if they are not named) they can be made
non-selectable by their object type.
ENTITY/PT1,CR(2),L(3),LN1,L1
PT1=POINT/0,0
CR(1)=CIRCLE/1,1,.5
CR(2)=CIRCLE/2,2,1
LN1=LINE/0,0,1,1
L(1)=LINE/2,2,3,3
LINE/3,4,1,6
MASK/OMIT,3
DELETE/ALL
Parameters
ALL
Minor word that indicates that all of the object types in the data
model are valid and selectable.
NONE
Minor word that indicates that all of the object types in the data
model are invalid and not selectable.
OMIT
Minor word that indicates that all of the following object types
in the data model are invalid and not selectable. If the minor
word OMIT is not used, only those object types included in the
list will be valid and selectable.
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
obj type list
A list of object types. See the following table for allowed object
type values.
10-12
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Object Access
Object Type
Value
Point
2
Line
3
Circle
5
Conics
6
BĆcurve
9
Pattern
10
Boundary
14
Groups
15
Cylinder Face
16
Cone Face
17
Sphere Face
18
Revolved Face
19
Extruded Face
20
Planar Face
22
Blend Face
23
Drafting Object
25
Dimension
26
Margin
29
B-Surface face
43
Coordinate System
45
Plane
46
Component
63
Offset surface face
65
Foreign surface face
66
Solid/sheet body
70
Face
71
Edge
72
Section Edge
199
Silhouette
201
Section Line
202
EDS
All Rights Reserved
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
GRIP Fundamentals
Student Guide
10-13
Object Access
NOTE
Types 16-20, 22, 43, 65, and 66 are special cases of a face
(type 71). Cylindrical, conical, etc. solid and sheet bodies
correspond to type 70. For example, type 16 corresponds
to the cylindrical face of a solid cylinder or the face of a
cylindrical sheet body. It is not the solid or sheet
cylinder: That object is a type 70.
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
10-14
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Object Access
TYPF: Object Type
Synopsis
num = TYPF(obj)
Description
Returns an integer which represents the type of object in the
argument.
Parameters
obj
An existing object.
For a complete list of all Unigraphics object types, see
Appendix C.
Example
This example demonstrates the use of the TYPF statement to
extract the object type number from several objects.
Declarations
ENTITY/PT1,LN1,DIM1
STRING/STR1(20)
Geometry Definition
PT1=POINT/0,0
LN1=LINE/0,0,1,1
DIM1=LDIM/HORZ,.5,2,PT1,XLARGE,LN1
STR1='THE OBJECT NUMBER='
Object type
NUMPT1=TYPF(PT1)
NUMLN1=TYPF(LN1)
NUMDIM=TYPF(DIM1)
The numerical variables would be assigned values as follows:
Variable
Numerical Value Extracted
NUMPT1
2
NUMLN1
3
NUMDIM
26
You might want to continue your program to send the value to
your message monitor as follows:
MESSG/STR1+ISTR(NUMPT1)
MESSG/STR1+ISTR(NUMLN1)
MESSG/STR1+ISTR(DIMNUM)
You could also write a GRIP program to cycle through your data
base and find all dimensions (26) and delete them.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
10-15
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
Object Access
The type EDAs are listed below:
Function
EDA Symbol
Access
Type
Data Type
Object Type
&TYPE(obj)
RO
Number
Object Subtype
&SUBTYP(obj)
RO
Number
Some objects have a type and a subtype. The &TYPE and
&SUBTYP EDAs can be used in conjunction with each other as
follows:
ENTITY/ obj
NUMBER/objtyp, objsub
objtyp = &TYPE(obj)
objsub = &SUBTYP(obj)
IFTHEN/ objtyp == 25
IFTHEN/ objsub == 1
MESSG/ ’Object is a Note’
ELSEIF/ objsub == 2
MESSG/ ’Object is a Label’
ENDIF
ENDIF
HALT
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
10-16
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Object Access
OBTAIN: Object Information
Synopsis
OBTAIN/obj,variable list
Description
Causes the numerical data stored with an object to be assigned
to numerical variables.
Parameters
obj
The existing object from which the variables in the variable list
are set.
variable list
The variables which are assigned the parameter values obtained
from the object. The number of variables required and/or their
position in the list is dependent on the object type. Although
the number of variables in the list and the number of
parameters obtained do not have to be the same, the sequence
of the variables in the list is extremely important. Any
unmatched variables or parameters are ignored.
The following table consists of the various object types, the
parameters which may be obtained, and their relative positions.
See the GRIP Programming Manual for information concerning
items highlighted by single, double, and triple asterisks (*).
Object
Type
Object
Type #
Point
2
Parameters and Definitions
OBTAIN/obj,X,Y,Z
obj ĆĆ point object name
X ĆĆ coordinate
Y ĆĆ coordinate
Z ĆĆ coordinate
Line
3
OBTAIN/obj,X1,Y1,Z1,X2,Y2,Z2
obj
X1
Y1
Z1
X2
Y2
Z2
EDS
All Rights Reserved
ĆĆ line object name
ĆĆ start point X coordinate
ĆĆ start point Y coordinate
ĆĆ start point Z coordinate
ĆĆ end point X coordinate
ĆĆ end point Y coordinate
ĆĆ end point Z coordinate
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
10-17
Object Access
Object
Type
Circle
Object
Type #
5
Parameters and Definitions
OBTAIN/obj,X,Y,Z,R,A1,A2
obj
X
Y
Z
R
A1
A2
Ellipse
6
ĆĆ circle object name
ĆĆ center point coordinate
ĆĆ center point coordinate
ĆĆ center point coordinate
ĆĆ radius
ĆĆ start angle of arc
ĆĆ end angle of arc
OBTAIN/obj,X,Y,Z,S1,S2,ROT,A1,A2
obj ĆĆ ellipse object name
X ĆĆ center point coordinate
Y ĆĆ center point coordinate
Z ĆĆ center point coordinate
S1 ĆĆ semiĆmajor axis length
S2 ĆĆ semiĆminor axis length
ROT ĆĆ rotation angle
A1 ĆĆ start angle of conic
A2 ĆĆ end angle of conic
Hyperbola
6
OBTAIN/obj,X,Y,Z,S1,S2,ROT,YMIN,
YMAX
obj ĆĆ hyperbola object name
X ĆĆ center point coordinate
Y ĆĆ center point coordinate
Z ĆĆ center point coordinate
S1 ĆĆ semiĆtransverse axis length
S2 ĆĆ semiĆconjugate axis length
ROT ĆĆ rotation angle
YMINĆĆ minimum Y distance
YMAXĆĆ maximum Y distance
Parabola
6
OBTAIN/obj,X,Y,Z,F,ROT
obj ĆĆ parabola object name
X ĆĆ vertex coordinate
Y ĆĆ vertex coordinate
Z ĆĆ vertex coordinate
F ĆĆ focal length
ROT ĆĆ rotation angle
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
10-18
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Object Access
Object Display Control
When you use a statement to create an object such as:
LN = LINE/1,1,2.5,3.7
the object is added both to the data model, and to a list of objects (called the
display list or display buffer) to be displayed. However, the object is not
displayed on the screen.
In order for you to see the objects in the buffer displayed on the screen, one of
these conditions must occur:
Buffer becomes full (normally 511 objects).
Execution reaches an interactive command.
A DRAW/ALL or DRAW/obj statement is reached
Execution reaches a HALT statement.
A runĆtime error occurs.
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
10-19
Object Access
DRAW: Control Object Display
Synopsis
DRAW/{ON|OFF|ALL|obj list}
Description
Controls the display of objects. When an object is defined, it is
added to the database and also to the display list. The display
list which may contain up to 511 objects is periodically emptied
and the objects displayed. This display takes place under one of
the following occurrences:
Before any interactive command is executed.
When the HALT function is executed.
When the display list is full.
When a run time error occurs.
When you issue the DRAW/ALL command.
Parameters
ON
Minor word that causes normal display operations to occur,
including adding subsequently defined objects to the display list.
DRAW/ON is the default.
OFF
Minor word that suspends all display operations. This includes
not adding subsequently defined objects to the display list, as
well as not changing the display for commands such as VIEWE
(Edit View) or LAYR(Retrieve Layout). If you want to see the
result of these while DRAW/OFF is in effect, use DRAW/ALL,
which ignores the DRAW/OFF setting. While in effect,
DRAW/OFF also suppresses temporary display such as asterisks
and arrows.
ALL
Minor word that regenerates the display of all objects including
those which were previously inhibited (either interactively or
with the DRAW/OFF command). The display list is emptied
and rebuilt to include the regenerated objects. This minor word
does not change the display state as specified by DRAW/ON or
DRAW/OFF.
obj list
Causes all objects in the object list, which may have been
inhibited, to be added to the display list. If the object is a
group, it is not displayed. If you wish to display group members,
you must put each in a separate statement.
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
10-20
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Object Access
Example
This example demonstrates the use of the DRAW statement.
Declarations
ENTITY/LN1,LN2,LN3,LN4,CR1,CR2
Geometry Definition
LN1=LINE/Ć2,0,0,Ć1
LN2=LINE/0,Ć1,0,1
LN3=LINE/0,1,Ć2,0
Draw Statement
DRAW/OFF
CR1=CIRCLE/Ć.625,0,.5
CR2=CIRCLE/.625,0,.5
Draw Statement
DRAW/ON
LN4=LINE/Ć2,0,0,0
HALT
Figure 10-1 Use of the DRAW/OFF and DRAW/ON statements
NOTE
If certain system and drafting parameters such as the line
font, dash size, and character size have been changed, the
objects in the display list will assume those characteristics.
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
10-21
Object Access
Example
This example demonstrates the use of the DRAW statement.
Declarations
ENTITY/LN1,LN2,LN3,LN4,CR1,CR2
Geometry Definition LN1 = LINE/Ć2,0,0,Ć1
LN2= LINE/0,Ć1,0,1
LN3= LINE/0,1,Ć2,0
Draw Statement
DRAW/OFF
CR1= CIRCLE/Ć.625,0,.5
CR2= CIRCLE/.625,0,.5
Draw Statement
DRAW/ON
LN4 = LINE/Ć2,0,0,0
Draw Statement
DRAW/CR1,CR2
HALT
Figure 10-2 Use of the DRAW/OFF, DRAW/ON and DRAW/obj statements
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
10-22
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Object Access
DELETE: Delete
Synopsis
DELETE/{obj list|ALL}
Description
Permanently removes objects from the viewing screen and the
data model.
NOTE
To remove a component, use the DELETE command.
NOTE
Sectioning objects, including section lines and system
generated crosshatching, cannot be deleted using the
DELETE command. Use the VIEWD command to
remove the section view. If a detail of a section view is
removed, the section line remains intact until removal of
the parent section view.
obj list
A list of existing objects which are to be deleted.
Parameters
ALL
Minor word which indicates that all objects which satisfy the
following conditions are to be deleted:
1. must be a selectable object type/subtype
2. must not be blanked
3. must reside on a layer which is selectable in the work
view
This example demonstrates the use of the DELETE statement.
ENTITY/P(3),LN1,CR1
Example
Declarations
Geometry Definition
P(1)=POINT/0,Ć.5
P(2)=POINT/0,0
P(3)=POINT/1,1.5
LN1=LINE/Ć1,.5,1,.5
CR1=CIRCLE/CENTER,P(1),TANTO,LN1
Objects Deleted
DELETE/LN1,P
NOTE
Objects which may be necessary for the construction of
other objects, such as the line LN1, may be deleted when
they are no longer of any value.
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
All of the points in the array P are deleted.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
10-23
Object Access
Global Parameter Access (GPA) Symbols
Global Parameter Access (GPA) symbols allow you to access the global
preferences of a part while in a GRIP program. The global preferences you
have available include many of the parameters found in the Modeling and
Drafting Preference and WCS pulldown menus. The first character of a GPA is
always an ampersand (&) followed by from 1 to 6 alpha characters.
Each GPA symbol is associated with either a unique global parameter, or a
constant, and has an access type, a data type, and a data range. Access types,
data types and ranges are described below.
Access Type (Read and Write Options) of GPA Functions
Access type defines the read/write status of the GPA. GPAs contain data which
can be extracted (read) for use in your program. Some symbols allow you to
directly alter the data (write) by assigning the properly valued data to the GPA.
Abbreviations of access types used in the GPA format summary are as follows:
RO
(read only)
WO (write only)
RW
(read write)
C
(constant) read only
Data Types Assigned to GPAs
Data type defines whether a particular GPA is entity, number, or string valued.
The data associated with a GPA, if entity valued, must be treated like an object
as it is assigned or extracted. If you read an entity valued GPA and assign the
data to a variable, the variable must be declared as an ENTITY.
The data types for GPA symbols are the following:
NUMERICAL
ENTITY
STRING
NUMERICAL ARRAY
OF DIMENSION(I)
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
10-24
GRIP Fundamentals
Student Guide
(N)
(E)
(S)
(NA(I))
EDS
All Rights Reserved
Unigraphics NX 2
Object Access
Entity Valued GPAs
Entity valued GPAs return a specific object from the work part. Variables
which store these values must be declared with the ENTITY/ statement.
Example
Part attribute entity valued GPA
ENTITY/PART
PART=&PARATT
Number Valued GPAs
Number valued GPAs return a number within a specified range. Variables
which store these values should be declared with the NUMBER/ statement.
Example
Part units number valued GPA
NUMBER/ unts
unts = &UNIT
IFTHEN/ unts == 1
val=val/25.4
ENDIF
String Valued GPAs
String valued GPAs, when assigned to a variable, must be declared as a
STRING as illustrated in the example below.
Example
Work view string valued GPA
STRING/cur_view(30)
cur_view = &WORKVW
.
.
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
10-25
Object Access
GPA Range
The data range represents the set of values the global parameter may assume.
Range defines the value which can be assigned to a GPA. Some GPAs have
multiple parameters (e.g. &ON or &OFF) which have numerical values that lie
within their range. These parameter options have a constant, single numerical
value which cannot be changed (e.g. the value of &ON is always 1). The range
of string valued GPAs is defined in a number of characters allowed in the string
(e.g. &DEFCLS has a range of 8 characters).
System Constants
The GPAs that deal with module preferences are not associated with any other
GPAs and have no data type, access type, or range. These GPAs are as follows:
&NULENT
&NULSTR
&PI
&NULENT determines if an object identifier exists in the data base by testing
its status. LN1 could be tested as follows:
Example
Using the &NULENT GPA constant
IF/LN1<>&NULENT,DELETE/LN1
If LN1 is not a null object, it will be deleted. This can be used to avoid run time
errors when the DELETE statement is used with a null object.
&NULSTR works like &NULENT except that it tests to see if a string has no
characters. For example, you could test to see if STR contained any characters
as follows:
Example
Using the &NULSTR GPA constant
IF/STR==&NULSTR,JUMP/LBL010:
.
.
.
LBL010:TEXT/’NO CURRENT TXT–ENT TEXT’,STR,RESP
JUMP/LBL010:,TERM:,,,,RESP
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
If STR was a null string, the user will be prompted to enter the text.
10-26
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Object Access
&PI contains the constant value for PI. It can be used anywhere a numerical
value is valid.
Example
The &PI GPA constant
ENTITY/PT1,PT2,CR1
PT1=POINT/0,0
PT2=POINT/1,1.5
CR1=CIRCLE/CENTER,PT1,PT2
R=&RADIUS(CR1)
ANS=&PI*(R**2)
ANS would equal the area of CR1.
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
10-27
Object Access
Active Part Status
Function
GPA Symbol
Access
Type
Active Part Status
&ACTPRT
R/O
Data Type
Number
[1..2]
For the &ACTPRT GPA, the following values are returned:
1 = No Active Part
2 = Active Part
In programs that create or access part file information, a check
should typically be made to insure that a part file is active. This
can be done using the &ACTPRT GPA, as follows
Example
IFTHEN/ &ACTPRT == 1
MESSG/ ’Active part not available’,$
’Open file and restart program’
JUMP/ CANCEL:
ENDIF
Decimal Places
Function
GPA Symbol
Places Past Decimal &DECPL
Point
Access
Type
R/W
Data Type
Number
[0..9]
Controls the places displayed to the right of the decimal for
numerical displays. This GPA affects the decimal places
displayed for numerical displays, such as the PRINT command.
&DECPL also affects the FSTRL and FSTR functions discussed
in Chapter 7.
Example
NUMBER/sv_decpl
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
sv_decpl = &DECPL
$$ save original
&DECPL = 2
PRINT/ ’Current hole radius = ’+FSTRL(hr)
&DECPL = sv_decpl
$$ restore original
10-28
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Object Access
Work Layer
Function
GPA Symbol
Current Work Layer &WLAYER
Access
Type
R/W
Data Type
Number
[1..256]
Controls or returns the number of the current work layer.
Example
NUMBER/sv_wlayer
sv_wlayer
&WLAYER =
hol_arc =
&WLAYER =
= &WLAYER
$$ save original
50
CIRCLE/ xc, yc, zc, hr
sv_wlayer
$$ restore original
Work View
Function
GPA Symbol
Access
Type
Data Type
Current Work View
&WORKVW
R/W
String
30 characters
Changes or returns the current work view. When changing the
work view, the desired new work view must be a part of the
current layout.
Example
STRING/ sv_workvw(30)
sv_workvw = &WORKVW
&WORKVW = ’RIGHT’
.
.
&WORKVW = sv_workvw
$$ save original
$$ restore original
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
10-29
Object Access
Unit of Measurement
Function
GPA Symbol
Examine Unit of
Measurement
&UNIT
Access
Type
R/O
Data Type
Number
[1..2]
For the &UNIT GPA, the following values are returned:
1 = Inches
2 = Millimeters
Example
IFTHEN/ &UNIT == 1
MESSG/ ’Part is English’
ELSE/
MESSG/ ’Part is Metric’
ENDIF
User ID
Function
GPA Symbol
Access
Type
User Identification
String
&USERID
RO
Data Type
String
30 Char
Returns the current user ID to a receiving variable or GRIP
statement.
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
10-30
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Object Access
Activity: Entity Cycling
Write a GRIP program to cycle through selectable objects in a part file,
move the objects to different layers based on their type, and create layer
categories.
Open the part grp_cycle.prt.
Create the following layer categories:
Category Name
Layer
MODEL
SOLIDS
CURVES
DATUMS
1-100
1-20
41-60
61-80
Use the INEXTE and NEXTE commands to cycle
through selectable objects.
Move the following type objects to the layers shown:
Object
Type(s) Layer
Solid
70
Lines and Arcs
Datum Planes and Axes
3,5
1
196, 197
41
61
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
10-31
Object Access
(This Page Intentionally Left Blank)
ÉÉÉ
ÉÉÉ
10
ÉÉÉ
ÉÉÉ
10-32
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Transformations
ÉÉÉ
ÉÉÉ
11
ÉÉÉ
ÉÉÉ
Transformations
Lesson 11
Objectives
Recognize situations where transformations can be used to assist in
geometry creation.
Recognize the process for performing transformations in a GRIP
program.
Demonstrate understanding of the types of transformations that can
be performed in GRIP.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
11-1
Transformations
ÉÉÉ
ÉÉÉ
11
ÉÉÉ
ÉÉÉ
Introduction
The GRIP statements used to transform objects perform the same functions
defined in Unigraphics using the EditTransform option.
Transformations are performed in GRIP using a matrix. There are three steps
which must be followed as part of the transformation process, as described
below:
1. Construct the geometry which will be the subject of the
transformation.
2. Define the transformation matrix using the MATRIX command. This
statement provides a variety of transformation operations which
include: translation, scaling, mirroring, rotation, and combination
(reposition).
3. Once the matrix is defined, the transformation is performed by using
the matrix in the TRANSF major word.
GRIP does not allow transformation about a specific point or line in a single
step. The scaling and rotation commands operate about the WCS origin or one
of the principal axes, respectively. To perform these operations about another
origin, it is necessary to use a series of GRIP statements. These operations will
be described later in the chapter.
Matrices
A numerical matrix array is used by GRIP to process the transformation. This
matrix array operates on a previously defined object. The matrix array must be
declared as a numerical array with a dimension of 12 using the NUMBER/
statement. For example, the following declarations could be used to declare a
matrix array:
NUMBER/ tr_mat(12), mat_list(4,12)
In the second declaration, mat_list is a two dimensional array which contains
four matrices.
11-2
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Transformations
ÉÉÉ
ÉÉÉ
11
ÉÉÉ
ÉÉÉ
Graphic Image of a Matrix
1
0
0
0
0
1
0
0
0
0
1
0
Values for Scaling,
Mirroring, etc.
X
Y
Z
Translation
Figure 11-1 Identity or TRANSL/0,0,0 Matrix
Table 11-1
Transformation Commands
Function
Format
Transforms specified objects
using the defined matrix.
TRANSF/matrix,object
[,MOVE][,TRACRV]
Translates a delta distance
MATRIX/TRANSL,dx,dy,dz
Scales about the WCS origin
MATRIX/SCALE,
{scale|cx,cy,cz}
Mirrors about an existing line
or plane.
MATRIX/MIRROR,line|plane
Rotates about the ZC axis
MATRIX/XYROT,angle
Rotates about the XC axis
MATRIX/YZROT,angle
Rotates about the YC axis
MATRIX/ZXROT,angle
Combines 2 matrix operations MATRIX/matrix1,matrix2
The order is important.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
11-3
ÉÉÉ
ÉÉÉ
11
ÉÉÉ
ÉÉÉ
Transformations
TRANSF: Transformation
Synopsis
obj list = TRANSF/matrix,obj list[,MOVE][,TRACRV]
Description
Invokes various previously defined matrices that were created
by the MATRIX statement. Execution of this statement can
either cause new objects to be created, or the original objects to
be moved, and provides a means for generating trace curves.
By default, the execution of this transformation creates a copy
of the original objects and is object valued.
If you wish to move the original objects, you must use the minor
word MOVE. In this case, do not use the TRANSF statement as
an assignment.
Parameters
matrix
A previously defined matrix.
obj list
An existing object or an object list which may consist of object
arrays.
MOVE
Minor word which indicates that the specified object is to be
physically modified and that the modified object will remain on
its original layer. If MOVE is not specified, the system makes a
copy of the object, which then resides on the current work layer,
and the original object remains unchanged.
TRACRV
Minor word which indicates that trace curves are to be
generated as the object is moved. Trace curves, which are
straight line segments, are generated by the end points of the
curves. The trace curves will be straight lines even if the
transformed objects are rotated.
11-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Transformations
Example
This example demonstrates the transformation of several
objects using the TRANSF statement.
Trace curves are also created by specifying the TRACRV minor
word.
Declarations
ENTITY/LN(8)
NUMBER/MAT1(12)
Geometry Definition
LN(1)
LN(2)
LN(3)
LN(4)
Matrix Definition
MAT1 = MATRIX/TRANSL,0,0,1
Transformation
LN(5..8)=TRANSF/MAT1,LN(1..4),TRACRV
=LINE/.25,.25,3,.25
=LINE/3,.25,3,2
=LINE/3,2,.25,2
=LINE/.25,2,.25,.25
Figure 11-2 A transformation with trace curves
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
11-5
ÉÉÉ
ÉÉÉ
11
ÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉ
11
ÉÉÉ
ÉÉÉ
Transformations
MATRIX: Translate
Synopsis
matrix = MATRIX/TRANSL,dx,dy,dz
Description
Defines a matrix used to perform a linear transformation of a
delta distance in XC, YC, and ZC.
Parameters
TRANSL
Minor word which indicates that the values in the field which
follows will define a matrix which represents a translation vector
with work coordinates of dx, dy and dz.
dx, dy, dz
The delta distances or displacement values in each of the three
axes.
Example
This example demonstrates the creation of a circle (CR2) by
transforming a copy of CR1 using a translation matrix.
Declarations
ENTITY/CR1,CR2
NUMBER/MAT1(12)
Geometry Definition CR1 =CIRCLE/Ć1,Ć.5,.5
Matrix Definition
MAT1=MATRIX/TRANSL,2,1,0
Transformation
CR2 =TRANSF/MAT1,CR1
Figure 11-3 Translation matrix
11-6
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Transformations
ÉÉÉ
ÉÉÉ
11
ÉÉÉ
Defines a matrix which performs scaling about the origin of the ÉÉÉ
work coordinate system. NonĆuniform scaling may be applied to
MATRIX: Scale
Synopsis
Description
matrix = MATRIX/SCALE{,s|,xc,yc,zc}
curves and BĆsurfaces only.
Parameters
SCALE
Minor word which indicates that the value in the field which
follows represents a numerical scale factor by which a
transformation can be performed.
s
The scaling factor which must be greater than zero. If the scale
factor is less than one, the objects transformed will be reduced
in size. If the scale factor is greater than one, the objects
transformed will be enlarged.
xc, yc, zc
Allow you to apply different scale factors to the XC, YC, and
ZC axes rather than using one scale factor for all three
directions.
Example
Declarations
Geometry Definition
Matrix Definition
Transformation
Matrix Definition
Transformation
This example demonstrates the creation of two circles by
transforming CR1 using a scaling matrix.
ENTITY/CR1,CR2,CR3
NUMBER/MAT1(12)
CR1 =CIRCLE/0,0,.5
MAT1=MATRIX/SCALE,2
CR2 =TRANSF/MAT1,CR1
MAT1=MATRIX/SCALE,.5
CR3 =TRANSF/MAT1,CR1
XC
ZC
YC
Figure 11-4 Scale matrix
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
11-7
ÉÉÉ
ÉÉÉ
11
ÉÉÉ
ÉÉÉ
Transformations
MATRIX: Mirror
Synopsis
matrix = MATRIX/MIRROR,{line|plane}
Description
Represents a reflection of objects through a plane. The plane
may be normal to the current work plane by specifying a line
containing the plane, or the plane may be a previously defined
plane object anywhere in space.
Parameters
MIRROR
Minor word which indicates that the object in the field which
follows will define a matrix through which a transformation may
be performed.
line
An existing line which lies in an imaginary plane. The imaginary
plane is normal to the XY plane of the work coordinate system.
plane
An existing plane.
This example demonstrates the creation of two lines by
transforming two previously defined lines using a mirror matrix.
ENTITY/LN0,LN1,LN2,LN3,LN4
Declarations
NUMBER/MAT1(12)
Geometry Definition LN0 =LINE/0,1,0,Ć1
LN1 =LINE/Ć1.5,.5,Ć.5,0
LN2 =LINE/Ć1.5,Ć.5,Ć.5,0
MAT1=MATRIX/MIRROR,LN0
Matrix Definition
LN3 =TRANSF/MAT1,LN1
Transformation
LN4 =TRANSF/MAT1,LN2
Example
Figure 11-5 Mirror matrix
11-8
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Transformations
ÉÉÉ
ÉÉÉ
11
ÉÉÉ
ÉÉÉ
MATRIX: Rotate
Synopsis
matrix = MATRIX/{XYROT|YZROT|ZXROT},angle
Description
Represents the rotation in a principal plane of the work
coordinate system about the axis normal to the plane. The
principal planes are XY, YZ, and ZX.
Parameters
XYROT, YZROT, ZXROT
Minor words which indicate the principal plane in which
rotation will take place.
Rotation of objects takes place in the plane of the object,
parallel to the specified principal plane, if the object or objects
do not lie on that principal plane.
angle
A numerical value which is the desired angle of rotation. A
positive rotation is from the positive X axis to the positive Y axis
for XYROT, from the positive Y axis to the positive Z axis for
YZROT, and from the positive Z axis to positive X axis for
ZXROT.
Example
Declarations
This example demonstrates the creation of a circle (CR2) by
transforming CR1 using a rotation matrix in the XY principal
plane.
ENTITY/CR1,CR2
NUMBER/MAT1(12)
Geometry Definition
CR1 =CIRCLE/1,Ć.5,.5
Matrix Definition
MAT1=MATRIX/XYROT,45
Transformation
CR2 =TRANSF/MAT1,CR1
Figure 11-6 Rotation matrix
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
11-9
ÉÉÉ
ÉÉÉ
11
ÉÉÉ
ÉÉÉ
Transformations
MATRIX: Multiple Transformations (Concatenation)
Synopsis
matrix = MATRIX/matrix1,matrix2
Description
Represents the product of two previously defined matrices.
This matrix can be used to reposition objects, performing two
transformations at the same time (e.g., translating and rotating,
translating and scaling).
Parameters
matrix1,matrix2
Two previously defined matrices which will be combined into
one.
NOTE
The resulting geometry will depend on the order in which
the previously defined matrices are specified. Matrix 1
will be applied to the geometry first, followed by matrix 2.
Example
This example demonstrates the creation of a series of mounting
slots by transforming an existing slot using a reposition matrix.
This example also demonstrates the use of a single numerical
array and subscripted variable names for the matrices.
Declarations
ENTITY/LN(2),CR(3),PT(2),GRP(6)
NUMBER/MAT(4,12)
Geometry Definition CR(1)=CIRCLE/0,0,4
LN(1)=LINE/2,.25,3,.25
LN(2)=LINE/2,Ć.25,3,Ć.25
PT(1)=POINT/2,0
PT(2)=POINT/3,0
CR(2)=CIRCLE/CENTER,PT(1),RADIUS,.25,START,90,EN
D,270
CR(3)=CIRCLE/CENTER,PT(2),RADIUS,.25,START,270,EN
D,90
GRP(1)=GROUP/LN,CR(2..3),PT(1),PT(2)
Matrix Definition
MAT(1,1..12)=MATRIX/TRANSL,Ć1,0,0
MAT(2,1..12)=MATRIX/XYROT,45
MAT(3,1..12)=MATRIX/MAT(1,1..12),MAT(2,1..12)
Transformation
GRP(2)=TRANSF/MAT(3,1..12),GRP(1)
GRP(3)=GROUP/GRP(1..2)
Matrix Definition
MAT(4,1..12)=MATRIX/XYROT,90
11-10
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Transformations
Transformation
ÉÉÉ
ÉÉÉ
11
ÉÉÉ
ÉÉÉ
GRP(4)=TRANSF/MAT(4,1..12),GRP(3)
GRP(5)=TRANSF/MAT(4,1..12),GRP(4)
GRP(6)=TRANSF/MAT(4,1..12),GRP(5)
Repositioned
slot
Original
slot
Figure 11-7 Repositioning of objects
Example
Declarations
Geometry Definition
Matrix Definition
Transformation
Matrix Definition
Transformation
This example demonstrates the creation of two circles by
transforming a previously defined circle using a reposition
matrix. In this case, the object has been rotated and scaled.
ENTITY/CR1,CR2,CR3
NUMBER/MAT1(12),MAT2(12),MAT3(12)
CR1 =CIRCLE/0,.5,.25
MAT1=MATRIX/XYROT,Ć90
MAT2=MATRIX/SCALE,2
MAT3=MATRIX/MAT1,MAT2
CR2 =TRANSF/MAT3,CR1
MAT1=MATRIX/XYROT,90
MAT3=MATRIX/MAT2,MAT1
CR3 =TRANSF/MAT3,CR1
Figure 11-8 Multiplication matrices
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
11-11
ÉÉÉ
ÉÉÉ
11
ÉÉÉ
ÉÉÉ
Transformations
Activity Transforming the LĆShape
This project will provide practice in using DO loops, transformations, and
subscripted variables.
Follow these directions:
11-12
Mirror the image created in the LĆShape activity about its
leftmost vertical line to create a new shape that looks like a
T". Use only one transformation command (TRANSF/).
Use a DO loop and subscripted variables so that each new
line that is created is assigned a unique variable name.
Delete the vertical line that was used as the mirror line.
Check for an active part in the beginning of you program.
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Functions
Functions
Lesson 12
Objectives
Demonstrate an understanding of the variety of mathematical, string,
and entity functions available in GRIP.
Recognize possible uses of these functions.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
12-1
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
Functions
Processing Arithmetic Expressions
An arithmetic expression is the combination of constants, variables, and
arithmetic operators. In an arithmetic expression, the operators are evaluated
in the same order as in FORTRAN.
The hierarchy of these operators is shown below. The operators with the
highest priority are at the top and the operators with the lowest priority are at
the bottom. In cases where operators of equal priority appear in an expression,
the system will evaluate the expression from left to right.
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
Priority
Operator Meaning
Examples
Highest
**
/ *
+ =
A**B
2/3, 2*3
4+2
C=A–D
Lowest
Exponentiation
Division & Multiplication
Addition & Subtraction
Assignment
Parentheses
The order in which the operations in an expression are performed can be
controlled using parentheses. Expressions within parentheses are evaluated
before expressions without parentheses. If expressions in parentheses are
nested within expressions in parentheses, the expression in the innermost set of
parentheses is evaluated first.
Example
Use of Parentheses
The use of parentheses in the evaluation of numerical
expressions is shown below.
4+2*5–12/3
(4+2)*5–12/3
4+2*(5–12/3)
4+2*((5–12)/3)
12-2
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
=
=
=
=
10
26
6
–2/3
Unigraphics NX 2
Functions
Mathematical Functions
The tables below describe the mathematical functions available in GRIP
Table 12-1
Arithmetic Functions
Format
Description
SQRTF(number)
Returns the square root of the number.
ÉÉÉ
12
ÉÉÉ
Returns e" raised to the power of the ÉÉÉ
number.
ÉÉÉ
LOGF(number)
Returns the natural log of the number.
EXPF(number)
ABSF(number)
Returns the absolute value of the
number.
INTF(number)
Returns the integer portion of the
number.
MODF(num1,num2)
Returns the remainder of the division
of num1 by num2.
MINF(num1,num2,...,numN)
Returns the smallest number.
MAXF(num1,num2,...,numN)
Returns the largest number.
Table 12-2
Trigonometric Functions
Format
Description
SINF(angle)
Returns the sine of the angle.
COSF(angle)
Returns the cosine of the angle.
ASINF(number)
Returns the angle whose sine is 'number'.
ACOSF(number) Returns the angle whose cosine is 'number'.
ATANF(number) Returns the angle whose tangent is 'number'.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
12-3
Functions
Standard mathematical functions are available in GRIP for arithmetic and
trigonometric functions. These functions return either numbers or angles.
Vector functions are not described in this manual. Mathematical functions are
characterized as follows:
The function names end with the letter F.
The function operates on the number or expression within parentheses
following the function.
Example
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
The examples below are all valid uses of SQRTF function:
D = SQRTF(9)
dia = 4*(SQRTF(18+63) + 2*r)
c = SQRTF(a**2 + b**2)
12-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Functions
Arithmetic Functions
The GRIP arithmetic functions are listed in Table 12-1. Presented below is a
short description and example of each of the functions listed in Table 12-1.
SQRTF returns the square root of a number (0 or greater). Using the square
root function for an example:
Example
SQRTF
A=SQRTF(81)
A equals 9
LOGF returns the natural logarithm of a number (0 or greater) to a receiving
variable or GRIP statement.
Example
LOGF
X equals 0
X=LOGF(1)
EXPF returns the value of Y" by using the standard equation Y = eX, where
X" equals the natural log of the number Y", to a receiving variable or GRIP
statement. X" is represented by the value arg. EXPF is the inverse natural
logarithmic function.
Example
EXPF
ANS=EXPF(1)
ANS = 2.71828
ABSF returns the absolute or unsigned value of the argument to a receiving
variable or GRIP statement. The argument may be a numerical value, variable,
or expression:
Example
ABSF
X=ABSF(–50)
X equals 50
Y=150–200
X=ABSF(Y)
X equals 50
X=ABSF(150–200)
X equals 50
A=200
B=150
X=ABSF(B–A)
X equals 50
INTF returns the integer portion of the argument. The integer value is defined
by truncating the decimal portion of the number. The value in arg must be
between +32767 or invalid results will be returned.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
12-5
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
Functions
Example
INTF
A=INTF(4.9979)
A equals 4
MODF returns the remainder of the division arg/mod. The value returned will
be in the base of the denominator mod". Therefore, for most practical
applications the value mod should be used as an integer.
B=MODF(X,Y)
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
is equivalent to the following expressions:
A=X/Y
B=ABSF(A–INTF(A))*Y
Example
MODF
B=MODF(14,8)
B equals 6
num1=7.5
num2=3
C=MODF(num1,num2)
MODF equals 1.5
MINF returns the smallest numerical value in the argument list to a receiving
variable or GRIP statement. This statement is limited to 102 arguments.
Example
MINF
SMALL=MINF(–1,2,4,10,7)SMALL equals -1
MAXF returns the largest numerical value in the argument list to a receiving
variable or GRIP statement. This statement is limited to 102 arguments.
Example
MAXF
BIG=MAXF(–1,2,4,10,7)
12-6
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
BIG equals 10
Unigraphics NX 2
Functions
Trigonometric Functions
The GRIP trigonometric functions (SINF, COSF, ACOSF, and ATANF) are
listed in Table 12-2.
SINF, the sine function, returns the sine of the argument to a receiving variable
or GRIP statement. The returned value will be between -1 and 1 inclusive.
The range of the specified angle in degrees is infinite.
Example
SINF
SIN = SINF(95)
SIN = SINF(405)
SIN equals .9962
SIN equals .7071
In the examples above, SIN will equal the sine of the angle (i.e.,
95, or 405). The angle is in degrees, but may be a number,
numeric variable, or expression.
COSF, the cosine function, returns the cosine of the argument to a receiving
variable or GRIP statement. Although the returned value will be between -1
and 1 inclusive, the range of the specified angle in degrees is infinite.
Example
COSF
COS = COSF(95)
COS = COSF(405)
COS equals -.0872
COS equals .7071
In the examples above, COS will equal the cosine of the angle
(i.e., 95, or 405). The angle is in degrees, but may be a
number, numeric variable, or expression. Remember, tangent
equals sine divided by cosine:
C=SINF(angle)/COSF(angle)
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
12-7
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
Functions
ASINF, the arcsine function, returns an angle for which the argument is the sine
to a receiving variable or GRIP statement. The returned value will be between
-90 and 90 degrees inclusive.
Example
ASINF
ANG equals -30
ANG = ASINF(–.5)
ACOSF returns an angle for which the argument is the cosine to a receiving
variable or GRIP statement. The returned value will be between 0 and 180
degrees inclusive.
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
Example
ACOSF
ANG equals 60
ANG = ACOSF(.5)
ATANF returns an angle for which the argument is the tangent to a receiving
variable or GRIP statement. The returned value will be between -90 and 90
degrees inclusive.
Example
ATANF
ANG = ATANF(2.5)
12-8
GRIP Fundamentals
Student Guide
ANG equals 68.1986
EDS
All Rights Reserved
Unigraphics NX 2
Functions
String Functions
GRIP provides you with two types of string functions: string-valued and
number-valued. String-valued functions return character strings and
number-valued functions convert strings into numbers. Each are briefly
described below.
StringĆvalued Functions
Character valued functions either generate or manipulate characters in a string.
For example, the function BLSTR creates blank spaces in a string. Since blanks
are a form of a text character, BLSTR is character valued.
DATE
TIME
BLSTR(n)
CHRSTR(n)
DFSTR(n)
FSTR(n)
ISTR(n)
REPSTR(s1,s2,s3,p)
SUBSTR(s,p,c)
NumberĆvalued Functions
Number valued functions return numerical values concerning characteristics
pertaining to the specified characters. For example, the function ASCII returns
the ASCII equivalent of a specified character string in decimal form. Since
GRIP considers this a number, ASCII is a number valued function.
ASCII(s,p)
FNDSTR(s1,s2,p)
LENF(s)
VALF(s)
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
12-9
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
Functions
Return Current Date
Synopsis
str=DATE
Description
Returns the current date as a ten or twelve character literal string.
The format of the string is set by &FULLDT (see the following page).
&FULLDT supports the following formats:
mm--dd--yy
mm--dd--yyyy
mm-dd-yyyy
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
If you do not set &FULLDT, the DATE command defaults to the
following format:
mm--dd--yy
Example
This example demonstrates the three formats available using the
&FULLDT GPA.
DELIM/' '
&FULLDT = 0
print/'&FULLDT = ',&FULLDT
print/'DATE = '+DATE
print/' '
&FULLDT = 1
print/'&FULLDT = ',&FULLDT
print/'DATE = '+DATE
print/' '
&FULLDT = 2
print/'&FULLDT = ',&FULLDT
print/'DATE = '+DATE
HALT
The program produces the following results:
&FULLDT = .0000
DATE = 08--21--98
&FULLDT = 1.0000
DATE = 08--21--1998
&FULLDT = 2.0000
DATE = 08-21-1998
12-10
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Functions
Set Full Date Flag
Synopsis
&FULLDT
Description
Enables the DATE command to output the full date
(mm--dd--yyyy). The full date includes the century portion of the
date when &FULLDT is set to 1 or 2. Otherwise, the DATE
command outputs the year without the century (mm--dd--yy).
Characteristics
Read/Write
Constant Values
You can set &FULLDT to 0, 1, or 2. These values correspond to the
following formats:
Number
[0..2]
0 = mm--dd--yy
1 = mm--dd--yyyy
2 = mm-dd-yyyy
Example
&FULLDT=1
PRINT/DATE
&FULLDT=0
PRINT/DATE
HALT
If the date were July 6, 1999, then the above program would produce:
07--06--1999
07--06--99
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
12-11
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
Functions
Return Current Time
Synopsis
str=TIME
Description
Returns the current time as a five character literal string
HH:MM.
Example
The following example demonstrates the use of the TIME
function.
STRING/STR(32)
12-12
Function
Assigned Value
STR='The time is '+TIME
STR=The time is 12:45
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Functions
Create Blank Characters
Synopsis
str=BLSTR(n)
Description
Generates the number of blank characters, spaces, specified by
the value n. The value of n must be from 0 to 132 inclusive.
Parameters
n
The number of characters to be created. The number must be a
positive integer value between 0 and 132 inclusive.
Example
This example demonstrates the creation of a string with blank
characters.
STRING/STR(4,15)
STR(1)='X'+BLSTR(15)+'Y'
PRINT/STR
The following string would be printed on the CRT:
X
Y
BLSTR can be imbedded in a string (as above) or assigned
directly to a variable which will space a table of values as
follows:
S=BLSTR(10)
STR(2)='2.5'+S+'1.25'
STR(3)='3.6'+S+'1.25'
STR(4)='6.2'+S+'2.27'
PRINT/STR
The statements above would create the following table on the
CRT:
2.5
3.6
6.2
1.25
1.25
2.27
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
12-13
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
Functions
Number of Characters in a String
Synopsis
num=LENF('string')
Description
Returns the number of characters in a string. A string may be
declared as containing a maximum of 132 characters, but the
actual number of characters in the string may be less than 132.
Leading and trailing as well as imbedded blanks are counted.
Parameters
'string'
The literal string or string variable name of a string whose
length in characters will be returned.
Example
This example demonstrates obtaining the length of several
strings.
STRING/ABC(10)
Function
Assigned Value
ABC='MESSAGE'
12-14
ANS=LENF(ABC)
ANS=7
ANS=LENF(' XY ')
ANS=2
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Functions
Convert Integer to Character String
Synopsis
str=ISTR(n)
Description
Converts the integer portion of a real number into a character
string. The maximum number of characters which this function
can return is eight and the value of n must be any valid
Unigraphics number. To return more than eight characters, use
the ISTRL statement.
Parameters
n
Real number whose integer portion will be converted to a
character string. The non-integer (to the right of the decimal
point) portion will be truncated.
Example
This example demonstrates the use of the ISTR function to
convert the integer portion of a number to a string.
ENTITY/ent(1000)
NUMBER/n
MASK/70
IDENT/'Select Solids to Delete',sol,CNT,n,resp
PRINT/'Solids Selected = '+ISTR(n)
The following text will be printed to the listing window:
Solids Selected = 13
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
12-15
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
Functions
Convert Real Number to Character String
Synopsis
str=FSTR(n)
Description
Converts a real number into a character string. The maximum number
of characters which this function can return is eight, including the
decimal point and minus sign. To return more than eight characters,
use the FSTRL statement.
The resulting string has a leading zero when the number is less than
one, but greater than negative one. You may use &DECPL to control
the number of decimal places that appear to the right of the decimal
point.
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
NOTE
Please note the following items.
This function rounds up rather than truncating digits when
specifying less than the significant number of digits with &DECPL
or with the default number of decimal places if &DECPL is not
used. For example, if you set &DECPL=0, then FSTR(2.5) rounds
up to 3.
If you set &DECPL = 0, the decimal point does not return in the
string.
Parameters
n
Real number which is to be converted to a character string. This
function returns a maximum of 8 characters (including the decimal
point and minus sign). If you attempt to convert a real number which
generates more than eight characters, then this command returns a
string of nines (e.g. '9999999') which indicates an overflow error.
Example
This example demonstrates the creation of a note which contains the
radius of a circle.
ENTITY/CR1
NUM=2.5
CR1=CIRCLE/0,0,NUM
&DECPL=4
NOTE/0,-3,'THE RADIUS = '+FSTR(NUM)
HALT
The NOTE reads as follows:
THE RADIUSăă=ăă2.5000
12-16
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Functions
Convert String to Real Number
Synopsis
num=VALF('string')
Description
Converts a string representing a numerical value into a real
floating point number. The object string must be in the numeric
form with a maximum of 132 characters including the decimal
point. This function is the reciprocal of the FSTR and FSTRL
functions.
Parameters
'string'
The literal string or string variable name of a string which will
be converted to a real number.
Example
This example will create a table of text on the screen which
represents a set of standard radii used on a drawing. The user
can then select the text to define the circle radius.
ENTITY/CR1
STRING/STR(8)
DATA/X,0,Y,0,Z,0
STR='0.375'
NUM=VALF(STR)
CR1=CIRCLE/X,Y,Z,NUM
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
12-17
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
Functions
ASCII Value of a Character
Synopsis
num=ASCII('string',pos)
Description
Returns the ASCII value of the character specified by pos, in
decimal form. Refer to the ASCII Conversion Table for a
complete list of ASCII characters and their corresponding
decimal values. If pos is less than one or greater than the
number of characters in the string, the error message INVALID
CHAR POS will be displayed.
Parameters
'string'
The literal string or string variable name of the string to be
accessed.
pos
The character position of the character whose ASCII value will
be returned. Spaces (blanks) are counted in arriving at the
position. The pos must be an integer value greater than zero.
Example
This example demonstrates the use of the ASCII function to
capitalize a name.
STRING/ usr(20)
NUMBER/ v
BCK010:
TEXT/'Enter Last Name',usr,resp
JUMP/BCK010:,CANCEL:,resp
v = ASCII(usr,1)
$$ Get ASCII value of first character
IFTHEN/v>=97 AND v<=122
len= LENF(usr)
usr = CHRSTR(v-32)+SUBSTR(usr,2,len-1)
ENDIF
CANCEL:
HALT
12-18
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Functions
Return string with ASCII Value of N
Synopsis
str=CHRSTR(n)
Description
Returns a single character string that has an ASCII value equal
to the value n to a receiving variable or GRIP statement. The
receiving variable must be declared as a string.
Parameters
n
An integer which represents a the ASCII value of the character
to be returned. The value of n must be from 32 to 126 inclusive,
as indicated in the ASCII conversion table.
Example
This example demonstrates using the CHRSTR function to
capitalize a letter.
STRING/ rev(1)
NUMBER/v
rev = 'b'
v = ASCII(rev,1)
$$ Returns ASCII value of character
IF/v>=97 AND v<=122, rev = CHRSTR(v-32)
The resulting value of rev will be B". The number val was
assigned the ASCII value of b" (98). Thirty two was
subtracted from n (66) and converted to a string (B") and
assigned to rev.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
12-19
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
Functions
Replace Characters in a String
Synopsis
str=REPSTR('object string','search string',
ă'replacement string',pos)
Description
Replaces a specific character string with another. In this
function the object string is the string to be altered, the search
string is the string to be found and the replacement string the
new string. The pos value specifies a position in the string
where the search is to begin. The search will continue to the
last position in the string or until the first occurrence of the
search string is found. If the search string is not found, the
object string is returned unchanged. If pos is less than one or
greater than the number of characters in the string, the error
message INVALID CHAR POS will be displayed.
Parameters
'object string'
The literal string or string variable name of the string to be
altered.
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
'search string'
The set of character(s) which will be searched for in the
specified object string. Only the first occurrence of the search
string, past the starting position (pos), will be replaced.
'replacement string'
The set of character(s) which will replace the search string
characters. The number of characters in the search and
replacement strings do not have to be equal.
pos
Character position in the object string where the search will
begin. Pos must be an integer value greater than zero. Spaces
(blank characters) are counted in determining a character's
position in the object string. The positions are counted from
left to right with the first character in the string being 1.
12-20
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Functions
Figure 12-1 Numeric positions of characters in a string
Example
This example demonstrates the process of replacing several
strings.
STRING/STR1(10),STR2(10)
Function
Assigned Value
STR1=' 6--09--99'
STR1= 6––09––99
STR2=REPSTR(STR1,'--','/',1)
STR2= 6/09––99
STR2=REPSTR(STR2,'--','/',1)
STR2= 6/09/99
STR2=REPSTR(STR2,' 0','',3)
STR2= 6/9/99
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
12-21
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
Functions
Extract a portion of a Character String
Synopsis
str=SUBSTR('object string',pos,count)
Description
Extracts a specified portion of a character string. The starting
position in the object string is specified by the value pos and the
number of characters to be extracted is specified by the value
count. If the character count exceeds the number of characters
in the object string, the substring which is returned will be the
object string.
Parameters
'object string'
The literal string or string variable name of the string from
which the specified characters will be copied.
pos
Character position in the object string where the copying of
characters will begin. Spaces (blanks) are counted in arriving at
the starting position. The pos must be an integer value greater
than zero.
count
The number of consecutive characters to be copied. Spaces
(blanks) are counted in the count. The count must be an
integer value greater than zero.
Example
This example demonstrates the use of the SUBSTR function to
copy characters from a text string.
STRING/STR1(32),STR2(32)
12-22
Function
Assigned Value
STR1='THIS IS A STRING'
STR1=THIS IS A STRING
STR2=SUBSTR(STR1,ll,6)
STR2=STRING
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Functions
Position of Characters in a String
Synopsis
num=FNDSTR('object string','search string',pos)
Description
Returns the start position of a search string within an object
string. The returned value is an integer which represents the
start position of the first occurrence of the search string. The
search will be made from the position specified by pos to the
end of the object string or until the first occurrence of the
search string is found. If the search string is not found, a 0 is
returned.
Parameters
'object string'
The literal string or string variable name of a string which will
be searched.
'search string'
The set of character(s) which will be searched for in the object
string.
pos
Position in the object string where the search will begin. Spaces
(blanks) will be counted in arriving at the search location. The
pos value must be an integer greater than zero.
Example
This example demonstrates the use of the FNDSTR function to
find where the characters 83" are in a string. Only an
occurrence after the seventh character will be searched for.
STRING/STR(15)
STR='54738378332'
ANS=FNDSTR(STR,'83',7)
The variable ANS is assigned a value of 8 in the example above.
Although the first occurrence of the search string, 83, is at
position 5, it was ignored because 7 was specified as the start
search position.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
12-23
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
Functions
Activity: Date Conversion
Write the code to convert the date from the format returned
by the DATE function to the following format:
DD MMM YYYY
where MMM is a three letter mnemonic for the month as
listed below:
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
JAN
APR
JUL
OCT
12-24
GRIP Fundamentals
Student Guide
FEB
MAY
AUG
NOV
EDS
All Rights Reserved
MAR
JUN
SEP
DEC
Unigraphics NX 2
Functions
Activity: Case Conversion (Optional)
Write a series of statements to convert a string of any length
from lower case to upper case.
By referring to the ASCII Conversion Chart in Appendix B,
notice the arrangement of the lower case characters and the
upper case characters in the table, along with their
corresponding ASCII values.
You will need a loop to analyze each character, to determine
whether a conversion is necessary.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
12-25
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
Functions
ÉÉÉ
12
ÉÉÉ
ÉÉÉ
ÉÉÉ
(This Page Intentionally Left Blank)
12-26
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Subroutines
Subroutines
Lesson 13
Objectives
Decide when to use a subroutine in a GRIP program.
Pass parameters to a subroutine.
Use the statements for subroutines; CALL, PROC, and RETURN.
Navigate the subroutine file organization with the GRIP search list.
ÉÉÉ
ÉÉÉ
13
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
13-1
Subroutines
Subroutine Programming
A subroutine is a series of GRIP statements that perform a specific task under
the control of a main program. The subroutine has the following features:
Subprograms can be executed as often as needed by calls from the
main program or other subprograms.
Subprograms are separate source files that are compiled individually.
Subprograms may call other subprograms (50 max).
Subprograms cannot be recursive.
Subroutine have the same structure as a main program, but must contain two
statements that distinguish it from the main program. A main program cannot
contain either of these statements.
ÉÉÉ
ÉÉÉ
13
ÉÉÉ
ÉÉÉ
PROC statement. This stands for 'procedure' and must be the first
statement in a subroutine. The PROC statement includes a list of
arguments shared between the subroutine and the calling program.
The RETURN statement signals the end of a subroutine.
To use a subroutine, a third statement is needed in the calling program to
invoke the subroutine.
13-2
The CALL statement invokes the subprogram. This statement can be
used in the main program or in another subprogram.
Table 13-1
Subroutine Programming Statement Formats
Function
Format
Call subprogram
CALL/'subprogram name'[,argument list]
Subroutine start
PROC[/argument list]
End of subroutine
RETURN
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Subroutines
Call Statement
Synopsis
CALL/'subprogram name'[,argument list]
Description
The CALL statement makes a subprogram available for use.
When the CALL statement is encountered in a program, control
of execution is transferred to the first executable statement of
the subprogram. When execution in the subprogram encounters
a RETURN statement, control is returned to the calling
program at the statement immediately following the CALL
statement. The 'subprogram name' is the name under which the
subprogram is stored in the GRIP object library (no file
extension is needed). The name used must be a string literal;
string variables are not allowed. The argument list" is optional
and can contain up to 25 variable names which may be any
combination of numbers, entities, strings or variables. A
variable may be either a simple variable or an array of which all
or only a portion may be passed to the subprogram. Passing
only a portion of an array, however, involves the use of the
subrange operator and may only be used on the last (right most)
variable in the list.
NOTE
Example
GRIP allows a total of 1000 labels per subroutine. A
CALL command generates one label. This label counts
against the total you can use.
The following statement, for example, is valid because the array
B is the last argument in the list.
CALL/’SUB1’,X,Y,A,B(10..25)
The following statement, however, would have resulted in an
error.
CALL/’SUB1’,X,Y,A,B(10..25),C
An alternative to using the subrange operator in a CALL
statement is to pass the entire array and the subrange bounds as
two additional arguments. However, whether a single value, an
array, or a portion of an array is passed in the argument list, the
corresponding dummy arguments in the subprogram must agree
in type, quantity, and order.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
13-3
ÉÉÉ
ÉÉÉ
13
ÉÉÉ
ÉÉÉ
Subroutines
Procedure Statement
Synopsis
PROC[/argument list]
The PROC statement must be the first statement in any
subprogram. The optional argument list can consist of up to 25
variable names. These are local variable names and are known
only to the subprogram where they appear. A subprogram may
contain any number of source statements and may contain any
GRIP statement.
If values are to be passed from the calling program to the
subprogram, there must be a dummy argument in the argument
list for each value or array. In addition, the dummy arguments
must be of the same type and quantity as those being passed by
the calling program.
Except for simple numerical values and constants, all dummy
arguments must be declared. Entity and number declarations
are the same as in a main program, however, only the number
parameters may be declared for string variables which are in the
argument list.
ÉÉÉ
ÉÉÉ
13
ÉÉÉ
ÉÉÉ
The variables in a subprogram, including those in the dummy
argument list, are considered local variables and are known only
to the subprogram. Therefore the same variable names may be
used in the main program and individual subprograms without
conflict. It should be noted, however, that it is the location in
the argument and not the variable name, that determines what
the assignment will be. For example, if the call statement
CALL/'SUB1',X,Y,Z" was issued and the PROC statement in
the subprogram was PROC/Z,Y,X", the variable assignment in
the subprogram would be Z=X, Y=Y, and X=Z.
13-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Subroutines
In this example, a calling program will pass a simple numerical
variable, three elements of a numerical array, an entity, an
entity array with four elements, a string variable with a
character length of ten and a string array with ten elements and
a character length of twenty.
Example
The calling program may appear as:
ENTITY/LN1,PT(4)
NUMBER/NUM(5),VAL1
STRING/ABC(10),XYZ(10,20)
.
.
.
CALL/’SUB1’,VAL1,LN1,PT,ABC,XYZ,NUM(1..3)
LINE/– – – – $$ ADDITIONAL LINES OF CODE
.
.
.
HALT
The subroutine SUB1 may appear as:
ÉÉÉ
ÉÉÉ
13
ÉÉÉ
ÉÉÉ
PROC/INDX,LN1,PERIM,TITL,XYZ,NUM
ENTITY/LN1,PERIM(4)
NUMBER/NUM(3),INDX
STRING/TITL,XYZ(10)
.
.
.
RETURN
Notes:
VAL1 (equivalent to INDX in SUB1) is a simple numerical variable.
In the subroutine, NUM was declared as an array of three instead of
five because a subrange operator was used to pass only three numbers.
Note that it must be placed last in the argument list.
The entity variables LN1 and PT (equivalent to PERIM in SUB1)
were declared the same as they were in the calling program.
The string variable ABC (equivalent to TITL in SUB1) was declared
as containing a maximum of ten characters in the main program but
TITL must not have a size associated with it in the subroutine
declarative because it is a singular string. XYZ, however, was declared
with a length of ten because that is the number of string elements in
the XYZ array.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
13-5
Subroutines
Return Statement
Synopsis
RETURN
The RETURN statement may only appear in a subprogram. A
subprogram may contain more than one RETURN statement;
however, when one is encountered control is immediately
returned to the calling program. The dummy arguments in the
subprogram will be passed to the actual arguments in the calling
program and the statement following the CALL statement in
the calling program will be executed.
ÉÉÉ
ÉÉÉ
13
ÉÉÉ
ÉÉÉ
13-6
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Subroutines
Organizing Subroutines using the gri.sea" File
Each subroutine resides in a separate source file (.grs extension)
with a corresponding object file (.gri extension). When many
GRIP programs are written, there may be many GRIP source and
object files. If all of these files are placed in the same directory,
it may become confusing to determine which files belong to each
program. It is therefore desirable to organize files in different
directories.
Object files can be linked together even if they reside in
different directories. This is accomplished by using search list.
The search list is a text file named gri.sea" which consists of
directory specifications (full path names) where the object files
reside.
When the linker operates, it first searches for object code in the
current directory as specified in the GRADE session. If an
object file is not found, the gri.sea" file (if one exists in the
current directory) is opened. The linker sequentially searches
for .gri files in each directory specified in gri.sea".
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
13-7
ÉÉÉ
ÉÉÉ
13
ÉÉÉ
ÉÉÉ
Subroutines
Activity: Case Converter Subroutine
NOTE
Write a subroutine to convert all characters in a string to
upper case or to lower case characters. Test the program by
writing a main program to prompt for a string, then convert
the string to upper case and to lower case characters. The
new strings should then be displayed on the listing window.
When developing your case_converter subroutine, prefix
your subroutine with your initials, to distinguish your
code with that of other students.
Typical call statements to the subroutine would look like the
following:
CALL/ ’xxx_case_converter’,
$
str,
$ String to convert
1,
$ Convert to upper
rc
$$ Return code
ÉÉÉ
ÉÉÉ
13
ÉÉÉ
ÉÉÉ
CALL/ ’xxx_case_converter’,
$
str
$ String to convert
2,
$ Convert to lower
rc
$$ Return code
An overall outline of the xxx_case_converter subroutine might
look like:
PROC/
$
$ String to convert
$ Convert type
$$ Return code
str,
cnvrt_typ,
rc
STRING/ str
NUMBER/ cnvrt_typ, rc, $
UPPER, LOWER, SUCCESS, FATAL
DATA/ UPPER,1, LOWER,2, SUCCESS,0, FATAL,–1
rc = SUCCESS
IFTHEN/ cnvrt_typ == UPPER
(convert str to upper case)
13-8
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Subroutines
ELSEIF/ cnvrt_typ == LOWER
(convert str to lower case)
ELSE/
rc = FATAL
$$ Invalid type
ENDIF
RETURN
ÉÉÉ
ÉÉÉ
13
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
13-9
Subroutines
(This Page Intentionally Left Blank)
ÉÉÉ
ÉÉÉ
13
ÉÉÉ
ÉÉÉ
13-10
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Drafting Functions
Drafting Functions
Lesson 14
Objectives
Gain a broad understanding of the commands available to create and
edit drawings.
Learn the commands to import part files and drawing borders.
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
14-1
Drafting Functions
The following commands control the creation, editing, and deleting of
drawings. Also included are the commands to import drawing borders on to a
drawing.
Table 14-1
Drawing Commands
Function
Format
Create a Drawing
DRAWC/'drawing name',[MMETER.]
{height,width|n}[,IFERR,label:]
Change Drawing Size
DRAWE/['drawing name',]SIZE,
[{INCHES|MMETER},]{height,
width|n}[,IFERR,label:]
Add View to a Drawing DRAWE/['drawing name',]ADD,'view
name',x,y[,IFERR,label:]
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
14-2
Verify a Drawing
DRAWV/['drawingname',]
[{PLOT|DVSTAT,variable,}]variable
list[,IFERR,label:]
Delete a Drawing
DRAWD/'drawing name
'[,IFERR,label:]
Current Drawing
&CURDRW
Import a Part
RPATT/'filespec'[{,matrix|csys ,scale}]
[,LAYER][,PLMODS,value]
[,NOVIEW][,RETCAM,number]
[,IFERR,label:]
Import a Part Grouped
obj =RPATTG/'filespec'
[{,matrix|csys,scale}][,LAYER]
[,PLMODS,value][,NOVIEW]
[,RETCAM,number][,IFERR,label:]
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Drafting Functions
Drawing Overview
This section covers the GRIP statements used to produce drawings. Drawings
can be created, edited, verified, deleted, and renamed. As drawings are created,
they are automatically saved. Use the GPA &CURDRW to retrieve a specified
drawing.
Specifying Drawing
Member View Names
When a drawing member view name or drawing work view name is
specified, it needs to be appended with an @" character to denote it
as a drawing member view or drawing work view. Specification of the
view name this way is actually a short cut since the actual view name
contains an integer following the @" character (for drawings that
integer is zero). Optionally, you can enter the full name in order to
assure uniqueness of member view names (drawings can have more
than one instance of a given view on a single drawing).
An example of a drawing member view name that was in some way
derived from the model view, TOP, is TOP@3". To specify the name
of the model view, TOP" should be used. To specify the name of the
drawing member view, either TOP@" or TOP@3" can be used.
The full names of all the member views for a given drawing can be
retrieved using DRAWV.
NOTE In Unigraphics, when the drawing view is the work view,
the layout which contains the drawing is called !DRAWING. This
layout name is read only and cannot be used to set the current layout.
Must Be in Drafting
to Use Drawings
When running interactive GRIP, functions that create, retrieve, or
require the presence of a drawing are only allowed in the following
modules: Gateway, Drafting, Valisys, and Genconnect. Those
functions are also available in GRIP Batch.
When drafting objects are created on a drawing in GRIP, the objects
associated to the drafting object (the dimensioned objects) must be
objects that are on the drawing.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
14-3
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
Drafting Functions
Create a Drawing
Synopsis
DRAWC/'drawing name',[MMETER,]{height,width|n}
[,IFERR,label:]
Description
Creates a drawing of a specified name and size in the database. The
specified drawing becomes the current drawing. Once the drawing is
created, views can be added and manipulated using the Edit Drawing
statement, DRAWE.
Parameters
'drawing name'
A string or string variable which represents the name of the drawing.
You must use this name to refer to the drawing for any other purpose
(e.g., editing, placing in a layout, etc.).
MMETER
Minor word which indicates that the drawing size is to be specified in
millimeters. Inches is used if this minor word is not specified.
height,width
The size of the drawing to be created. Height is measured in the
positive YC axis and width is measured in the positive XC axis. The
drawing is created with its lower left hand corner at the origin of the
WCS.
n
A valid drawing size code. The code creates the drawing in either
inches or millimeters as specified by use of the minor word
MMETER. The valid codes are as follows:
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
Code
Size in Inches
Size in Millimeters
1
Ansi A - 8.5 x 11
ISO A0 - 841 x 1189
2
Ansi B - 11 x 17
ISO A1 - 594 x 841
3
Ansi C - 17 x 22
ISO A2 - 420 x 594
4
Ansi D - 22 x 34
ISO A3 - 297 x 420
5
Ansi E - 34 x 44
ISO A4 - 210 x 297
IFERR,label:
Specifies a label to which the program jumps if an error occurs in
creating the drawing.
14-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Drafting Functions
Change Drawing Size
Synopsis
DRAWE/['drawing name',]SIZE,[{INCHES|MMETER},]
{height,width|n}[,IFERR,label:]
Description
Changes the size of the drawing format of a drawing. Drawing units
are a parameter of the drawing. Therefore, if no unit minor word is
specified in this statement but a drawing code or size is, then the
current parameter applies.
Parameters
'drawing name'
A string or string variable which represents the name of the drawing
whose drawing format size is to be changed.
SIZE
Minor word which indicates that the drawing size is to be changed.
INCHES
Minor word which indicates that the drawing size is specified in
inches.
MMETER
Minor word which indicates that the drawing size is specified in
millimeters.
height,width
The new size of the drawing format. Height is measured in the
positive YC axis and width is measured in the positive XC axis. The
drawing is created with its lower left hand corner at the origin of the
ABS.
n
A valid drawing size code. The code creates the drawing format in
either inches or millimeters as specified by use of the minor words
INCHES and MMETER.
Code
Size in Inches
Size in Millimeters
1
Ansi A - 8.5 x 11
ISO A0 - 841 x 1189
2
Ansi B - 11 x 17
ISO A1 - 594 x 841
3
Ansi C - 17 x 22
ISO A2 - 420 x 594
4
Ansi D - 22 x 34
ISO A3 - 297 x 420
5
Ansi E - 34 x 44
ISO A4 - 210 x 297
IFERR,label:
Specifies a label to which the program jumps if an error occurs in
editing the drawing.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
14-5
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
Drafting Functions
Add View to Drawing
Synopsis
DRAWE/['drawing name',]ADD,'view name',x,y
[,IFERR,label:]
Description
Adds an existing view to a previously created drawing at the specified
coordinates.
Parameters
'drawing name'
A string or string variable which represents the name of the drawing
to which the view is added.
ADD
Minor word which indicates that a view is to be added to a drawing.
'view name'
A string or string variable which represents the name of the view to be
added. The view must not already be on the drawing and must not be
a drawing.
x,y
The coordinates which define the drawing reference point and are
used to place the view in the drawing. The coordinates are measured
from the lower left hand corner of the drawing to the view reference
point of the view being added.
IFERR,label:
Specifies a label to which the program jumps if an error occurs in
editing the drawing.
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
14-6
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Drafting Functions
Verify a Drawing
Synopsis
DRAWV/['drawing name',][{PLOT|DVSTAT,variable,}]
variable list[,IFERR,label:]
Description
Returns the parameters of the specified drawing to a series of
variables. Some of the variables in the list must be declared as arrays.
The parameter returned depends upon its field position in the list.
Therefore, if certain parameters are not desired, the field must be
defined using two commas (,,). However, once you have specified the
last desired parameter, do not use commas to define the remaining
positions. For example, if you wished to only verify the name of each
member view and the number of member views, you would specify
DRAWV/VNAM,,NUMVW,IFERR,label:
where VNAM is the member view name; ,, represents the omitted
reference coordinates parameter, and NUMVW represents the
number of member views.
You can verify either plot or nonĆplot information. This is determined
by the minor word PLOT. If verifying nonĆplot information (by
omitting the minor word PLOT), you can also return the status of
each view in addition to the regular list of data. This is done by
specifying the minor word DVSTAT followed by a numerical array.
NOTE You cannot specify both PLOT and DVSTAT in the same
statement.
If you do not specify the minor word PLOT, the following regular list
of data is returned to a variable list:
Position
Parameter
Data Type
1
Name of each member view
String array
2
Reference point (x,y) of each member
view in drawing coordinates
Num. array
3
Number of member views
4
Drawing units
Inches
Millimeters
5
Drawing height
Number
6
Drawing width
Number
EDS
All Rights Reserved
Number
[1,2]
1
2
GRIP Fundamentals
Student Guide
14-7
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
Drafting Functions
If you specify the minor word PLOT, the following plot information is
returned to a variable list:
Position
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
Data Type
1
Plotter name
String
Variable
2
Scale
Number
3
Rotation angle
Number
4
Media reference number
Number
5
Number of copies
Number
6
X coordinate of plot origin (in drawing
coordinates)
Number
7
Y coordinate of plot origin (in drawing
coordinates)
Number
8
X offset value from the plotter origin
Number
9
Y offset value from the plotter origin
Number
10
Pen assignment
By density
By color
11Ć25
Parameters
Parameter
Pen list
[1,2]
1
2
Number
'drawing name'
A string or string variable which represents the name of the drawing
being accessed. If no name is specified, the current drawing is
accessed. If no drawing name is specified and there is no current
drawing, an error occurs.
PLOT
Minor word which indicates that the plotting parameters of the
drawing are to be returned to the variable list.
DVSTAT
Minor word which indicates that the status (reference or active) of
each view on the drawing is to be returned.
variable
A numerical array which receives the status of each view in the
drawing when the minor word DVSTAT is specified. The view status is
returned in the same order as the view names which can be extracted
in this and other DRAWV statements.
14-8
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Drafting Functions
The values returned are:
0 for a Reference View
1 for an Active View
variable list
A list of variables to which either plot or nonĆplot parameters are
assigned. Some of the variables in the list must be declared as arrays.
Specifying the minor word PLOT returns plot information to this list.
Omitting PLOT returns nonĆplot data.
IFERR,label:
Specifies a label to which program execution jumps if an error occurs
while the drawing is being accessed.
Example
This example demonstrates the use of the Verify Drawing statement
DRAWV to return the parameters of a drawing.
Declarations
NUMBER/REF(10,2),SIZE(2)
STRING/VW(10,30)
DRAWC/'DRAW1',4,WORK,IFERR,L10:
DRAWE/ADD,'FRONT',2,3
DRAWE/ADD,'TOP',2,8
DRAWE/ADD,'TFRĆISO',8,6
DRAWV/VW,REF,,NUM1,SIZE,IFERR,L20:
L10:MESSG/'CANNOT CREATE DRAWING'
L20:MESSG/'CANNOT VERIFY DRAWING'
The number variables do not need to be declared; however, the string
array which holds the view names and the numerical array which
holds the reference point locations must be declared. The variables
are assigned values as follows:
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
14-9
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
Drafting Functions
Variable
Value Assigned
VW(1)
FRONT
VW(2)
TOP
VW(3)
TFRĆISO
REF(1,1)
2
REF(1,2)
3
REF(2,1)
2
REF(2,2)
8
REF(3,1)
8
REF(3,2)
6
NUM1
1
SIZE(1)
22
SIZE(2)
34
The number of member views was not required; therefore, the field
(third field) was left blank by using back to back commas (,,).
NOTE The DRAWE and DRAWV statements do not use the
drawing name because the drawing is active in the current work view.
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
14-10
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Drafting Functions
Delete a Drawing
Synopsis
DRAWD/'drawing name'[,IFERR,label:]
Description
Deletes the specified drawing.
Parameters
'drawing name'
A string or string variable representing the name of a drawing to
delete.
IFERR,label:
Specifies a label to which the program jumps if an error occurs.
Possible errors include: invalid drawing name; drawing does not exist;
cannot delete current drawing; cannot delete drawing (it is the work
view); is only view in canned layout.
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
14-11
Drafting Functions
Current Drawing
Synopsis
&CURDRW
Description
Reads the name of the current drawing or retrieves a specified
drawing, as follows.
Characteristics
To retrieve a drawing:
&CURDRW = 'drawing name'
To return current drawing name:
MYNAME = &CURDRW
Read/Write
String
30 Characters
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
14-12
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Drafting Functions
Import an Existing Part
Synopsis
RPATT/'filespec'[{,matrix|csys,scale}][,LAYER]
[,PLMODS,value][,NOVIEW][,RETCAM,number]
[,IFERR,label:]
Description
Imports an existing part file from the specified directory into the
currently displayed part. This statement is not objectĆvalued
and does not import the part as a group. For importing grouped
parts, use the RPATTG statement.
Parameters
'filespec'
The filespec parameter contains the file specification data for
the file to be imported.
matrix
A previously defined matrix which determines the location and
orientation (or orientation and scale) of the part being
imported.
csys,scale
A previously defined coordinate system and a scale factor which
determine the orientation and scale of the part being imported.
The scale factor must be a positive value.
LAYER
Minor word which causes the part to be imported onto the same
layers as when it was created.
PLMODS
Minor word which indicates that a parts list parameter will be
specified.
value
Integer between 1 and 4 inclusive which specifies how the
system will handle parts list data associated with the part being
imported. These values are as follows:
Indicates that no parts list information will be imported.
This is the default.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
14-13
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
Drafting Functions
Indicates that the default parts list format data will be
imported. When this happens, the default data replaces
the parts list format data of the current part.
Indicates that the imported part will be added to the
parts list as a single group (oneĆobject entry).
Indicates that all parts list entries on the imported part
will be added individually to the parts list data of the
current part. The parts list format data will also be
imported.
NOVIEW
Minor word which indicates that no views are imported when
the part is imported. The geometry is imported into the existing
views based on the current model mode (MODEL or VIEW
DEPENDENT). If NOVIEW is omitted, the views in the part
being imported are also imported.
RETCAM
Minor word which controls how manufacturing data (tools,
parameter sets, and operations) is handled.
number
Integer between 1 and 3 inclusive which specifies how the
system will handle duplicate manufacturing object names in
both the current and the imported part. These values are as
follows:
Indicates that no manufacturing data will be imported.
This is the default.
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
Indicates that the operation will terminate and no objects
will be imported when duplicate manufacturing names
occur.
Indicates that the operation will continue and duplicate
manufacturing objects will be renamed when duplicate
manufacturing names occur.
IFERR,label:
The IFERR parameter specifies a label to which the program
will jump if an error occurs.
NOTE
14-14
If a nonĆorthogonal matrix is used to transform a part
containing arcs, conics, drafting objects or dimensions,
the error message CANNOT TRANSFORM displays.
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Drafting Functions
Example
This example demonstrates the use of the RPATT statement to
import a previously created part into the current part. The part
is imported through a matrix to place its origin at 1,1.
Declarations
NUMBER/M(12)
Matrix Definition
M = MATRIX/TRANSL,1,1,0
Import Part
RPATT/'STAR',M
Figure 14-1 Part imported using the RPATT statement
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
14-15
Drafting Functions
Import an Existing Part Grouped
Synopsis
obj = RPATTG/'filespec'[{,matrix|csys,scale}][,LAYER]
[,PLMODS,value][,NOVIEW][,RETCAM,number]
[,IFERR,label:]
Description
Imports an existing part file into the currently displayed part as
a group. This statement is referred to as an objectĆvalued
function because the resulting group is a singular object which
may be assigned to a previously declared object variable. In
addition, the group automatically assumes the filename portion
of the filespec parameter as its object name.
Parameters
'filespec'
The filespec parameter contains the file specification data for
the file to be imported.
matrix
A previously defined matrix which determines the location and
orientation (or orientation and scale) of the part being
imported.
csys,scale
A previously defined coordinate system and a scale factor which
determine the orientation and scale of the part being imported.
The scale factor must be a positive value.
LAYER
Minor word that causes the part to be imported onto the same
layers as when it was created.
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
PLMODS
Minor word which indicates that a parts list parameter will be
specified.
value
Integer between 1 and 4 inclusive which specifies how the
system will handle parts list data associated with the part being
imported. These values are as follows:
1. Indicated that no parts list information will be
imported. This is the default.
14-16
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Drafting Functions
2. Indicates that the default parts list format data will be
imported. When this happens, the default data
replaces the parts list format data of the current part.
3. Indicates that the imported part will be added to the
parts list as a single group (one-object entry).
4. Indicates that all parts list entries on the imported
part will be added individually to the parts list data of
the current part. The parts list format data will also
be imported.
NOVIEW
Minor word which indicates that no views are imported when
the part is imported. The geometry is imported into the existing
views based on the current model mode (MODEL or VIEW
DEPENDENT). If NOVIEW is omitted, the views in the part
being imported are also imported.
RETCAM
Minor word which controls how manufacturing data (tools,
parameter sets, and operations) is handled.
number
Integer between 1 and 3 inclusive which specifies how the
system will handle duplicate manufacturing object names in
both the current and the imported part. These values are as
follows:
Indicates that no manufacturing data will be imported.
This is the default.
Indicates that the operation will terminate and no objects
will be imported when duplicate manufacturing names
occur.
Indicates that the operation will continue and duplicate
manufacturing objects will be renamed when duplicate
manufacturing names occur.
IFERR,label:
The IFERR parameter specifies a label to which the program
will jump if an error occurs.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
14-17
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
Drafting Functions
Example
This example demonstrates the use of the RPATTG statement to
import a previously created part into the current part as a
group. The part is imported through a matrix to place its origin
at 1,1.
Declarations
ENTITY/G
NUMBER/M(12)
Matrix Definition
M = MATRIX/TRANSL,1,1,0
Assemblies
G=RPATTG/'STAR',M
NOTE
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
The merged part is a group whose object attribute name
is STAR". The group object identifier is known by the
variable named G" in this program segment.
Figure 14-2 Part imported using the RPATTG statement
14-18
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Drafting Functions
Activity: Drawing Creation
Write a program to allow the user to select a drawing size from a menu, create a
drawing with the selected size, and import a drawing border.
Use the CHOOSE/ statement to create the following
menu:
Cue: Select Drawing Size
B–Size
C–Size
D–Size
Use the DRAWC/ statement to create a drawing called
SHEET1". The size of the drawing will depend on the
menu option selected.
Use the RPATTG/ statement to import a border.
Depending on the option selected, import one of the
following parts.
grp_border_b.prt
grp_border_c.prt
grp_border_d.prt
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
14-19
Drafting Functions
(This Page Intentionally Left Blank)
ÉÉÉ
14
ÉÉÉ
ÉÉÉ
14-20
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Dimensions and Drafting Aids
Dimensions and Drafting Aids
Lesson 15
Objectives
Gain a broad understanding of the commands available to add
dimensions, notes, and labels.
Recognize the GPA's and EDA's that are useful when working with
dimensions and drafting aids.
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
15-1
Dimensions and Drafting Aids
Dimensions
There are statements available to help you with a number of dimensioning
functions, including the creation of linear dimensions, angular dimensions, and
diameter dimensions.
Many of the commands in this lesson contain arguments which can be
expressed in several ways.
1. When you see the word (origin)", you may replace it with one of the
following formats:
X,Y coordinates
The X and Y coordinates of a position in the current work
plane.
NOTE/5,5,’THIS IS A NOTE’
Point
In a previously defined Point only the X and Y coordinate
are used.
P1 = POINT/5,5
NOTE/P1,'THIS IS A NOTE'
Delta Distance
The delta format positions the new text a delta distance from
a previously defined point or from a text origin of a
previously defined note or dimension.
P1 = POINT/5,5
NOTE/DELTA,P1,2,1,’THIS IS A NOTE’
Delta Character Size
The delta character size positions the text to offset distance
in multiples of the current character size from a previously
defined point or origin of a drafting object.
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
P1 = POINT/5,5
&CSIZE=.25
NOTE/DELCH,P1,4,8, ’THIS IS A NOTE’
15-2
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Dimensions and Drafting Aids
2. When you see the argument arc position", replace it with one of the
following words:
ENDOF
This refers to an end point of the arc.
CENTER
This refers to the center of the arc.
TANTO
This refers to the tangency of the arc on
the side specified by the positional modifier.
3. When you see the argument dim text", replace it with one of the
following choices:
DIVIDE, number
This feature takes the dimension of the
selected objects, divides it by the number
entered and uses the result as text for the
dimension.
'dimension text'
You will use this when you are showing
dimensions which are different from the
actual size of the drawing. The actual
dimension is ignored and the data you enter
is used for the dimension. The text field may
contain a maximum of 132 characters.
Although the maximum length for a single
string is 78 characters long, you may
concatenate strings by using the +" sign.
4. When you see the argument app text", replace it with the following:
APPEND,text[,text]...
This feature allows you to append up to 200
characters of text to a dimension. When you
separate two strings by a comma instead of a
+" sign, the string following the comma is
put on a new line in the dimension.
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
15-3
Dimensions and Drafting Aids
5. When you see the words OBLIQ,angle", you may replace it with the
following:
OBLIQ,angle
This option lets you angle extension lines as
indicated. The lines will rotate around the
end of the extension line which is attached to
the object. A positive angle will result in a
counterclockwise rotation of the extension
lines. A negative angle will result in a
clockwise rotation.
8.00
Figure 15-1 Dimension with Oblique Angular of 45 degrees
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
15-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Dimensions and Drafting Aids
Creating Drafting Objects on Drawings
In GRIP, you can place dimensions and drafting aids on a drawing in either of
two ways.
Create the drafting objects in a view within the modeling
display, and then move the view to the drawing. This causes the
drafting objects to get moved to the drawing.
Create the objects directly on the drawing itself.
Each of these methods is described below:
Creating Drafting
Objects in a View
If a drawing is active, and you wish to create the drafting objects
in a view (within the modeling display), follow the steps listed
below:
1. Go to the modeling display using &DSTATE=1.
2. Create drafting objects in the modeling display.
3. Go back to the drawing using &DSTATE=2.
4. Place the view on the drawing using
DRAWE/ADD. This causes the drafting objects to
move to the drawing.
NOTE
Creating Drafting
Objects on the
Drawing Itself
Objects created on the drawing (e.g., curves) may be
referenced directly on the drawing.
If a drawing is active, and you wish to create the drafting objects
directly on the drawing itself, you must specify in what member
view the object is to be referenced. This information must be
input to the GRIP command, by adding the optional minor word
VIEW with the view name after the object id in the GRIP
statement. If the referenced object is on the drawing itself, then
the drawing view name should be used. If a drawing is active
and no view name is input, then the system defaults to the
drawing view.
Note, that an error is reported if the view specified does not
exist in the current drawing or if the object does not exist in that
view (i.e. the object is view dependent in another view).
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
15-5
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
Dimensions and Drafting Aids
The following are some useful tips:
When using screen positions (the POS/ command) to place
dimensions on drawings, you must remember to map the
position from the view to the drawing. See the MAP/ command
for this information.
You can use the &VWSEL GPA to get information on which
view a selection was made or a position was specified.
You should use &VWCURS to set the view of the cursor based
on what operation the program is performing. The view should
be = &ANY during object selection and = &WORK while
specifying positions. These screen positions are to be used as
object origins.
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
15-6
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Dimensions and Drafting Aids
Table 15-1
Dimensioning Commands
Function
Format *
Horizontal
and Vertical
LDIM/{HORIZ|VERT},(origin),
[{ENDOF|CENTER|TANTO},]
PMOD3",obj1,
[VIEW,'View Name',]
[{ENDOF|CENTER|TANTO},]
PMOD3",obj2[,VIEW,'View Name']
[,Dim. text][,APPEND,App. text]
[,OBLIQ, Angle]
Angular
ADIM/[MAJOR,](origin),PMOD3",line1,
[VIEW,'View Name',]PMOD3",line2
[,VIEW,'View Name']
[,Dim. text][,APPEND,App. text]
Radius
RDIM/(origin),arc[,VIEW,'View Name']
,[Dim. text][,APPEND,App. text]
*
(origin) is {X,Y or point or DELTA, {point or dimen},dx,dy}
PMOD2" is {XSMALL or YSMALL or XLARGE or
YLARGE}
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
15-7
Dimensions and Drafting Aids
Horizontal and Vertical Dimensions
Synopsis
obj = LDIM/{HORIZ|VERT},(origin),
[{ENDOF|CENTER|TANTO},]PMOD3",obj1,
[VIEW,'View Name',][{ENDOF|CENTER|TANTO},]
PMOD3",obj2[,VIEW,'View Name']
[,Dim. text][,APPEND,App. text][,OBLIQ, Angle]
Description
Creates a horizontal or vertical dimension based on which minor
word is specified between two previously defined objects.
Positional modifiers are used for each object to specify which
end of the object should be dimensioned.
You may also override the dimension text by placing a string in
the proper field. Text may be appended to the dimension. The
placement of the appended text may be controlled by the global
parameter &APSITE.
The extension lines of the dimension may be created at an angle
measured by specifying an oblique angle.
Parameters
HORIZ
Minor word which indicates that the desired dimension is the
horizontal distance between two objects.
VERT
Minor word which indicates that the desired dimension is the
vertical distance between two objects.
(origin)
The dimensional text location. See the beginning of this section
for the methods of specification.
ENDOF
Minor word which indicates that the extension line will
terminate at one end of the arc if the specified object is an arc.
The end to be considered will be further determined by a
positional modifier (PMOD3).
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
CENTER
Minor word which indicates that the extension line will
terminate at the center of the arc if the specified object is an
arc. For this option the positional modifier (PMOD3) is omitted.
15-8
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Dimensions and Drafting Aids
TANTO
Minor word which indicates that the extension line will
terminate at one of the arc tangents if the specified object is an
arc. The tangent to be considered will be further determined by
a positional modifier (PMOD3).
PMOD3
Determines which end of the object or position on the arc is to
be dimensioned. If you are dimensioning points or arc centers,
you can omit the positional modifier. For all other objects, the
positional modifier must be present.
obj1,obj2
The two existing objects between which the horizontal or
vertical dimension will be created.
VIEW
Minor word that indicates that a view name is to follow.
'View Name'
This is a string variable or literal that is the view name.
Dim. text
A string of up to 50 characters you may enter if the system
generated value and text are not desirable. You can enter the
desired dimension and/or text between single quotes
('dimension text'), or you can use a previously declared string
variable.
APPEND
Minor word which indicates that the text in the next field should
be appended to the dimension text.
App text
Text string which will be appended to the dimension text
(APPEND,'string','string'...). Each string constitutes a new line
and may contain a maximum of 132 characters. The maximum
number of characters which may be appended to a dimension is
600. The placement of appended text is controlled by the global
parameter &APSITE.
OBLIQ
Minor word which indicates that the extension lines will be at a
specified angle to their normal orientation.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
15-9
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
Dimensions and Drafting Aids
Angle
The angle, in degrees, at which the extension lines will be
rotated from their normal orientation. The rotation will be
about the end of the line near the object. A positive angle
generates a counterclockwise rotation, and a negative angle
generates a clockwise rotation.
Example
This example demonstrates the creation of a horizontal and a
vertical dimension between previously defined points. The text
DIM1 and DIM2 is appended to the dimension text.
Declarations
ENTITY/PT0,PT1,PT2,DIM1,DIM2
Geometry Definition PT0 =POINT/0,0
PT1 =POINT/-1,0
PT2 =POINT/.5,-1
Dimension DefinitionDIM1=LDIM/HORIZ,-.5,1,PT1,PT0,APPEND,'DIM1'
DIM2=LDIM/VERT,1,-.5,PT0,PT2,APPEND,'DIM2'
Figure 15-2 Horizontal and vertical dimensions
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
15-10
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Dimensions and Drafting Aids
Angular Dimensions
Synopsis
obj = ADIM/[MAJOR,](origin),PMOD3",line1,
[VIEW,'View Name',]PMOD3",line2
[,VIEW,'View Name']
[,Dim. text][,APPEND,App. text]
Description
Creates an angular dimension between two previously defined
lines. The minor angle is measured and displayed in the work
coordinate system counterclockwise from the end of the first
line to the end of the second line.
If you specify the minor word MAJOR, the opposite portion of
the angle (360 minus minor) is dimensioned. Since the default
is the minor portion, you do not need to use the minor word
MINOR.
Parameters
MAJOR
An optional minor word which indicates that the major angle
between the two lines is to be dimensioned. If omitted, the
default is to the minor angle.
(origin)
The dimensional text location. See the beginning of this section
for the methods of specification.
PMOD3
Determines which end of the line is to be dimensioned.
line1,line2
The two existing lines to be dimensioned.
VIEW
Minor word that indicates that a view name is to follow.
'View Name'
This is a string variable or literal that is the view name.
Dim. text
A string of up to 50 characters you may enter if the system
generated value and text are not desirable. You can enter the
desired dimension and/or text between single quotes
('dimension text'), or you can use a previously declared string
variable.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
15-11
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
Dimensions and Drafting Aids
APPEND
Minor word which indicates that the text in the next field should
be appended to the dimension text.
App text
Text string which will be appended to the dimension text
(APPEND,'string','string'...). Each string constitutes a new line
and may contain a maximum of 132 characters. The maximum
number of characters which may be appended to a dimension is
600. The placement of appended text is controlled by the global
parameter &APSITE.
Example
Declarations
This example demonstrates the creation of several angular
dimensions between two previously defined lines. The objects
used in the angular dimension must be lines. The major and
minor dimensions have been created.
ENTITY/LN1,LN2,DIM(4)
Geometry Definition LN1 =LINE/0,0,.5,.5
LN2 =LINE/0,0,.5,-.5
Dimension DefinitionDIM(1) =ADIM/.5,1.3,XLARGE,LN1,XLARGE,LN2,$
APPEND,'DIM(1)'
DIM(2) =ADIM/2.2,.21,XLARGE,LN1,XLARGE,LN2,$
'MINOR',APPEND,'ANGLE','DIM(2)'
DIM(3) =ADIM/MAJOR,-.05,.15,XLARGE,LN1,$
XLARGE,LN2,APPEND,'DIM(3)'
DIM(4) =ADIM/MAJOR,-1.8,.21,XLARGE,LN1,$
XLARGE,LN2,'MAJOR',APPEND,'ANGLE','DIM(4)'
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
Figure 15-3 MAJOR and MINOR angular dimensions
15-12
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Dimensions and Drafting Aids
Radius Dimensions
Synopsis
obj = RDIM/(origin),arc[,VIEW,'View Name'][,Dim. text]
[,APPEND,App. text]
Description
Creates a radius dimension by specifying a previously defined
arc.
Parameters
(origin)
The dimensional text location. See the beginning of this section
for the methods of specification.
arc
The existing arc to be dimensioned.
VIEW
Minor word that indicates that a view name is to follow.
'View Name'
This is a string variable or literal that is the view name.
Dim. text
A string of up to 50 characters you may enter if the system
generated value and text are not desirable. You can enter the
desired dimension and/or text between single quotes
('dimension text'), or you can use a previously declared string
variable.
APPEND
Minor word which indicates that the text in the next field should
be appended to the dimension text.
App text
Text string which will be appended to the dimension text
(APPEND,'string','string'...). Each string constitutes a new line
and may contain a maximum of 132 characters. The maximum
number of characters which may be appended to a dimension is
600. The placement of appended text is controlled by the global
parameter &APSITE.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
15-13
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
Dimensions and Drafting Aids
Example
This example demonstrates the creation of the radius dimension
of a previously defined arc.
Declarations
ENTITY/CR1,DIM1
Geometry Definition CR1=CIRCLE/0,0,1,START,0,END,270
&ENSITE=&TOPR
Dimension DefinitionDIM1 =RDIM/-1.1,.75,CR1,APPEND,'DIM1'
Figure 15-4 Arc radius dimension
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
15-14
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Dimensions and Drafting Aids
Dimension Statements
The following pages provide detailed information on the GRIP statements used
to create the objects which are defined in Unigraphics using the Dimension
Creation option. The statements are grouped to mimic Unigraphics to help you
find the specific statement you want as quickly as possible.
Since all of the dimensioning statements require you to specify an origin
parameter and since the origin parameter has several options, this parameter
will be covered now, collectively, rather than with each individual statement.
The GRIP words listed below are described on the following pages. The listing
below reflects the order in which these words appear in the following pages, not
alphabetical order.
GPAs and
ąConstants
&TXARR
ą&AUTO
ą&ARRIN
ą&ARROUT
&ENSITE
ą&TOPL
ą&TOPC
ą&TOPR
ą&MIDL
ą&MIDC
ą&MIDR
ą&BOTL
ą&BOTC
ą&BOTR
&XLINE
ą&BOTH
ą&FIRST
ą&SECOND
ą&NONE
ą&APSITE
ą&LEFT
ą&RIGHT
Major Words
Minor Words
LDIM
ADIM
RDIM
HORIZ
VERT
ENDOF
CENTER
TANTO
OBLIQ
MAJOR
APPEND
EDS
All Rights Reserved
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
GRIP Fundamentals
Student Guide
15-15
Dimensions and Drafting Aids
The GRIP drafting and dimensioning functions allow you to create drafting
objects (such as notes and labels), create dimensions, and control the drafting
and dimension parameters. The following tables list and define drafting
parameters, dimensioning commands, and drafting symbols which are
presented in this lesson.
Table 15-2
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
15-16
Drafting Parameters
Parameter
GPAs and Constants
Text and arrow location
Automatic
Manual loc., arrows in
Manual loc., arrows out
&TXARR RW
&AUTO
C
&ARRIN C
&ARROUT C
N
N
N
N
[1..3]
=1
=2
=3
Character size
&CSIZE
RW
N
GT 0
Places past the decimal
for numerical displays
&DECPL
RW
N
[0..9]
Dimension places past
the decimal
&DDECPL RW
N
[0..7]
Fraction display type
Decimal
2/3 size common
3/4 size common
Full size common
&FTYPE
&DECIM
&FRAC
&TQFRAC
&FSFRAC
RW
C
C
C
C
N
N
N
N
N
[1..4]
=1
=2
=3
=4
Extension line display
Both lines
First line only
Second line only
No ext. lines
&XLINE
&BOTH
&FIRST
&SECOND
&NONE
RW
C
C
C
C
N
N
N
N
N
[1..4]
=1
=2
=3
=4
Entity site related to text
Top Left
Top Center
Top Right
Mid-left
Mid-center
Mid-right
Bottom Left
Bottom Center
Bottom Right
&ENSITE
&TOPL
&TOPC
&TOPR
&MIDL
&MIDC
&MIDR
&BOTL
&BOTC
&BOTR
RW
C
C
C
C
C
C
C
C
C
N
N
N
N
N
N
N
N
N
N
[1..9]
=1
=2
=3
=4
=5
=6
=7
=8
=9
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Dimensions and Drafting Aids
Name
&CSIZE
Synopsis
&CSIZE
Description
Controls the size of all text characters.
Character Size
There are individual text preferences for dimension main text,
appended text, tolerance text and drafting aid text. The Write option
for this GPA sets all of these preferences. The Read option can only
return one of these preferences. It returns the last preference that
was modified. For example, if the DIMPAR command is used to set
the preferences from a Note, then the GPA returns the text
preferences for drafting aid text. If the DIMPAR command is used to
set the preferences from a dimension, then the GPA returns the text
preferences for dimension main text.
Characteristics
Read/Write
Number
Greater Than Zero
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
15-17
Dimensions and Drafting Aids
Extension Line Display
Synopsis
&XLINE
Description
Controls the display of the extension lines for all dimensions.
Characteristics
Read/Write
Constant Values
1 = &BOTH
2 = &FIRST
3 = &SECOND
4 = &NONE
Parameters
&BOTH
GPA which indicates that both extension lines will be displayed.
Number
[1..4]
&FIRST
GPA which indicates that only the first extension line will be
displayed.
&SECOND
GPA which indicates that only the second extension line will be
displayed.
&NONE
GPA which indicates that neither extension line will be
displayed.
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
15-18
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Dimensions and Drafting Aids
Text and Arrow Location
Synopsis
&TXARR
Description
Controls the text and arrow location parameter. In
Unigraphics, text and arrow location also allows you to enter
dimension text manually. Entering dimension text manually in
GRIP is controlled in the dimension statements themselves, so
this GPA controls only text and arrow location.
Characteristics
Read/Write
Constant Values
1 = &AUTO
2 = &ARRIN
3 = &ARROUT
Parameters
&AUTO
GPA which indicates that the text and arrows will be placed
automatically, as they fit between the extension lines, in the
following order:
Number
[1..3]
Text centered between the extension lines with the arrows
inside.
Text centered between the extension lines with the arrows
outside.
Text placed outside the extension lines with the arrows
inside.
Text and arrows placed outside the extension lines.
&ARRIN
GPA which indicates that the text will not be automatically
centered between the extension lines. Its location is determined
by the origin parameter in the dimension statement. The arrows
are placed inside the extension lines.
&ARROUT
GPA which indicates that the text will not be automatically
centered between the extension lines. Its location is determined
by the origin parameter in the Dimension Statement. The
arrows are placed outside the extension lines.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
15-19
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
Dimensions and Drafting Aids
Entity Site related to Text
Synopsis
&ENSITE
Description
Controls the location of the point used to place a drafting object
in relation to its text.
Characteristics
Read/Write
Constant Values
1 = &TOPL
2 = &TOPC
3 = &TOPR
4 = &MIDL
5 = &MIDC
6 = &MIDR
7 = &BOTL
8 = &BOTC
9 = &BOTR
Parameters
&TOPL
GPA which indicates that the point used to locate text will be at
the top left corner of an imaginary box containing the text.
Number
[1..9]
&TOPC
GPA which indicates that the point used to locate text will be at
the center of the top edge of an imaginary box containing the
text.
&TOPR
GPA which indicates that the point used to locate text will be at
the top right corner of an imaginary box containing the text.
&MIDL
GPA which indicates that the point used to locate text will be at
the midĆpoint of the left edge of an imaginary box containing
the text.
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
&MIDC
GPA which indicates that the point used to locate text will be in
the center of an imaginary box containing the text.
15-20
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Dimensions and Drafting Aids
&MIDR
GPA which indicates that the point used to locate text will be at
the midĆpoint of the right edge of an imaginary box containing
the text.
&BOTL
GPA which indicates that the point used to locate text will be at
the bottom left corner of an imaginary box containing the text.
&BOTC
GPA which indicates that the point used to locate text will be at
the center of the bottom edge of an imaginary box containing
the text.
&BOTR
GPA which indicates that the point used to locate text will be at
the bottom right corner of an imaginary box containing the text.
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
15-21
Dimensions and Drafting Aids
Drafting Aids
The GRIP statements, which are described in this lesson, are used to create the
objects which are defined in Unigraphics using the Drafting Aids option.
There are two sections in this lesson which are not based on a specific GRIP
statement. These are text control, and drafting and dimensioning symbols which
deal with the manipulation of text using special control characters.
Table 15-3
Dimensioning Commands
Function
Format *
Note
NOTE/(origin),{scratch file #1
[,IFERR,label:]|'text'[,'text']+}
Label
LABEL/[{LEFT|RIGHT},](origin),
{obj[,VIEW,'View Name']
[,(origin)]|(origin)}'text'[,'text']+
Linear
Centerline
CLINE/LINEAR,obj list[,VIEW,view name list]
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
15-22
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Dimensions and Drafting Aids
Note
Synopsis
obj = NOTE/(origin),
{scratch file #1[,IFERR,label:]|'text'[,'text']+}
Description
Creates a note by specifying the text origin and either a text
string or scratch file 1. If you specify scratch file 1, the
statement will read whatever text it finds into the note.
You may also specify and IFERR label to jump to, if the NOTE
statement cannot read scratch file 1.
Parameters
(origin)
The text location. See the beginning of this section for the
methods of specification.
scratch file #1
The text which exists in scratch file number one may be used for
the note. Each line of text in this file will be on a separate line
in the note.
IFERR,label:
If scratch file number one is used for the text, the optional
IFERR parameters may be used. This feature provides the
capability of branching to another statement, specified by
(LABEL:), in the program if an error occurs in reading the
scratch file.
'text','text'
The 'text' parameters may be either text between single quotes
or string variables. In either case, each text parameter is placed
on a new line. As many lines as desired may be included in the
note when using a scratch file. Because of downstream
application limits, notes should not exceed 132 characters per
line or more than 600 characters per note. This includes special
control characters used to generate GD&T symbols, diameter
symbols, etc. If you create text with these symbols, you must
include the special control characters in the total character
count..
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
15-23
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
Dimensions and Drafting Aids
This example demonstrates the creation of a note by specifying
a text string and by reading scratch file 1.
Example
NOTE
As input to a note statement, the following text will be
written to a scratch file:
1. MATERIAL: STEEL
2. REMOVE ALL BURRS AND
ăăăSHARP EDGES.
Create and Write to CREATE/TXT,1,'NOTEDATA.TXT'
Text File
WRITE/1,'2. REMOVE ALL BURRS AND'
WRITE/1,' SHARP EDGES'
Note Definitions
NOTE/-2.2,1.5,'1. MATERIAL: STEEL.'
NOTE/-1.9,0,1,IFERR,A1:
JUMP/A2:
A1:
MESSG/TEMP,'ERROR READING FILE'
A2:
HALT
Figure 15-5 A programmed note and a note from scratch file # 1
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
15-24
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Dimensions and Drafting Aids
Label
Synopsis
obj = LABEL/[{LEFT|RIGHT},](origin),
{obj[,VIEW,'View Name'][,(origin)] |
(origin)} 'text'[,'text']+
Description
Creates a label by specifying a text string and either an object or
an origin where the arrow terminates. The LABEL statement
can also be used to return an object.
Parameters
LEFT and RIGHT
Determines which side of the text the leader line will begin on,
as viewed in a readable position. This parameter can also be
controlled by using Global Parameters &LEFT and &RIGHT by
entering the following statement:
&LEADER=&RIGHT or &LEADER=&LEFT
(origin)
The text location. See the beginning of this section for the
methods of specification.
obj
An existing object at which the leader line may terminate. The
object must be a point, line, arc, conic, or spline.
NOTE
Labels are associative objects; therefore, if the object
specified for the leader line termination is deleted, both
objects will be deleted.
VIEW
Minor word that indicates that a view name is to follow.
'View Name'
This is a string variable or literal that is the view name.
(origin)
If an object is specified for the leader line, the end position of
the leader may be controlled by specifying a position, nearest
the point on the object, where the leader line will terminate. If
a position is not specified, the leader line will terminate at a
point on the object nearest the origin of the text. See the
beginning of this section for the methods of specification.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
15-25
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
Dimensions and Drafting Aids
(origin)
If an object is not specified for the leader line, a position must
be specified at which the leader line will terminate. See the
beginning of this section for the methods of specification.
'text'[,'text']+
The 'text' parameters may be either text between single quotes
or string variables. In either case, each text parameter is placed
on a new line. As many lines as desired may be included in the
label with the restriction that no more than 600 characters can
be contained in one label.
Example
This example demonstrates the creation of two labels by
specifying a text string and a previously created circle where the
arrow will terminate.
Declarations
ENTITY/CR1,LBL1,LBL2
Geometry Definition CR1 =CIRCLE/0,0,.5
&ENSITE=&TOPL
Label Definition
LBL1 =LABEL/RIGHT,-2.2,1.5,CR1,'CIRCLE CR1'
LBL2 =LABEL/LEFT,.5,-1,CR1,0,-1,'THIS IS',$
'CIRCLE CR1'
HALT
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
Figure 15-6 Labels
15-26
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Dimensions and Drafting Aids
Linear Centerline
Synopsis
obj = CLINE/LINEAR,obj list[,VIEW,view name list]
Description
Creates a linear centerline object. The linear centerline can be
created through a set of points or arcs or a single point or arc
and lies in the XĆY plane of the work coordinate system.
Parameters
LINEAR
Minor word that causes a linear centerline to be generated.
obj list
A list of either points or arcs. The object list must contain at
least one object. It may contain up to 100 objects.
NOTE
The objects must be colinear, if they are not colinear, you
will get a run time error.
Linear centerlines are associative; therefore, if the generating
objects are deleted, the centerline will be deleted.
VIEW
Minor word that indicates that a view name is to follow.
view name list
A list of strings which represents the view names. If you specify
only a single view name for a view name list that corresponds to
an object list, then the single view name is used for all the
objects in the corresponding object list.
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
15-27
Dimensions and Drafting Aids
Example
This example demonstrates the creation of two linear
centerlines using colinear points and circles.
$$
$$ Declarations
$$
ENTITY/P(4),CR(9),CTRLN(4)
$$
$$ Geometry Definitions
$$
P(1)=POINT/-1.5,1.25
P(2)=POINT/-.5,1.25
P(3)=POINT/.5,1.25
P(4)=POINT/1.5,1.25
CR(1)=CIRCLE/-1.5,.5,.125
CR(2)=CIRCLE/-.5,.5,.125
CR(3)=CIRCLE/.5,.5,.125
CR(4)=CIRCLE/1.5,.5,.125
$$
$$ Centerline Definition
$$
CTRLN(1)=CLINE/LINEAR,P(1),P(2),P(3),P(4)
CTRLN(2)=CLINE/LINEAR,CR(1),CR(2),CR(3),CR(4)
$$
$$ Program continues
$$
.
.
.
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
Figure 15-7 Example of CLINE statement used for linear centerline
15-28
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Dimensions and Drafting Aids
Drafting EDAs: Drafting Object Origin
Synopsis
&ORIGIN(obj)
Description
Returns the location in X, Y, and Z in the current work
coordinate system of the origin of a specified drafting object to a
receiving numerical array. The origin of a drafting object can
also be altered by writing coordinates to this EDA.
Characteristics
Read/Write
Three Position Numerical Array
+ Infinity
Parameters
obj
Existing drafting object whose origin will be accessed.
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
15-29
Dimensions and Drafting Aids
Drafting EDAs: Text
Synopsis
&DMTEXT(obj)
Description
Returns the text of a specified dimension or drafting aid to a
receiving variable or GRIP statement.
If the note contains more than one line of text, each line can be
returned to a properly declared string array. The first line takes
the first array position, the second line, the second position, etc.
Characteristics
Read Only
String
132 Characters Per Line
Parameters
obj
Existing drafting object whose text will be returned.
Example
This example demonstrates the use of the &DMTEXT EDA to
write a note using text from a dimension.
Declarations
ENTITY/L(4),DIM1
STRING/STR(30)
BCK010:
PARAM/'ENTER STK DIMS',$
'LENGTH',LNG,$
'DIAMETER',DIA,RESP
JUMP/L10:,TERM:,,RESP
L(1)=LINE/0,0,LNG,0
L(2)=LINE/LNG,0,LNG,DIA
L(3)=LINE/LNG,DIA,0,LNG
L(4)=LINE/0,LNG,0,0
DIM1=LDIM/HORIZ,LNG/2,3,XSMALL,L(3), $
XLARGE,L(3)
CYLDIM/LNG+1,ANG/2,YLARGE,L(2),YSMALL,L(2)
STR=&DMTEXT(DIM1)
NOTE/LNG/2,-.5,'REQUIRED MATERIAL STOCK = '+STR
CANCEL:HALT
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
The note will be written with the same text as DIM1. There are
other ways to create this note; however, this method assures that
the decimal places in the note match the dimension.
15-30
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Dimensions and Drafting Aids
Activity: Dimensioning the LĆshape
Use the program created in the LĆShape activity. Add the
dimensions shown in the original figure. The dimensions
should be the last action of the program.
2.0
2.0
6.0
1.0
Figure 15-8 Dimensioned L-Shape
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
15-31
Dimensions and Drafting Aids
(This Page Intentionally Left Blank)
ÉÉÉ
ÉÉÉ
15
ÉÉÉ
ÉÉÉ
15-32
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Attributes (Optional)
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
Attributes (Optional)
Lesson 16
Objectives
Learn the GRIP statements used to assign, use and delete attributes.
Many of the interactive attribute options, especially NAME, are
performed in GRIP using GPAs and EDAs. See the respective
chapters on GPAs and EDAs found in this manual.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
16-1
Attributes (Optional)
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
Object Names
Using objects in a GRIP program, you have learned how to use an ENTITY/
declaration statement to define a program variable name and reserve space in
the memory to store object identifiers. An object identifier is a system defined
tag that is used to distinguish various types of data in a part data model.
The following table describes the EDAs and major words used with object
attribute names. Notice that the &ENAME EDA requires a number (n) which
indicates which occurrence of the object is returned. This means that object
names are not unique, and there can be many objects with the same name in a
GRIP program. The major word ENUM/ will indicate the total number of
objects with a specified name. Please note that you cannot set an object name
to &NULSTR; you must use the DELNAM/ major word for this.
Table 16-1
Object Name Commands
Type
Format
Read/set object name
&NAME({obj|'name'})
Get number of named
object
ENUM/'name'
Get nth object with
specified name
&ENAME(n,'name'[,IFERR, label:])
Delete Name
DELNAM/{obj list|ALL}
Assign Object Attributes ASATT/{obj list|ALL|PART|'name'},attributes
list[,data_type]
Get Attribute Title
&ATTTL({obj|PART|'name'},seqno[,data_type])
Get Attribute Value
&ATTVL({obj|PART|'name'},'title'[,IFERR,label:]
[,data_type})
Delete Object Attribute DLATT/{obj list|ALL|PART|'name'},{title
list|ALL}[,data_type}
Control Name Display
Location (X,Y,Z)
16-2
GRIP Fundamentals
Student Guide
&ATDISL(obj)
EDS
All Rights Reserved
Unigraphics NX 2
Attributes (Optional)
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
&NAME
Name
&NAME
Synopsis
&NAME({obj|'name'})
Description
Assigns a name to an object as an attribute. The assigned name may
be assigned to any number of objects. It is in addition to the geometric
object name (LN1=LINE/X,Y,Z) which is declared and must be
unique.
Characteristics
Read/Write
Parameters
obj
Existing object to which the name will be assigned or from which the
name will be returned.
Object Name
String
30 Characters
'name'
A string or string variable which represents the name of an object
such as a reference set to which the name will be assigned or from
which the name will be returned.
Valid Characters
Use upper case A Ć Z, digits 0 Ć 9, and the following special
characters: ." period, Ć" hyphen, #" pound sign, /" slash, and _"
underscore. Blank spaces may not be used. The maximum name
length is 30 characters.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
16-3
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
Attributes (Optional)
Example
This example demonstrates the use of the &NAME EDA to assign a
name to several objects.
Declarations
ENTITY/LN1,LN2,LN3,LN4,C(4)
LN1=LINE/0,0,4,0
LN2=LINE/0,3,4,3
LN3=LINE/0,0,0,3
LN4=LINE/4,0,4,3
C(1)=CIRCLE/.5,.5,.25
C(2)=CIRCLE/3.5,.5,.25
C(3)=CIRCLE/.5,2.5,.25
C(4)=CIRCLE/3.25,2.5,.25
&ATTDIS=&ON
&NAME(LN1)='PART_EDGE'
&NAME(LN2)='PART_EDGE'
&NAME(LN3)='PART_EDGE'
&NAME(LN4)='PART_EDGE'
&NAME(C(1))='MOUNTING_HOLES'
&NAME(C(2))='MOUNTING_HOLES'
&NAME(C(3))='MOUNTING_HOLES'
&NAME(C(4))='OFFSET_HOLE'
Figure 16-1 Assigning names to objects with attribute display on
16-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Attributes (Optional)
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
ENUM
Name
ENUM
Synopsis
num = ENUM/'name'
Description
Returns the number of objects which have been assigned the same
name by the EDA &NAME.
Parameters
'name'
A literal string which is the name assigned to an object using the EDA
&NAME.
Example
This example demonstrates the use of the ENUM statement to verify
the occurrences of the &NAME, PART_EDGE.
Declarations
ENTITY/LN(4)
LN(1)=LINE/Ć1,Ć1,1,Ć1
LN(2)=LINE/1,Ć1,1,1
LN(3)=LINE/1,1,Ć1,1
LN(4)=LINE/Ć1,1,Ć1,Ć1
&NAME(LN(1))='PART_EDGE'
&NAME(LN(2))='PART_EDGE'
&NAME(LN(3))='PART_EDGE'
&NAME(LN(4))='PART_EDGE'
ENTNUM=ENUM/'PART_EDGE'
Get number of Named objects
NOTE The numerically valued variable ENTNUM is assigned the
number 4.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
16-5
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
Attributes (Optional)
&ENAME
Name
&ENAME
Synopsis
&ENAME(n,'name'[,IFERR,label:])
Description
Returns the object identifier of the nth object with the specified name
to a receiving variable or GRIP statement. You can use this function
to identify objects which were named interactively or in another GRIP
program. This EDA does not guarantee the order in which objects are
returned. Since object identifiers may change across sessions,
&ENAME returns object identifiers without regard to a particular
order.
Find the Nth Object with Given Name
NOTE The following object types are not valid for this EDA: 60,
61, 62, and 64 which correspond to View, Layout, Drawing, and
Reference Set.
Characteristics
Read Only
Parameters
n
An integer representing the nth object in the data base with the given
name.
Object
30 Characters
'name'
The name, which can have a maximum of 30 characters, for which the
system will search.
NOTE
You can use an asterisk character (*) as a wild card.
IFERR,label:
Specifies a label to which the program jumps if an error occurs. An
error occurs if there are no objects with the specified name or if the
number of objects with the given name is less than the value specified
by n".
Example
This example demonstrates the use of the &ENAME EDA to find the
third object with the name SPOOL5" in order to change it to
SPOOL6".
Declarations
ENTITY/E
E=&ENAME(3,'SPOOL5',IFERR,A1:)
&NAME(E)='SPOOL6'
A1:MESSG/'CANNOT FIND NAME'
16-6
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Attributes (Optional)
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
In the next program, the first ten objects or the total number of
objects, whichever is smaller, with the name LOCK_PIN will be
deleted.
Declarations
ENTITY/E(10)
DO/A1:,I,1,10
E(I)=&ENAME(I,'LOCK PIN',IFERR,A2:)
A1:
A2:
I=I-1
IF/I==0,JUMP/A3:
DELETE/E(1..I)
A3:
XYZ(1)=.5
XYZ(2)=.5
&ATDISL(LN1)=XYZ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
16-7
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
Attributes (Optional)
DELNAM
Name
DELNAM
Synopsis
DELNAM/{obj list|ALL}
Description
Permanently deletes the name assigned to an object.
Parameters
obj list
A list of existing objects whose names you wish to delete.
Delete Name
ALL
Minor word which indicates that all objects in a given part which
satisfy the following conditions are to have their names deleted:
Example
1.
The object must be a selectable type/subtype.
2.
The object must not be blanked.
3.
The object must reside on a layer which is selectable in the
work view.
This example demonstrates the use of the DELNAM statement.
ENTITY/OBJ(2)
OBJ(1) = LINE/0,0,1,1
OBJ(2) = POINT/2,2,2
&NAME(OBJ(1)) = 'LINE1'
&NAME(OBJ(2)) = 'POINT1'
DELNAM/OBJ
HALT
16-8
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Attributes (Optional)
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
ASATT
Name
ASATT
Synopsis
ASATT/{obj list|ALL|PART|'name'},attribute list[,data_type]
Description
Allows you to assign object attributes to previously defined objects.
Assign Object Attributes
NOTE GRIP forces the case of attribute titles to uppercase.
Interactive Unigraphics only allows you to create and read uppercase
attribute titles. Variable length strings can be upper or lowercase.
Parameters
obj list
The existing objects to which the attributes are to be assigned. If a
PART object identifier is included, it must be the first member of the
list.
ALL
Minor word which indicates that the attributes are to be assigned to
every object in the part (except manufacturing objects).
PART
Minor Word which indicates that the attributes are to be assigned to
the part instead of to individual objects.
'name'
A string or string variable which represents the name (object
identifier) of an object such as a reference set.
attribute list
The attribute list is a string list which consists of an alternating series
of titles and values. The list must consist of an even number of
elements, where the odd numbered elements, 1, 3, 5, etc. are titles
and the even numbered elements, 2, 4, 6, etc. are values. The string
array length must be equal to the longest title and/or value in the list.
However, the maximum length of a title is 50 characters and the
maximum length of a value is 132 characters. The title cannot begin
with a dollar sign character ($).
Restrictions:
Integer Range is any valid Unigraphics number.
Example: 13579"
Real has 8 characters including ", E sign.
Example: 3.5 E 10"
Date and Time must be in the format
MM/DD/YYąHH:MM"
Example: 09/30/91ą04:35"
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
16-9
Attributes (Optional)
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
The reference data type allows you to embed an expression in the
reference string that uses a conversion specifier with the following
syntax:
<Xm.n@exp_name> or <Xm,n@exp_name> where:
<>
the enclosing angle brackets identifies the
conversion specifiers and expression name for the
reference.
X
indicates a reference to an expression.
m.n
is the conversion specification for the f format used
in the C language. m" specifies the minimum field
width. If necessary, it is padded on the left to make
up the field width. n" specifies the maximum
number of digits after the decimal point of the
expression value. You can use a comma as the
decimal point character by specifying m,n" instead
of m.n".
@
indicates that an expression name is to follow.
exp_name
specifies the expression name on the left hand side
of an expression.
[,data_type]
The parameter data_type has been assigned a value of the GPA
&ATTYPE. Depending on the value of data_type, even numbered
elements in the attribute list are converted to the appropriate data
type.
NOTE Attribute values are represented as strings, but they are
internally converted to the specified data type. If the data type is not
specified, the default data type is variable length string.
Part attributes can only have a data_type of 5 (string); the system
ignores all other data_types for part attributes.
Data_Type
16-10
GRIP Fundamentals
Student Guide
Explanation
1
Integer
2
Floating point
3
Date and time
4
Null
5
Variable length character
7
Reference
EDS
All Rights Reserved
Unigraphics NX 2
Attributes (Optional)
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
STRING/ATR(2)
ATR(1)='TITLE'
ASATT/ENT,ATR,3
ATR(2)=10
ASATT/ENT,ATR1,1
Example
This example demonstrates the use of the ASATT statement.
Declarations
ENTITY/LN(4),CR(2)
STRING/ATT(6,132)
Geometry Definition
LN(1) =LINE/Ć1,Ć1,1,Ć1
LN(2) =LINE/1,Ć1,1,1
LN(3) =LINE/1,1,Ć1,1
LN(4) =LINE/Ć1,1,Ć1,Ć1
CR(1) =CIRCLE/Ć.5,Ć.5,.25
CR(2) =CIRCLE/.5,.5,.25
ATT(1)='USE'
ATT(2)='PART EDGE'
Attribute Assignment
ASATT/LN,ATT(1..2)
Reassign Value for
ATT(2)='MOUNTING HOLE'
ATT(3)='DRILL'
ATT(4)='.5 DIA. .75 DEEP'
ATT(5)='TAP'
ATT(6)='9/16 18 THREAD'
Attribute Assignment
ASATT/CR,ATT
This example would assign attributes to each object in the arrays LN
and CR in the following manner:
Objects
Attribute Title
LN(1..4)
USE
PART EDGE
CR(1..2)
USE
MOUNTING HOLE
CR(1..2)
DRILL
.5 DIA. .75 DEEP
CR(1..2)
TAP
9/16Ć18 THREAD
EDS
All Rights Reserved
Attribute Value
GRIP Fundamentals
Student Guide
16-11
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
Attributes (Optional)
&ATTTL
Name
&ATTTL
Synopsis
&ATTTL({obj|PART|'name'},seqno[,data_type])
Description
Returns the title of the attribute which is referred to by the specified
sequence number.
Characteristics
Read Only
Parameters
obj
Existing object from which attribute titles will be accessed.
Get Attribute Title
String
50 Characters
PART
Minor word which indicates that the part attributes will be accessed.
'name'
A string or string variable which represents the name of an object
such as a reference set.
seqno
Sequence number of the desired attribute title. The attribute titles are
sequenced in a linear manner (e.g., the first title assigned is 1, the
second title assigned is 2, and so on where each title is of a given data
type).
[,data_type]
The parameter data_type has been assigned a value of GPA
&ATTYPE. If data_type is not specified, the default data type is
variable length string.
NOTE Reference attributes do not use sequence numbers.
Therefore, ATTTL does not return reference titles. Please refer to the
notes on reference attributes in the attribute section of the
Unigraphics Essentials User Guide for a description of the use of
reference attributes.
Part attributes can only have a data_type of 5 (string); the system
ignores all other data_types for part attributes.
16-12
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Attributes (Optional)
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
Data Type Description
1
Integer
2
Floating point
3
Date and time
4
Null string
5
Variable length character
Example
This example demonstrates the use of the &ATTTL EDA to extract
an attribute title.
Declarations
$$ DECLARATIONS
GRIPSW / DECLRV
ENTITY / OBJ
STRING / MYATTS(14,132), MYTTL(7,132), MYVAL(7,132)
NUMBER / INDX
$$ CREATE OBJECT
OBJ = CIRCLE / 1,1,1
$$ INITIALIZE AN INTEGER ATTRIBUTE
MYATTS(1) = 'NUMBER OF FLOATS AND STRINGS'
MYATTS(2) = '2'
$$ INITIALIZE FLOATING POINT ATTRIBUTES
MYATTS(3) = 'HOLE DEPTH'
MYATTS(4) = '1.0'
MYATTS(5) = 'HOLE WIDTH'
MYATTS(6) = '1.5'
$$ INITIALIZE A DATE AND TIME ATTRIBUTE
MYATTS(7) = 'DATE CREATED'
MYATTS(8) = '09/16/96 14:35'
$$ INITIALIZE A NULL ATTRIBUTE
MYATTS(9) = 'NULL DATA'
$$ MYATTS(10) = &NULSTR
$$ INITIALIZE STRING ATTRIBUTES
MYATTS(11) = 'HOLE DESCRIPTION #1'
MYATTS(12) = 'This circle represents a hole.'
MYATTS(13) = 'HOLE DESCRIPTION #2'
MYATTS(14) = 'The hole specifications are provided as
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
16-13
Attributes (Optional)
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
attributes.'
$$ ASSIGN THE ATTRIBUTES
ASATT / OBJ, MYATTS(1..2), 1
ASATT / OBJ, MYATTS(3..6), 2
ASATT / OBJ, MYATTS(7..8), 3
ASATT / OBJ, MYATTS(9..10), 4
ASATT / OBJ, MYATTS(11..12), 5
ASATT / OBJ, MYATTS(13..14)
$$ READ THE ATTRIBUTE TITLES AND VALUES
MYTTL(1) = &ATTTL(OBJ,1,1)
MYVAL(1) = &ATTVL(OBJ,MYTTL(1),1)
MYTTL(2) = &ATTTL(OBJ,1,2)
MYVAL(2) = &ATTVL(OBJ,MYTTL(2),2)
MYTTL(3) = &ATTTL(OBJ,2,2)
MYVAL(3) = &ATTVL(OBJ,MYTTL(3),2)
MYTTL(4) = &ATTTL(OBJ,1,3)
MYVAL(4) = &ATTVL(OBJ,MYTTL(4),3)
MYTTL(5) = &ATTTL(OBJ,1,4)
MYVAL(5) = &ATTVL(OBJ,MYTTL(5),4)
MYTTL(6) = &ATTTL(OBJ,1,5)
MYVAL(6) = &ATTVL(OBJ,MYTTL(6),5)
MYTTL(7) = &ATTTL(OBJ,2)
MYVAL(7) = &ATTVL(OBJ,MYTTL(7))
$$ OUTPUT THE REPORT
EJECT / PRINT
DO / DOLUP:, INDX, 1, 7
DOLUP: PRINT / MYTTL(INDX) + ' = ' + MYVAL(INDX)
HALT
The CRT would appear as follows:
NUMBER OF FLOATS AND STRINGS = 2
HOLE DEPTH = 1.000000
HOLE WIDTH = 1.500000
DATE CREATED = 9/16/96 14:35
NULL DATA =
HOLE DESCRIPTION #1 = This circle represents a hole.
16-14
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Attributes (Optional)
HOLE DESCRIPTION #2 = The hole specifications are provided as
attributes.
OPERATION REPORT
DRILL .203 DIA. .75 DEEP
TAP 1/4-20 .5 DEEP
COST 135
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
16-15
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
Attributes (Optional)
&ATTVL
Name
&ATTVL
Synopsis
&ATTVL({obj|PART|'name'},'title'[,IFERR,label:][,data_type])
Description
Provides the only method of obtaining the value of an attribute. In
addition, it is a unique and efficient method of editing the value of an
existing attribute.
Characteristics
Read/Write
Parameters
obj
Existing object whose attribute values will be accessed.
Get Attribute Value
String
132 Characters
PART
Minor word which indicates that the part attributes will be accessed.
'name'
A string or string variable which represents the name of an object
such as a reference set.
'title'
The attribute title whose corresponding value will be accessed.
[,data_type]
The parameter data_type has been assigned a value of GPA
&ATTYPE. If data_type is not specified, the default data type is
variable length string. Note that you do not have to write anything to
the Null attribute.
Part attributes can only have a data_type of 5 (string); the system
ignores all other data_types for part attributes.
Data Type Description
16-16
GRIP Fundamentals
Student Guide
1
Integer
2
Floating point
3
Date and time
4
Null string
5
Variable length character
7
Reference
EDS
All Rights Reserved
Unigraphics NX 2
Attributes (Optional)
IFERR,label:
Specifies a label to which the program jumps if an error occurs. An
error occurs when the specified title does not exist for the object.
Example
This example demonstrates the use of the &ATTVL EDA to extract
values.
Declarations
GRIPSW/declrv
NUMBER/I
ENTITY/CR(3)
STRING/ATT(12,132),PR(6,132)
CR(1)=CIRCLE/1,1,.5
CR(2)=CIRCLE/2,1,.5
CR(3)=CIRCLE/3,1,.5
$$ DECLARE INTEGER ATTRIBUTE
ATT(1)='HOLE DEPTH'
ATT(2)='2'
$$ DECLARE FLOATING POINT ATTRIBUTE
ATT(3)='HOLE WIDTH'
ATT(4)='1.75'
$$ DECLARE DATE & TIME ATTRIBUTE
ATT(5)='DATE CREATED'
ATT(6)='06/25/92 14:35'
$$ DECLARE A NULL ATTRIBUTE
ATT(7)='NULL DATA'
$$ TO DECLARE A STRING ATTRIBUTE
ATT(9)='HOLE DESC'
ATT(10)='This hole was created '$
+'on jun 25, 92 at 2:35pm and has a NULL attribute.'
$$ DECLARE A REFERENCE
EXPCRE/'DEPTH = 2'
EXPCRE/'WIDTH = 1.75'
ATT(11)='HOLE DIMS'
ATT(12)='This hole is <X2.2@DEPTH> inches deep '$
+'and <X2.2@WIDTH> inches wide.'
ASATT/CR(1),ATT(1..2),1
ASATT/CR(2),ATT(3..4),2
ASATT/CR(3),ATT(5..6),3
ASATT/CR(3),ATT(7..8),4
ASATT/CR(3),ATT(9..10)
ASATT/CR(3),ATT(11..12),6
PR(1)=&ATTVL(CR(1),'HOLE DEPTH',1)
PR(2)=&ATTVL(CR(2),'HOLE WIDTH', 2)
PR(3)=&ATTVL(CR(3),'DATE CREATED',3)
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
16-17
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
Attributes (Optional)
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
PR(4)=&ATTVL(CR(3),'NULL DATA',4)
PR(5)=&ATTVL(CR(3),'HOLE DESC')
PR(6)=&ATTVL(CR(3),'HOLE DIMS')
PRINT/'HOLE DEPTH REPORT'
DO/L1:,I,1,6
PRINT/PR(I)
L1:
HALT
You can obtain the first title for CR(1) by using the attribute title
EDA. That title can then be used to edit the value for the hole depth:
TLE=&ATTTL(CR(1),1,1)
&ATTVL(CR(1),TLE,1)='20'
16-18
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Attributes (Optional)
DLATT
Name
DLATT
Synopsis
DLATT/{obj list|ALL|PART|'name'},{title list|ALL}[,data_type]
Description
Deletes object attributes assigned to an object. Note that attributes
on a tool object are not affected by this statement.
Parameters
obj list
The list of objects from which the specified attributes are to be
deleted. If the PART object identifier is included, it must be the first
member.
Delete Object Attribute
ALL
Minor word which indicates that the specified attributes are to be
deleted from all of the objects in the part (except manufacturing
objects).
PART
Minor word which indicates that the attributes are to be deleted from
the part instead of from individual objects.
'name'
A string or string variable which represents the name (object
identifier) of an object such as a reference set.
title list
The title list is a string list which consists of the attribute titles which
are to be deleted from the specified objects.
ALL
Minor word which indicates that all of the attributes are to be deleted
from the specified objects.
[,data_type]
The parameter data_type has been assigned a value of the GPA
&ATTYPE. Depending on the value of data_type, object attributes
for all specified objects are deleted. If data_type is not specified, the
default data type is variable length string.
Part attributes can only have a data_type of 5 (string); the system
ignores all other data_types for part attributes.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
16-19
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
Attributes (Optional)
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
Data_Type
Explanation
1
Integer
2
Floating point
3
Date and time
4
Null
5
Variable length character
6
All data types
7
Reference
Example
This example demonstrates the use of the DLATT statement.
Declarations
ENTITY/LN(4),CR(2)
STRING/ATT(6,132)
Geometry Definition LN(1) =LINE/Ć1,Ć1,1,Ć1
LN(2) =LINE/1,Ć1,1,1
LN(3) =LINE/1,1,Ć1,1
LN(4) =LINE/Ć1,1,Ć1,Ć1
CR(1) =CIRCLE/Ć.5,Ć.5,.25
CR(2) =CIRCLE/.5,.5,.25
ATT(1)='USE'
ATT(2)='PART EDGE'
Attribute Assignment ASATT/LN,ATT(1..2)
Reassign Value for
ATT(2)='MOUNTING HOLE'
ATT(3)='DRILL'
ATT(4)='.5 DIA. .75 DEEP'
ATT(5)='TAP'
ATT(6)='9/16 18 THREAD'
Attribute Assignment ASATT/CR,ATT
Delete Attribute
16-20
DLATT/LN(1..3),ALL
$All of the attributes are deleted from
$the lines in the object list LN(1..3).
DLATT/CR(1),ATT(1..2)
$ATT(1) and ATT(2) are deleted from
$CR(1).
DLATT/ALL,ALL,1
$All integer attributes are deleted from
$all objects in the part.
DLATT/ALL,ALL
$All string attributes are deleted from
$all objects in the part.
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Attributes (Optional)
DLATT/ALL,ALL,6
EDS
All Rights Reserved
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
$All attributes are deleted from all
$objects in the part (except
$manufacturing objects).
GRIP Fundamentals
Student Guide
16-21
ÏÏÏ
ÏÏÏ
16
ÏÏÏ
ÏÏÏ
Attributes (Optional)
&ATDISL
Name
&ATDISL
Synopsis
&ATDISL(obj)
Description
Allows the origin coordinates of the object name, which are in the
work coordinate system, to be obtained or altered. Display origins,
which are determined automatically by the system at the time the
name is established, are as shown below.
Object Type
Control Name Display Location (X,Y,Z)
Display Origin
Point
The point
Line
The midpoint
Arc
The midpoint
Conic
The midpoint
Spline
The first knot point
Surface
The midpoint
Group system
The first nonĆgroup member
Plane
The origin
Coordinate
The origin
Characteristics
Read/Write
% Infinity
Parameters
obj
Existing object from which the name location will be accessed.
Example
This example demonstrates the use of the &ATDISL EDA to extract
the name display location of a line and alter that location.
Declarations
ENTITY/LN1
NUMBER/XYZ(3)
LN1=LINE/-1,0,1,0
XYZ=&ATDISL(LN1)
Three Position Numerical Array (N(3))
The variable array XYZ would be assigned the values (0,0,0) which is
the midpoint of line LN1. The statements below alter the origin and
cause the name to be displayed at the coordinates (.5,.5,0).
16-22
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
ASCII Conversion Table
ASCII Conversion Table
ÉÉÉ
ÉÉÉ
A
ÉÉÉ
ÉÉÉ
Appendix A
ASCII
CHARACTER
VALUE
ASCII
CHARACTER
VALUE
ASCII
CHARACTER
VALUE
(BLANK)
32
?
63
L
94
!
33
@
64
-
95
"
34
A
65
`
96
#
35
B
66
a
97
$
36
C
67
b
98
%
37
D
68
c
99
&
38
E
69
d
100
'
39
F
70
e
101
(
40
G
71
f
102
)
41
H
72
g
103
*
42
I
73
h
104
+
43
J
74
i
105
,
44
K
75
j
106
-
45
L
76
k
107
.
46
M
77
l
108
/
47
N
78
m
109
0
48
O
79
n
110
1
49
P
80
o
111
2
50
Q
81
p
112
3
51
R
82
q
113
4
52
S
83
r
114
5
53
T
84
s
115
6
54
U
85
t
116
7
55
V
86
u
117
8
56
W
87
v
118
9
57
X
88
w
119
:
58
Y
89
x
120
;
59
Z
90
y
121
<
60
[
91
z
122
=
61
\
92
{
123
>
62
]
93
|
124
}
125
~
126
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
A-1
ASCII Conversion Table
ÉÉÉ
ÉÉÉ
A
ÉÉÉ
ÉÉÉ
(This Page Intentionally Left Blank)
A-2
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Debugger
GRIP Debugger
Appendix B
ÉÉÉ
ÉÉÉ
B
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
B-1
GRIP Debugger
GRIP Debugger
The Debug GRIP option allows you to debug GRIP code while running a
program. The GRIP compiler and linker automatically generate debuggable
code. Use the Debug GRIP execution option to run the GRIP debugger and
identify further problems in the code.
You can use the GRIP debugger on any system that Unigraphics supports. The
debugger is not available in GRIP batch because of its interactive nature, so it
will not be available in any form on terminals that cannot run Unigraphics.
However, you can batch compile and link code.
ÉÉÉ
ÉÉÉ
B
ÉÉÉ
ÉÉÉ
The GRIP debugger has capabilities which include manipulation of breakpoints,
examination of variables, and control of program execution. All user
interaction is done through menus.
Features of the Debugger
The debugger enables you to perform the following activities.
Set, clear, and list break points at any line or label within the program.
Examine the value of entity, number, string, or array variables.
Change the value of a number or string variable.
List all variables in a particular program or subprogram, and allow the
user to look at the name, type, and dimensions of all variables in a
subprogram or program.
Control the program execution in the following ways:
single step into a called subroutine
single step over a called subroutine
continue from the breakpoint
abort the program.
The most important benefit to you, the programmer, is that by using
breakpoints you can stop the program, and examine and modify number and
string variables. You can examine, but not modify, entity variables.
B-2
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Debugger
Running a Program with the Debugger
When you choose File→Execute/UG Open→Debug Grip, the system prompts
you to specify a file to debug. The Compile option on GRADE automatically
generates debuggable code when compiling a GRIP program.
The GRIP Debugger Menu
Once you've specified a file to debug, the system displays the main Debug GRIP
menu containing the following options:
Single Step
Single Step/Into
Set Breakpoints
Clear Breakpoints
Examine Variables/Entities
Set Variable
List Option
Continue
Program Abort
The menu header lists the following program information:
(subprogram)
(line #)
(reason stopped)
= name of the current subprogram
= the current line number of the program
= the reason for suspending the program
The debugger will suspend execution for one of the following four reasons.
Each is listed with its abbreviation as it appears on the menu:
Initial Entry (INIT ENTRY)
Breakpoint (BREAKPOINT)
Single Step (SINGLE ST.)
Single Step Into (Step/Into)
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
B-3
ÉÉÉ
ÉÉÉ
B
ÉÉÉ
ÉÉÉ
GRIP Debugger
Single Step
The interpreter executes the current statement and suspends at the next line.
If the current instruction is a CALL statement, the interpreter executes all
instructions and observes all breakpoints in the called subprogram. When
control returns to the calling subprogram, the system sets a temporary
breakpoint at the line following the CALL statement and suspends program
execution. To resume program execution, choose either Single Step or
Continue from the main Debug GRIP menu.
ÉÉÉ
ÉÉÉ
B
ÉÉÉ
ÉÉÉ
For example, if in the calling routine there is no breakpoint between the current
line and the line that follows, the interpreter suspends the program due to
Single Step. However, if there is a breakpoint(s) in between the two lines and
the program execution suspends at the temporary breakpoint, the reason
stopped is Breakpoint.
Single Step/Into
The interpreter executes the current statement and suspends at the next line.
If the current instruction is a CALL statement, the system suspends program
execution at the first executable statement in the called subprogram. The
reason stopped is Step/Into.
Single Step and Single Step/Into perform exactly the same for all nonĆCALL
statements.
Set Breakpoints
Allows you to set breakpoints at either specific line numbers or labels within a
specified program. By setting breakpoints, you can suspend program execution
at specified locations. You can then examine the status of the program by using
other debugger options.
The maximum number of breakpoints you can set in one program is 26. When
you choose this option, the system prompts you with the following options:
PROG_NAME
Line/Label
B-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Debugger
PROG_NAME allows you to enter the name of a subprogram in which you wish
to set a breakpoint. The maximum length of the name including the extension
is 30 characters. The default is the current subprogram name.
If the system cannot find the input name, it displays the message
Undefined Subprogram Name
Line/Label allows you to specify the line number or label name where you wish
to set the breakpoint.
If you enter a line number:
and the input line number is less than the line number of the first
executable statement in the program, the system displays the line
number of the first executable line and sets a breakpoint at that line.
and the input line number is greater than the last line in the program,
the system displays the line number of the last executable line.
and the input line number is at a comment, the system displays the line
number of the two closest executable lines, one before and one after
the comment.
If you enter a label name, the system sets a breakpoint at that label. You can
enter the label name either by itself (END) or with a colon (END:). The length
of an input label can be more than 6 characters, but the system only uses the
first 6 characters, so they should be unique.
If the system cannot find the label name, it displays the error message
Undefined Label Name
NOTE
There is no line number assigned to DO loop labels in the
object code. Therefore, in order to set a breakpoint at a
DO loop label, you must have a dummy statement at the
DO loop termination.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
B-5
ÉÉÉ
ÉÉÉ
B
ÉÉÉ
ÉÉÉ
GRIP Debugger
Clear Breakpoints
Allows you to remove any or all breakpoints previously set in the program. If
you have not previously set any breakpoints, the system displays the error
message
There Is No Breakpoint To Clear
and returns to the main Debug GRIP menu.
ÉÉÉ
ÉÉÉ
B
ÉÉÉ
ÉÉÉ
If there are one or more breakpoints set in the program, the system displays a
list of the current breakpoints set in the program.
Choosing All clears all breakpoints, including any temporary breakpoints, from
the program. The system then returns to the main Debug GRIP menu.
If there are 13 or more breakpoints in the program, Next Page will appear as
the final option allowing you to continue on through the remaining breakpoints.
Choosing one or more breakpoints clears those selected breakpoints from the
program.
Examine Variables/Entities
Allows you to display the values of variables and/or entities in a specified
program. When you choose this option, the system displays the following
options:
PROG_NAME
VAR_NAME
PROG_NAME allows you to enter the name of the subprogram in which you
wish to examine variables. If no name is entered, the system defaults to the
current subprogram.
B-6
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Debugger
VAR_NAME allows you to enter the name of the variables/entities you wish to
examine. Based on the type of variable/entity specified, the system sends the
following information to the listing window.
Variable/Entity name by itself:
Numeric variable: subprogram name, variable name, real value
String variable: subprogram name, variable name, string value
Numeric array variable: subprogram name, variable name,
indices, real value at each index
String array variable: subprogram name, variable name, indices,
string value at each index
Single entity: subprogram name, entity name, value (either null
entity, the value of the valid entity, or invalid entity)
Entity array: subprogram name, entity name, indices, value at
each index (either null entity, the value of the valid entity, or
invalid entity)
Variable/Entity name with an index: If a variable/entity is not an array
type, or the input index is out of range, the system displays an error
message. When examining an index of a variable/entity there should
only be one open and one closed parenthesis, and 0, 1, or 2 commas,
depending on the variable/entity dimension. The index values must be
constants.
Numeric array variable: subprogram name, variable name, index
and real value of that index
String array variable: subprogram name, variable name, index
and string value of that index
Entity array: subprogram name, entity name, index, value of
that index (either null entity, the value of the valid entity, or
invalid entity)
Variable/Entity name with a subrange: If a variable/entity is not an
array type, or the input subrange is out of range, the system displays an
error message. When examining a subrange of a variable/entity, there
should only be one open and one closed parenthesis, and double
periods (..) between the lower and upper bounds, as well as 0, 2, or 4
commas depending on the variable/entity dimension. The lower and
upper bound values must be constants.
Numeric array variable: subprogram name, variable name,
indices from lower to upper range, real value of each index
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
B-7
ÉÉÉ
ÉÉÉ
B
ÉÉÉ
ÉÉÉ
GRIP Debugger
String array variable: subprogram name, variable name, indices
from lower to upper range, string value of each index
Entity array: subprogram name, entity name, indices from
lower to upper range, value of each index (either null entity, the
value of the valid entity, or invalid entity)
Set Variable
ÉÉÉ
ÉÉÉ
B
ÉÉÉ
ÉÉÉ
Allows you to set a variable one value at a time; you cannot set a range using
this option. When you choose this option, the system displays the following
options:
PROG_NAME
VAR_NAME
PROG_NAME allows you to enter the name of the subprogram in which you
wish to set the variable. If no name is entered, the system defaults to the
current subprogram.
VAR_NAME allows you to enter the name of the variable you wish to set.
If the specified variable is a number, the system sends the subprogram name,
variable name, and its original value to the listing device. If the variable is a
numerical or string array, the system sends the variable name, index, and
original value of that index. The system then prompts you to enter a new value.
If the specified variable is a string, the system sends the subprogram name,
variable name, its original value, and (for arrays) any indices and their values to
the listing device. The system then prompts you to enter a new string.
After specifying the new variable, the system sends the new value to the listing
device and returns to the Set Variable menu.
B-8
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GRIP Debugger
List Options
Allows you to list subprograms, and breakpoints contained in the program.
When you choose this option, the system displays the following options:
List Variables in Subprogram
List All Variables
List All Subprograms
List Breakpoints
List Variables
List Variables in Subprogram allows you to list all the variable
names, types, and dimensions of a specified subprogram. When
you choose this option, the system prompts you to enter the
name of the subprogram.
The system defaults to the name of the current subprogram. All
variable names, types and dimensions in the specified
subprogram are sent to the current listing device. If the variable
type is a number or label, the system only sends the name and
the type.
List All Variables
List All Variables allows you to list all variable/label names,
types, and dimensions of ALL subprograms. The system sends
the information to the current listing device, starting with the
main program and continuing to the last subprogram. The
system lists each program name, followed by the variable names,
types, and dimensions in each subprogram. If the variable type
is a number or label, then only the name and type is listed.
List All Subprograms
List All Subprograms allows you to send to the current listing
device all subprogram names, along with the name of the main
program.
List Breakpoints
List Breakpoints sends a list of all breakpoints to the current
listing device. The system sends the module name and the line
number of each breakpoint.
Continue
This option continues program execution until the next breakpoint or the end
of the program.
Program Abort
This option aborts program execution.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
B-9
ÉÉÉ
ÉÉÉ
B
ÉÉÉ
ÉÉÉ
GRIP Debugger
ÉÉÉ
ÉÉÉ
B
ÉÉÉ
ÉÉÉ
(This Page Intentionally Left Blank)
B-10
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Final Project
Final Project
Appendix C
ÉÉÉ
C
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
C-1
Final Project
Activity: Creating a Spur Gear
Use curve creation and transformation commands to construct the profile of
the spur gear shown below.
YC
XC
ÉÉÉ
C
ÉÉÉ
ÉÉÉ
TIP
C-2
GRIP Fundamentals
Student Guide
A Best Practice" is to compile, link and run the
program often. This will highlight the functionality
and effect of small sections of code. This incremenĆ
tal approach to coding also allows easier debugging
of a program.
EDS
All Rights Reserved
Unigraphics NX 2
Final Project
Step 1 Create the arcs to define half of a gear tooth. There will
be a total of 6 arcs per tooth. Only three arcs are created
explicitly; the other three are mirrored.
.16
.20
YC
Pitch Dia = 4.0
XC
cir(3)
cir(2)
cir(1)
Create the addendum (outer),circle, pitch circle, and the
dedendum (inner) circle. The outer and inner circles will be
trimmed to form two of the arcs needed for the tooth. The
pitch circle will be used for construction purposes and
deleted.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
C-3
ÉÉÉ
C
ÉÉÉ
ÉÉÉ
Final Project
.140
ln(3)
ln(2)
ln(1)
cln
ÉÉÉ
C
ÉÉÉ
ÉÉÉ
C-4
GRIP Fundamentals
Student Guide
.126
.058
Create a horizontal line along the XCĆAxis representing the
centerline of the first tooth. Create three additional lines
parallel to the centerline with the distances shown.
EDS
All Rights Reserved
Unigraphics NX 2
Final Project
ln(4)
orgpt
Create a point at the WCS origin (orgpt). Create a line
(ln(4)) through the origin point at half the angle of rotation
for 25 teeth (360/(2*25)).
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
C-5
ÉÉÉ
C
ÉÉÉ
ÉÉÉ
Final Project
cir(3)
ln(3)
ln(2)
ln(1)
cir(2)
pt(3)
cir(1)
pt(2)
pt(1)
Create three points at the intersections of the horizontal
lines and the circles. These points will be used to create the
side of the tooth.
tooth(1)
ÉÉÉ
C
ÉÉÉ
ÉÉÉ
C-6
GRIP Fundamentals
Student Guide
Create the first arc, tooth(1), through three points for the
side of the tooth.
EDS
All Rights Reserved
Unigraphics NX 2
Final Project
cir(2)
pt(1)
tooth(2)
Trim the outer circle (cir(1)) to end at pt(1). The start point
will remain unchanged. Use the &EPOINT EDA to edit the
end point of this arc to the existing point pt(1). This arc will
be the end of the tooth.
pt(4)
ln(4)
cir(3) tooth(3)
pt(3)
Delete two of the three intersection points ( pt(1) and pt(2) )
as they are no longer needed. Create a new intersection
point using the line at an angle, ln(4), and the inner circle,
cir(3). Trim the inner circle by changing both the start and
end points. Use the &SPOINT and &EPOINT EDAs to
convert the circle to an arc.
Step 2 Apply a mirror transformation to the three arcs about the
horizontal centerline to create the complete tooth.
cir(3)
tooth(3)
cir(2)
cir(1)
tooth(1)
tooth(2)
cln
tooth(5)
tooth(6)
EDS
All Rights Reserved
tooth(4)
GRIP Fundamentals
Student Guide
C-7
ÉÉÉ
C
ÉÉÉ
ÉÉÉ
Final Project
Create the mirror matrix, then use TRANSF/ to mirror the
tooth arcs.
Step 3 Apply a rotation transformation to the six arcs
representing the tooth to create the other 24 teeth.
YC
XC
ÉÉÉ
C
ÉÉÉ
ÉÉÉ
Create a rotation matrix, then use TRANSF/ to rotate the
tooth arcs. You can place the transformation command in a
DO loop to create multiple copies.
TIP Use a two-dimensional array for the arc objects used in
the tooth. The array should be 25x6 to hold the six arcs
needed for the 25 teeth
C-8
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Final Project
Step 4 Create a 0.5 inch radius circle for the hole and delete any
unwanted construction geometry.
ÉÉÉ
C
ÉÉÉ
ÉÉÉ
Optional Steps
Create an extruded solid body using the gear profile curves. Use a
thickness of 1 inch.
NOTE
When you extrude a solid, edits to the base curves such as
the hole circle will change the solid. If you create the
hole using a boolean operation to subtract a cylinder, you
will not be able to change the hole diameter as easily.
Add .03 inch fillet curves at the base and top of the teeth. Remember
to include the fillets in the transformation and extruded body
commands.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
C-9
Final Project
(This Page Intentionally Left Blank)
ÉÉÉ
C
ÉÉÉ
ÉÉÉ
C-10
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Statement Format Summary
Statement Format Summary
Appendix D
This appendix contains an alphabetical list of all GRIP statements. This listing is
purely alphabetical, by major word, and assumes that you know the spelling of
the major word you are looking for. You may find this appendix most helpful
once you are familiar with the GRIP language and only need to reference the
format of certain statements from time to time.
Similar format summaries for GPAs and EDAs can be found in later sections.
Function
Statement Format
ABSOLUTE VALUE OF
arg
ABSF(arg)
ANGLE WHOSE
COSINE IS arg
ACOSF(arg)
ADD ROW TO PARTS
LIST
ADDPL/{num list,string list[{,INT|,STR}],
quantity|obj list}
[,IFERR,label:]
ANGULAR DIMENSION
obj = ADIM/[MAJOR,](origin),"PMOD3",line1,
[VIEW,'View Name',]"PMOD3",line2
[,VIEW,'View Name']
[,Dim. text][,APPEND,App. text]
ANGLE OF A LINE
ANGLF({line|circle1,circle2|point1,point2})
2D ANALYSIS
ANLSIS/TWOD[,TOLER,t],obj list,
{INCHES|MMETER|CMETER|METER}
,n(14)
3D ANALYSIS (Rotate
About XC or YC Axis)
ANLSIS/VOLREV,{XAXIS|YAXIS},d[,TOLER,t]
,obj list,{INCHES|MMETER|CMETER|
METER},n(41)
3D ANALYSIS (Project
Along ZC Axis)
ANLSIS/PROSOL,d,lim1,lim2[,TOLER,t]
,obj list,{INCHES|MMETER|CMETER|
METER},n(41)
3D ANALYSIS
(Bounded by Faces)
ANLSIS/VOLBND,d[,ACCRCY,a|,TOLER,t],obj list,
{LBIN|LBFT|GCM|KGM},n(41)
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
D-1
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
Statement Format Summary
Function
Statement Format
3D ANALYSIS (Thin
Shell)
ANLSIS/SHELL,d[,ACCRCY,a|,TOLER,t],obj list,
{LBIN|LBFT|GCM|KGM},n(41)
ARC LENGTH
ANLSIS/ARCLEN[TOLER,t],obj list,
{INCHES|MMETER|CMETER|METER},n
MASS PROPERTIES
OF SOLID BODIES
ANLSIS/SOLID[,ACCRCY,a|,TOLER,t],entlist
{,LBIN|,LBFT|,GCM|,KGM},n
FILE POINTER
CONTROL
APPEND/file#
ARC LENGTH
DIMENSION
obj = ARCDIM/(origin),Arc[,VIEW,'View Name']
[,Dim. text][,APPEND,App. text]
ASSOCIATED ENTITY
OF DIM/DRAFT ENTITY
ASCENT/ent,n,assoc. ent,[,assoc. type]
[,assoc. modifier]
[,IFERR,label:]
RETURN ASCII VALUE
OF CHARACTER
ASCII('string',pos)
ASSIGN ATTRIBUTES
ASATT/{obj list|ALL|PART|'name'},attribute
list[,data_type]
ASSIGN FONT
ASGNFT/name,number[,IFERR,label:]
ANGLE WHOSE SINE
IS arg
ASINF(arg)
ANGLE WHOSE
TANGENT IS arg
ATANF(arg)
AUTOMATIC
SURFACING
obj = AUTOSF/entlist[,BYLAYR][,CNT,count]
[,IFERR,label:]
IDENTIFY BASE FACE
obj = BASURF/ent[,IFERR,label:]
COMPILE, LINK, OR
RUN
num list = BATCH/{COMPIL|LINK|RUN},file list
[,LP|OS|NULL]
[,'filespec']
[,QUEUE,queuename]
[,STR,stringdata]
[,IFERR,label:]
D-2
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Statement Format Summary
Function
Statement Format
CANCEL A BATCH JOB
num list = BATCH/CANCEL,job number list
[,IFERR,label:]
B-CURVE (Fit Method)
obj list = BCURVE/FIT,{obj list,num list1}
[,WGHT,num list2],
{SEGS|TOLER},num1[,DEGREE,num2]
[,START,{VECT,dx,dy,dz|TANTO,
{curve|angle}}]
[,END,{VECT,dx,dy,dz|TANTO,
{curve|angle}}]
,STATUS,numa[,IFERR,label:]
B-SPLINE (Point
Method)
obj list = BCURVE/entlist[,VERT[,numlist]]
[,DEGREE,num[,CLOSED]]
[,IFERR,label:]
B-SPLINE (Curve
Method)+
obj list = BCURVE/entlist,ENDOF
{,entlist2|,numlist}
[,DELETE|,BLANK]
[,IFERR,label:]
BLANK
BLANK/{obj list|ALL}
BLEND/CHAMFER
SOLID EDGES
BLEND/ent,{RADIUS|CHAMFR},num
[,entlist1] [,VERT,entlist2
[,IFERR,label:]
FIX BLEND/CHAMFER
BLENFX/entlist[,IFERR,label:]
CREATE BLANK
CHARACTERS
BLSTR(n)
CREATE BOUNDARY
ENTITY
obj list = BOUND/[CLOSED|OPEN,]
[TOLER,intol,outtol,]
[{ON|TANTO,}entlist]+
[VIEW, 'View Name']
BOUNDED PLANE
obj = BPLANE/obj list1[,HOLE,nlist,obj list2]
[,TOLER,t]
B-SURFACE (Through
Points)
obj = BSURF/obj list,num list1[,VERT[,num list2]]
[,DEGREE,num1[,CLOSED],num2
[,CLOSED]][,IFERR,label:]
EDS
All Rights Reserved
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
GRIP Fundamentals
Student Guide
D-3
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
Statement Format Summary
Function
Statement Format
B-SURFACE (Through
Curves)
obj = BSURF/CURVE,obj list1
[,ENDOF{,entlist2|,numlist}]
[,DEGREE,num[,CLOSED]]
[,IFERR,label:]
B-SURFACE (Conic)
obj = BSURF/CONSRF,num1,entlist,SPINE,ent1
[,ENDOF,ent2][,RHO,nlist]
[,TOLER,num2][,APEX,ent3]
[,RESULT,num3]
[,IFERR,label:]
B-SURFACE (Through
Curve Mesh)
obj = BSURF/MESH,entlist1,WITH,entlist2
[,TYPE,num1] [,TOLER,num2,num3]
[,RESULT,num4]
[,IFERR,label:]
B-SURFACE (Swept)
obj = BSURF/SWPSRF
,TRACRV,entlist1[,ENDOF,entlist2]
,GENCRV,entlist3[,ENDOF,entlist4]
[,BLEND,num1]
[,SPINE,ent1[,ENDOF,ent2]]
[,ORIENT{,ent3[,ENDOF,ent4]|,xc,yc,zc}]
[,SCALE{,ent5[,ENDOF,ent6]|,nlist}]
[,TOLER,num2,num3][,RESULT,num4]
[,IFERR,label:]
B-SURFACE (Convert
Existing Surface)
obj = BSURF/SURFC,ent[,APPROX]
[,TOLER,dtol,atol]
[,IFERR,label:]
CALL SUB-ROUTINE
CALL/'subprogram name'[,actual argument list]
CREATE CATEGORY
CAT/'name'[,layer list][,CAT,'cat']
[,DESCR,'description']
EDIT CATEGORY
CATE/'name'{,ADD|,REMOVE}
[,layer list][,CAT,'cat list']
[,DESCR,'description'][,IFERR,label:]
DELETE CATEGORY
CATD/'name'[,IFERR,label:]
QUERY CATEGORY
CATV/'name'[,LAYER,layers,CNT,count]
[,DESCR,'description'][,IFERR,label:]
D-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Statement Format Summary
Function
Statement Format
CONCENTRIC
CIRCLES DIMENSION
obj = CCDIM/(origin),arc1,[VIEW,'View Name',]arc2
[,VIEW,'View Name'][,{LEFT|RIGHT},]
[,Dim. text][,APPEND,App. text]
CHAIN SELECT
CHAIN/START,ent1[,{"PMOD3"|point}]
[,END,ent2], ent array[,CNT,count]
[,IFERR,label:]
CHECK VALIDITY OF A
SOLID
CHKSOL/entlist,RESULT,nlist
[,IFERR,label:]
CURVE HIDING CURVE
CHIDC/obj list[,IFERR, label:]
CHOOSE OPTIONS
CHOOSE/string list,[DEFLT,n,]
[ALTACT,'message',] response
RETURN STRING WITH
ASCII VALUE OF n
CHRSTR(n)
CIRCLE (Center Point,
Radius)
CIRCLE/CENTER,point,RADIUS,r
[,START,start angle,END,end angle]
(Center Point, Tangent
To A Line)
CIRCLE/CENTER,point,
TANTO,line
[,START,start angle,END,end angle]
(Center Point, Point On
Arc)
CIRCLE/CENTER,point1,point2
[,START,start angle,END,end angle]
(Through Three Points)
CIRCLE/point1,point2,point3
(Center Coords,
Radius)
CIRCLE/x,y,[z,]r
[,START,start angle,END,end angle]
FULL BOLT CIRCLE
CENTERLINE
obj = CLINE/FBOLT[,CENTER,obj
[,VIEW,'View Name']],obj list
[,VIEW,{'View Name'|view name list}]
FULL CIRCULAR
CENTERLINE
obj = CLINE/FCIRC
[,CENTER,obj[,VIEW,'View Name']]
,obj list
[,VIEW,{'View Name'|view name list}]
LINEAR CENTERLINE
obj = CLINE/LINEAR,obj list[,VIEW,view name list]
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
D-5
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
Statement Format Summary
Function
Statement Format
OFFSET CENTER
POINT (Format 1)
obj = CLINE/OFFCPT,{XCAXIS|YCAXIS}
,CENTER,obj1,[VIEW,'View Name',]arc
[,VIEW,'View Name']
(Format 2)
obj = CLINE/OFFCPT,{XCAXIS|YCAXIS},DSTCTR
,num,arc[,VIEW,'View Name']
(Format 3)
obj = CLINE/OFFCPT,{XCAXIS|YCAXIS}
,DSTNRM,num,arc[,VIEW,'View Name']
OFFSET CYLINDRICAL
CENTERLINE (Format
1)
obj = CLINE/OFFCYL,OFFDST,num,obj1,
[VIEW,'View Name',]
obj2[,VIEW,'View Name']
(Format 2)
obj = CLINE/OFFCYL,OFFPT,obj1,
[VIEW,'View Name',]obj2,
[VIEW,'View Name',]obj3
[,VIEW,'View Name']
PARTIAL BOLT CIRCLE
CENTERLINE
obj = CLINE/PBOLT[,CENTER,obj
[,VIEW,'View Name']]
,obj list[,VIEW,view name list]
PARTIAL CIRCULAR
CENTERLINE
obj = CLINE/PCIRC
[,CENTER,obj[,VIEW,'View Name']]
,obj list[,VIEW,view name list]
SYMMETRICAL
CENTERLINE
obj = CLINE/SYMMET,obj1
,[VIEW,'View Name',]obj2
[,VIEW,'View Name']
COMPARE STRINGS
CMPSTR('string1','string2')
CYCLE OBJECTS IN A
COMPONENT
obj = CNEXT/component_obj_id,current_object
[,IFERR,label:]
CONE (Circle, Height,
Vertex Half-angle)
obj = CONE/arc,{"PMOD3"|point},d,ANGLE,a
(Two Circles)
obj = CONE/arc1,arc2
(Center Point, Existing
Line)
obj = CONE/CENTER,point,[VECT,x,y,z,]line
D-6
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Statement Format Summary
Function
Statement Format
(Vertex Point, Vertex
Half-angle, Bounding
Points)
obj = CONE/point1,[VECT,x,y,z,]
ANGLE,a,point2,point3
COSINE OF angle
COSF(angle)
PARAMETER
POSITION ON A
CURVE
num = CPARF/ent,{point|x,y,z}
EXPORT A FILE
CPATT/[UPDATE,]'filespec'[,CSYS,csys]
[,ORIGIN,point],obj list[,IFERR,label:]
POSITION ON A
CURVE OR CURVE
EXTENSION
CPOSF(ent,scalar)
GEOMETRIC
PROPERTIES OF A
CURVE AT
PARAMETER
CPROPF(obj,parameter)
POINT SETS (Chordal
Tolerance Method)
CPSET/CHORD,obj,tolerance,results
POINT SETS (Equal
Parameter Method)
CPSET/EPARAM,ent,n
[,PART,a,b],results
(Equal Arc Method)
CPSET/EARCL,ent,n[,PART,a,b],results
(Input ArcLength Meth)
CPSET/ARCLEN,ent,arclength,results
(Geometric Progression
Method)
CPSET/GEOM,ent,n,RATIO,r[,PART,a,b],results
(Control Vertex Method)
CPSET/VERT,ent,results
(Knot Point Method)
CPSET/KNOT,ent,results
CREATE DIRECTORY
CRDIR/'filespec'[,IFERR,label:]
CREATE A FILE
CREATE/{PART,'filespec'
{,INCHES|MMETER}|TXT,file#
[,number list][,'filespec']}
[,IFERR,label:]
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
D-7
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
Statement Format Summary
Function
Statement Format
CROSS PRODUCT OF
TWO VECTORS
CROSSF(vector1,vector2)
CREATE A
REFERENCE SET
CRRFST/'reference set name',obj list
[,CSYS,csys][,ORIGIN,point]
CREATE SOLID EDGES
AND SILHOUETTES IN
WORK VIEW
CRSEWV/[TOLER,t][,IFERR,LABEL:]
TRIM CURVE USING
BOUNDING ENTITIES
obj = CRVTRM/curve,REF,{pt1|x,y,z},FIRST,limit1
[,REF,{pt1|x,y,z}]
[,INT,{pt2|x,y,z}]
[,NOTRIM]
[,SECOND,limit2[,REF,{pt1|x,y,z}]
[,INT,{pt2|x,y,z}][,NOTRIM]]
,STATUS,status
[,IFERR, label:]
WRITE TO SCREEN
CRTWRT/'message',x,y,z
CSYS BY ORIGIN,
X-PT, Y-PT
obj = CSYS/point1,point2,point3[,ORIGIN,point]
CSYS BY X-AXIS,
Y-AXIS
obj = CSYS/line1,line2[,ORIGIN,point]
CSYS BY X-PT, Z AXIS
obj = CSYS/point,line[,ORIGIN,point]
COORDINATE SYSTEM
OF AN ARC
obj = CSYS/arc[,ORIGIN,point]
COORDINATE SYSTEM
OF A CONIC
obj = CSYS/conic[,ORIGIN,point]
EXISTING
COORDINATE SYSTEM
obj = CSYS/coordinate system[,ORIGIN,point]
COORDINATE SYSTEM
OF VIEW
obj = CSYS/{view number|'view name'}
[,ORIGIN,point]
VECTOR TANGENT TO
A CURVE
CTANF(ent,scalar)
D-8
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Statement Format Summary
Function
Statement Format
TRIM CURVE BY GIVEN
ARCLENGTH
CTRIM/ent,dist,{START|END|point}
or
CTRIM/TOTAL,ent,length,{START|END|point}
CYLINDRICAL
DIMENSION
obj = CYLDIM/(origin),
[{ENDOF|CENTER|TANTO},]
"PMOD3",obj1,[VIEW,'View Name',]
[{ENDOF|CENTER|TANTO},]"PMOD3",
obj2[,VIEW,'View Name'][,Dim. text]
[,APPEND,App. text]
CYLINDER (Arc,
Bounding Plane)
obj = CYLNDR/arc,plane,point
(Center Point, Line)
obj = CYLNDR/CENTER,point,line
(Center Point, Radius)
obj = CYLNDR/point,RADIUS,r
(Center Point, Radius,
Two Bounding Planes)
obj = CYLNDR/point1,[VECT,x,y,z,]RADIUS,r
,plane1,plane2,point2
(Radius, Between Two
Surfaces)
obj = CYLNDR/surf1,surf2,CENTER,point1,
RADIUS,r,plane1,plane2,point2
INITIALIZE VALUES
FOR STRING AND
NUMERICAL
VARIABLES
DATA/name,value[,value]+[,name,value[,value]+]+
RETURN CURRENT
DATE
DATE
CLOSE DIRECTORY
DCLOSE[/IFERR,label:]
DIAMETER
obj = DDIM/(origin),arc[,VIEW,'View Name']
[,Dim. text][,APPEND,App. text]
DELETE ENTITIES
DELETE/{obj list|ALL}
CHANGE DELIMITER
DELIM/'character'
DELETE OBJECT
NAME
DELNAM/{obj list|ALL}
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
D-9
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
Statement Format Summary
Function
Statement Format
SET ENTITY LINE
WIDTH
DENS/{NORM|HEAVY|THICK|THIN}
SET DEPTH
DEPTH/z
DEVIATION CHECKING
DEVCHK/ent1[,ent1a],TO,ent2[,p1[,p2]]
[,TOLER,t1[,t2]]
SPECIAL CONTROL
FUNCTIONS
DFSTR/(num)
ADD SYMBOL TO
DRAFTING ENTITY
DFTSYM/'symbol_name`,ent,point,
{SCALE,scale[,RATIO,ratio]|
SIZE,length,height}
[,IFERR,label:]
CREATE A DIAGRAM
DIAGM/'os filespec','drawing name'
[{,COLOR,pens|
,LWIDTH,pens|,
DENS,pens}]
[{,SCALE,scale|,SIZE,x,y}]
[,IFERR,label:]
DIMENSION BY PARTS
obj = DIMBP/{obj list|comp list|obj list,comp list}
SET DIMENSION
PARAMETERS BY
DRAFTING ENTITY
DIMPAR/[DRAW,]ent
MINIMUM DISTANCE
DISTF({point|line},{line|point})
DELETE ATTRIBUTE
DLATT/{obj list|ALL|PART|'name'}, {title
list|ALL}[,data_type]
READ HEADER NEXT
OF FILE IN DIRECTORY
DNEXT/IFEND,label:[,IFERR,label:]
PROGRAM LOOP
DO/label:,index variable,start,end[,increment]
OPEN DIRECTORY
DOPEN[/'filespec'][,IFERR,label:]
DOT PRODUCT OF
TWO VECTORS
DOTF(A,B)
DRAW ON/OFF
DRAW/{ON|OFF|ALL|obj list}
D-10
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Statement Format Summary
Function
Statement Format
CREATE A DRAWING
DRAWC/'drawing name',
[MMETER,]{height,width|n}
[,IFERR,label:]
DELETE A DRAWING
DRAWD/'drawing name'[,IFERR,label:]
EDIT A DRAWING (Add
View)
DRAWE/['drawing name',]ADD,'view name',x,y
[,IFERR,label:]
(Relocate View)
DRAWE/['drawing name',]
MOVE,'view name',x,y
[,IFERR,label:]
(Remove View)
DRAWE/['drawing name',]REMOVE,'view name'
[,IFERR,label:]
(Change DWG Size)
DRAWE/['drawing name',]SIZE,
[{INCHES|MMETER},] {height,width|n}
[,IFERR,label:]
(Change View Status)
DRAWE/['drawing name',]DVSTAT,'viewname',
{REF|ACTIVE}
[,IFERR,label:]
RENAME A DRAWING
DRAWN/['old drawing name',]
'new drawing name'
[,IFERR,label:]
VERIFY DRAWING
DRAWV/['drawing name',]
[{PLOT|DVSTAT,numlist,},]
variable list
[,IFERR,label:]
DEFINE VIEW
num = DVIEW/coordinate system
CREATE EDGE
VERTEX POINTS
obj list = EDGVER/ent[,CNT,c][,IFERR,label:]
EDIT ROW OF PARTS
LIST
EDITPL/{kv1,kv2,kv3|ent id}
[,num list,string list]
[,QTY[{,INT|,STR}],quantity]
[,IFERR,label:]
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
D-11
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
Statement Format Summary
Function
Statement Format
ADD TO OR REMOVE
FROM A REFERENCE
SET
EDRFST/'reference set name',
{APPEND|DELETE}, obj list
EDIT
CROSSHATCHING
PARAMETERS
EDTXHT/ent,{BND,{ADD,entlist|REMOVE,
entlist|REPLAC,ent,boundary}|XHATCH
[,FNAME,'filename'][,UTIL],
{material number|'material name'},
angle,distance|AFILL,fill number,
angle,scale}[,IFERR,label:]
PRINT AT THE TOP OF
THE NEXT PAGE
num = EJECT/{PRINT|WINDOW}
ELLIPSE
obj = ELLIPS/point,semimajor,semiminor
[,ATANGL,angle]
[,START,angle,END,angle]
DECLARE ENTITY
VARIABLE
ENTITY/name[(dim1[,dim2[,dim3]])]
[,name[(dim1[,dim2[,dim3]])]]+
SOLID CONTAINMENT
num = ENCONT/ent1,ent2,[,IFERR,label:]
ACCESS
ENVIRONMENT
VARIABLES
string = ENVVAR/'variable'{,ASK|,SET,'value'}
[,IFERR,label:]
VERIFY ATTRIBUTE
NAME
num = ENUM/'name'
EXPONENTIAL
FUNCTION arg
EXPF(arg)
CREATE EXPRESSION
EXPCRE/exp_string[,IFERR,LABEL:]
DELETE EXPRESSION
EXPDEL/name_string[,IFERR,LABEL:]
EDIT EXPRESSION
EXPEDT/exp_string_list[,IFERR,LABEL:]
EVALUATE
EXPRESSION
num = EXPEVL/name_string[,IFERR,LABEL:]
EXPORT EXPRESSION
EXPEXP/file_string[,IFERR,LABEL:]
IMPORT EXPRESSION
EXPIMP/file_string[,REPLAC][,IFERR,LABEL:]
D-12
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Statement Format Summary
Function
Statement Format
LIST FULL
EXPRESSION
exp string = EXPLIS/name_string[,IFERR,LABEL:]
RENAME EXPRESSION
EXPRNM/name_string,TO,name_string
[,IFERR,LABEL:]
SUBDIVIDE FACE
obj list = FACDIV/ent1,WITH,ent2[,CNT,c]
[,IFERR,label:]
MOVE FACE
FACMOV/ent,TRIM,HEIGHT,h[,AXIS,i,j,k]
[,IFERR,label:]
APPEND FILE TO
CURRENT FILE
FAPEND/TXT,file#,'filespec'[,IFERR,label:]
CREATE NEW
COMPONENT
obj = FCOMP/'filespec'[,'component name']
[,REF,'reference set name'][,CSYS,csys]
[,ORIGIN,pt],objlist[,IFERR,label:]
COPY FILE
FCOPY/'source filespec','destination filespec'
[,IFERR,label:]
DELETE FILE
FDEL/'filespec'[,IFERR,label:]
RETRIEVE A FILE
FETCH/{PART,'filespec'|TXT,file#,'filespec'}
[,IFERR,label:]
MODIFY FILE HEADER
FHMOD/'filespec',[FNAME,'filename']
[,STATUS,status][,DESCR,'description']
[,CAREA,'customer area']
[,IFERR,label:]
READ FILE HEADER
FHREAD/'filespec'[,IFERR,label:]
FILE
FILE/{PART|TXT[,file#][,LINNO]}
[,'filespec'][,IFERR,label:]
FILLET (Two Entities,
Center Point)
obj = FILLET/ent1,ent2,CENTER,point,RADIUS,r
[,NOTRIM][,IFERR,label:]
(Three Entities)
obj = FILLET/[{IN|OUT|TANTO}],ent1,
[{IN|OUT|TANTO}],ent2,,
[{IN|OUT|TANTO}],ent3,
,CENTER,point[,NOTRIM]
[,IFERR,label:]
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
D-13
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
Statement Format Summary
Function
Statement Format
(Two Entities, Positional
Modifiers)
obj = FILLET/"PMOD3",line1,"PMOD3",line2,
RADIUS,r[,NOTRIM][,IFERR,label:]
FILLET SURFACE
obj = FILSRF/surf1,surf2,point[,TOLER,tl]
,RADIUS,r1[,r2]
[LINEAR|SSHAPE]
[,lsurf1,lpoint1,lsurf2,lpoint2]
[,VECT,x,y,z][,RESULT,result]
[,IFERR,label:]
MOVE FILE
FMOVE/'source filespec','destination directory'
[{,UPDATE|NEWEST}]
[{,VERIFY|DELETE}]
[,IFERR,label:]
FORM-POSITIONAL
TOLERANCE
obj = FMPOS/(origin),
{NONE'{EXT,{1|2|3|4},
line|LEADER,[{LEFT|RIGHT},]
{obj1[,VIEW,'View Name]
[,(origin)]|(origin)}}[,TRIANG]}
{,SYMBOL,number|'text'|NEXTL}+
FORMAT
FNDSTR('object string','search string',pos)
SET ENTITY FONT
FONT/{SOLID|DASH|PHANTM|CENTER}
FONT DEFINITION
string = FONTDF/
{INQUIR|UGDFLT|CUSTDF|'file spec'}
[IFERR,label:]
LIST ALL
FPRINT/file#[,LINNO][,USING,'imageăstring']
FOLDED RADIUS
obj = FRDIM/(origin),arc,[VIEW,'View Name',]
[{ENDOF|CENTER|TANTO},] "PMOD3"
,obj[,VIEW,'View Name'][,ANGLE,angle]
,x,y[,Dim. text][,APPEND,App. text]
CONVERT REAL NO.
TO CHARACTER
STRING
FSTR(n)
CONVERT REAL NO.
TO CHARACTER
STRING (More Than 8
Chars)
FSTRL(n)
D-14
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Statement Format Summary
Function
Statement Format
CLOSE A FILE
FTERM/{PART[options]|TXT,file#}[,IFERR,label:]
GENERAL CONIC (Five
Points)
obj = GCONIC/point1,point2,point3,point4,point5
(Four Points, One
Slope)
obj = GCONIC/point1,point2,point3,point4,
VECT,x,y,z
(Three Points, Two
Slopes)
obj = GCONIC/point1,point2,point3,VECT
,x1,y1,z1,x2,y2,z2
(Three Points, Anchor
Point)
obj = GCONIC/point1,point2,point3,
ANCHOR,point4
(Two Points, Anchor
Point, Rho Value)
obj = GCONIC/point1,point2,ANCHOR,point3,rho
SIX COEFFECIENTS
obj = GCONIC/number list
GENERATE DRAFTING
ENTITIES TO
CURRENT SETTINGS
GENDIM/obj list
GET LINE NUMBER
GETL(file#)
INDICATE GENERIC
POINT
GPOS/'message',x-coord,y-coord,z-coord
,response
GRIP ARGUMENTS
GRARGS/parameter list,[,IFERR,label:]
UPDATE GRID DISPLAY
GRDDSP/[{ON|OFF}]
DETECT UNDECLARED
VARIABLES
GRIPSW/DECLRV
GROUP
obj = GROUP/obj list
EDIT A GROUP
GRPEDT/{ADD{group entity|group name|'group name'}|
REMOVE}entlist
STOP PROGRAM
EXECUTION
HALT
CROSSHATCHING
obj = HATCH/{XHATCH|AFILL},obj list
[,VIEW,'View Name'][,IFERR,label:]
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
D-15
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
Statement Format Summary
Function
Statement Format
HOLE DIMENSION
obj = HDIM/(origin),arc[,VIEW,'View Name']
[,Dim. text][,APPEND,App. text]
HYPERBOLA
obj = HYPERB/point,semitransverse,semiconjugate
,dymin,dymax[,ATANGL,angle]
SELECT OBJECTS
IDENT/'message'[,SCOPE,{WORK|ASSY|REF}]
,obj list[,CNT,count]
[,CURSOR,x-coord,y-coord,z-coord]
[,MEMBER,{ON|OFF}],response
ID SYMBOL
obj = IDSYM/{CIR|DCIRC|SQR|DSQR|HEX|
DHEX|TRIUP|TRIDWN|DATUM|OBLNG},
(origin),{NONE|{ARROW|DOT}
[,{LEFT|RIGHT}][,obj]
[,VIEW,'View Name']
[,(origin)]},'text'[,'text']
ARITHMETIC IF
IF/numericalăexpression,[label1:],[label2:],[label3:]
LOGICAL IF
IF/logical expression,statement
BLOCK IF
IFTHEN/e1
block1
[ELSEIF/e2
block2] . . .
[ELSE
block3]
ENDIF
INITIALIZE DATA BASE
CYCLING
INEXTE[/ALL]
INITIALIZE DATA BASE
NON-GEOMETRIC
ENTITY CYLCING
INEXTN/{type no.|type GPA}[,subtype]
[,IFERR,label:]
SET CROSSHATCHING
PARAMETERS
INHAT/{XHATCH[,FNAME,'filename'][,UTIL],
{material number|'material name'},
angle1,distance|AFILL,fill#,angle2,scale}
[,IFERR,label:]
INTERSECT SOLIDS
obj list = INTERS/ent,WITH,entlist[,CNT,c]
[,IFERR,label:]
D-16
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Statement Format Summary
Function
Statement Format
INTEGER PORTION OF
THE ARGUMENT
INTF(arg)
SOLIDS
INTERFERENCE
CHECKING
INTFER/ent,WITH,entlist,RESULT,numlist,
IFERR,label:
INTERSECTION
CURVE
obj = INTSEC/surf1,WITH,surf2 [,TOLER,tl]
[,lsurf1,lpoint1,lsurf2,lpoint2[,VECT,x,y,z]]
[,IFERR,label:]
ISOPARAMETRIC
CURVE ON FACE
obj = ISOCRV/obj{,UDIR|VDIR},num1
[,TOLER,num2][,CNT,num3][,IFERR,label:]
CONVERT INTEGER
TO CHARACTER
STRING
ISTR(n)
CONVERT INTEGER
TO CHARACTER
STRING (More Than 8
Chars)
ISTRL(n)
UNCONDITIONAL
BRANCHING
JUMP/label:
CONDITIONAL
BRANCHING
JUMP/label:+,[expression]
PROGRAM LABEL
LABEL:statement
LABEL
obj = LABEL/[{LEFT|RIGHT},](origin),
{obj[,VIEW,'View Name']
[,(origin)]|(origin)}'text'[,'text']+
CREATE A LAYOUT
(Single View)
LAYC/'layout name','view name'
[,WORK[,{AUTO|SCALE,s}]]
[,IFERR,label:]
(Side by Side Views)
LAYC/'layout name',SIDE,'view 1 name'
,'view 2 name'
[,WORK[,{AUTO|SCALE,s}]]
[,IFERR,label:]
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
D-17
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
Statement Format Summary
Function
Statement Format
(Top and Bottom Views)
LAYC/'layout name',TOP
,'view 1 name'
,'view 2 name'
[,WORK[,{AUTO|SCALE,s}]]
[,IFERR,label:]
(Four Views)
LAYC/'layout name'
,'view 1 name'
,'view 2 name'
,'view 3 name'
,'view 4 name'
[,WORK[,{AUTO|SCALE,s}]]
[,IFERR,label:]
(Six Views)
LAYC/'layout name'
,'view 1 name'
,'view 2 name'
,'view 3 name'
,'view 4 name'
,'view 5 name'`
,'view 6 name'
[,WORK[,{AUTO|SCALE,s}]]
[,IFERR,label:]
DELETE A LAYOUT
LAYD/'layoutăname'
[,IFERR,label:]
EDIT A LAYOUT (Add a
View)
LAYE/['layout name',]
ADD,'view name',X1,Y1,X2,Y2
[,SAVE[,'new layout name']]
[,IFERR,label:]
(Replace a View)
LAYE/['layout name',]REPL
,'old view name'
,'new view name'
[,SAVE[,'new layout name']]
[,IFERR,label:]
(Remove a View)
LAYE/['layout name',]REMOVE,'view name'
[,SAVE[,'new layout name']]
[,IFERR,label:]
(Save a layout)
LAYE/['layout name',]SAVE[,'new layout name']
[,IFERR,label:]
D-18
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Statement Format Summary
Function
Statement Format
LAYER CONTROL
LAYER/[WORK,n],
[ACTIVE,{REST|layer list[,CAT,'cat']}],
[REF,{REST|layer list[,CAT,'cat']}],
[INACT,{REST|layer list[,CAT,'cat']}]
RENAME A LAYOUT
LAYN/['old layout name',]'new layout name'
[,IFERR,label:]
RETRIEVE A LAYOUT
LAYR/'layout name'[,{AUTO|SCALE,s}]
[,IFERR,label:]
VERIFY LAYOUT
LAYV/['layout name',]variable list
[,IFERR,label:]
DELETE A LINE IN A
TEXT FILE
LDEL/file#[,START,start line#,END,end line#]
HORIZONTAL AND
VERTICAL
obj = LDIM/{HORIZ|VERT},(origin),
[{ENDOF|CENTER|TANTO},]
"PMOD3",obj1,
[VIEW,'View Name',]
[{ENDOF|CENTER|TANTO},]
"PMOD3",obj2[,VIEW,'View Name']
[,Dim. text][,APPEND,App. text]
[,OBLIQ, Angle]
PARALLEL
obj = LDIM/PARLEL,(origin),
[{ENDOF|CENTER|TANTO},]"PMOD3",
obj1,[VIEW,'View Name',]
[{ENDOF|CENTER|TANTO},]
"PMOD3",obj2[,VIEW,'View Name']
[,Dim. text][,APPEND,App. text]
PERPENDICULAR
obj = LDIM/PERP,(origin),baseline,
[{ENDOF|CENTER|TANTO},]"PMOD3",
obj[,VIEW,'View Name'][,Dim. text]
[,APPEND,App. text]
NUMBER OF CHARS IN
A STRING
LENF('string')
LINE (Parallel At A Dist)
obj = LINE/PARLEL,line,"PMOD3",offset
(Parl/Perp To Line,
TAngent To Curve)
obj = LINE/{PARLEL|PERPTO},line,
{"PMOD3"|point},TANTO,curve
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
D-19
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
Statement Format Summary
Function
Statement Format
(Thru A Pt, At An Angle)
obj = LINE/point,ATANGL,angle
(Point, Tangent To A
Curve)
obj = LINE/point1,{LEFT|RIGHT|point2},
TANTO,curve
(Tangent To Two
Curves)
obj = LINE/{LEFT|RIGHT|point},TANTO,curve1
,{LEFT|RIGHT|point},TANTO,curve2
(Thru A Point, Parl/Perp
To A Line)
obj = LINE/point,{PARLEL|PERPTO},line
(Thru A Point, Perp To A
Curve)
obj = LINE/point1,point2,PERPTO,curve
(Between Two Existing
Curves)
obj = LINE/point1,point2
(Between Two Specified
Points)
obj = LINE/x1,y1[,z1],x2,y2[,z2]
NATURAL LOGARITHM
OF THE ARGUMENT
LOGF(arg)
LISTING DEVICE
LSTDEV/{CRT[,LPT|OS]|
LPT|OS|NULL}
[,'filename'][,REPL]
REPOSITION A
COORDINATE
pos = MAP/pos1,FROM,
{csys1,TO,csys2|
member_view_name,TO,parent_drawing_name}
CLASS SELECTION
MASK/{ALL|NONE|[OMIT,],ent type list}
TRANSLATE
matrix = MATRIX/TRANSL,dx,dy,dz
SCALE
matrix = MATRIX/SCALE{,s|,xc,yc,zc}
ROTATE
matrix = MATRIX/{XYROT|YZROT|ZXROT},angle
MIRROR
matrix = MATRIX/MIRROR,{line|plane}
MULTIPLE
TRANSFORMS
(Concatenation)
matrix = MATRIX/matrix1,matrix2
D-20
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Statement Format Summary
Function
Statement Format
MAXIMUM VALUE IN
THE ARGUMENT LIST
MAXF(arg[,arg]+)
CHOOSE MULTIPLE
OPTIONS
MCHOOS/primary string
,menu options
,response array
[,ALTACT,'message']
,response variable
WRITE TO MESSAGE
MONITOR
MESSG/[TEMP,]string list
MINIMUM VALUE IN
THE ARGUMENT LIST
MINF(arg[,arg]+)
REMAINDER OF THE
DIVISION arg/mod
MODF(arg,mod)
REPLACE COLOR
TABLE
NEWCTE/'filename'
CYCLE TO NEXT
ENTITY
obj = NEXTE/IFEND,label:
CYCLE TO NEXT
NON-GEOMETRIC
ENTITY
string = NEXTN/IFEND,label1:[,IFERR,label2:]
NOTE
obj = NOTE/(origin),{scratch file #1
[,IFERR,label:]|'text'[,'text']+}
DECLARE NUMERICAL
VARIABLE
NUMBER/name(dim1[,dim2[,dim3]])
[,name(dim1[,dim2[,dim3]])]+
ENTITY INFORMATION
OBTAIN/obj list,(variable list)
ORDINATE DIMENSION
obj = ODIM/(origin),{margin objid|{HORIZ|VERT}
,origin objid}
,[{ENDOF|CENTER|TANTO},]"PMOD3"
,obj[,VIEW,'View Name']
[,DOGLEG,angle,distance][,Dim. text]
[,APPEND,App. text][,IFERR,label:]
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
D-21
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
Statement Format Summary
Function
Statement Format
OFFSET CURVES
obj list = OFFCRV/obj list,{dist|height,ang}
,ref point[,STEP,n1][{,EXT[,n2]|,FILLET}]
[,GROUP]
OFFSET BODY
obj = OFFSRF/ent,dis
[,TOLER,edge curve tolerance]
ORDINATE ORIGIN
DIMENSION
obj = OODIM/[{ENDOF|CENTER},]"PMOD3",obj
[,VIEW,'View Name'][,QUAD,{quad_no}]
[,ARROWS][,NAME,'name text']
[,SYMBOL,{symbol_no}][,IFERR,label:]
ORDINATE MARGIN
obj = OOMGN/{HORIZ|VERT},obj
,[VIEW,'View Name',]
{line[,VIEW,'View Name']
|xpos,ypos,xdir,ydir}[,offset distance]
[,IFERR,label:
PARABOLA
obj = PARABO/point,focal length
,dymin,dymax[,ATANGL,angle]
ENTER PARAMETERS
PARAM/'message'{,'option'[,INT],variable}+
[,ALTACT,'message'],response
EXPAND A PATTERN
obj = PATEXP/ent[,GROUP][,LAYER][,NOVIEW]
[,PLMODS,value]
[,IFERR,label:]
ASK/SET WORK,
DISPLAYED, OR
LOADED PARTS
string list = PARTOP/{ASK,{work|dsplay|all}|SET,
{work|dsplay},string}[,IFERR,LABEL:]
QUERY PART LOAD
STATUS
num = PARTST/'part_name'
RETRIEVE A PATTERN
obj = PATRET/'file name'[,'pattern name']
[,{matrix|csys,scale}][,AUTO]
[,IFERR,label:]
UPDATE A PATTERN
PATUPD/ent[,IFERR,label:]
LIST PATTERN
RETRIEVAL ERRORS
PATLER/
D-22
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Statement Format Summary
Function
Statement Format
MODIFY PART FILE
HEADER
PHMOD/['filename'][,STATUS,status]
[,DESCR,'description']
[,CAREA,'customer area']
[,IFERR,label:]
READ PART FILE
HEADER
PHREAD/['filename']{,STATUS[,status]|
,DESCRnotes[,description]|
,CAREA[,customer area]|
,MCHFMT[,machine format]|
,RELNO[,release num]}
[,IFERR,label:]
PLANE (Plane Of An
Arc Or Conic)
obj = PLANE/ent
(Two Lines)
obj = PLANE/line1,line2
(Parallel At a Distance)
obj = PLANE/PARLEL,plane,point,d
(Parallel To a Plane,
Thru a Point)
obj = PLANE/PARLEL,plane,THRU,point
(Perpendicular To a
Curve, At a Point)
obj = PLANE/PERPTO,curve,THRU,point
(Perpendicular To a
Plane, Thru a Line)
obj = PLANE/PERPTO,plane,THRU,line
(Three Points)
obj = PLANE/point1,point2,point3
(Principal Plane)
obj = PLANE/{XYPLAN[,Z-coord]|
YZPLAN[,X-coord]|
XZPLAN[,Y-coord]}[,csys]
PLACE SYMBOL
obj = PLCSYM/'symbol_name`,point,angle,
{SCALE,scale
[,RATIO,ratio]|
SIZE,length,height}
[,IFERR,label:]
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
D-23
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
Statement Format Summary
Function
Statement Format
SET PARTS LIST MODE
SETTINGS
PLMODE/sort field pos,sort mode,callout mode
,box mode,header mode
,update ID sym mode
,line space factor
[,SECSRT,value1,value2]
[,COLUMN,value1,value2,value3]
[,RPMODE,value][,SKIPVL,value]
[,FROZEN,value][,IFERR,label:]
CREATE OR REGEN.
PARTS LIST NOTE
obj = PLNOTE/[xc,yc][,IFERR,label:]
PLOT
num = PLOT/{'plotter ID'|DISPL},'drawing name'
[{,COLOR|LWIDTH|DENS},pen list]
[,JOB,'jobname'][,SCALE,s][,ANGLE,a]
[,MEDIA,m][,COPIES,c][,ORIGIN,x,y]
[,START,x,y][,PAUSE,'message']
[PLTTOL,t][,IFERR,label:]
SAVES/APPENDS A
DRAWING TO A PLOT
FILE
num = PLTSAV/'plotter ID','drawing name'
[{,COLOR|LWIDTH|DENS},pen list]
[,SCALE,s][,ANGLE,a]
[,ORIGIN,x,y][,START,x,y]
[PLTTOL,t][,IFERR,label:]
UPDATES THE
PLOTTER DRAWING
DEFAULTS
num = PLTUPD/'plotter ID','drawing name'
[{,COLOR|LWIDTH|DENS},pen list]
[,SCALE,s][,ANGLE,a][,MEDIA,m]
[,COPIES,c][,ORIGIN,x,y][,START,x,y]
[,IFERR,label:]
SUBMITS A PLOT FILE
num = PLTSUB/'plotter ID'[,JOB,'jobname']
[,MEDIA,m][,COPIES,c]
[,PAUSE,'message'][,IFERR,label:]
DELETES PLOT FILE
num = PLTDEL/
LIST PARTS LIST
PLOUT/[IFERR,label:]
POINT (Center Of
Circle)
obj = POINT/CENTER,circle
(Position On Arc)
obj = POINT/circle,ATANGL,angle
(End Point)
obj = POINT/ENDOF,"PMOD3",ent
D-24
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Statement Format Summary
Function
Statement Format
(Intersection Point)
obj = POINT/[{"PMOD2"|point}],INTOF,ent1,ent2
[,IFERR,label:]
(Offset Point)
obj = POINT/point,DELTA,dx,dy,dz
(Polar Offset Point)
obj = POINT/point,POLAR,dist,angle
(Three Dimensional
Offset Vector)
obj = POINT/point,VECT,line,"PMOD3",dist
(Coordinates)
obj = POINT/x,y[,z]
(Pattern Point)
obj = POINT/x,y,[z,]PATPNT
INDICATE SCREEN
POSITION POINT
POS/'message',x-coord,y-coord,z-coord
,response
LIST
PRINT/[USING,'image string',]data list
PROJECT
POINTS/CURVES
obj list = PROJ/obj list1,ON,obj list2[,TOLER,t]
[,VECT,vect]
[[,ASSOC [,obja] ] | [,MOVE][,TRACRV]]
SUB ROUTINE
HEADER
PROC[/dummy argument list]
ADD AN EXISTING
PART AS A
COMPONENT
obj = RCOMP/'filespec'[,'component name']
[REF,'reference set name']
[,csys][,LAYER]
[,IFERR,label:]
RADIUS
obj = RDIM/(origin),arc[,VIEW,'View Name']
[,Dim. text][,APPEND,App. text]
READ TEXT
READ/file#[,LINNO,line#][,USING,'image string']
[,IFEND,label:]
[,IFERR,label:,],variable list
COUNT REFERENCE
SET MEMBERS
num = REFCNT/[PART,part_name,]
reference_set_name[,IFERR,label:]
CYCLE MEMBERS OF
A REFERENCE SET
obj = REFMEM/[PART,'part_name',]
'reference_set_name'
,index[,IFERR,label:]
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
D-25
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
Statement Format Summary
Function
Statement Format
RETRIEVE
EXPRESSION VALUE
REGF('expression name')
OBTAIN RELATIVE
DISTANCE BETWEEN
TWO ENTITIES
num list = RELDST/[MIN,]
,ent1[,x1,y1[,z1]]
,ent2[,x2,y2[,z2]]
REMOVE ROW FROM
PARTS LIST
REMVPL/{kv1,kv2,kv3|obj list}
[,IFERR,label:]
RENAME SCRATCH
FILE
RENAME/file#,'new filespec'
[,IFERR,label:]
REVERSE FACE
NORMALS
RENORM/obj list
REPLACE
CHARACTERS IN A
STRING
REPSTR('object string'
,'search string'
,'replacement string',pos)ă
RESEQUENCE
RESEQ/file#[,START,line#,INCR,n]
RESET FILE POINTER
RESET/file#
RETURN TO MAIN
PROGRAM
RETURN
SURFACE OF
REVOLUTION
obj = REVSRF/ent,AXIS,line[,point][,start,end]
RULED SURFACE
obj = RLDSRF/ent1,[point1],ent2[,point2]
DISPLAY (REPAINT)
RPAINT
IMPORT AN EXISTING
PART
RPATT/'filespec'[{,matrix|,csys,scale}]
[,LAYER][,PLMODS,value][,NOVIEW]
[,RETCAM,number][,IFERR,LABEL:]
IMPORT AN EXISTING
PART GROUPED
obj = RPATTG/'filespec'[{,matrix|,csys,scale}]
[,LAYER][,PLMODS,value][,NOVIEW]
[,RETCAM,number][,IFERR,LABEL:]
REVERSE BLANK ALL
RVBLNK/[ALL]
D-26
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Statement Format Summary
Function
Statement Format
SYMBOL FONT FILE
string = SBFNT/{INQUIR|UGDFLT|CUSTDF
|'file name'}[IFERR,label:]
SCALED VECTOR
SCALVF(scalar,vector)
CLOSE
SUB-DIRECTORY
SCLOSE[/IFERR,label:]
SURFACE PARTIAL
DERIVATIVE WITH
RESPECT TO THE u
PARAMETER
SDDUF(ent,u,v)
SURFACE PARTIAL
DERIVATIVE WITH
RESPECT TO THE v
PARAMETER
SDDVF(ent,u,v)
CREATE SOLID
SECTION
obj list = SECT/entlist,WITH,ent[,CNT,c]
[,IFERR,label:]
SEW SHEETS TO
CREATE BODY
obj = SEW/entlist[,IFERR,label:]
SILHOUETTE CURVES
obj = SILHO/body[,CNT,count][,IFERR,label:]
SIMPLIFY CURVES
obj list = SIMCRV/elist
[,BLANK|,DELETE][,TOLER,t][,CNT,c]
SINE OF angle
SINF(angle)
VECTOR NORMAL TO
A SURFACE
SNORF(ent,u,v)
CREATE SOLID BLOCK
obj = SOLBLK/ORIGIN,xc,yc,zc
,SIZE,dx,dy,dz
[,IFERR,label:]
SOLID BOX
COORDINATES
obj list = SOLBOX/ent,[,IFERR,label:]
EDS
All Rights Reserved
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
GRIP Fundamentals
Student Guide
D-27
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
Statement Format Summary
Function
Statement Format
CREATE SOLID CONE
obj = SOLCON/ORIGIN,xc,yc,zc
,HEIGHT,h
,DIAMTR,d1,d2
[,AXIS,i,j,k]
[,IFERR,label:]
CUT SOLID
obj list = SOLCUT/obj list,WITH,obj[,CNT,c1[,c2]]
[,IFERR,label:]
CREATE SOLID
CYLINDER
obj = SOLCYL/ORIGIN,xc,yc,zc
,HEIGHT,h
,DIAMTR,d
[,AXIS,i,j,k]
[,IFERR,label:]
CREATE EDGE
CURVES
obj list = SOLEDG/ent[,CNT,c][,IFERR,label:]
RETURN EDGE OR
FACE IDENTIFIERS
obj list = SOLENT/obj{,FACE|,EDGE}
{,ALL|,seqno}[,IFERR,label:]
CREATE EXTRUDED
SOLID
obj list = SOLEXT/obj list1,HEIGHT,h[,AXIS,i,j,k]
[,IFERR,label:]
CREATE SHADED
SOLID IMAGE FILE
SOLPIX/'filename'[,QUICK][,SIZE,num,num]
[,COLOR,num][,RESULT,numa]
[,IFERR,label:]
SOLPIX/'filename'[,SIZE,num,num]
[,METHOD,num][,RESULT,numa]
[,IFERR,label:]
CREATE SOLID PRISM
obj = SOLPRI/ORIGIN,xc,yc,zc,
HEIGHT,j
.DIAMTR,d
,SIDE,s
[,AXIS,i,j,k]
[,IFERR,label:]
CREATE SOLID OF
REVOLUTION
obj = SOLREV/obj list,ORIGIN,xc,yc,zc
,ATANGL,a
[,AXIS,i,j,k]
[,IFERR,label:]
D-28
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Statement Format Summary
Function
Statement Format
CREATE SOLID
SPHERE
obj = SOLSPH/ORIGIN,xc,yc,zc
,DIAMTR,d
[,IFERR,label:]
CREATE SOLID TORUS
obj = SOLTOR/ORIGIN,xc,yc,zc
,RADIUS,r1,r2
[,AXIS,i,j,k]
[,IFERR,label:]
CREATE SOLID TUBE
OR CABLE
obj = SOLTUB/obj list
,DIAMTR,d1[,d2]
[,TOLER,t]
[,IFERR,label:]
OPEN
SUB-DIRECTORY
SOPEN[/IFERR,label:]
SORT A FILE
SORT/from file#,to file#,'new filespec'
[,{ASCEND|DECEND}]
,start column,end column
[{[,{ASCEND|DECEND}]
,start column,end column}+]
[,IFERR,label:]
U, V PARAMETERS OF
A POINT ON A
SURFACE
SPARF/ent,{point|X,Y,Z},u,v
POSITION ON A
SURFACE
SPOSF(ent,u,v)
SPHERE (Arc)
obj = SPHERE/arc
(Center, Radius)
obj = SPHERE/CENTER,point1,RADIUS,r
[,plane,point2]
(Tangent To Three
Planes)
obj = SPHERE/TANTO,
PLANE1,plane2,plane3
,CENTER,point
,RADIUS,r
SPLINE BY KNOT
POINTS
obj = SPLINE/[CLOSED,]
{point[,{VECT,dx,dy,dz|
TANTO,curve|angle}]}+
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
D-29
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
Statement Format Summary
Function
Statement Format
SPLINE BY APPROX.
CURVES
obj = SPLINE/APPROX,[{BLANK|DELETE}]
[,TOLER,t] obj list
SPLIT SOLIDS
obj list = SPLIT/obj list1,WITH,obj[,CNT,c]
[,IFERR,label:]
GEOMETRIC
PROPERTIES OF A
FACE AT A
PARAMETER
SPROPF(obj,u,v)
SQUARE ROOT OF arg
SQRTF(arg)
FREE FORM BODY
(Swept Method)
obj = SSURF/ent1,ent2,p,c[,ent3]
FREE FORM BODY
(Curve Mesh Method)
obj = SSURF/PRIMA,obj list1,CROSS,obj list2
DECLARE STRING
VARIABLE
STRING/name([dim1,[dim2]],n)
[,name([dim1[,dim2]],n)]+
STORE VALUE IN AN
EXPRESSION
STORE/'expressionăname',data
EXTRACT PORTION OF
A CHARACTER STRING
SUBSTR('objectăstring',pos,count)
SUBTRACT SOLIDS
obj list = SUBTRA/ent,WITH,obj list1[,CNT,C]
[,IFERR,label:]
FIND SECTION LINE
DATA
obj list = SXLDAT/object, count[, REF, name]
[, IFERR, label:]
FIND SECTION LINE
SEGMENT DATA
obj = SXSEGD/object[, RESULT, type]
[, IFERR, label:]
TABULATED CYLINDER
obj = TABCYL/ent,x,y,z[,start,end]
ENTER TEXT
TEXT/'message',string-variable
[,ALTACT,'message']
,response[,DEFLT]
RETURN CURRENT
TIME
TIME
D-30
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Statement Format Summary
Function
Statement Format
TRANSFORMATION
obj list = TRANSF/matrix,obj list[,MOVE][,TRACRV]
ENTITY TYPE
TYPF(ent)
DEFINE SYMBOL
UDFSYM/'symbol_name',['filespec',]
point1,point2,obj list [,factor]
[,IFERR,label:]
USER FUNCTION
ARGUMENTS
UFARGS/parameter list,[,IFERR,label:]
ENCODE
UG/MANAGER PART
FILE NAME
string = UGMGRE / PRTNUM,string, PRTREV,string
[,PRTTYP,string] [,PRTFIL,string]
[,IFERR,label:]
DECODE
UG/MANAGER PART
FILE NAME
string_list = UGMGRD / string [,IFERR,label:]
UNBLANK
UNBLNK/{obj list|ALL}
UNGROUP
UNGRP/[TOP,]obj list
UNITE SOLIDS
obj list = UNITE/obj,WITH,obj list1,[,CNT,c]
[,IFERR,label:]
WHERE USED REPORT
USED[/['component name'][,ROOT,'dir spec']
[,IFERR,label:]]
UNIT VECTOR
UNITF(A)
UPDATE
COMPONENTS
obj = UPDATE/component[,ROOT,'directory']
[,REPORT]
[,'reference set name'][,PART,'part']
[,IFERR,label:]
UPGRADE
COMPONENTS
obj = UPGRAD/{ALL|COMP,component list}[,RECURS]
[,CREATE][,STATUS,status][,IFERR,label:]
CONVERT STRING TO
A REAL NUMBER
VALF('string')
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
D-31
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
Statement Format Summary
Function
Statement Format
RETURN VIEW
DEPENDENT
LOCATION OF A POINT
ON A CURVE
num = VDCPRM/ent,{point|x,y,z}[,'view name']
ERASE FROM VIEW
VDEDIT/obj list,ERASE[,'view name']
MODIFY CURVE
SEGMENTS
VDEDIT/obj list[,param1,param2]
[,{COLOR,c|FONTN,'fname'|
FONT,f|DENS,d|LWIDTH,w}]
[,'view name']
REMOVE SELECTED
VIEW MODS
VDEDIT/obj list,REMOVE[,'view name']
REMOVE ALL VIEW
MODS
VDEDIT/ALL,REMOVE[,'view name']
CONVERT SELECTED
VIEW DEP. TO MODEL
VDEDIT/obj list,MODEL[,'view name']
CONVERT ALL VIEW
DEP. TO MODEL
VDEDIT/ALL,MODEL[,'view name']
CONVERT MODEL TO
VIEW DEPENDENT
VDEDIT/obj list,VIEW[,'view name']
CHANGE VIEW
VIEW/n
CREATE A VIEW
VIEWC/'view name',
{csys|'base view name'
[,VMODS][,VDEP]}
[,WORK[,{AUTO|SCALE,s}]]
[,IFERR,label:]
DELETE A VIEW
VIEWD/'view name'
[,IFERR,label:]
D-32
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Statement Format Summary
Function
Statement Format
EDIT VIEW
VIEWE/['view name']
[,{CSYS,csys|matrix}]
[{[,SCALE,s1][,CENTER,x,y[,z]]|,AUTO}],
{PARLEL|PERSP,d1|EYEPT,x,y[,z]}]
[{[,FRONTZ,{z1|OFF}]
[,BACKZ,{z2|OFF}]
,AUTOZ}] [,REF,x,y[,z]]
[,DSCALE,s2]
[,SRFDSP,n]
[,DCUE[,OFF]]
[,SAVE[,'new view name'
[,VMODS][,VDEP]]]
[,BLEND,{VSBL|INVSBL}]
[,SMOOTH,{VSBL|INVSBL]
[,SILHO,{VSBL|INVSBL}]
[,HIDDEN,{VSBL|INVSBL|DASH}]
[,IFERR,label:]
VIEW LAYER VISIBILITY
MASK
VIEWLC/['view name]
{,RESET|[,VSBL{,REST|[,layer list]
[,CAT,cat list]}][,INVSBL{,REST|
[,layer list][,CAT,cat list]}]}
[,IFERR,label:]
RENAME A VIEW
VIEWN/['old view name',]'new view name' [,IFERR,label:]
VERIFY VIEW
VIEWV/['view name',]variable list[,IFERR,label:]
LENGTH OF A VECTOR
(Magnitude)
VLENF(A)
WRITE TEXT TO A
TEXT FILE
WRITE/file#[,LINNO,line#][,USING,'imageăstring'], data list
EXECUTE OPERATING
SYSTEM FUNCTIONS
(Format 1)
XSPAWN/[CONCUR,][PROG,]'program name'
[,'argument list1',..,'argument listn']
[,RESULT,result string variable]
[,IFERR,label:]
(Format 2)
XSPAWN/UFUN,'program name'[,IFERR,label:]
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
D-33
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
Statement Format Summary
(This Page Intentionally Left Blank)
ÉÉÉ
ÉÉÉ
D
ÉÉÉ
ÉÉÉ
D-34
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GPA Symbol Format Summary
GPA Symbol Format Summary
Appendix E
On the following pages you will find an alphabetical list of the GPAs, their
purpose, access type, data type, and range. The following are explanations of
letters and/or characters which will be found in the RANGE column.
LT
LE
GT
GE
**
------
Less Than
Less Than Or Equal To
Greater Than
Greater Than Or Equal To
Any valid Unigraphics numerical value
The following are explanations of letters and/or characters which will be found
in the ACCESS and DATA TYPE columns.
N
S
E
RW
RO
C
NOTE
-------
Number Valued
String Valued
Entity Valued
Read/Write
Read Only
Constant (value which may not be
changed)
GPAs that access the file header to read data, must be
preceded by the FHREAD or DOPEN and DNEXT
statements. These statements get the information from
the file header, and store it where the GPAs have access
to it. An asterisk (*) will appear next to all GPAs which
require the use of FHREAD or DOPEN and DNEXT.
Function
Symbol
Access
Type
Data
Type
ACCESS ABSOLUTE COORDINATE
SYSTEM
&ABS
RO
E
ACTIVE PART STATUS
No Active Part
Active Part
&ACTPRT
RO
N
EDS
All Rights Reserved
Range
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
[1,2]
=1
=2
GRIP Fundamentals
Student Guide
E-1
GPA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
ALL AROUND SYMBOL DISPLAY
Displayed
Not displayed
&ALARND
&YES
&NO
RW
N
C
C
[1,2]
=1
=2
MODELING ANGLE TOLERANCE
&ANGTOL
RW
N
GT 0
APPENDED TEXT SITE
Below
After
Above
Before
Before and After
&APSITE
&BELOW
&AFTER
&ABOVE
&BEFORE
&BEFAFT
RW
C
C
C
C
C
N
N
N
N
N
N
[1..5]
=1
=2
=3
=4
=5
RADIUS DIMENSION DISPLAY
Leader drawn to arc center
Leader extends to text box
&ARCCTR
&YES
&NO
RW
C
C
N
N
N
[1,2]
=1
=2
ARROW DISPLAY
Two Arrows
First Arrow
Second Arrow
No Arrows
&ARDSP
&BOTH
&FIRST
&SECOND
&NONE
RW
C
C
C
C
N
N
N
N
N
[1..4]
=1
=2
=3
=4
ARROWHEAD FILL DISTANCE
&ARFLDT
RW
N
GT 0
ARROWHEAD INCLUDED ANGLE
&ARIANG
RW
N
GT 0 LT
180
ARC LENGTH SYMBOL
Symbol displayed
Symbol not display
&ARLNSM
&YES
&NO
RW
N
C
C
[1,2]
=1
=2
ARROWHEAD 1 TYPE
Closed
Open
Cross
Dot
Origin Symbol
No arrowhead
&ARROW
&CLOSED
&OPEN
&ARCHCR
&DOT
&ORGSYM
&NOARHD
RW
C
C
C
C
C
C
N
N
N
N
N
N
N
[1..6]
=1
=2
=3
=4
=5
=6
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
E-2
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GPA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
ARROWHEAD 2 TYPE
Closed
Open
Cross
Dot
Origin Symbol
No arrowhead
&ARROW2
&CLOSED
&OPEN
&ARCHCR
&DOT
&ORGSYM
&NOARHD
RW
C
C
C
C
C
C
N
N
N
N
N
N
N
[1..6]
=1
=2
=3
=4
=5
=6
ARROWHEAD SIZE
&ASIZE
RW
N
GT 0
ASPECT RATIO
&ASPECT
RW
N
GT 0
ATTRIBUTE NAME DISPLAY
Display
Do Not Display
&ATTDIS
&YES
&NO
RW
C
C
N
N
N
[1,2]
=1
=2
ATTRIBUTE TYPE
Integer
Floating Point
Date/Time
Null
Variable Length String (132)
Indicates All Data Types
Reference
&ATTYPE
&INT
&REAL
&DATE
&NULL
&STRING
&ALLTYP
&REFRNC
RW
C
C
C
C
C
C
C
N
N
N
N
N
N
N
N
[1..7]
=1
=2
=3
=4
=5
=6
=7
ANGULAR DIMENSION UNITS
Decimal Fraction
Whole Deg's.
Deg's./Min's.
Deg's./Min's./Sec's
&AUNIT
&DECIM
&DEG
&DEGM
&DEGMS
RW
C
C
C
C
N
N
N
N
N
[1..4]
=1
=2
=3
=4
CURRENT EXECUTION MODE
Batch Mode
Interactive Mode
&BATCH
RO
N
[1,2]
=1
=2
CUSTOMER AREA OF THE FILE
HEADER
&CAREA *
RW
S
124 chars.
BACKGROUND COLOR
&BGCLR
RW
N
[0.0-1.0]
CHARACTER FONT
&CFONT
RW
N
GT 0
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
E-3
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
GPA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
CHAINING METHOD
Simple
XY Plane Only
XY Plane To The Left
XY Plane To The Right
&CHAIN
&SIMPLE
&CWCS
&CWCSL
&CWCSR
RW
C
C
C
C
N
N
N
N
N
[1..4]
=1
=2
=3
=4
CHAINING TOLERANCE
&CHTOL
RW
N
[0..100]
CLIPPING TOLERANCE
&CLPTOL
RW
N
[.001 .10]
COMPOSITE FRAME DISPLAY
Displayed
Not displayed
&CMPFRM
&YES
&NO
RW
N
C
C
[1,2]
=1
=2
CREATION MODE
View Independent
View Dependent
&CNMODE
&MODEL
&VIEW
RW
C
C
N
N
N
[1,2]
=1
=2
CREATION DATE OF THE FILE
DD-MM-YY
&CRDATE*
RO
S
8 chars.
CREATION TIME OF THE FILE
&CRTIME *
RO
S
5 chars.
CHARACTER SIZE
&CSIZE
RW
N
GT 0
CHARACTER SLANT IN DEG'S.
&CSLANT
RW
N
45
NEW COORDINATE SYSTEM STATUS
&CSMODE
&NORMAL
&TEMP
RW
C
C
N
N
N
[1,2]
=1
=2
NAME OF WORKING DIRECTORY
&CURDIR
RW
S
99 chars.
CURRENT DRAWING
&CURDRW
RW
S
30 chars.
CURRENT LAYOUT
&CURLAY
RW
S
30 chars.
DASH SIZE
&DASHSZ
RW
N
GTE 0
DIMENSION PLACES PAST THE
DECIMAL
&DDECPL
RW
N
[0..7]
DUAL DIMENSION PLACES PAST THE
DECIMAL
&DDDECP
RW
N
[0..7]
E-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GPA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
SETS THE NUMBER OF DECIMAL
PLACES FOR NUMERICAL DISPLAYS
&DECPL
RW
N
[0..9]
DECIMAL POINT CHARACTER
Period
Comma
&DECPT
&PERIOD
&COMMA
RW
C
C
N
N
N
[1,2]
=1
=2
COMMON FRACTION DENOMINATOR
&DENOM
RW
N
[1,2,4,8,16
,32,64]
DUAL FRACTION DENOMINATOR
&DENOMD
RW
N
[1,2,4,8,
16,32,64]
DESCRIPTION AREA OF THE FILE
HEADER
&DESCR *
RW
S
132 chars.
DIAMETER SYMBOL
&DIASYM
RW
S
6
char's.**
NAME OF LAST DIRECTORY OPENED
BY DOPEN OR SOPEN
&DIR
RO
S
10 chars.
PATHNAME OF LAST DIRECTORY
OPENED BY DOPEN OR SOPEN
&DIRPTH *
RO
S
99 chars.
DISTANCE FROM DIM. LINE TO TEXT
&DISTDT
RW
N
GT 0
MODELING DISTANCE TOLERANCE
&DISTOL
RW
N
GT0
EXTENSION LINE DISTANCE TO
REFERENCE POINT
&DISTXR
RW
N
GT 0
EXTENSION LINE DISTANCE PAST
DIMENSION LINE
&DISTXD
RW
N
GT 0
LINE WIDTH (for dimensions)
Normal
Thick
Thin
&DLWID
&NORMAL
&THICK
&THIN
RW
C
C
C
N
N
N
N
[1..3]
=1
=2
=3
OPTIONAL $ DIRECTORY
&DOLLIB
RW
S
99 chars.
DIAMETER OF DOT ARROWHEAD
&DOTDIA
RW
N
GT 0
EDS
All Rights Reserved
*
GRIP Fundamentals
Student Guide
E-5
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
GPA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
LN, AR, CSIZE RELATIONSHIP
Arrowhead & Line Sizes Related
To Char. Size
Arrowhead & Line Sizes Not
Related To Char. Size
&DPREL
&YES
RW
C
N
N
[1,2]
=1
&NO
C
N
=2
DIAMETER AND RADIUS SYMBOL SITE
Below Dim. & Tol. Text
After Dim. & Tol. Text
Above Dim. & Tol. Text
Before Dim. & Tol. Text
Omit Symbol
&DRSITE
RW
N
[1..5]
&BELOW
&AFTER
&ABOVE
&BEFORE
&OMIT
C
C
C
C
C
N
N
N
N
N
=1
=2
=3
=4
=5
CURRENT DRAWING STATE
Modeling Display
Drawing Display
&DSTATE
RW
C
C
N
N
N
[1,2]
=1
=2
EXTENSION LINE DISTANCE TO
SECOND REFERENCE POINT
&DSTXR2
RW
N
GT 0
DUAL TOLERANCE PLACES PAST THE
DECIMAL
&DTDECP
RW
N
[0..7]
CURVE AND SHEET BODY DISPLAY
TOLERANCE
&DTOLC
RW
N
GT 0
CURVE AND SHEET BODY DISPLAY
TOLERANCE
&DTOLS
RW
N
GT 0
DUAL FORMAT
Dual Below
Dual After
Dual Above
Dual Before
Non-dual
&DUAL
&BELOW
&AFTER
&ABOVE
&BEFORE
&NODUAL
RW
C
C
C
C
C
N
N
N
N
N
N
[1..5]
=1
=2
=3
=4
=5
DUAL LINEAR DIMENSION UNITS
Millimeters
Meters
Inches
Arch. Feet & Inches
Eng. Feet & Inches
&DUNITD
&MM
&M
&INCH
&ARCHFI
&ENGFI
RW
C
C
C
C
C
N
N
N
N
N
N
[1..5]
=1
=2
=3
=4
=5
E-6
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GPA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
LINEAR DIMENSION UNITS
Millimeters
Meters
Inches
Arch. Feet & Inches
Eng. Feet & Inches
&DUNIT
&MM
&M
&INCH
&ARCHFI
&ENGFI
RW
C
C
C
C
C
N
N
N
N
N
N
[1..5]
=1
=2
=3
=4
=5
CAM: LIST DUPLICATE MERGES
List
Do Not List
&DUPCAM
&YES
&NO
RW
C
C
N
N
N
[1,2]
=1
=2
OBJECT SITE RELATED TO TEXT
Top Left
Top Center
Top Right
Mid-left
Mid-center
Mid-right
Bottom Left
Bottom Center
Bottom Right
&ENSITE
&TOPL
&TOPC
&TOPR
&MIDL
&MIDC
&MIDR
&BOTL
&BOTC
&BOTR
RW
C
C
C
C
C
C
C
C
N
N
N
N
N
N
N
N
N
N
[1..9]
=1
=2
=3
=4
=5
=6
=7
=8
=9
OBJECT COLOR
Blue
Green
Cyan
Red
Magenta
Yellow
White
Olive
Pink
Brown
Orange
Purple
Dark Red
Aquamarine
Gray
&ENTCLR
&BLUE
&GREEN
&CYAN
&RED
&MAGENT
&YELLOW
&WHITE
&OLIVE
&PINK
&BROWN
&ORANGE
&PURPLE
&DKRED
&AQUAMR
&GRAY
RW
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
[1..15]
=1
=2
=3
=4
=5
=6
=7
=8
=9
=10
=11
=12
=13
=14
=15
PROCESS CONTROL IF ERRORS EXIST &ERRMOD
Terminate Processing
&TERM
Continue Processing
&CONTIN
RW
C
C
N
N
N
[1,2]
=1
=2
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
E-7
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
GPA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
RETURN LAST ERROR NUMBER
&ERROR
RO
N
Any Valid
Error
Number
OPTIONAL ! DIRECTORY
&EXCLIB
RW
S
99 chars.
EXPAND or UNEXPAND VIEW
&EXPAND
RW
S
30 chars.
FILLED ARROWHEAD DISPLAY
Display
Do Not Display
&FLARDP
&YES
&NO
RW
C
C
N
N
N
[1,2]
=1
=2
FAST FONT DISPLAY
Display
Do Not Display
&FASTF
&YES
&NO
RW
C
C
N
N
N
[1,2]
=1
=2
ARROWHEAD FILL CONTROL
Display
Do Not Display
&FILARW
&YES
&NO
RW
C
C
N
N
N
[1,2]
=1
=2
FILL PATTERN TYPE
Cork/Felt/Fiber
Sound Insulation
Concrete
Earth
Rock
Sand
Liquids
Wood Ć Across Grain
Wood Ć With Grain
Solid Fill
&CORK
&SNDINS
&CONCRT
&EARTH
&ROCK
&SAND
&LIQUID
&AGRAIN
&WGRAIN
&SOLIDF
C
C
C
C
C
C
C
C
C
C
N
N
N
N
N
N
N
N
N
N
[1..10]
=1
=2
=3
=4
=5
=6
=7
=8
=9
=10
LENGTH OF CURRENT FILE
&FLEN *
RO
N
GE 0
FRAME SIZE OF F&PT SYMBOL
&FMSIZE
RW
N
GT 0
NAME OF CURRENT FILE
&FNAME *
RW
S
30 chars.
LINE FONT MODE
Hardware Line Fonts
Software Line Fonts
&FMODE
RW
N
[1,2]
=1
=2
E-8
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GPA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
LINE FONT
Solid
Dashed
Phantom
Centerline
Dotted
Long Dashed
Dotted Dashed
&FONT
&SOLID
&DASHED
&PHANTM
&CLINE
RW
C
C
C
C
N
N
N
N
N
[1..7]
=1
=2
=3
=4
=5
=6
=7
LINE FONT NAME
&FONTN
RW
S
30 chars.
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
E-9
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
GPA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
FORMAT OF CURRENT FILE
Binary CL File
Post Binary File
UNIPCB Board
Computer Graphics Metafile
Display File
ASCII Crosshatch File
CLĆFile (APT Format)
Customer Defined
Miscellaneous Data File
Directory
Display File
Display File
NC Facet File
Parts List Format
GRIP Batch Intermediate
GRIP Intermediate
GRIP Batch Execution
GRIP Execution
UNISOLIDS Image File
ASCII CL file
Native Lang. Binary
Post Machine Data
NC TV File
Post Processing Data File
Unigraphics Part
Patran Neutral Binary
UNIPCB Part
Pattern Facets
UGSOLID Pixel File
UNIPCB Package
Symbol Definition
Stereo Lithography
Text File
Aldus TIFF
User Analysis Definitions
User Analysis Master
User Defined Feature
UGI File
UNISOLIDS Checkpoint
NASTRAN Data File
Misc. (Undefined)
&FORMAT*
RO
S
4 chars.
BCL
BIN
BRD
CGM
CGP
CHX
CLF
CUST
DATA
DIR
DISP
DSS
FCET
FMT
GRII
GRIU
GRXI
GRXU
IMAG
ISO
LANG
MDF
NCTV
PAB
PART
PBNF
PCPT
PFAC
PIXL
PKG
SBF
STL
TEXT
TIFF
UAI
UAM
UDF
UGI
USCK
UT1
(4ĂBlanks)
FILE STATUS OF CURRENT FILE
&FSTAT *
RW
N
Any
E-10
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GPA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
CURRENT FILE SYSTEM
Native File System
&FSYS
RO
N
N
[2]
=2
SPACE FACTOR
&GAPFAC
RW
N
GT 0
GRID BOUNDSĆPOLAR GRIDS
&GBNDSP
RW
N
[1..4]
GRID BOUNDSĆRECT. GRIDS
&GBNDSR
RW
N
[1..4]
BATCH PARAMETER STRING
&GBSTR
RO
S
132 chars.
GRID SIZE
&GSIZE
RW
N
GT 0
ANGULAR SPACING-POLAR GRIDS
&GSIZEA
RW
N
GT 0
RADIAL SPACING-POLAR GRIDS
&GSIZER
RW
N
GT 0
X-SPACING-RECTANGULAR GRIDS
&GSIZEX
RW
N
GT 0
Y-SPACING-RECTANGULAR GRIDS
&GSIZEY
RW
N
GT 0
GRID SNAP
Snap Enabled
Snap Disabled
&GSNAP
&YES
&NO
RW
C
C
N
N
N
[1,2]
=1
=2
GRID TYPE
Rectangular Grid
Polar Grid
&GTYPE
&RECT
&POLAR
RW
C
C
N
N
N
[1,2]
=1
=2
CROSSHATCH ANGLE
&HANGLE
RW
N
180
CROSSHATCH DISTANCE
&HDIST
RW
N
GT 0
CROSSHATCH MATERIAL TYPE
Iron/General Use
Steel
Brass,Copper
Rubber or Plastic
Refractory
Marble, Slate or Glass
Lead
Aluminum, Magnesium
Electrical Winding
Thermal Insulation
&HMAT
&IRON
&STEEL
&BRASS
&RUBBER
&REFRAC
&MARBLE
&LEAD
&ALUM
RW
C
C
C
C
C
C
C
C
N
N
N
N
N
N
N
N
N
N
N
[1..10]
=1
=2
=3
=4
=5
=6
=7
=8
=9
=10
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
E-11
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
GPA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
CROSSHATCH TOLERANCE
&HTOLER
RW
N
GT 0
ID-SYMBOL SIZE
&IDSIZE
RW
N
GT 0
FRACTION DISPLAY TYPE
Decimal
2/3 Size Common
3/4 Size Common
Full Size Common
&FTYPE
&DECIM
&FRAC
&TQFRAC
&FSFRAC
RW
C
C
C
C
N
N
N
N
N
[1..4]
=1
=2
=3
=4
DUAL FRACTION DISPLAY TYPE
Decimal
2/3 Size Common
3/4 Size Common
Full Size Common
&FTYPED
&DECIM
&FRAC
&TQFRAC
&FSFRAC
RW
C
C
C
C
N
N
N
N
N
[1..4]
=1
=2
=3
=4
OBJECT SITE INDICATOR
Display
Do Not Display
&INDIC
&YES
&NO
RW
C
C
N
N
N
[1,2]
=1
=2
LAST ACCESSED DATE OF CURRENT
FILE
&LADATE *
RO
S
8 chars.
RETURN VALUE OF NATIVE LANGUAGE &LANG
MENU NAME STRING
RO
S
16 chars.
LAST ACCESSED TIME OF CURRENT
FILE
&LATIME *
RO
S
5 chars.
LOCAL CHECKING OF SOLIDS
Local Checking Off
Local Checking On
&LCHECK
&OFF
&ON
RW
C
C
N
N
N
[0..1]
=0
=1
LISTING DEVICE
CRT
Line Printer
Remote Line Printer
OS Device
CRT & Line Printer
CRT & Remote Line Printer
CRT & OS Device
Null
&LDEV
&CRT
&LP
RO
C
C
N
N
N
[1..10]
=1
=2
=3
=5
=6
=7
=9
=10
E-12
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GPA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
LEADER ORIENTATION
Left
Right
&LEADER
&LEFT
&RIGHT
RW
C
C
N
N
N
[1..3]
=1
=3
LINE FACTOR
&LINFAC
RW
N
GT 0
LAST MODIFIED DATE OF CURRENT
FILE
&LMDATE *
RO
S
8 chars.
LAST MODIFIED TIME OF CURRENT
FILE
&LMTIME *
RO
S
5 chars.
LINE BETWEEN ARROWS
Display
Do not display
&LNARRW
&YES
&NO
RW
C
C
N
N
N
[1,2]
=1
=2
CURRENT LINE BEING EXECUTED IN A &LNUM
GRIP PROGRAM
RO
N
GT 0
LINE WIDTH (for geometry)
Normal
Thick
Thin
&LWIDTH
&NORMAL
&THICK
&THIN
RW
C
C
C
N
N
N
N
[1..3]
=1
=2
=3
MACHINE FORMAT OF CURRENT FILE
Data General
Digital
AIX, UNIX
AXP, OSF, Ultrix
&MCHFMT*
RO
S
GE 3
chars.
DG
DEC
UNX
ULT
MEMBER VIEW DISPLAY
Complete
Outline Only
&MVDISP
&YES
&NO
RW
C
C
N
N
N
[1,2]
=1
=2
OWNER OF CURRENT FILE
&OWNER*
RW
S
10 chars.
PART OBJECT IDENTIFIER
&PARATT
RO
E
PATTERN MAX/MIN BOX DISPLAY
STATUS
Display
Do not display
&PATBOX
RW
N
[1,2]
&YES
&NO
C
C
N
N
=1
=2
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
E-13
GPA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
PATTERN CONTROL POINT DISPLAY
STATUS
Display
Do not display
&PATCPT
RW
N
[1,2]
&YES
&NO
C
C
N
N
=1
=2
PATTERN ERRORS
Pattern errors occurred
No pattern errors occurred
&PATERR
&YES
&NO
RO
C
C
N
N
N
[1,2]
=1
=2
PATTERN DATA ARCHIVING
Save pattern data
Do not save pattern data
&PATFIL
&YES
&NO
RW
C
C
N
N
N
[1,2]
=1
=2
PATTERN ORIGIN MARKER DISPLAY
STATUS
Display
Do not display
&PATMRK
RW
N
[1,2]
&YES
&NO
C
C
N
N
=1
=2
PATTERN SHADED DATA ARCHIVING
Save pattern shaded data
Do not save pattern
shaded data
&PATSHD
&YES
&NO
RW
C
C
N
N
N
[1,2]
=1
=2
PROTECTION CLASS OF CURRENT
FILE
&PCLASS *
RW
S
8 chars.
POSITION INDICATOR TYPE
Screen Cursor
Data Tablet
&PITYPE
&CURSOR
&TABLET
RW
C
C
N
N
N
[0,1]
=0
=1
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
E-14
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GPA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
CURRENT PLATFORM
Apollo
VAX/VMS
HP CISC
HP RISC
SUN 3
SUN SPARC
DEC RISC (ULTRIX)
SGI
Data General (DG)
IBM MVS
IBM AIX
AXP/OSF
AXP/VMS
AXP Windows NT
Intel x86 Windows NT
&PLTFRM
RO
N
[1..15]
=1
=2
=3
=4
=5
=6
=7
=8
=9
=10
=11
=12
=13
=14
=15
CURRENT PART NAME
&PNAME
RW
S
30 chars.
CURRENT FILE SPECIFICATION
&PSPEC
RW
S
132 chars.
RADIUS SYMBOL
&RADSYM
RW
S
6 char's.
**
&REGA
&REGB
&REGC
&REGD
&REGE
&REGF
&REGG
&REGH
&REGI
&REGJ
&REGK
&REGL
&REG('exp
name')
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
RW
N
N
N
N
N
N
N
N
N
N
N
N
N
*
*
*
*
*
*
*
*
*
*
*
*
*
EXPRESSIONS AĆL
Access Expression A"
Access Expression B"
Access Expression C"
Access Expression D"
Access Expression E"
Access Expression F"
Access Expression G"
Access Expression H"
Access Expression I"
Access Expression J"
Access Expression K"
Access Expression L"
Other Expressions
*Any real number
EDS
All Rights Reserved
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
GRIP Fundamentals
Student Guide
E-15
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
GPA Symbol Format Summary
Function
RELEASE NUMBER OF CURRENT FILE
Symbol
&RELNO *
Access
Type
RO
Data
Type
S
Range
GE 7
chars.
V1
V2
V3
V4
V41
V5
V6
V7
V8
V8A
V9
V9M
V91
V10
V10.1
V10.2
V10.3
V10.3.3
V10.4
RETAIN ANNOTATIONS
&RETANN
RW
N
[0,1]
RUNOUT FILLED ARROWHEAD
DISPLAY
Displayed
Not displayed
&RNFILL
RW
N
[1,2]
C
C
=1
=2
RUNOUT ARROWHEAD FILLED
DISTANCE
&RNDIST
RW
N
GT 0
SYMBOL DISPLAY MODE IN LINE FONT &SBDISP
Complete
Outline
&YES
&NO
RW
N
[1,2]
C
C
N
N
=1
=2
SOLID DENSITY
&SDENS
RW
N
GE 0
SOLID DENSITY UNITS
Pounds Per Cubic Inch
Pounds Per Cubic Foot
Grams Per Cubic Centimeter
Kilograms Per Cubic Meter
&SDUNIT
&LBIN
&LBFT
&GCM
&KGM
RW
C
C
C
C
N
N
N
N
N
[1..4]
=1
=2
=3
=4
E-16
GRIP Fundamentals
Student Guide
&YES
&NO
EDS
All Rights Reserved
Unigraphics NX 2
GPA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
NUMBER OF SURFACE GRIDS IN U
DIRECTION
&SGRIDU
RW
N
GE 0
NUMBER OF SURFACE GRIDS 4 IN V
DIRECTION
&SGRIDV
RW
N
GE 0
SPACE SIZE
&SPCSZ
RW
N
GE 0
SPECKLE TOLERANCE
&SPKTOL
RW
N
[.001 .10]
STUBB SIZE
&STUBB
RW
N
GE 0
TRAILING ZERO SUPPRESSION
Display
Do not display
&SUPRES
&YES
&NO
RW
C
C
N
N
N
[1,2]
=1
=2
SYMBOL SIZE
&SYMBSZ
RW
N
GT 0
DISTANCE BETWEEN TEXT AND
DIAMETER SYMBOL
&SYMDIS
RW
N
GE 0
SYSTEM COLOR
Blue
Green
Cyan
Red
Magenta
Yellow
White
Olive
Pink
Brown
Orange
Purple
Dark Red
Aquamarine
Gray
&SYSCLR
&BLUE
&GREEN
&CYAN
&RED
&MAGENT
&YELLOW
&WHITE
&OLIVE
&PINK
&BROWN
&ORANGE
&PURPLE
&DKRED
&AQUAMR
&GRAY
RW
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
[1..15]
=1
=2
=3
=4
=5
=6
=7
=8
=9
=10
=11
=12
=13
=14
=15
TOLERANCE PLACES PAST THE
DECIMAL
&TDECPL
RW
N
[0..7]
TEXT BOX DISPLAY
Display
Do not display
&TEXBOX
&YES
&NO
RW
C
C
N
N
N
[1,2]
=1
=2
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
E-17
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
GPA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
TEXT ORIENTATION
Horizontal
Aligned With Dim.
Lines Over Solid Dim.
Lines By angle Perpendicular
&TEXTOR
&TXHOR
&TXALIN
&TXOVER
&TXBANG
&TXPERP
RW
C
C
C
C
C
N
N
N
N
N
N
[1..5]
=1
=2
=3
=4
=5
TEXT LINE WIDTH
Normal
Thick
Thin
&TLWID
&NORMAL
&THICK
&THIN
RW
C
C
C
N
N
N
N
[1..3]
=1
=2
=3
TOLERANCE TYPE
None
Limit Single Line
Limit Double Line (max/min
tolerance)
Bilateral Single Line (plus or minus)
Bilateral Double Line (upper, lower
limit)
Unilateral Above
Unilateral Below
Basic
Reference
Limit, Larger First
Limit, Larger Below
&TOLER
&NOTOL
&LIMSA
&LIMDA
RW
C
C
C
N
N
N
N
[1..11]
=1
=2
=3
&BILS
C
N
=4
&BILD
C
N
=5
&UNILA
&UNILB
&BASIC
&REF
&LIMSB
&LIMDB
C
C
C
C
C
C
N
N
N
N
N
N
=6
=7
=8
=9
=10
=11
TOLERANCE VALUE (English): LOWER
&TOLOW
RW
N
Infinity
TOLERANCE VALUE (Metric): LOWER
&TOLOWM
RW
N
Infinity
TOLERANCE VALUE (English): UPPER
&TOLUP
RW
N
Infinity
TOLERANCE VALUE(Metric): UPPER
&TOLUPM
RW
N
Infinity
TOLERANCE SITE
Below Dimension Text
After Dimension Text
Above Dimension Text
&TOSITE
&BELOW
&AFTER
&ABOVE
RW
C
C
C
N
N
N
N
[1..3]
=1
=2
=3
TEXT ANGLE
&TXANGL
RW
N
360
E-18
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
GPA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
TEXT AND ARROW LOCATION
Automatic
Manual Loc., Arrows In
Manual Loc., Arrows Out
&TXARR
&AUTO
&ARRIN
&ARROUT
RW
C
C
C
N
N
N
N
[1..3]
=1
=2
=3
TEXT JUSTIFICATION
Left
Center
Right
&TXJUST
&LEFT
&CENTER
&RIGHT
RW
C
C
C
N
N
N
N
[1..3]
=1
=2
=3
READ USER EXIT NUMBER
&UENUM
RO
N
[1..58]
ACCESS USER EXIT STRING
&UESTR
RW
S
132 chars.
ACCESS USER EXIT CODE
&UEXERR
RW
N
[-2..3]
DETERMINE IF UG/MANAGER IS
RUNNING
&UGMGR
RO
N
[1,2]
CURRENT UGII VERSION
&UGVERS
RO
S
GE 3
UNIT OF MEASUREMENT
Inches
Millimeters
&UNIT
RO
N
[1,2]
=1
=2
USER IDENTIFICATION STRING
&USERID
RO
S
30 chars.
VERTICAL TEXT JUSTIFICATION
First line text alignment
Mid line text alignment
Bottom line text alignment
&VTXJST
&TOP
&MIDDLE
&BOTTOM
RW
C
C
C
N
N
N
N
[1..3]
=1
=2
=3
VIEW OF CURSOR FOR SELECTION
Any view (smallest viewport)
Work view
&VWCURS
&ANY
&WORK
RW
C
C
N
N
N
[1,2]
=1
=2
RETURN VIEW OF LAST SELECTION
&VWSEL
RO
S
30 chars.
DISPLAY VIEW BORDERS AND NAMES
Display
Do not display
&WBORD
RW
N
[1,2]
&YES
&NO
C
C
N
N
=1
=2
RW
E
WORK COORDINATE SYSTEM OBJECT &WCS
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
E-19
GPA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
DISPLAY TEMPORARY WCS
Display WCS
Do Not Display WCS
&WCSDRW
&YES
&NO
RW
C
C
N
N
N
[1,2]
=1
=2
LINE WIDTH DISPLAY
Displayed
Not displayed
&WIDDSP
&YES
&NO
RW
C
C
N
N
N
[1,2]
=1
=2
CURRENT WORK LAYER
&WLAYER
RW
N
[1..256]
CURRENT WORK VIEW
&WVIEW
RO
N
GE 0
CHANGE WORK VIEW
&WORKVW
RW
S
30 chars.
EXTENSION LINE DISPLAY
Both Lines
First Line Only
Second Line Only
No Ext. Lines
&XLINE
&BOTH
&FIRST
&SECOND
&NONE
RW
C
C
C
C
N
N
N
N
N
[1..4]
=1
=2
=3
=4
ÉÉÉ
ÉÉÉ
E
ÉÉÉ
ÉÉÉ
E-20
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
EDA Symbol Format Summary
EDA Symbol Format Summary
ÉÉÉ
ÉÉÉ
F
ÉÉÉ
ÉÉÉ
Appendix F
All EDA symbols begin with the ampersand character (&) which is known as
the prefix character.
Each EDA symbol is associated with either a unique object parameter or a
constant and has an ACCESS TYPE, DATA TYPE, and RANGE.
ACCESS TYPE defines the READ/WRITE status of the EDA. EDAs contain
data which can be extracted (READ) for use in your program. Some symbols
allow you to directly alter the data (WRITE) by assigning the properly valued
data to the EDA.
DATA TYPE defines whether a particular EDA is object, number, or string
valued. The data associated with an EDA is object valued, it must be treated
like an object as it is assigned or extracted. If you READ an object valued EDA
and assign the data to a variable, the variable must be declared as an ENTITY.
Number valued EDAs, when assigned to a variable, do not need to be declared.
In the following program, the system assumes that NUM is a numerical variable
without it being declared as such.
String valued EDAs, when assigned to a variable, must be declared as a
STRING.
RANGE defines the value which can be assigned to an EDA. Some EDAs have
multiple numerical values which lie within their RANGE. These parameters
changed (e.g. the value for the ellipse SUBTYP is always 1). The RANGE of
string valued EDAs is defined in a number of characters allowed in the string
(e.g. &ATTTL has a range of 10 characters).
The following are explanations of letters and/or characters which will be found
in the RANGE column.
LT
LE
GT
GE
**
------
Less Than
Less Than Or Equal To
Greater Than
Greater Than Or Equal To
Any valid Unigraphics numerical value
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
F-1
EDA Symbol Format Summary
The following are explanations of letters and/or characters which will be found
in the ACCESS and DATA TYPE columns.
ÉÉÉ
ÉÉÉ
F
ÉÉÉ
ÉÉÉ
N
S
O
RW
RO
C
-------
Number Valued
String Valued
Object (Entity) Valued
Read/Write
Read Only
Constant (value which may not be
changed)
The EDAs are broken down into two categories: object dependent EDAs
(entities are listed alphabetically with several EDAs for each), and all
remaining EDAs (listed alphabetically by symbol name).
Function
Symbol
Access
Type
Data
Type
Range
ALL AROUND SYM DISP
Displayed
Not displayed
&ALLARN(obj)
Yes
No
RW
N
[1,2]
=1
=2
ARC LENGTH SYMBOL
Displayed
Not displayed
&ALNSYM(obj)
Yes
No
RW
N
[1,2]
=1
=2
ARROWHEAD DISPLAY DATA
Arrowhead 1 type
Arrowhead 2 type
Filled arrowhead display
Filled distance
Included angle
Dot diameter
&ARWDAT(obj,n)
RW
N
[1..6]
NUMBER OF ASSOCIATED
ENTITIES
&ASCCNT(obj)
RO
N
**
NAME DISPLAY LOCATION
(X,Y,Z)
&ATDISL(obj)
RW
N(3)
infinity
ALL ENTITY ATTRIBUTES
&ATTALL
({obj|PART|'name'})
RO
N
GTE 0
ATTRIBUTE TITLE
&ATTTL
({obj|PART|'name'},
seqno[,data_type])
RO
S
50 char.
ATTRIBUTE VALUE
&ATTVL
({obj|PART|'name'}
,'title'
[,IFERR,label:]
[,data_type])
RW
S
132
char.
F-2
GRIP Fundamentals
Student Guide
=1
=2
=3
=4
=5
=6
EDS
All Rights Reserved
Unigraphics NX 2
EDA Symbol Format Summary
Function
BLANKING STATUS
Blanked
Normal
B-SPLINE
Vertex at U
Weight at U
Vertices
Degree in U Direction
B-SURFACE Vertex at U,V
Weight at U,V
Vertices in U Direction
Vertices in V Direction
Degree in U Direction
Degree in V Direction
COMPONENTS AND REF. SETS
# of comp. members
Name of nth member
Comp. of which object is
member
Current date
Current time
Component part name
Reference set name
Component scale
ARC Center (X,Y,Z)
Radius
Start angle
End angle
Start point (X,Y,Z)
End point (X,Y,Z)
Arc length
X axis matrix values
Y axis matrix values
Z axis matrix values
Symbol
Access
Type
Range
Data
Type
&BLANK(obj)
RO
N
&BPOLE(obj,u)
&BPOLEW(obj,u)
&BSDATA(obj)
&BSDATA(obj,DEGREE)
RW
RW
RO
RW
N(3)
N
N
N
GT 0
[1..100]
[1..100]
&BPOLE(obj,u,v)
&BPOLEW(obj,u,v)
&BSDATA(obj)
&BSDATA(obj,ROW)
&BSDATA(obj,DEGREE)
&BSDATA(obj,DEGREE,R
OW)
RW
RW
RO
RO
RW
RW
N(3)
N
N
N
N
N
**
GT 0
[1..100]
[1..100]
[1..24]
[1..24]
&CCOUNT(comp)
&CMEM(comp,n)
&MEMCMP(obj
,IFERR,label:)
&CDATE(comp)
&CTIME(comp)
&CPNAM(comp)
&CRSNAM(comp)
&CSCALE(comp)
RO
RO
RO
N
O
O
GE 0
RO
RO
RW
RW
RO
S
S
S
S
N
9 char.
5 char.
132char
30Ăchar
GT 0
&CENTER(obj)
&RADIUS(obj)
&SANG(obj)
&EANG(ent)
&SPOINT(obj)
&EPOINT(obj)
&LENGTH(obj)
&XAXIS(obj)
&YAXIS(obj)
&ZAXIS(obj)
RW
RW
RW
RW
RO
RO
RO
RO
RO
RO
N(3)
N
N
N
N(3)
N(3)
N
N(3)
N(3)
N(3)
**
**
**
**
**
**
**
**
**
**
EDS
All Rights Reserved
[1,2]
=1
=2
GRIP Fundamentals
Student Guide
F-3
ÉÉÉ
ÉÉÉ
F
ÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉ
F
ÉÉÉ
ÉÉÉ
EDA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
ELLIPSE Center (X,Y,Z)
Semimajor
Semiminor
Tilt angle
Start angle
End angle
Start point (X,Y,Z)
End point (X,Y,Z)
X axis matrix values
Y axis matrix values
Z axis matrix values
&CENTER(obj)
&MAJOR(obj)
&MINOR(obj)
&TANG(obj)
&SANG(obj)
&EANG(obj)
&SPOINT(obj)
&EPOINT(obj)
&XAXIS(obj)
&YAXIS(obj)
&ZAXIS(obj)
RW
RW
RW
RW
RW
RW
RO
RO
RO
RO
RO
N(3)
N
N
N
N
N
N(3)
N(3)
N(3)
N(3)
N(3)
**
**
**
**
**
**
**
**
**
**
**
HYPERBOLA
Center (X,Y,Z)
Half traverse
Half conjugate
Tilt angle
Minimum Y dist.
Maximum Y dist.
Start point (X,Y,Z)
End point (X,Y,Z)
X axis matrix values
Y axis matrix values
Z axis matrix values
&CENTER(obj)
&HTRAV(obj)
&HCONJ(obj)
&TANG(obj)
&YMIN(obj)
&YMAX(obj)
&SPOINT(obj)
&EPOINT(obj)
&XAXIS(obj)
&YAXIS(obj)
&ZAXIS(obj)
RW
RW
RW
RW
RW
RW
RO
RO
RO
RO
RO
N(3)
N
N
N
N
N
N(3)
N(3)
N(3)
N(3)
N(3)
**
**
**
**
**
**
**
**
**
**
**
CHARACTER PARAMETERS
Character size
Aspect ratio
Space factor
Line factor
&CHRDAT(obj,n)
RW
N
[1..4]
=1
=2
=3
=4
NATIVE LANGUAGE MENU
CHARACTER SETS
&CHRSET(IP1, IP2)
RO
N
[0..4]
COLOR NAME
&CLRNME(num)
RO
S
10 char.
COLOR NUMBER
&CLRNUM(name)
RO
N
[1..15]
F-4
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
EDA Symbol Format Summary
Function
Symbol
Access
Type
Range
Data
Type
COLOR
Blue
Green
Cyan
Red
Magenta
Yellow
White
Olive
Pink
Brown
Orange
Purple
Dark red
Aquamarine
Gray
&COLOR(obj)
&BLUE
&GREEN
&CYAN
&RED
&MAGENT
&YELLOW
&WHITE
&OLIVE
&PINK
&BROWN
&ORANGE
&PURPLE
&DKRED
&AQUAMR
&GRAY
RW
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
[1..15]
=1
=2
=3
=4
=5
=6
=7
=8
=9
=10
=11
=12
=13
=14
=15
LINE DENSITY
Normal
Thick (Heavy)
Thin
&DENS(obj)
RW
N
[1..3]
=1
=2
=3
TEXT
&DMTEXT(obj)
RO
S
132
char. Per
Line
EDGE TYPE
&EDGTYP
(obj[,IFERR,label:])
RO
N
[0,3,5,
6,9]
=0
=3
=5
=6
=9
FIND THE NTH ENTITY WITH
THE GIVEN NAME
&ENAME(n,'name'
[,IFERR,label:])
RO
O
RUNOUT FILLED ARROWHD
Displayed
Not displayed
&FILRUN(obj)
Yes
No
RW
N
[1,2]
=1
=2
FONT NAME
&FNTNME
RO
S
16 char.
FONT NUMBER
&FNTNUM
RO
N
[1..14]
No curve attached
Line
Arc/Circular
Conic (ellipse)
Spline
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
F-5
ÉÉÉ
ÉÉÉ
F
ÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉ
F
ÉÉÉ
ÉÉÉ
EDA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
FONT
Solid line
Dashed
Phantom
Centerline
Dotted
Long Dashed
Dotted Dashed
&FONT(obj)
&SOLID
&DASHED
&PHANTM
&CLINE
RW
C
C
C
C
N
N
N
N
N
N
N
N
[1..4]
=1
=2
=3
=4
=5
=6
=7
FONT NAME STRING
&FONTN(obj)
RW
S
30 char.
GROUP
Number of entities
Member object at n
Group of object
&GCOUNT(obj)
&GENT(obj,n)
&GROUP(obj)
RO
RO
RO
N
O
O
**
GROUPING STATUS
Grouped
Ungrouped
&GRSTAT(obj)
RO
N
[1,2
=1
=2
LAYER
&LAYER(obj)
RW
N
[1..257]
LINE BETWEEN ARROWS
Display
Do not display
&LNARRW(obj)
&YES
&NO
RW
C
C
N
N
N
[1,2]
=1
=2
LINE WIDTH
&LWIDTH
(obj[,IFERR,label:])
RW
N
[1..3]
GLOBAL LAYER SELECTABILITY
MASK
Layer is selectable
Layer is not selectable
&LYRSEL(layer number
[,IFERR,label:])
&YES
&NO
RW
GLOBAL LAYER VISIBILITY
MASK
Layer is visible
Layer is not visible
&LYRVIS(layer number
[,IFERR,label:])
&YES
&NO
RW
LAYER VISIBILITY IN A VIEW
&LYRVVW('view name',
layer number
[,IFERR,label:])
&YES
&NO
RW
&NAME({obj|'name'})
RW
Normal
Thick (Heavy)
Thin
Layer is visible in view
Layer is not visible
ENTITY NAME
F-6
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
=1
=2
=3
N
[1,2]
C
C
=1
=2
N
[1,2]
C
C
=1
=2
N
[1,2]
C
C
=1
=2
S
30 char.
Unigraphics NX 2
EDA Symbol Format Summary
Function
Symbol
Access
Type
Range
Data
Type
NUMBER OF ENTITY
ATTRIBUTES
&NATTR
({obj|PART|'name'},
[data_type])
RO
N
GT 0
DRAFTING ENTITY ORIGIN
&ORIGIN(obj)
RW
N(3)
Infinity
PATTERNS:
Origin and orientation origin
(X,Y,Z)
X axis matrix values
Y axis matrix values
Z axis matrix values
&ORIGIN(obj)
RO
N(3)
**
&XAXIS(obj)
&YAXIS(obj)
&ZAXIS(obj)
RO
RO
RO
N(3)
N(3)
N(3)
**
**
**
COORDINATE SYSTEM
origin (X,Y,Z)
X axis matrix values
Y axis matrix values
Z axis matrix values
&ORIGIN(obj)
&XAXIS(obj)
&YAXIS(obj)
&ZAXIS(obj)
RO
RO
RO
RO
N(3)
N(3)
N(3)
N(3)
**
**
**
**
OFFSET SURFACE
Offset Distance
&OSDIST(obj)
RW
N
**
PATTERNS:
Max/Min Box Display
Status Display
Do Not Display
&PATBOX(ptrn
[,IFERR,label:])
&YES
&NO
RW
N
[1,2]
C
C
N
N
=1
=2
PATTERNS:
Control Point Display
Status Display
Do Not Display
&PATCPT(ptrn
[,IFERR,label:])
&YES
&NO
RW
N
[1,2]
C
C
N
N
=1
=2
PATTERNS:
Data Retrieval
Successful
Not Successful
&PATDAT
(obj[,IFERR,label:])
&YES
&NO
RO
N
[1,2]
C
C
N
N
=1
=2
PATTERNS:
Origin Marker Display
Status Display
Do Not Display
&PATMRK
(ptrn[,IFERR,label:])
&YES
&NO
RW
N
[1,2]
C
C
N
N
=1
=2
PATTERNS:
Return Part Name
&PATPRT
(obj[,IFERR,label:])
RO
S
30 char.
PATTERNS:
Return Scale
&PATSCL
(obj[,IFERR,label:])
RO
N
GT 0
PLANE
Vertex (X,Y,Z)
Normal vector (I,J,K)
&POINT(obj)
&NORMAL(obj)
RW
RO
N(3)
N(3)
**
**
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
F-7
ÉÉÉ
ÉÉÉ
F
ÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉ
F
ÉÉÉ
ÉÉÉ
EDA Symbol Format Summary
Function
POINT
Coordinates (X,Y,Z)
Symbol
&POINT(obj)
Access
Type
Data
Type
Range
RW
N(3)
FIND THE PROTOTYPE OF THE &PROTO(obj)
INPUT OBJECT
RO
O
SOLID Density
&SDENS(obj)
RW
N
GE 0
SCRATCH FILE NAME
&SFNAME
(file#[,IFERR,label:])
RW
S
132
char.
RO
N
GE 0
&SPOINT(obj)
&EPOINT(obj)
&LENGTH(obj)
RW
RW
RO
N(3)
N(3)
N
**
**
**
&RETFLG
RO
N
[1,2]
&SPOINT(obj)
&EPOINT(obj)
&NUMSPT(obj)
&POINT(obj,n)
&TVECT(obj,n)
&PAR(obj,n)
&SUBTYP(obj)
RO
RO
RO
RO
RO
RO
RO
N(3)
N(3)
N
N(3)
N(3)
N
N
**
**
**
**
**
**
[1,2]
=1
=2
SUBTYPE OF CONIC
Ellipse
Hyperbola
Parabola
&SUBTYP(obj)
RO
N
[1...3]
=1
=2
=3
SUBTYPE OF SOLID ENT.
Solid body
Face
Edge
&SUBTYP(obj)
RO
N
[0,2,3]
=0
=2
=3
NUMBER OF EDGES OR FACES &SOLDAT
(ent,{FACE|EDGE}
[,IFERR,label:])
LINE
Start point
End point
Length
READ STATE OF AN
ANNOTATION
SPLINE
Start point (X,Y,Z)
End point (X,Y,Z)
Number of points
Coord's of point n
Tan. vect. at point n
Chord sum at point n
Spline Type
General
Closed
F-8
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
**
Unigraphics NX 2
EDA Symbol Format Summary
Function
Symbol
Access
Type
Range
Data
Type
SUBTYPE OF DIMENSIONS
Horizontal
Vertical
Parallel
Cylindrical
Perpendicular
Angular, minor angle
Angular, major angle
Arc length
Radius
Diameter
Hole
Concentric circles
Ordinate, horizontal
Ordinate, vertical
Assorted parts
&SUBTYP(obj)
RO
N
[1..15]
=1
=2
=3
=4
=5
=6
=7
=8
=9
=10
=11
=12
=13
=14
=15
SUBTYPE OF DRAFT AIDS
Note
Label
ID symbol
FMPOS symbol
Center line
Crosshatching
Assorted parts
&SUBTYP(obj)
RO
N
[1..7]
=1
=2
=3
=4
=5
=6
=7
TRAILING ZERO SUPPRESSION &SUPRES(obj)
Displayed
Not displayed
Yes
No
RW
N
[1,2]
DETERMINE IF AN OBJECT IS A &ISSIL(object[, IFERR,
SILHOUETTE
label:])
RO
N
[0,201]
DETERMINE IF AN OBJECT IS A &ISSXED(object
SECTION EDGE
[, IFERR, label:])
RO
N
[0,199]
DETERMINE IF AN OBJECT IS A &ISSXL(object[, IFERR,
SECTION LINE
label:])
RO
N
[0,202]
SYMBOL PARAMETERS
&SYMDAT(obj,seqnum)
RW
N
Any Real
SYMBOL NAME IN DRAFTING
ENTITY
&SYMDFT(obj,index)
RW
S
8 char.
DISTANCE BETWEEN TEXT
AND DIAMETER SYMBOL
&SYMDIS(obj)
RW
N
GE 0
NUMBER OF SYMBOLS IN A
DRAFTING ENTITY
&SYMNUM(obj)
RO
N
**
EDS
All Rights Reserved
=1
=2
GRIP Fundamentals
Student Guide
F-9
ÉÉÉ
ÉÉÉ
F
ÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉ
F
ÉÉÉ
ÉÉÉ
EDA Symbol Format Summary
Function
Symbol
Access
Type
Data
Type
Range
TOLERANCE - ENGLISH
&TOL(obj,n)
RW
N
Infinity
TOLERANCE - SI
&TOLM(obj,n)
RW
N
Infinity
QUERY/MODIFY COLOR
SETTINGS
&TYPCLR(TYPE,number
[,SUBTYP,number]
[,PROP,property]
[,IFERR,label:])
RW
N
[-1..15]
QUERY/MODIFY LINE FONT
SETTINGS
&TYPWID(TYPE,number
[,SUBTYP,number]
[,PROP,property]
[,IFERR,label:])
RW
N
[-1..7]
QUERY/MODIFY LINE WIDTH
SETTINGS
&TYPFNT(TYPE,number
[,SUBTYP,number]
[,PROP,property]
[,IFERR,label:])
RW
N
[-1..3]
ENTITY TYPE
&TYPE(obj)
RO
N
2Ć202
PARABOLA
Vertex (X,Y,Z)
Focal length
Tilt angle
Minimum Y dist.
Maximum Y dist.
Start point (X,Y,Z)
End point (X,Y,Z)
X axis matrix values
Y axis matrix values
Z axis matrix values
&VERTEX(obj)
&FOCAL(obj) &TANG(obj)
&YMIN(obj)
&YMAX(obj)
&SPOINT(obj)
&EPOINT(obj)
&XAXIS(obj)
&YAXIS(obj)
&ZAXIS(obj)
RW
RW
RW
RW
RW
RO
RO
RO
RO
RO
N(3)
N
N
N
N
N(3)
N(3)
N(3)
N(3)
N(3)
**
**
**
**
**
**
**
**
**
**
VERTICAL TEXT
JUSTIFICATION
Top
Middle
Bottom
&VTXJT(obj)
RW
N
[1..3]
VIEW DEPENDENT STATUS OF
AN ENTITY
&VWDEP(obj
[,IFERR,label:)
F-10
GRIP Fundamentals
Student Guide
=1
=2
=3
EDS
All Rights Reserved
RW
S
30 char.
Unigraphics NX 2
Word/Symbol List
Word/Symbol List
Appendix G
Major Word List
ABSF
ACOSF
ADDPL
ADIM
ANGLF
ANLSIS
APPEND
ARCDIM
ASATT
ASCENT
ASCII
ASGNFT
ASINF
ATANF
AUTOSF
BASURF
BATCH
BCURVE
BLANK*
BLEND
BLENFX
BLSTR
BPLANE
BOUND
BSURF
CALL
CAT
CCDIM
CHAIN
CHIDC
CHKSOL
CHOOSE
CHRSTR
CIRCLE
CLINE
CNEXT
CMPSTR
CONE
COSF
CPARF
CPATT
CPOSF
CPSET
CRDIR
CREATE
CROSSF
CRRFST
CRSEWV
CRVTRM
CRTWRT
CSIZE
CSYS
CTANF
CTRIM
CYLDIM
CYLNDR
DATE
DCLOSE
DDIM
DEACT
DECPL
DELETE
DELIM
DELNAM
DENS*
DEPTH
DEVCHK
DFSTR
DFTSYM
DIAG
DIMBP
DIMCON
DIMPAR
DISTF
DLATT
DNEXT
DO
DOPEN
DOTF
DRAW
DRAWC
DRAWD
DRAWE
DRAWN
DRAWV
DVIEW
EDGVER
EDIT
EDITPL
EDRFST
EDTXHT
EJECT
ELLIPS
ELSE
ELSEIF
ENCONT
ENDIF
ENUM
EPROP
EXPF
EXPCRE
EXPDEL
EXPEDT
EXPEXP
EXPEXP
EXPIMP
EXPLIS
EXPRNM
FACMOV
FAPEND
FCOMP
FCOPY
FDEL
FETCH
FHMOD
FHREAD
FILE
FILLET
FILSRF
FMOVE
FMPOS
FNDSTR
FONT*
FONDF
FPRINT
FRACT
FRDIM
FSTR
FSTRL
FTERM
GCONIC
GENDIM
GETL
GPOS
GRDDSP
GRIPSW
GROUP
GRPEDT
HALT
HATCH
HDIM
HYPERB
IDENT
IDSYM
IF
IFTHEN
INEXTE
INEXTN
INHAT
INTERS
INTF
INTFER
INTSEC
ISOCRV
ISTR
ISTRL
G–1
JUMP
LABEL
LAYC
LAYD
LAYE
LAYER*
LAYN
LAYR
LCASE
LDEL
LDIM
LENF
LINE
LOGF
LSTDEV
MAP
MATRIX
MAXF
MCHOOS
MESH
MESSG
MINF
MODF
NEWCTE
NEXTE
NEXTN
NODE
NOTE
OBTAIN
ODIM
OFFCRV
OFFSRF
OODIM
OOMGN
PARABO
PARAM
PARTOP
PARTST
PATEXP
PATRET
PATUPD
PATLER
PLANE
PHMOD
PHREAD
PLCSYM
PLMODE
PLNOTE
PLOT
PLOUT
POINT*
POS
PRINT
PROC
PROJ
RCOMP
RDIM
READ
REFCNT
REFMEM
REGF
RELDST
REMVPL
RENAME
RENORM
REPSTR
RESEQ
RESET
RETURN
REVSRF
RLDSRF
RPAINT
RPATT
RPATTG
RTVBLNK
SBFONT
SCALVF
SCLOSE
SECT
ÉÉÉ
ÉÉÉ
G
ÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉ
G
ÉÉÉ
ÉÉÉ
SDDUF
SDDVF
SEW
SILHO
SIMCRV
SINF
SNORF
SOLBLK
SOLBOX
SOLCON
SOLCUT
SOLCYL
SOLEDG
SOLENT
SOLEXT
SOLPIX
SOLREV
SOLSPH
SOLTOR
SOLTUB
SOPEN
SORT
SPARF
SPHERE
SPLINE
SPLIT
SPOSF
SQRTF
SSURF
STORE
SUBSTR
SUBTRA
SXLDAT
SXSEGD
TABCYL
TEXT
TIME
TPMOD
TRANSF
TYPF
UDFSYM
UFARGS
UGMGRD
UGMGRE
UNBLNK
UNGRP
UNITE
UNITF
UPDATE
UPGRAD
USED
VALF
VDCPRM
VDEDIT
VIEW
VIEWC
VIEWD
VIEWE
VIEWLC
VIEWN
VIEWV
VLENF
WRITE
XSPAWN
XTERM
* These words are also used as ENTITY DATA ACCESS symbols.
Minor Word List
ACCRCY
ACTIVE
ADD
AFILL
AFTER
ALL
ALTACT
ALWAYS
AMBI
ANCHOR
ANGLE
ANTALI
APEX
APPEND
APPROX
ARCLEN
ARROW
ARROWS
ASCEND
ATANGL
ATRBTS
AUTO
AUTOZ
AXIS
BACK
BACKZ
BEFORE
BLANK
BLEND
BYLAYR
BND
BNDRY
BOTH
CANCEL
CAREA
CAT
CENTER
CGM
CHAMFR
CHC
CIR
CHECK
CLBLK
CLDLT
CLOSED
CLSF
CLUBLK
CMETER
CNT
COLOR
COLUMN
COMMON
COMP
COMPIL
CONCUR
CONSRF
COPIES
CROSS
CRT
CSYS
CURSOR
CURVE
CUSTDF
CWRK
DASH
DATUM
DCTRC
DCUE
DECEND
DECIM
DECLRV
DEFLT
DEGREE
DELCH
DELETE
DELTA
DENS
DESCR
DHEX
DIFF
DISK
DIST
DIAMTR
DISPL
DOGLEG
DOT
DRILL
DSAVE
DSCALE
DSQR
DSTCTR
DSTNRM
DSURF
DVSTAT
EARCL
EDGCRV
EDGE
ELAYER
ELOG
END
ENDOF
ENDPTH
ENTER
EPARAM
ERASE
EXPAR
EXT
EYEPT
FACE
FBOLT
FCIRC
FILLET*
FINISH
FIRST
FNAME
FOLLOW
FONT
FONTN
FREE
FROM
FRONTZ
FROZEN
GCM
GENCRV
GENSRF
GEOM
GROOVE
GROUP*
G–2
HEX
HEIGHT
HIGH
HOLE
HORIZ
HORVER
IFEND
IFERR
IGNORE
IN
INACT
INCHES
INCR
INQUIR
INT
INTENS
INTOF
INVERS
INVSBL
IPM
LAG
LINEAR
KGM
KNOT
LARGE
LAYER*
LBFT
LBIN
LEAD
LEADER
LEFT
LELEM
LIGHT
LINK
LINNO
LNODAL
LPT
LTHERM
LOW
LWIDTH
MAG
MAJOR
MATERL
MAX
MCHFMT
MEDIA
MEMBER
MESH
METER
MIN
MIRROR
MMETER
MMPM
MODEL
MOVE
MTAPE
MULTI
NEWEST
NEXTL
NONE
NORM
NOTRIM
NOVIEW
NRML
NULL
Word/Symbol List
OBLIQ
OBLNG
OFF
OFFCPT
OFFCYL
OFFDST
OFFPT
OMIT
ON
OPEN
ORDER
ORIENT
ORIG
ORIGIN
OS
OUT
OVERW
PARLEL
PART
PAST
PATPNT
PAUSE
PBOLT
PCIRC
PERP
PERPTO
PERSP
PHANTM
PLMACH
PLMODS
PLOT
PLTTOL
POLAR
POWR
PRIMA
PRINT
PROFIL
PROP
PROSOL
PRTFIL
PRTNUM
PRTREV
PRTTYP
PSTAN
PSURF
PSTAN
PSURF
PTTOPT
QTY
QUAD
QUICK
RABS
RADIUS
RATIO
RECURS
REF
RELNO
REPL
REPLAC
REPORT
REMOVE
RESL
REST
RESULT
RETCAM
RETRVE
RHO
RIGHT
ROOT
ROUGH
ROW
RTD
RUN
RWRK
SAME
SCALE
SCOPE
SECOND
SHELL
SIDE
SILCRV
SILHO
SIZE
SKIPVL
SLAYER
SLOG
SOLID
SPEC
SQR
SPINE
SRFDSP
START
STATUS
STEP
STR
STRING
SUBDIV
SUMM
SURFC
SWEEP
SWNEGU
SWNEGV
SWPOSU
SWPOSV
SWPSRF
SWRK
SYMANG
SYMBOL
SYMMET
TANTO
TAPE
TEMP
THICK
THIN
THREAD
THRU
TILT
TNGNT
TO
TOLER
TOP
TOTAL
TRACRV
TRANSL
TRIANG
TRIDWN
TRIM
TRIUP
TXT
TXTANG
TYPE
UDIR
UFUN
UGDFLT
UPDATE*
USERID
USING
UTIL
VDEP
VDIR
VECT
VERIFY
VERT
VIEW*
VMODS
VOLBND
VOLREV
VSBL
WITH
WORK
XAXIS
XCAXIS
XHATCH
XLARGE
XSMALL
XYPLAN
XYROT
XZPLAN
YAXIS
YCAXIS
YLARGE
YSMALL
YZPLAN
YZROT
ZIG
ZIGZAG
ZLARGE
ZSMALL
ZXROT
* These MINOR WORDS are also used as MAJOR WORDS.
GPA Symbol List
&AADIST
&AAPL
&ABOVE
&ACTIVE
&ACTPRT
&ADJST
&ADV
&AFTER
&AGRAIN
&ALARND
&ALL
&ALLBUT
&ALUM
&ANGDIS
&ANGFLG
&ANGTOL
&APSITE
&AQUAMR
&ARCCTR
&ARCHCR
&ARCHFI
&ARDSP
&ARFLDT
&ARIANG
&ARLNSM
&ARRIN
&ARROUT
&ARROW
&ARROW2
&ASIZE
&ASPECT
&ATTDIS
&ATTYPE
&AUNIT
&AUTO
&BASIC
&BCDIS
&BCFLG
&BCHIP
&BCONT
&BEFORE
&BELOW
G–3
&BGCLR
&BILD
&BLDIS
&BLNKPT
&BLUE
&BOTC
&BOTH
&BOTL
&BOTR
&BRASS
&BROWN
&CAREA
&CCLW
&CENTER
&CFONT
&CHAIN
&CHTOL
&CLINE
&CLOSED
&CLPTOL
&CLRPL
&CLRST
&CLW
&CMPFRM
&CNMODE
&CNODE
&CNROLL
&COMBN
&COMMA
&CON
&CONAME
&CONCRT
&CONFRM
&CONINC
&CONT
&CONTIN
&COOLNT
&CORE
&CORK
&CRDATE
&CROSS
ÉÉÉ
ÉÉÉ
G
ÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉ
G
ÉÉÉ
ÉÉÉ
&CRT
&CRTIME
&CSIZE
&CSLANT
&CURDIR
&CURDRW
&CURLAY
&CUTANG
&CUTCOL
&CUTFED
&CUTTYP
&CUTUN
&CWCS
&CWCSL
&CWCSR
&CYAN
&DASHED
&DASHSZ
&DDDECP
&DDECPL
&DEC
&DECIM
&DECPL
&DECPT
&DEG
&DEGM
&DEGMS
&DELREV
&DELSEC
&DENOM
&DENOMD
&DEPTH
&DESCR
&DIASYM
&DIR
&DIRECT
&DISTDT
&DISTOL
&DISTXD
&DISTXR
&DKRED
&DLWID
&DOLLIB
&DOT
&DOTDIA
&DPREL
&DRILL
&DRSITE
&DRTOOL
&DSANG
&DSTATE
&DSTXR2
&DSVEC
&DTDECP
&DTOLC
&DTOLS
&DUAL
&DUNIT
&DUNITD
&DUPCAM
&EARTH
&ENDPT
&ENGANG
&ENGCOL
&ENGDIS
&ENGFED
&ENGFI
&ENGPL
&ENGTYP
&ENGVEC
&ENSITE
&ENTCLR
&ENTDIA
&EQUAL
&ERRMOD
&ERROR
&EXCLIB
&EXPAND
&FACE
&FASTF
&FCTCOL
&FCTDEP
&FCTFED
&FCTPER
&FCTPTS
&FDUNT
&FEDRAT
&FEDUN
&FILARW
&FINDIR
&FINISH
&FINPAS
&FIRST
&FIXED
&FLARDP
&FLEN
&FMODE
&FMSIZE
&FNAME
&FOLLOW
&FONT
&FONTN
&FORMAT
&FORWRD
&FRAC
&FREE
&FRONT
&FSTAT
&FSTOCK
&FSYS
&FTYPE
&FTYPED
&FULL
&GAPFAC
&GBNDSP
&GBNDSR
&GBSTR
&GENDPT
&GLRMV
&GLRPT
&GLRST
&GOUGE
&GRAY
&GREEN
&GROOVE
&GSIZE
&GSIZEA
&GSIZER
&GSIZEX
&GSIZEY
&GSNAP
&GTYPE
&GUTTYP
&HANGLE
&HDIST
&HEAVY
&HIGH
&HMAT
&HORVER
&HSEL
&HSELTX
&HTOLER
&IDSIZE
&INACT
&INC
&INCH
&INCTYP
G–4
&INDIC
&INTOL
&INVERS
&IPM
&IPR
&IRON
&JUNCT
&LADATE
&LANG
&LATIME
&LCHECK
&LCTPER
&LCTPTS
&LDEV
&LDINC
&LEAD
&LEADER
&LEFT
&LENGTH
&LENGTP
&LENGVC
&LIMDA
&LIMDB
&LIMSA
&LIMSB
&LINFAC
&LIQUID
&LMDATE
&LMTIME
&LNARRW
&LNUM
&LOCRMV
&LOCRPT
&LOCRST
&LOW
&LOWPL
&LPT
&LRETVC
&LRTTYP
&LWIDTH
&M
&MACH
&MAGENT
&MARBLE
&MAXSTP
&MCHFMT
&MED
&MIDC
&MIDL
&MIDR
&MINSTP
&MINTCK
&MM
&MMPM
&MMPR
&MODEL
&MODULE
&MRELAB
&MSVEC
&MTPATT
&MXRPM
&MVDISP
&NCHASE
&NO
&NODUAL
&NOFOL
&NONE
&NORMAL
&NORMPS
&NOTOL
&NPASS
&NSTART
&NULENT
&NULSTR
&NUMOPS
&NVP
&OFF
&OFFSET
&OLIVE
&OMIT
&ON
&OPEN
&ORANGE
&OSDIST
&OTHER
&OUTOL
&OWNER
&PARATT
&PATBOX
&PATCPT
&PATERR
&PATFIL
&PATMRK
&PATSHD
&PCLASS
&PDDIS
&PDRILL
&PER
&PERINC
&PERIOD
&PHANTM
&PI
&PINK
&PITCH
&PITINC
&PITYPE
&PLMACH
&PLTFRM
&PNAME
&PNTARR
&PNTDS
&PNTFED
&PNTLN
&PNTSP
&PNTTF
&PNTTL
&POINTS
&PROFIL
&PROVEC
&PSANG
&PSPEC
&PSURF
&PSVEC
&PTYPE
&PURPLE
&PVAR
&RAD
&RADSYM
&RANGE
&RANGTX
&RAPCOL
&RAPFED
&REAR
&RAPUN
&RED
&REF
&REFRAC
&REG
&REGA
&REGB
&REGC
&REGD
&REGE
&REGF
&REGG
&REGH
&REGI
&REGJ
Word/Symbol List
&REGK
&REGL
&RELNO
&REPEAT
&RETANG
&RETCOL
&RETDIS
&RETFED
&RETPL
&RETTYP
&RETVEC
&RGNCN
&RIGHT
&ROCK
&ROUGH
&RNFILL
&RNDIST
&RPM
&RTD
&RUBBER
&SADDLE
&SAFE
&SAND
&SBDISP
&SCALLP
&SCHEMA
&SDENS
&SDUNIT
&SECOND
&SFM
&SGRIDU
&SGRIDV
&SIDE
&SIMPLE
&SINTOL
&SMETH
&SNDINS
&SOLID
&SOLIDF
&SOUTOL
&SPCSZ
&SPDIR
&SPDIRL
&SPKTOL
&SPSPD
&SSTOCK
&STD
&STEEL
&STEEP
&STEP
&STEPDR
&STKTOT
&STKX
&STKY
&STPCOL
&STPFED
&STPPER
&STPPTS
&STPTOL
&STEPTY
&STUBB
&SUBDEP
&SUBMOD
&SUPRES
&SURFC
&SWNEGU
&SWNEGV
&SWPOSU
&SWPOSV
&SYMANG
&SYMBSZ
&SYMDIS
&SYMSCA
&SYMTXT
&SYSCLR
&TAXL
&TAXTYP
&TDECPL
&TEMP
&TENDL
&TERM
&TEXBOX
&TEXT
&TEXTOR
&THDANG
&THIN
&THREAD
&TLWID
&TNAME
&TNODE
&TOLER
&TOLOW
&TOLOWM
&TOLS
&TOLUP
&TOLUPM
&TOOL
&TOPC
&TOPL
&TOPR
&TOSITE
&TPANLY
&TPU
&TPUINC
&TQFRAC
&TXALIN
&TXANGL
&TXARR
&TXHOR
&TXJUST
&TXOVER
&TXTANG
&UENUM
&UESTR
&UESTR
&UGVERS
&UNDEF
&UNILA
&UNILB
&UNIT
&UNSTP
&USERID
&VAR
&VARINC
&VECPL
&VECTOR
&VIEW
&VP
&VTXJST
&VWCURS
&VWSEL
&WBORD
&WCS
&WCSDRW
&WGRAIN
&WHITE
&WLAYER
&WORKVW
&WVIEW
&XCLRPL
&XCLRST
&XDIRCT
&XLINE
&XY
&YCLRPL
&YCLRST
&YDIRCT
&YELLOW
&YES
&YX
&ZIG
&ZIGZAG
&ZZ
&ZZLIFT
&FNTNUM
&GCOUNT
&GENT
&GRAY
&GREEN
&GROUP*
&GRSTAT
&HCONJ
&HTRAV
&LAYER*
&LENGTH
&LNARRW
&LWIDTH
&LYRSEL
&LYRVIS
&LYRVVW
&MAGENT
&MAJOR
&MEMCP
&MINOR
&NAME
&NATTR
&NORMAL
&NUMSPT
&OLIVE
&ORANGE
&ORIGIN
&OSDIST
&PAR
&PATBOX
&PATCPT
&PATDAT
&PATMRK
&PATPRT
&PATSCL
&PINK
&POINT*
&PROTO
&PURPLE
&RADIUS
&RED
&SANG
&SDENS
&SFNAME
&SOLDAT
&SPOINT
&SUBTYP
&SUPRES
&SYMDAT
&SYMDFT
&SYMDIS
&SYMNUM
&TANG
&TLCOR
&TLDFT
&TLDIA
&TLHGT
&TOL
&TOLM
&TVECT
&TYPE
&VERTEX
&VTXJT
&VWDEP
&WHITE
&XAXIS
&YAXIS
&YELLOW
&YMAX
&YMIN
&ZAXIS
EDA Symbol List
&ALANSYM
&ALLARN
&AQUAMR
&ARWDAT
&ASCCNT
&ATDISL
&ATTALL
&ATTTL
&ATTVL
&BLANK*
&BLUE
&BROWN
&CCOUNT
&CDATE
&CENTER
&CHRDAT
&CHRSET
&CLRNME
&CLRNUM
&CMEM
&COLOR
&CPNAM
&CRSNAM
&CSCALE
&CTIME
&CYAN
&DENS*
&DMTEXT
&EANG
&EDGTYP
&EPOINT
&FILRUN
&FOCAL
&FONT*
&FONTN
&FNTNME
* These symbols are also MAJOR WORDS.
G–5
ÉÉÉ
ÉÉÉ
G
ÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉ
G
ÉÉÉ
ÉÉÉ
G–6
Index
Index
A
CATE, Edit Category, 10-7
Categories and Layer Control, 10-2
ABSF, 12-5
CATV, Query Category, 10-9
ACOSF, 12-8
Choose Multiple Options, 7-15
ADIM, 15-11
Choose Single Option, 7-11
Arithmetic Functions, 12-5
CHOOSE, Choose Single Option, 7-11
ASATT, 16-9
CHRSTR, 12-19
ASCII, 12-18
Circle, 4-2
Center Coordinates Radius, 4-3
Center Point
Point on the Arc, 4-9
Radius, 4-5
Tangent to a Line, 4-7
EDA, 4-19
Through Three Points, 4-11
ASCII Value of a Character, 12-18
ASINF, 12-8
Assign, object attributes, 16-9
Assigning Values
Entity Variables, 2-19
Numeric Variables, 2-18
String Variables, 2-17
CLINE, 15-27
ATANF, 12-8
ATDISL - EDA, name display location, 16-22
Attribute title, 16-12
Attribute value, 16-16
Attributes, verify name, 16-5
ATTTL - EDA, attribute title, 16-12
ATTVL - EDA, attribute value, 16-16
Compiler directives, detect undeclared variables,
2-23
Compiling, 1-5
Compiling GRIP Programs, 1-4
Convert Integer to Character String, 12-15
Convert Real Number to Character String, 12-16
Convert String to Real Number, 12-17
COSF, 12-7
CREATE, 9-4
B
D
Blank Characters, create, 12-13
BLEND, 8-16
BLOCKIF, Block If, 5-16
BLSTR, 12-13
C
CALL, 13-3
Call Statement, 13-3
CAT, 10-5
CAT, Create Layer Category, 10-5
CATD, 10-8
CATD, Delete Category, 10-8
CATE, 10-7
Data Statements, 2-16
Debugger, B-2
Clear Breakpoints, B-6
Continue, B-9
Examine Variables/Entities, B-6
List Options, B-9
Program Abort, B-9
Set Breakpoints, B-4
Set Variable, B-8
Single Step, B-4
Single Step/Into, B-4
Declarations, GRIPSW, 2-23
Declaring Variables, 2-7
DELETE, 10-23
Delete
entity attributes, 16-19
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
IN-1
ÉÉÉ
IN
ÉÉÉ
ÉÉÉ
ÉÉÉ
IN
ÉÉÉ
ÉÉÉ
Index
object name, 16-8
&LAYER, 4-22
&LENGTH, 3-22, 4-19
&LWIDTH, 4-22
&NAME, 16-3
&ORIGIN, 15-29
&RADIUS, 4-19
&SANG, 4-19
&SDENS, 8-18
&SOLDAT, 8-18
&SPOINT, 3-22, 4-19
&SUBTYP, 10-16
&TYPE, 10-16
&XAXIS, 4-19
&YAXIS, 4-19
&ZAXIS, 4-19
DELETE, Delete, 10-23
DELNAM, 16-8
Detect undeclared variables, 2-23
Dimensions, 15-2
Display Control, 10-19
DLATT, 16-19
DMTEXT, 15-30
DO, Program Loop, 5-9
Drafting Entity Origin, 15-29
Drafting Objects on Drawings, creating, 15-5
DRAW, Control Object Display, 10-20
Entity Independent EDA's, 4-21
DRAWC, Create a Drawing, 14-4
Entity Type, 10-15
DRAWD, Delete a Drawing, 14-11
Entity Variables, 2-12
ENUM, 16-5
DRAWE, 14-6
Drawing
Creation of, 14-4
Deleting, 14-11
Drawings, member view names, specifying, 14-3
DRAWV, 14-7
Error Handling, 5-23
Fatal, Method 1, 5-24
Fatal, Method 2, 5-25
Non-Fatal, 5-23
Errors, 1-8
EXPF, 12-5
Extract a Portion of a Character String, 12-22
E
F
EDA Symbol List, G-5
EDGTYP, 8-16
FDEL, 9-8
Edit, 1-4
ENAME - EDA, find the nth object with the given
name, 16-6
ENSITE, 15-20
Enter Parameters, 6-15
Enter Text, 7-8
Entity attributes, delete, 16-19
Entity data access symbols (EDAs)
&ATDISL, 16-22
&ATTTL, 16-12
&ATTVL, 16-16
&CENTER, 4-19
&COLOR, 4-21
&DMTEXT, 15-30
&EANG, 4-19
&EDGTYP, 8-18
&ENAME, 16-6
&EPOINT, 3-22, 4-19
&FONT, 4-21
IN-2
GRIP Fundamentals
Student Guide
FETCH, 9-3
FILE, 9-5
File access statements
close file, 9-6
create file, 9-4
file, 9-5
retrieve file, 9-3
File edit
file pointer control: RESET, 9-18
read text, 9-19
write text, 9-21
File maintenance statements, delete file, 9-8
Fillet, 4-12
Two Entities, Center Point, 4-13
Two Entities, Positional Modifiers, 4-16
Find the nth entity with given name, 16-6
FNDSTR, 12-23
FTERM, 9-6
EDS
All Rights Reserved
Unigraphics NX 2
Index
G
Global parameter access symbols (GPAs)
&ACTPRT, 10-28
&DECPL, 10-28
&SDENS, 8-18
&SDUNIT, 8-18
&UNIT, 10-30
&USERID, 10-30
&WLAYER, 10-29
&WORKVW, 10-29
GPA constants
&ARRIN, 15-19
&ARROUT, 15-19
&AUTO, 15-19
&BOTC, 15-21
&BOTH, 15-18
&BOTL, 15-21
&BOTR, 15-21
&FIRST, 15-18
&MIDC, 15-20
&MIDL, 15-20
&MIDR, 15-21
&NONE, 15-18
&SECOND, 15-18
&TOPC, 15-20
&TOPL, 15-20
&TOPR, 15-20
GPA
Active Part Status, 10-28
Decimal Places, 10-28
Symbols, 10-24
Unit of Measurement, 10-30
Work Layer, 10-29
Work View, 10-29
GPA Symbol List, G-3
GPOS, Indicate Generic Point Position, 6-13
GRADE, 1-3
GRADE Program Development, 1-3
Graphic Image of a Matrix, 11-3
GRI.SEA file, 13-7
GRIP Line Structure, 2-3
GRIP Program Organization, 2-2
GRIPSW, 2-23
GRIPSW/DECLRV, 2-23
I
IF Boolean Operators, 5-21
IF, Logical IF, 5-12
Import an Existing Part, 14-13
Import an Existing Part Grouped, 14-16
INDENT, Select Objects, 7-3
Indicate Generic Point Position, 6-13
Indicate Screen Position Point, 6-11
INEXTE, Initialize Data Model Cycling, 9-11
INEXTN, Initialize Non-geometric Object Cycling,
9-13
Interactive Commands, 6-2, 7-2
Interactive statements, write to dialog box, 6-3
INTERS, 8-15
INTF, 12-5
ISTR, 12-15
J
JUMP, 5-7
Conditional Branching, 5-7
Unconditional Branching, 5-6
ÉÉÉ
IN
ÉÉÉ
ÉÉÉ
L
LABEL, 15-25
LAYER, 10-3
Layer, delete category, 10-8
LAYER, Layer Control, 10-3
LDIM, 15-8
LENF, 12-14
Line, 3-11
Between Two Existing Points, 3-13
Between Two Specified Points (Coordinates),
3-12
EDA, 3-22
Parallel at a Distance, 3-14
Point Tangent to a Curve, 3-18
Through a Point at an Angle, 3-16
Through a Point, Parallel/Perpendicular to a Line,
3-20
Linear Centerline, 15-27
Linking, 1-9
LOGF, 12-5
M
Major Word List, G-1
Major words
ABSF, 12-5
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
IN-3
ÉÉÉ
IN
ÉÉÉ
ÉÉÉ
Index
ACOSF, 12-8
ADIM, 15-11
ASATT, 16-9
ASINF, 12-8
ATANF, 12-8
BLEND, 8-16
CAT, 10-5
CATD, 10-8
CATE, 10-7, 10-9
CLINE, 15-27
COSF, 12-7
CREATE, 9-4
DELETE, 10-23
DELNAM, 16-8
DLATT, 16-19
DRAW, 10-20
DRAWE, 14-6
DRAWV, 14-7
ENUM, 16-5
EXPF, 12-5
FDEL, 9-8
FETCH, 9-3
FILE, 9-5
FTERM, 9-6
GRIPSW, 2-23
INEXTN, 9-13
INTERS, 8-15
INTF, 12-5
LABEL, 15-25
LAYER, 10-3
LDIM, 15-8
LOGF, 12-5
MASK, 10-12
MATRIX, 11-6
MAXF, 12-6
MESSG, 6-3
MINF, 12-6
MODF, 12-6
NEXTE, 9-12
NEXTN, 9-15
NOTE, 15-23
OBTAIN, 10-17
RDIM, 15-13
READ, 9-19
RESET, 9-18
RPATT, 14-13
RPATTG, 14-16
SINF, 12-7
SOLBLK, 8-3
SOLCYL, 8-5
SOLEXT, 8-7
SOLREV, 8-9
SQRTF, 12-5
SUBTRA, 8-14
TRANSF, 11-4
IN-4
GRIP Fundamentals
Student Guide
TYPF, 10-15
UNITE, 8-13
WRITE, 9-21
MASK, 10-12
MASK, Class Selection, 10-12
Mathematical Functions, 12-3
MATRIX
Mirror, 11-8
Multiple Transformations (Concatenation), 11-10
Rotate, 11-9
Scale, 11-7
Translate, 11-6
MAXF, 12-6
MCHOOS, Choose Multiple Options, 7-15
MESSG, 6-3
MINF, 12-6
Minor Word List, G-2
Mirror, 11-8
MODF, 12-6
Multiple Transformations (Concatenation), 11-10
N
NAME - EDA, object name, 16-3
Name display location (x,y,z), 16-22
Nesting, 4-23
NEXTE, Cycle to Next Object, 9-12
NEXTN, Cycle to Next Non-geometric Object,
9-15
NOTE, 15-23
Number of Characters in a String, 12-14
Numeric Variables, 2-7
O
Object attributes
assign, 16-9
delete name, 16-8
Object Cycling, 9-9
Object name, 16-3
Object Names, 16-2
OBTAIN, Object Information, 10-17
ORIGIN, 15-29
P
PARAM, Enter Parameters, 6-15
EDS
All Rights Reserved
Unigraphics NX 2
Index
Point, 3-4
Center of Circle, 3-6
Coordinates, 3-5
EDA, 3-10
End Point, 3-7
Intersection Point, 3-8
Solid creation
block, 8-3
extruded solid, 8-7
solid cylinder, 8-5
solid of revolution, 8-9
POS, Indicate Screen Position Point, 6-11
Solid operations, 8-12
blend/chamfer, 8-16
intersect, 8-15
subtract, 8-14
unite, 8-13
Solid Feature Creation, 8-2
Position of Characters in a String, 12-23
Positional Modifiers, 3-2
PRINT, Print Data on Listing Device, 9-19, 9-21,
9-22
PROC, 13-4
SOLREV, 8-9
SQRTF, 12-5
Procedure Statement, 13-4
String Functions, 12-9
Processing Arithmetic Expressions, 12-2
String Variables, 2-13
Subrange Operators, 2-20
R
Subroutine Programming, 13-2
SUBSTR, 12-22
RDIM, 15-13
SUBTRA, 8-14
READ, 9-19
Suggested Labeling Guidelines, 5-3
Reference String, conversion specifier, 16-10
Replace Characters in a String, 12-20
ÉÉÉ
IN
ÉÉÉ
ÉÉÉ
T
REPSTR, 12-20
Text and Arrow Location, 15-19
RESET, 9-18
TEXT, Enter Text, 7-8
RETURN, 13-6
TIME, 12-12
Return Current Date, 12-10
TRANSF, Transformation, 11-4
Return Current Time, 12-12
Translate, 11-6
Return Statement, 13-6
Trigonometric Functions, 12-7
Return String with ASCII Value of N, 12-19
TXARR, 15-19
Rotate, 11-9
TYPF, Object Type, 10-15
RPATT, 14-13
RPATT, Import an Existing Part, 14-13
U
RPATTG, 14-16
RPATTG, Import an Existing Part Grouped, 14-16
Undeclared Variables, detect, 2-23
UNITE, 8-13
S
Scale, 11-7
Select Identities, 7-3
SINF, 12-7
V
VALF, 12-17
Variables, detect undeclared, 2-23
SOLBLK, 8-3
W
SOLCYL, 8-5
SOLEXT, 8-7
WRITE, 9-21
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
IN-5
Index
X
XLINE, 15-18
ÉÉÉ
IN
ÉÉÉ
ÉÉÉ
IN-6
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Reference Chart Tear Outs
These tear out reference charts are provided for your convenience.
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
(This Page Intentionally Left Blank)
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
STUDENT PROFILE
In order to stay in tune with our customers we are requesting that you take a little time to answer
these questions. This information will be kept confidential, and will not be shared with anyone outside of Education Services. PLM Solutions Education Services thanks you for your participation and
hopes your training experience will be an outstanding one. Please print the following:
Your Name
Date
Course Number
Course Title
Employer
When is your planned departure time?
YES
U.S. citizen?
NO
1. Please select the job that best describes your present one.
Designer MFG
Designer Product
Designer Tooling
Quality Engineer
Engineer MFG
Engineer Product
Engineer Tooling
Process Planner
NC Dies
NC Other
NC Tooling
Supplier Quality
Drafter MFG
Drafter Product
Drafter Tooling
Workflow Admin.
Manager Design
Manager Engineering
Manager Shop
Collaboration Admin.
Configuration Ana-
Floor
Sys. Admin Local Net-
work
Sys. Admin Enter-
Systems Manager
prise
lyst
2. Your job responsibilities are:
3. Reason for training
4. What other CAD/CAM/CAE /PDM software have you used?
5. What types of parts/data do you model/analyze or store?
6. Have you ever had any other instructor–lead/ on–line or self–paced classes for the following:
Subject
From Whom
Unigraphics
I–deas
Imageware
Teamcenter Manufacturing
Teamcenter Engineering (I–Man)
Team Center Enterprise (Metaphase)
Dimensional Management / Visualization
EDS
All Rights Reserved
When
Course Name
GRIP Fundamentals
Student Guide
Please list your CAD/CAM/CAE/PDM experience and indicate the level of understanding by using the
terms novice, intermediate or advanced.
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2
Unigraphics NX 2 Grip Fundamentals
Course Agenda
Day 1
Monday Morning
Introduction
Lesson 1.
Lesson 2.
Grip Development Process
Grip Language Components
Lesson 3
Two Dimensional Commands
Afternoon
Day 2
Assignment 1
Lesson 4
Lines
More Two Dimensional Commands
Assignment 2
Lesson 5
Assignment 3
Circles
Controlling Program Execution
Loops
Tuesday Morning
Lesson 6
Assignment 4
Lesson 7
Basic Interactive Commands
Param
Advanced Interactive Commands
Afternoon
Day 3
Assignment 5
Choose
Lesson 8
Assignment 6
Lesson 9
Solid Object Modeling Commands
Solids
Database Cycling
Wednesday Morning
Assignment 7
Database Cycle
Lesson 10
Lesson 11
Object Access
Transformations
Afternoon
Assignment 8
Lesson 12
Assignment 9
Transformations
Functions
Convert Date
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
Day 4
Thursday Morning
Assignment 9 Convert Date (cont.)
Lesson 13
Subroutines
Assignment 10 Subroutines
Afternoon
Assignment 10 Subroutines (cont.)
Lesson 14
Drafting Functions
Lesson 15
Dimensions &Drafting Aids
Day 5
Friday Morning
GRIP Fundamentals
Student Guide
Lesson 15
Dimensions &Drafting Aids (cont.)
Assignment 11 Dimensions
Lesson 16
Attributes (Optional)
Finish Final Project
EDS
All Rights Reserved
Unigraphics NX 2
Level 1 Evaluation
Course Code
1. STRONGLY
DISAGREE
Course
2. DISAGREE
Date
3. SOMEWHAT
AGREE
Instructor
4. AGREE
5. STRONGLY
AGREE
Content:
1.
3.
4.
5.
The course objectives were clear
The goals and objectives for this course were met
The course flowed in a logical and meaningful manner
The course was the appropriate length for the info taught
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
Materials:
1.
2.
3.
4.
5.
6.
The training materials supported the course objectives
The training materials were logically sequenced
Enough information was provided to complete workshops
The course materials provided clear and descriptive directions
The exercises and workshops supported the learning experience
The materials were easy to read and understand
Instructor:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
The instructor was knowledgeable about the subject
He/She answered my questions appropriately
He/She was well prepared to deliver the course
He/She was organized and well spoken
The instructor encouraged questions in class
The instructor made good use of the training time
The instructor completed the course
The instructor used examples relevant to the course
The instructor provided enough time to complete the exercises
The instructor used review tests and gave feedback
Student Self–Evaluation:
1.
2.
3.
4.
I met the prerequisites for the class (I had the skills I needed)
I will be able to use the skills I have learned on my job
My expectations for this course were met
I am confident that with practice I will become proficient
Facilities:
1.
2.
3.
4.
5.
The computer equipment was reliable
The software performed properly
The overhead projection unit was clear and working properly
The registration and confirmation process was efficient
The training facilities were comfortable and clean and provided a
good learning environment
(Over)
EDS
All Rights Reserved
GRIP Fundamentals
Student Guide
Hotels: (Optional)
1. Was this hotel recommended during your registration process?
YES
NO
YES
NO
YES
NO
If not how was it chosen
2. Was the hotel clean?
3.
4.
Did it have a full–serve restaurant?
Overall impression of the Hotel
1
2
3
4
5
5. What was the name of the hotel?
Please check this box if you would like your comments below featured in our training publications.
(Your name is required at the bottom of this form)
Please check this box if you would like to receive more information on our other courses and services.
(Your name is required at the bottom of this form)
We would appreciate it if you would take a minute to add some personal comments on this form. These comments help us to
better understand the ever–changing student needs.
Thank you for choosing EDS PLM Education Services, and we hope we can be of help to you in the future.
Comments:
Name Optional:
Location
Software Version
GRIP Fundamentals
Student Guide
EDS
All Rights Reserved
Unigraphics NX 2