
 UTLIL, Introduction
 
 Utility commands  are used to manipulate the drawing entities as
 a  whole,  as  a  group  or  as  individuals.  Entities  can  be
 transformed  and   the  view  of  the  current  drawing  can  be
 manipulated as  desired. A  part can be dynamically rotated, the
 user can  zoom in  or out  of the  drawing or  pan across at any
 time.
 
 
 "UTILI OPT"
 
 When this  command is  selected,  a  display  of  UTILI  options
 appears in  tertiary menu.  The user  is prompted to choose one.
 These options are:
 
      Option         Nature of Option
 
 
      CHAMFER        This command  joins two  lines with  a  line
                     called a  chamfer. The user must specify the
                     length of  the chamfer line, then locate the
                     two lines to be chamfered. The lines must be
                     located near  the  ends  furthest  from  the
                     chamfer, ie the ends to remain as they are.
 
    
      FILLET         This command  joins two lines with an arc of
                     user specified  radius. The  user  specifies
                     the fillet  radius and locates the two lines
                     to be  filleted. The  lines must  be located
                     near the  ends furthest from the chamfer, ie
                     the ends to remain as they are.
 
    
      SDUMP          This command  allows the  user to  dump  the
                     contents of  the current  screen to  a  file
                     which can  later be  sent to  a  dot  matrix
                     printer. Currently this is only available on
                     Apollo  Domains  for  the  ML84  dot  matrix
                     printer.
    
      BLK DEL        This command allows the user to delete whole
                     blocks of  entities  at  once,  rather  than
                     locate them separately. When this command is
                     selected a  tertiary menu  is  displayed  as
                     follows:
    
                     Locate Block
                            Fence
                            Elements
                     
                     Line
                     Circle
                     Curve
                     Plane
                     Sub-part
                     Cylinder
                     Rev. Arc
    
                     The first tertiary menu option acts a toggle
                     switch between  the three  ways of  locating
                     entities to  delete; block is used to locate
                     entities using  a dynamically generated box;
                     fence is  to locate  using  a  user  defined


                 boundary; elements  is  to  locate  entities
                 separately using the PUCK.

                 The next  six options act as toggle switches
                 for whether  or not to delete those entities
                 located within  the defined area. They refer
                 to line,  circle, curve, plane, sub-part and
                 cylinder respectively.

                 Once these  have all  been set  as  desired,
                 press the  termination button and locate the
                            termination                      
                 entities in the way chosen.


  COMPILE        This option allows the user to run a program
                 written  outside  QD3D  in  the  interfacing
                 language Opal. Select the type of program to
                 run,  user,   electrical,  mechanical   etc.
                 depending  on   the  packages  purchased  or
                 written. Then select the actual program from
                 tertiary menu and run.

                 At the  present time,  Opal is not available
                 on MS/PC DOS machines due to inherent memory
                 restrictions.


 "UTILI VIEW"

 A view  is defined  by a  reference point, an eye location and a
 vector specifying  the upward  direction. It  really defines the
 exact position of the user relative to the current part.

 A view  may either be a perspective view, or an orthogonal view.
 In   a perspective  view, objects  which are  the same size, but
 further away  are displayed  smaller on  the screen.     In   an
 orthogonal view,   objects   which   are  further away  are  not
 smaller on the screen.

 All VIEW commands are used to manipulate the angle and reference
 point from which to view the current drawing. A tertiary menu of
 options appears and the user is prompted to select one.

  Option         Nature of Option

  Recall         A previously stored view can be recalled and
                 displayed to  the screen.  Before  the  user
                 actually stores  any views,  five views have
                 already been defined. These are:


                 TOP    -  Top view

                 LEFT   -  Left view

                 FRONT  -  Front view

                 ISO    -  All axes  are at 60 degrees to the
                           user's eye.

                 OTHER  -  Side view slightly rotated.     
  
                 Each of  these views  can  be  displayed  by
                 selecting them  from tertiary  menu. If  the
                 user has  stored any  views of  his/her own,
                 then  these   can  also   be  selected  from
                 tertiary menu in the same way.
  
  Store          To store  a current  view, just  select this
                 command, select  a location in tertiary menu
                 to write  the view  to, and  supply the view
                 with a  name  as  prompted.  Then  the  user
                 should update  the model file by "FILE Write
                 Part". To overwrite another view, select the
                 location that  view occupies and confirm the
                 wish to  overwrite, otherwise  just pick  an
                 empty location.  The predefined views listed
                 above can  be  overwritten  but  it  is  not
                 recommended.
  
  
  Delete         This command  is used  to delete a view from
                 the list that appears in tertiary menu. Just
                 select the view to delete from this list.
  
  
  Eye & UpV      This command  is used  to change the current
                 orientation of  the drawing on the screen as
                 viewed by a observer.
  
                 -  Locate a new eye point.
                 -  Locate a new reference point.
                 -  Locate a new upwards direction vector.
                 -  Confirm if view to be perspective or not.
  
                 The eye  point is  the observer's  eye.  The
                 reference point  is the  point  the  eye  is
                 looking at.  The upward  vector is  used  to
                 define the  rotation of the axes relative to
                 the present.  When in  perspective view, the
                 drawing appears  to decrease  in size as the
                 distance increases.  The default for this is
                 off.
  
                 If  the   user   requires   any   of   these
                 points\vectors to  be unchanged  then a  "y"
                 character from  the  keyboard  will  suffice
                 (rather than retyping the co-ordinates).
  
  
  Rot & Pan      This command  allows the  user to specify an
                 angle to  move or  rotate to the left, and a
                 distance to  move the  reference  eye  point
                 upwards. If  the user  supplies  a  negative
                 angle, then the eye point will be rotated to
                 the right.  If the  user supplies a negative
                 distance then  the eye  point will  be moved
                 down.
  
  *Plane         If this command is selected with the central
                 button  then   the  user  must  locate  four
                 points.   The first  pair of points define a
                 vector which will be positioned from left to
                 right near  the bottom  of the  screen.  The
                 second pair  of points define a vector which
                 will be  as near  to vertical as possible on
                 the screen.
  
                 If this  command is  selected with  the left
                 button then the user must locate an existing
                 plane in  the  model.    The  user  is  then
                 prompted to decide whether the plane normal,
                 points towards or away from the eye.


  Fit            This command  adjusts the  current  view  so
                 that the  part fits exactly into the drawing
                 view-port. Only  the  distance  of  the  eye
                 point from  the object  is altered,  not the
                 angle of the axes etc.


  Clip           This command  allows the  user  to  set  the
                 front and back clipping planes. These planes
                 are such  that only  those elements  in  the
                 current model  that fit  between  these  two
                 planes are  drawn to  the screen.  The  user
                 must specify  the distance  of the front and
                 back clipping  planes. These planes are used
                 parallel to the screen.

  Con Plan       The construction  plane will  be placed flat
                 to the  viewer.   The active depth is 0 with
                 respect to the construction plane.

  Perspect       This allows respecification of the reference
                 to eye distance and the option of continuing
                 with perspective.

  When manipulating  the drawing  using any  of the view commands,
  the actual  coordinates of the drawing are not changed, just the
  perspective and orientation relative to the user.


 "UTILI DYNAM"

 This command  allows the  user to  either dynamically translate,
 rotate or  ``walk through''  the model.  If rotating,  then  the
 drawing is  rotated about  a user defined axis by a user defined
 angular increment.

 The user locates two points to specify the rotation axis and the
 part rotates  using the  right-hand  rule  (i.e.  +ve  is  anti-
 clockwise).

 If the  model is  rotating, the  alternate button  can  be  used
 to slow   down   the   rotation.    The  selection button can be
 used to  speed up  the rotation.  The termination button is used
 to  halt  any movement; it should be depressed until the user is
 prompted to release it.

 Procedure
 .   Select translate, rotate or path from the tertiary menu.
 
 If rotate then:
 .     Locate the first end of the rotation axis.
 .     Locate the end of the rotation axis.
 .     Specify the angle to rotate per segment.
 .     Press the termination button to finish rotaing.
 .     Confirm the wish to finish.
 
 If translate then:
 .     Locate start point of move.
 .     Locate end point of move.


 .     Specify the  number of  jumps between  the start  and  end
       points.
 .     Specify the distance from the eye to the screen.
 
 If path then:
 .     Locate path by snapping to one of its points.
 .     Answer Y or N to perspective.
 .     If perspective: specify reference point to eye distance.
 .     Specify the back clipping plane distance.
 .     Specify the number of steps per line in the path.
 
 
 "UTILI ZOOMI"
 
 This allows  the user  to zoom  in on the drawing by a factor of
 two. It  enables   the user  to examine a particular part of the
 model in  more detail.  The zoom  is in on a user defined screen
 location. The  position located  will be placed  at  the  centre
 of  the screen, after the operation is complete.
 
 Procedure
 .   Locate point to zoom in on.
 
 
 "UTILI ZOOMO"
 
 This allows the user to zoom out from the drawing by a factor of
 two. It  enables   the  user  to  examine  more of the part, but
 in less  detail. The  zoom is  out from  a user  defined  screen
 location. The  position located  will be placed at the centre of
 the screen, after the operation is complete.
 
 Procedure
 .   Locate point to zoom out from.
 
 
 "UTILI PAN"
 
 This command allows the user to translate the drawing across the
 screen without  changing the  actual  drawing  coordinates  just
 moving the  users eye point across the part. This is the same as
 the equivalent command in QikDraw 2D.
 
 Procedure
 .   Locate a screen point.
 .   Locate a point to move that screen point to.
 
 
 "UTILI WINDO"
 
 This command  allows the user to zoom in on a current drawing by
 defining a  window. That window is then adjusted so that it fits
 into the  whole screen.   It  allows the  user  to  examine  the
 current part in more detail.
 
 
 Procedure
 .   Locate the corner of a dynamically generated box.
 .   Locate the opposite corner of the box.


 "UTILI HLIN"
 
 This command displays a representation of the current model with
 coloured in  surfaces, all corrected overlap.  Entities included
 are planes,  cylinders, revolved  arcs and  opaque lines.   When
 planes are  intended to  be used  for hidden  line removal, they
 must be  definded so  that the points located define the outline
 of the required shape.  Plane trace can be used for this.
 
 Procedure
 .   Enter overlap quality.
 .   Enter contrast.
 .   Confirm "Write to file"?
 .   Enter width of raster (of hardcopy) }
 .   Enter height of raster }              (If writing to file)
 .   Confirm "Laser printer or TX2 file}"
 .   Enter output file name
 .   Confirm "Refresh the screen"?
 
 
 If the  output is  to "Laser  Printer" then  it can be sent to a
 printer; alternatively  a TX2 file can be read in by QD2D if the
 computer has enough memory.
 
 
 "UTILI *HLIN"
 
 This   command displays  the current part with the hidden  edges
 removed.    The   hidden   line  removal  is  based  on  planes,
 cylinders, revolved  arcs and  opaque lines.   When  planes  are
 intended to  be used  for hidden  line  removal,  they  must  be
 defined so  that the  points  or  elements  located  define  the
 outline of  the required shape.
 
 Procedure
 .   Confirm "writing output to a file?".
 If writing to a file then:
   .   Enter output file name.
 .   Confirm "display hidden lines as dotted?".
 .   Confirm "Refresh the screen"?
 
 The file written to is a 2D text file and can later be read into
 QikDraw 2D and manipulated as desired.



 "UTILI COPY"
 
 When this  comand is selected, a tertiary menu is displayed, and
 the user prompted to select an option. In all of the selections,
 a copy  of a  selected group  of entities  is  made  and  either
 rotated, scaled  or mirrored.  In all  options, at  some  stage,
 MENU1 appears:
 
 The first  line in  MENU1 determines  the method  to be  used in
 locating the entities to be manipulated. Each time the selection
 button is  pressed (while  located in  the first option box) the
 choices block/fence/entity  are toggled  in turn. Note that each
 is mutually exclusive of the other two.
 
 The rest  of the  choices toggle  between the answers yes/no. If
 INC LIN  was set  to yes  and INC  CIR set  to no, then any COPY
 manipulation will  affect lines  but not circles if instances of
 both were  located in the area. Set this menu up as desired then
 press the termination button to finish.
           termination                  
 
 The following options appear in the initial menu when UTILI COPY
 is selected:
 
  Option         Nature of Option
 
  Transla        Translates a  goup of  entities  to  a  user
                 specified location.  Either perpendicular to
                 the screen  or in  a  particular  direction.
                 The command  can be  used to give depth to a
                 2D drawing.  Lines, planes and cylinders can
                 be created  between points,  lines and  arcs
                 respectively.
                 Procedure
                 
                 . Enter number of copies
                 . Set up tertiary menu
                 . Locate entities to be moved
                 . Confirm "Direction of translation
                   perpendicular to view"?
                 . Enter projection distance between copies
                 . Identify Reference Point
                 . Identify Final Position of Reference Point
                 . Confirm "Create lines swept between
                   points"?
                 . Confirm "Create planes swept between
                   lines"?
                 . Confirm "Create cylinders swept between
                   arcs"?
 
   
  Scale          Rescales a  group of  entities  and  redraws
                 them at the new scale.
   
                 Procedure
                 . Enter number of copies to scale.
                 . Set up tertiary menu.
                 . Locate entities to be moved.
                 . Enter new X scale.
                 . Enter new Y scale.
                 . Enter new Z scale.
   
   
  Mirror         Mirrors a group of entities across a defined
                 plane.
   
                 Procedure
                 . Enter number of copies
                 . Set up tertiary menu
                 . Locate entities to mirror
                 . Confirm  "View   plane  perpendicular   to
                   mirror plane"?
            If Yes {. {Identify first end of mirror line.
            If Yes {  {Identify second end of mirror line.
            If No  {. {Identify plane to be mirrored by.
   
   
  Rotate         Rotates a group of entities about a rotation
                 axis.   Arcs  and  cylinders  can  be  added
                 between swept points and lines respectively.
   
                 Procedure
                 . Enter number of copies
                 . Set up tertiary menu
                 . Locate entities to rotate
                 . Identify beginning point of rotation axis
                 . Identify end point of rotation axis
                 . Enter angle to rotate (+ve for anti-
                   clockwise)
                 . Confirm "Add arcs swept between points"?
                 . Confirm "Add cylinders swept between
                   lines"?
                 . Confirm "Add revolved arcs between swept
                   arcs"?
   
  Screw          Rotates a group of entities about a rotation
                 axis and translates them along the axis.

                 Procedure
                 . Enter number of copies to screw
                 . Set up tertiary menu
                 . Locate entities to screw
                 . Identify beginning point of rotation axis
                 . Identify end point of rotation axis
                 . Enter the anti-clockwise rotation axis
                 . Identify Reference Point
                 . Identify final position of Reference point
                 . Confirm "Is translation per rot. (y) or
                   per cycle (n)"?

 
 
  Project        Projects  a   group  of   entities  onto  an
                 existing plane  through a  given  direction.
                 The direction  is defined  by  locating  two
                 points and  it must not be parallel with the
                 projection  plane.     Lines  can  be  added
                 between swept points and planes can be added
                 between  swept  lines.    If  a  cylindrical
                 surface is  required then  the arc  must  be
                 unpacked  into   chords  (using   POINT  Opt
                 ArcSeg)  before   projection.    Using  this
                 command a  plan can  be created  from  a  3D
                 model.   Cylinders and  revolved arcs should
                 be unpacked  before projection.  A FILE Tidy

                 Procedure
                 . Set up tertiary menu
                 . Locate entities to project
                 . Identify plane to receive projection
                 . Locate reference point
                 . Locate final position of reference point
 
 
 "UTILI FOLD"
 
 This command  is used to unfold parts.  Each surface of the part
 must have  been defined as a plane.  In addition there must be a
 line at which the two planes meet at an edge.  The command takes
 a plane and rotates it onto the same plane as a reference plane.
 The rotation  is about the line specified.  A crease, or folding
 allowance may be specified.  The unfolding process may be saved,
 to be replayed later.
 
 This command  is generally  used to unfold a box made of planes.
 Before executing this command, it is best to execute the command
 DRAW PLANE  so that  all planes  are drawn  with a small diamond
 shape at  their centroid.  The planes  can then be located using
 these diamonds  rather than  their defining  points,  which  may
 belong to more than one plane.
 
 Also this  command is  best done  in ISO  view,  so  select  the
 command UTILI VIEW RECALL ISO.
 
 The unfolding can be saved then replayed as desired also.
 
 Procedure
 .   Confirm "normal/save/replay the unfolding?".
 
 If save then:
 .     Enter filename to save unfolding to.
 
 If replay then:
 .     Enter the file name to reply from.
   
   If normal or save then:
   .     Locate plane to unfold.
   .     Locate reference plane.
   .     Locate line representing rotation axis.
   .     Enter crease  allowance. This  allows for  the rotation to
   take place in the centre of any gap there may be between the two
   planes).
   
   
 "UTILI PEEL"
 
 This command  is used  to unfold cones,  defined  by  two  arcs.
 The two  arcs   must   be centred  on the same axis, and must be
 perpendicular to  this axis.   The two arcs  must  be  parallel.
 The cone  is unfolded  out onto  a plane,  along a given folding
 axis.
 
 Procedure
 .   Confirm "normal/save/replay the unfolding?".
 
 If save then
 .     Enter filename to save unfolding to.
 
 If replay then
 .     Enter the file name to reply from.
 
 If normal or save then:
 .     Locate the first arc of the cone.
 .     Locate the second arc of the cone.
 .     Locate reference plane.
 .     Locate line representing rotation axis.
 .     Enter crease  allowance. This  allows for  the rotation to
 take place in the centre of any gap there may be between 
 the two planes).


