home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / autocad / param1.arj / PGDRAFT.DOC < prev    next >
Text File  |  1991-09-03  |  126KB  |  2,727 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.                             ParaDraft
  9.                  COPYRIGHT 1991 By ParaWare Systems
  10.                   All rights reserved worldwide
  11.  
  12.  
  13.  
  14.  
  15.  
  16.                            USER MANUAL
  17.  
  18.  
  19.  
  20.                                FOR
  21.  
  22.                 
  23.                        SHAREWARE TRIAL VERSION
  24.  
  25.        ParaDraft ( Parametric Drafting System for AutoCAD)
  26.  
  27.                              V 1.01S
  28.  
  29.     This file has the manual for test running the  shareware TRIAL version 
  30.     of ParaDraft for evaluation. Please read the terms and conditions of 
  31.     use of ParaDraft shareware version given in this file.
  32.  
  33.  
  34.       ParaDraft   COPYRIGHT 1991 ParaWare Systems, India
  35.  
  36.  
  37.    USE CTRL-S TO STOP AND START THE SCROLLING PROCESS AS YOU READ THIS FILE.
  38.  
  39.  
  40.                          Distributed  by:
  41.  
  42.                          ParaWare  Systems
  43.                          B-23, Alokpuri
  44.                          Ravindrapalli
  45.                          Lucknow-226016
  46.                              India
  47.  
  48.    You may print this file by using either PRINT.COM (a DOS utility) or
  49.    use the DOS COPY command as follows:
  50.  
  51.               A>COPY PGDRAFT.DOC PRN <ENTER>
  52.  
  53.    This file already has the necessary page breaks and therefore it may
  54.    not work with the page formatting programs. Page length has been set
  55.    to 58 lines so the file should print properly on laser printers. 
  56.    Please use fixed spacing font for printing on laser printers.
  57. ___________________________________________________________________________
  58.       AutoCAD is a registered trademark of Autodesk Corporation  
  59.  
  60.   TABLE OF CONTENTS
  61.   -----------------
  62.  
  63.          INTRODUCTION
  64.              ParaDraft - Parametric Drafting System for AutoCAD       iii
  65.              ParaDraft Trial, Extended and Professional Versions      iii
  66.              Registration information                                 iv
  67.              ParaDraft License Agreement                               v
  68.  
  69.          INTRODUCTION TO PARAMETRIC DRAFTING AND PARADRAFT
  70.              What is Parametric Geometry?                               1
  71.              What is a Parametric Geometry program(a PgProgram)?        1
  72.              What is Parametric Drafting?                               1
  73.              Paradraft makes parametric drafting affordable             2
  74.                 Affordable Parametric Drafting for Draughtsmen          2
  75.                 ParaDraft for CAD programmers - making CAD Effective    3
  76.              An example of Parametric Drafting - "BASEPLATE"            3
  77.                    Developing the application with ParaDraft            4
  78.              Creating Dimensioned Drawings - ParaDraft Professional     4
  79.  
  80.         USING PARADRAFT - AN OVERVIEW                                   5
  81.                 Generating PgPrograms                                   5
  82.                 Running PgPrograms                                      5
  83.                 Customizing PgPrograms to develop application           5
  84.  
  85.         GENERATING PGPROGRAMS WITH PgPg!
  86.                 What is Parent Geometry ?                               6
  87.                    Required characteristics                             6
  88.                    Reference point:                                     7
  89.                 Geometry:                                               7
  90.                    Supported entities                                   7
  91.                    Rules for creation of geometry                       7
  92.                    Layer convention                                     8
  93.                 Dimensioning:                                           8
  94.                    Supported dimension types                            8
  95.                    Rules for dimensioning                               9
  96.                    Dimensioning characteristics                         9
  97.                    Center lines and Symmetry                            9
  98.                 Parent Geometry Specification                           10
  99.                 Parameterisation                                        10
  100.                 Sample session                                          10
  101.                    Loading PgPg!                                        10
  102.                    Geometry Name                                        11
  103.                    Reference point                                      11
  104.                    Geometry                                             11
  105.                    Symmetry axis                                        12
  106.                    Zoom options                                         12
  107.                    Parameterisation                                     12
  108.                    Undoing the changes                                  13
  109.                 Solving problems of parameterisation                    14
  110.                    Parameterisation assumptions                         14
  111.                    PGDEBUG                                              14
  112.                    Locating the problem point                           14
  113.                    Suggestions for solving problems                     15
  114.                    Using PGCAL to solve these problems                  16
  115.  
  116.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems         i 
  117.  
  118.  
  119.         RUNNING PARADRAFT APPLICATIONS WITH PGRUN                       17
  120.                 PGDIR                                                   17
  121.                 PGSHOW                                                  17
  122.                 Running Generated programs                              18
  123.                    Dimension values                                     18
  124.                    Insertion point and angle                            18
  125.                    Drawn geometry                                       18
  126.                 Running Customized programs                             19
  127.                    Input parameter values                               19
  128.                 Running fully customized applications                   19
  129.                 Loading customized application definitions              19
  130.  
  131.         DEVELOPING PARAMETRIC DRAFTING APPLICATIONS
  132.         BY CUSTOMIZING PGPROGRAMS                                       20
  133.                 Procedure of customization                              20
  134.                     PGCAL and PGCUSTOM                                  21
  135.                 What is PGCAL                                           21
  136.                     PGEDIT and PGDATA                                   21
  137.                     Template file helps you start off                   22
  138.                     PGCAL file structure                                22
  139.                       i.   Temporary variables                          22
  140.                       ii.  Variables for dimensions                     22
  141.                       iii. Variable for assumed coordinates             23
  142.                     Defining input parameters                           23
  143.                     Defining Formula for a parameter                    23
  144.                     Using tables                                        23
  145.                         PICKFROM keyword                                24
  146.                         Example                                         24
  147.                     Using a PLOT or PRPLOT                              25
  148.                     Testing the formulae                                25
  149.                     Testing the program                                 25
  150.                         Input parameter values                          25
  151.                 Customizing User Interface                              26
  152.                     PGCUSTOM                                            26
  153.                     PGMSLIDE - Replacing the slide file                 27
  154.             PGINSERT - Inserting the parent geometry        27
  155.  
  156.         Appendix A. General and Registration information                28
  157.             Shareware version restrictions                  28
  158.         Appendix B. Installation notes                                  29
  159.         Appendix C. How does PgPg! work                                 32
  160.         Appendix D. PGCAL Syntax                                        33
  161.         Appendix E. Features of Paradraft Shareware,                    35
  162.                     Registered and Professional Versions 
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174. ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        ii 
  175.  
  176.  
  177.       INTRODUCTION
  178.       ------------
  179.  
  180.       ParaDraft ( Parametric Drafting System for AutoCAD) 
  181.  
  182.          ParaDraft is a system for parametric drafting, that brings
  183.          higher drafting productivity within easy reach of your drawing
  184.          office. It boosts up the productivity of the draughtsmen,
  185.          without requiring any retraining. With ParaDraft, a draughtsman
  186.          can develop his parametric drafting applications himself for
  187.          drawings unique to his practice. ParaDraft greatly speeds up and
  188.          simplifies the task of developing these applications by building
  189.          upon the existing skills of the draughtsman, without making him
  190.          learn programming. This lets you automate drafting of drawings
  191.          unique to your practice, and boost up drafting productivity
  192.          affordably and consistently.
  193.  
  194.          ParaDraft fully automates the task of parameterisation of geometry,
  195.          which is the most programming intensive part of the application
  196.          development. Its parameterisation expert system takes a fully
  197.          dimensioned AutoCAD drawing as the input, applies heuristics and
  198.          geometric reasoning, and automatically generates an AutoLISP
  199.          parametric geometry program for the application in just a few
  200.          minutes. The generated program can draw the corresponding
  201.          to-the-scale drawing accurately from the dimension values. This
  202.          drawing is optionally dimensioned, the way it is done in
  203.          the input drawing.  This automates the drafting for all variants
  204.          of the geometry, both in the assembly and the detailed drawings.
  205.  
  206.          Created applications can be customized without doing any
  207.          programming in AutoLISP. The dimension values for a drawing can
  208.          be automatically computed from the specified formulae. ParaDraft
  209.          features an easy-to-use formula calculator, that does it
  210.          after taking the value of key input parameters from the user.
  211.          With ParaDraft the draughtsman can create and maintain all parts
  212.          of his parametric drafting application himself, and produce a
  213.          custom drafting automation system of professional quality.
  214.  
  215.       ParaDraft Trial, Extended and Professional Versions
  216.  
  217.          ParaDraft Trial Version is available as shareware for you to try
  218.          it free of charge for a trial period. On registration for the
  219.          shareware version, you get an extended version which has no
  220.          imposed restrictions on the size of the geometry. With the full
  221.          package called Paradraft Professional, you can develop
  222.          applications for drawing fully dimensioned, hatched and
  223.          annotated drawings. The comparative features of the trial,
  224.          extended and professional versions are given in the Appendix E
  225.          of this manual, and in README.DOC.
  226.  
  227.          Five sample applications are supplied with the shareware package 
  228.          to illustrate the features and capabilities of the trial, extended
  229.          and professional versions of ParaDraft.  
  230.  
  231.  
  232. ParaDraft Trial Manual        Copyright 1991, ParaWare Systems       iii 
  233.  
  234.             ParaDraft Shareware Version 1.01S, September 1991
  235.  ParaDraft Copyright (c) 1991, ParaWare Systems, India.  All Rights Reserved.
  236.  
  237.   Published by:
  238.       ParaWare Systems, B-23, Alokpuri, Ravindrapalli, Lucknow-226016,  India
  239.       Phone:  (204)-275-0642 or (91)-522-76741  Compuserve: 100015,3116
  240. Registration Information
  241.  
  242.      ParaDraft is a copyrighted program protected by both Indian and
  243.      international copyright law.  If you obtained ParaDraft from a shareware
  244.      disk vendor, an on-line computer service or bulletin board, a friend or
  245.      colleague, or another similar source, you have an unregistered (trial)
  246.      copy.  You are authorized to use this copy without charge for a limited
  247.      period of time under the terms of the ParaDraft license agreement.  After
  248.      this time is up, you must register and pay for ParaDraft to continue 
  249.      using it, or for using any application created with it.
  250.  
  251.      This method of distribution is known as shareware.  It allows you to
  252.      determine whether ParaDraft meets your needs before you pay for it. 
  253.      The shareware version of ParaDraft has some restrictions in terms of 
  254.      the  size of the geometry and capabilities as compared to the registered
  255.      versions. However, these restrictions do not interfere with the purpose 
  256.      of letting you test ParaDraft for its suitability to your requirements.
  257.  
  258.      ParaDraft Professional is available at an introductory price of $495 for
  259.      a limited period, and entitles you to:
  260.  
  261.       * A diskette with the latest version of ParaDraft Professional
  262.  
  263.       * One copy of the printed ParaDraft Users Manual.
  264.  
  265.       * Site license for PGRUN, the runtime component of ParaDraft.
  266.  
  267.       * Registration certificate
  268.  
  269.       * Technical support via electronic mail or telephone for 90 days
  270.  
  271.  
  272.       If you prefer, you may register just for Extended version of ParaDraft
  273.       for $195, and recieve only the diskette with the latest version of
  274.       ParaDraft Extended, single user PGRUN license and the registration
  275.       certificate.
  276.  
  277.  
  278.       If you only want to use the applications generated with ParaDraft,
  279.       you require just a runtime license of PGRUN, the runtime component of
  280.       ParaDraft. A single user license comes for $30, and entitles you to
  281.       the diskette with the latest version of PGRUN for running the
  282.       Parametric Drafting applications, generated either by yourself during
  283.       the trial period, or by another user with any of the other versions
  284.       of ParaDraft.
  285.  
  286.       The actual order form is in the file ORDER.FRM of the shareware package.
  287.       The comparative features of the trial, extended and professional
  288.       version are given in the Appendix E of the manual, and in README.DOC.
  289.  
  290.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        iv 
  291.  
  292.  
  293.       ParaDraft License Agreement
  294.  
  295.          (1) Copyright: The ParaDraft family of programs and all other
  296.          programs and documentation distributed or shipped with it are
  297.          copyright ParaWare Systems,India 1991, or are distributed under
  298.          license to ParaWare Systems,India and are protected by Indian, U.S.
  299.          and international copyright law.  In the rest of this document,
  300.          this collection of programs is referred to simply as
  301.          "ParaDraft".  You are granted a license to use your copy of
  302.          ParaDraft only under the terms and conditions specified in this
  303.          license agreement.
  304.  
  305.          (2) Definitions: ParaDraft is distributed in three different
  306.          forms, differing in features and capabilities. ParaDraft
  307.          Professional is a separately priced software product distributed
  308.          by ParaWare Systems and its authorized dealers, and which includes
  309.          a serial number and the legend "PROFESSIONAL" in the program
  310.          sign-on messages and on the diskette label. A "registered" copy
  311.          of ParaDraft is a copy of ParaDraft Extended version distributed
  312.          on diskette, purchased from ParaWare , Systems  or from a dealer,
  313.          and which includes a serial number and the legend "EXTENDED" or
  314.          "REGISTERED" in the program sign-on messages and on the diskette
  315.          label. A "shareware" copy of ParaDraft is a copy of ParaDraft
  316.          Trial version distributed on diskette or via an electronic
  317.          bulletin board, on-line service, or other electronic means, which is
  318.          obtained from a shareware disk vendor, or obtained from another
  319.          individual, and which displays the legend "shareware" in the
  320.          program sign-on messages, and in most cases on the diskette label
  321.          as well (if applicable).  "PGRUN" is the runtime component of
  322.          ParaDraft, also supplied along with the ParaDraft shareware
  323.          version.  A "runtime license" is a license to use PGRUN on the
  324.          number of computers specified on the PGRUN diskette label and
  325.          PGRUN load message. "PgPrograms" are the AutoLISP programs
  326.          generated using ParaDraft.
  327.  
  328.          (3) Shareware Copies: Shareware copies of ParaDraft Trial
  329.          version are distributed to allow you to try the program before
  330.          you pay for it.  They are Copyright 1991, ParaWare Systems, and
  331.          do not constitute "free" or "public domain" software.  You may
  332.          use a shareware copy of ParaDraft at no charge for a trial
  333.          period of up to 21 days.  If you wish to continue using
  334.          ParaDraft after that period, you must purchase a registered
  335.          copy.  If you choose not to purchase a registered copy, you must
  336.          stop using ParaDraft, though you may keep copies of ParaDraft
  337.          and pass them along to others. 
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems         v 
  349.  
  350.  
  351.          (4) Registered Copies: Registered copies of ParaDraft are
  352.          distributed to those who have purchased them.  Your registered
  353.          copy of ParaDraft may only be used on the number of computers
  354.          specified on the diskette label and program sign-on messages. 
  355.  
  356.          (5) PgPrograms: ParaDraft is based on a Parametric geometry
  357.          Program (PgProgram) generator for AutoCAD. To run these programs
  358.          you require PGRUN, the runtime component of ParaDraft, supplied
  359.          along with ParaDraft shareware version.  PGRUN is a part of
  360.          ParaDraft and its use for running ParaDraft generated programs
  361.          beyond the trial period by you is expressely disallowed.  You
  362.          may not use the PgPrograms generated during the trial
  363.          period beyond it without obtaining a "runtime license". You may
  364.          not distribute the programs generated with the shareware version
  365.          to any other user not having a valid "runtime license", except
  366.          for the purpose of trial, along with the rest of the ParaDraft
  367.          Trial version package.
  368.  
  369.          (6) PGRUN: You may not reverse-engineer PGRUN and create your
  370.          own runtime functions component compatible with the PgPrograms
  371.          generated with ParaDraft. You may not pass along the copies of
  372.          the shareware version of PGRUN without the rest of the ParaDraft
  373.          Trial version package.
  374.  
  375.          (7) Runtime license : You must obtain the "runtime license" for
  376.          PGRUN, if you wish to continue to use PgPrograms generated
  377.          during the trial period for your own use.  A runtime license
  378.          entitles you to the licensed copy of PGRUN with which you can
  379.          continue to use ANY program generated with ParaDraft. It also
  380.          entitles you to a free upgrade to the next version of PGRUN.  If
  381.          you choose not to purchase a "runtime licensed" copy of PGRUN
  382.          you must stop using the PgPrograms generated with ParaDraft.
  383.  
  384.          (8)  Use of ParaDraft on Networks or Multiple Systems:  You may
  385.          install your registered copy of ParaDraft on a computer attached to 
  386.          a network, or remove it from one computer and install it on a
  387.          different one, provided there is no possibility that your copy
  388.          will be used by more users than it is licensed for.  A "user" is
  389.          defined as one keyboard which is connected to a computer on which
  390.          ParaDraft is installed, regardless of whether or not the user of the
  391.          keyboard is aware of the installation or use of ParaDraft in the
  392.          system.
  393.  
  394.      (9) Making Copies:  You may copy any version of ParaDraft for normal
  395.          backup purposes, and you may give copies of the shareware version
  396.          to other individuals, which they may also use and copy subject to
  397.          the terms of this agreement.  If you copy the shareware version of
  398.          ParaDraft for others, you must include all of the files distributed
  399.          with it, including this one.  You may not give copies of the
  400.          registered version to any other person for any purpose, and you
  401.          may not make any copies of the printed and bound ParaDraft manual
  402.          without explicit written permission from ParaWare Systems.
  403.  
  404.  
  405.  
  406.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        vi 
  407.  
  408.  
  409.     (10) Distribution Restrictions: You may NOT distribute ParaDraft other
  410.          than through individual copies of the shareware version passed to
  411.          friends and associates for their individual use.  Specifically, you
  412.          may not place ParaDraft or any part of the ParaDraft package in any
  413.          user group or commercial library, or distribute it with any other
  414.          product or as an incentive to purchase any other product, without
  415.          express written permission from ParaWare Systems, and you may not
  416.          distribute for a fee, or in any way sell copies of ParaDraft or any
  417.          part of the ParaDraft package including PGRUN.  If you are a
  418.          shareware disk vendor approved by the Association of Shareware
  419.          Professionals (ASP), you may place ParaDraft in your library without
  420.          prior written permission, provided you notify ParaWare Systems 
  421.          within 15 days of doing so; and provided your application has been 
  422.          fully approved in writing by the ASP, and is not simply submitted or
  423.          awaiting review.
  424.  
  425.      (11) Use of ParaDraft: ParaDraft is an AutoCAD application
  426.          generator.  While we have attempted to build in reasonable
  427.          safeguards, if you do not use ParaDraft properly you may
  428.          disfigure AutoCAD drawings or cause other damage to your
  429.          computer software and data with the generated programs.  You
  430.          assume full responsibility for the selection and use of
  431.          ParaDraft to achieve your intended results.  As stated below,
  432.          ParaWare Systems limits its warranty to replacement of a defective
  433.          program diskette or manual.
  434.  
  435.          Good data processing procedure dictates that any program be 
  436.      thoroughly tested with non-critical data before relying on it.  
  437.      The user must assume the entire risk of using ParaDraft.  
  438.  
  439.     (12) LIMITED WARRANTY: ParaWare Systems warrants to owners of
  440.          registered copies of ParaDraft that the software will operate in
  441.          accordance with the description given in the documentation, and
  442.          that the diskette and manual will be free of physical defects
  443.          which interfere with normal use. For a period of 90 days from
  444.          the date of your purchase of ParaDraft, ParaWare Systems  will,
  445.          at its sole option and subject to the restrictions above and
  446.          below, repair or replace any defective item(s), or refund the
  447.          purchase price of any diskette and/or manual and/or any other
  448.          parts or components of ParaDraft found to be defective, if such
  449.          defect is the fault of ParaWare Systems and not the result of
  450.          misuse or abuse.  Such a refund, repair, or replacement shall be
  451.          your sole remedy for any defects, program error(s), or
  452.          documentation error(s).  In no event shall ParaWare Systems be
  453.          responsible for any other costs or damages whatsoever due to
  454.          errors in usage or your failure to read, understand, or follow
  455.          instructions in the documentation.  ParaWare Systems MAKES NO
  456.          OTHER WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT
  457.          LIMITATION THE WARRANTIES OF MERCHANTABILITY AND OF FITNESS FOR
  458.          A PARTICULAR PURPOSE.  ParaWare Systems's warranty is expressly
  459.          limited to the cost of replacement of any defective diskette or
  460.          other part.
  461.  
  462.  
  463.  
  464.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems      vii 
  465.  
  466.    INTRODUCTION TO PARAMETRIC DRAFTING AND PARADRAFT
  467.  
  468.       What is parametric geometry?
  469.  
  470.          Parametric geometry is a generalised geometry that defines
  471.          geometries with same shape, but with different parameter values.
  472.          A common example of use of parametric geometry in engineering
  473.          drafting is in parametric representation of standard shapes, such 
  474.          as standard sections, bolts, nuts etc. However, in fact, every
  475.          dimensioned drawing represents a parametric geometry, where the
  476.          dimensions are the parameters that can be varied.
  477.  
  478.          A geometry corresponding to a given set of parameter values is
  479.          called an instance of the parametric geometry. In some cases, the
  480.          count of useful instances of a parametric geometry is small, and
  481.          it is practical to create and store the drawings for these
  482.          instances for later use. However, more frequently, these
  483.          geometries allow very large variability in the dimensions,
  484.          making it impossible to either create or store the drawings 
  485.          of all possible instances.
  486.  
  487.       What is a Parametric Geometry Program (a PgProgram) ?
  488.  
  489.          Every parametric geometry can be represented by a parametric
  490.          geometry program, called PgProgram by ParaDraft. This PgProgram
  491.          accepts the values of the dimensions and draws the corresponding
  492.          geometry. PgPrograms require little space to store and draw the
  493.          instance geometry quickly.
  494.  
  495.       What is parametric drafting?
  496.  
  497.          Parametric drafting refers to automatic creation of drawings
  498.          from the values of the dimensions, using parametric geometry
  499.          techniques. It is of particular relevance to the assembly
  500.          drawings with many standardized parts, as well as to the
  501.          manufacturing drawings of such parts. Every standardized part
  502.          belongs to a family of parts, which can be represented by
  503.          parametric geometry. The drafting for all members of this
  504.          family of parts can be automated using parametric drafting,
  505.          both in the assembly and the manufacturing drawings.  Use of
  506.          parametric drafting in drafting practice can take the tedium out
  507.          of it and really speed it up. Productivity gains of 20-to-1 are
  508.          common with such applications of parametric drafting.
  509.  
  510.          Application of parametric drafting is beneficial for both the
  511.          design process and subsequent stages, since the resulting drawings
  512.          are drawn accurately to-the-scale with it. First, a correctly drawn
  513.          drawing helps design visualization and checking. Next, parametric
  514.          drafting promotes consistency and standardization, while saving
  515.          valuable time and eliminating errors as compared to drawing from
  516.          the scratch.  Further, the same drawing can be used in the
  517.          subsequent planning and manufacturing tasks without
  518.          rectification. Finally, modifications to the design at a later
  519.          stage, even those affecting several dimensions, can be
  520.          incorporated by recreating the drawing nearly automatically.
  521.  
  522.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems         1 
  523.  
  524.    ParaDraft makes Parametric Drafting affordable
  525.  
  526.       Parametric Drafting applications can be developed for AutoCAD, the
  527.       favorite drafting system for Mechanical drafting, using AutoLISP.
  528.       These applications have been usually developed by specialist AutoLISP
  529.       programmers, who have to manually write parametric geometry
  530.       programs ("parameterise the geometry") for the application. This is
  531.       very time consuming, and therefore the cost of development is quite
  532.       high. Since in most cases this cost must be offset against the time
  533.       saved in drafting, parametric drafting has been unaffordable for many
  534.       draughtsmen and drawing offices. Further, these applications are hard
  535.       to modify and enforce an artificial rigidity on the draugtsmen.
  536.  
  537.       ParaDraft fully automates the task of parameterisation of geometry,
  538.       and thereby makes parametric drafting equally well affordable for an
  539.       individual draughtsman, as for a drawing office with many draughtsmen
  540.       supported by a specialist AutoLISP programmer. ParaDraft can be used 
  541.       by the draughtsmen, and has features for building sophisticated CADD
  542.       applications by the CAD programmers.
  543.  
  544.    Affordable Parametric Drafting for Draughtsmen
  545.  
  546.          If you are a draughtsman, you must be already having first hand
  547.          knowledge of benefits of Parametric drafting, particularly for
  548.          standard parts and geometries as standard sections, bolts, nuts
  549.          etc.  With ParaDraft the same benefits can be realised for parts
  550.          and geometries unique to your practice. Just from the values of
  551.          the dimensions, you can automatically create to-the-scale
  552.          geometries to be inserted in the assembly drawings, as well as
  553.          fully dimensioned and annotated detailed to-the-scale drawings.
  554.  
  555.          You do not have to learn programming or AutoLISP to use
  556.          ParaDraft. Once you create a dimensioned geometry to its
  557.          requirements, ParaDraft automatically generates the
  558.          corresponding AutoLISP Parametric Geometry Program (PgProgram).
  559.          You can easily build your Parametric Drafting application on top
  560.          of the PgProgram. ParaDraft helps you to customize your
  561.          application, so that the application: 
  562.  
  563.            ∙ is invocable with its own AutoCAD command,
  564.            ∙ displays a customized slide file,
  565.            ∙ requires only the values of key dimensions,
  566.            ∙ computes dimension values from the specified formulae or tables,
  567.       and, ∙ draws the geometry using these computed dimensions. 
  568.  
  569.          You can realise the aim of drafting automation by developing
  570.          such applications yourself without requiring a specialist
  571.          programmer, or acquiring extensive programming skills yourself. 
  572.  
  573.          If your geometry changes, you can make the corresponding change
  574.          in the PgProgram, without doing any editing of the PgProgram.
  575.          Instead, you can do it by editing the original geometry for the
  576.          desired changes, and create the new PgProgram automatically, all
  577.          within AutoCAD. Therefore, you can develop and maintain (keep up
  578.          with the changes) your Parametric Drafting applications yourself
  579.          with ParaDraft - with tremendous power and flexibility.
  580.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems         2 
  581.  
  582.    ParaDraft for CAD programmers - making CAD Effective 
  583.  
  584.          If you are a CAD programmer, supporting a group of draughtsmen,
  585.          ParaDraft can simplify your task.  Each of your users can
  586.          develop his unique Parametric Drafting applications himself with
  587.          your support more efficiently. Further they can develop these
  588.          applications as they need it, without waiting for you for their
  589.          turn.  You can instead develop the applications for those
  590.          geometries that are standard in your design office. 
  591.  
  592.          Using ParaDraft, you can develop more complex design and
  593.          drafting automation applications, since the required PgPrograms
  594.          can be generated by it automatically. You can configure these
  595.          PgPrograms and integrate them for your application. ParaDraft
  596.          Professional has many features that help you in this task. It
  597.          has AutoLISP, GW-BASIC and Turbo Pascal 5.5 interfaces, besides
  598.          its own programmable calculator, for calculating the dimension
  599.          values. With these interfaces, you can develop sophisticated
  600.          applications in the programming language of your choice.
  601.  
  602.       An example of Parametric Drafting - "BASE PLATE"
  603.  
  604.          There are many examples of parametric geometry found in every
  605.          drawing office. Using ParaDraft for Parametric drafting is best
  606.          illustrated with the simple example of drawing a base plate.
  607.          This example has been taken from "The AutoCAD Productivity Book",
  608.          and is a straightforward example of Parametric Drafting. 
  609.  
  610.          The drawing for this application is given in BASEPLT.DWG .
  611.  
  612.          "The baseplate program was originally developed for a user who
  613.          designs steel light poles.  Welded to the bottom of each pole is
  614.          a base plate with center hole and bolt holes. The light pole is
  615.          bolted to a concrete base through the base plate. The size,
  616.          thickness and bolt spacing are determined by the bending moment
  617.          produced in a strong wind".
  618.  
  619.          In such a case, a PgProgram developed with ParaDraft is the
  620.          ideal solution. To draw this base plate each time from scratch is
  621.          time consuming and error prone. On the other hand, the drawings
  622.          for all the possible sizes of the baseplates cannot be stored.
  623.          The PgProgram requires little space to store and draws the base
  624.          plate quickly and correctly. A very large number of different
  625.          base plates can be drawn with this PgProgram saving considerable
  626.          time and effort, and awkwardness of table drawings.
  627.  
  628.          The PgProgram for such a base plate can be generated by
  629.          ParaDraft without any AutoLISP programming. This PgProgram will
  630.          draw the baseplate to the correct size from the values of all
  631.          the dimensions. The formulae can be defined with PGCAL for
  632.          calculating the size of base plate and all the other dimensions
  633.          needed to draw it, from the pole height and wind loading values.
  634.  
  635.          Developing an equivalent program in AutoLISP can take up to 4-6
  636.          hours for an average AutoLISP programmer. With ParaDraft, you
  637.  
  638.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems         3 
  639.  
  640.          can create such an application yourself in about one hour.
  641.          During this time, you would be working at specifying what you
  642.          want, rather than any programming. Moreover, your complete
  643.          application will have professional quality.
  644.  
  645.          Such a program could conservatively save a quarter hour per
  646.          drawing.  Based on that time saving, the payback for the program
  647.          is just 4-5 base plates. But this is not all; to quote the book:
  648.  
  649.          "The AutoCAD user for whom the original program was developed
  650.          makes 30 base plates a week. These drawings are accurate and
  651.          mistake free - another big payback. Never again a dimension will
  652.          be left off a base plate drawing."
  653.  
  654.       Example: Developing a Parametric Drafting application - "Base Plate" 
  655.  
  656.          We will follow the example of the base plate throughout this
  657.          manual.  With it, you could create your first PgProgram, and
  658.          then customize it to make it work with the standards.
  659.  
  660.          First, you would  draw the baseplate and dimension it. To simplify
  661.          your task we have provided a sample drawing of such a baseplate,
  662.          which you may use; or you may make another drawing. Next, you
  663.          would submit the drawing to ParaDraft and generate the
  664.          parametric AutoLISP program for it. You would then test this
  665.          program for several set of values, to verify the program.
  666.  
  667.          Next, you would modify the calculator program file to
  668.          customize the program. You would do it by specifying all
  669.          other dimensions in terms of the pole diameter and plate
  670.          thickness, (in this example, we have omitted the
  671.          engineering calculations and assumed that pole diameter and
  672.          plate thickness are known.)  and by entering a table for the 
  673.          standard values of tap diameters. Then you can draw the baseplate 
  674.          by just giving the values of pole dia and plate thickness.  
  675.  
  676.          Finally, you would customize the user interface of your program
  677.          to define its own command, and display its customized slide file
  678.          for taking the input values.
  679.  
  680.          This application, developed with ParaDraft Professional (sample
  681.          application ABASEPLT) produces a completely dimensioned detailed
  682.          drawing as the output. We estimate that first three such
  683.          applications will pay off the cost of the system for most users,
  684.          including the cost of learning ParaDraft.
  685.  
  686.       Dimensioning with ParaDraft Professional:
  687.  
  688.          The shareware versions of ParaDraft do not have the dimensioning
  689.          feature for the output drawing. With ParaDraft Professional you
  690.          can develop applications where you produce fully dimensioned and
  691.          annotated drawings. The sample "PULLEY" shows the kind of
  692.          results that can be achieved. Please note that the PgProgram of
  693.          "PULLEY" is an un-retouched output of the ParaDraft Professional.
  694.  
  695.  
  696.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems         4 
  697.  
  698.  
  699.     USING PARADRAFT  - AN OVERVIEW
  700.     ------------------------------
  701.  
  702.          A parametric drafting application is a customized parametric
  703.          geometry program(PgProgram). You use PgPg!, the parameterisation
  704.          expert system, to generate a PgProgram for the geometry of your
  705.          application. Then you use PGCAL, the formula calculator, to
  706.          specify the input parameters and the formulae for calculating
  707.          the dimension values. Finally, with PGCUSTOM you customize the
  708.          user interface of this PgProgram. The resulting application is
  709.          run using PGRUN, the runtime component of ParaDraft.
  710.  
  711.          All modules of ParaDraft are fully integrated with AutoCAD,
  712.          and all ParaDraft commands are given from the AutoCAD
  713.          drawing editor command line, or optionally with a menu option.
  714.  
  715.       Generating PgPrograms
  716.  
  717.          Generating the AutoLISP PgProgram for a geometry is a process
  718.          integrated with AutoCAD. As input, you create a dimensioned
  719.          drawing that is representative of the parametric geometry, and
  720.          conveys your intent unambiguously. This dimensioned drawing is
  721.          refered to as the Parent Geometry and constitutes the
  722.          specification of the PgProgram. The parent geometry is accepted
  723.          by the parameterisation expert system PgPg! inside AutoCAD. It
  724.          processes this geometry and develops a parametric model by
  725.          heuristics and geometric reasoning. From this model it generates
  726.          the corresponding AutoLISP PgProgram automatically. In case of
  727.          problems, you are provided enough help to solve them graphically.
  728.  
  729.       Running PgPrograms:
  730.  
  731.          On running the PgProgram, a slide is displayed showing the parametric
  732.          geometry and the parameters.The PgProgram takes the values of all
  733.          these parameters, and the insertion point and angle for the geometry.
  734.          Then, it draws the geometry corresponding to the input values.
  735.  
  736.       Customizing PgPrograms to develop applications
  737.  
  738.          ParaDraft comes with PGCAL and PGCUSTOM, that allow you to 
  739.          customize the PgProgram, so that the resulting application 
  740.  
  741.             ∙ is invocable with its own AutoCAD command,
  742.             ∙ displays customized slide file, showing the geometry
  743.             ∙ requires values of only the key dimensions,
  744.             ∙ computes dimension values from the specified formulae or tables,
  745.        and, ∙ draws the geometry using these computed dimensions. 
  746.  
  747.          PGCAL is a formula calculator, that requires very elementary
  748.          knowledge of programming, limited to writing formulae using
  749.          variables with a text editor.  If you already have some
  750.          programming experience, you can use the GW-BASIC interface or
  751.          Turbo-PASCAL interface for still superior customization
  752.          (available with ParaDraft Professional).
  753.  
  754.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems         5 
  755.  
  756.  
  757.     GENERATING PGPROGRAMS USING PgPg!
  758.     ----------------------------------
  759.  
  760.      The PgPrograms are generated by the parameterisation expert
  761.      system, PgPg!. The name PgPg! stands for Parametric geometry
  762.      Program generator.  PgPg! accepts the parent geometry as the
  763.      specification of parametric geometry, and converts it into
  764.      the corresponding AutoLISP program. 
  765.  
  766.      Generating AutoLISP PgPrograms for the geometry of your
  767.      parametric drafting application is a four step procedure:
  768.  
  769.             1. Create the geometry unambiguously and accurately
  770.             2. Dimension the geometry completely
  771.             3. a. Submit the geometry to ParaDraft
  772.                b. Command PgPg! to generate the program
  773.             4. Run the generated program for verification
  774.  
  775.      All these steps can be performed from inside AutoCAD.  In some
  776.      installations the third step may be split into two steps - (a)
  777.      one inside AutoCAD and, (b) the other outside AutoCAD. On
  778.      most installations, the later step is performed automatically.
  779.  
  780.      What is Parent Geometry:
  781.      ------------------------
  782.          Parent geometry is what you create to specify the Parametric
  783.          geometry to PgPg!. This is all what PgPg! knows about your
  784.          geometry and must use for creating the AutoLISP PgProgram.  The
  785.          AutoLISP PgProgram can then be used to draw (spawn!)  thousands
  786.          of variations (children!)  of the Parent Geometry, but the
  787.          information ( genes!)  must come from the Parent Geometry. 
  788.  
  789.          Parent geometry consists of the geometry to be parameterised along
  790.          with the dimensions, extension lines, center lines and symmetry
  791.          information. It also has a reference ( or insertion) point.
  792.  
  793.       Required Characteristics of Parent Geometry:
  794.  
  795.          Parent geometry is definitional, and yet processable by the
  796.          program. It can be considered as the executable specification of
  797.          the parametric geometry. For this reason, it is more than just a
  798.          collection of entities. Given the parent geometry, a draughts-
  799.          person should be able to draw a to-scale drawing for any set of
  800.          dimension values. Therefore the parent geometry should be drawn
  801.          accurately and unambiguously, to convey your intent correctly.
  802.  
  803.          You must draw the most general instance of the parametric
  804.          geometry. ParaDraft uses heuristics about all parallel,
  805.          perpendicular, coincidences, ON-entity (an end or center point
  806.          lying ON an entity such as line or arc) and intersection
  807.          conditions found in the Parent Geometry to parameterise the
  808.          geometry. Therefore, you must be careful and avoid any
  809.          unintended specification in this way. 
  810.  
  811.  
  812.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems         6 
  813.  
  814.          A common source of error is the use of perpendicular lines
  815.          angled at +/- 45 degrees, which leads ParaDraft to falsely
  816.          identify perpendicularity conditions. A more complete description
  817.          of the heuristics used by PgPg! is found in the Appendix C. titled
  818.          "How does PgPg! work", and must be read before using ParaDraft.
  819.  
  820.       Reference point:
  821.  
  822.          You should select a reference point that is meaningful for the
  823.          geometry. The geometry is parameterised starting from this
  824.          point. It should be possible to relate all other points
  825.          defining the geometry to this point.
  826.  
  827.       GEOMETRY:
  828.       ---------
  829.          The geometry should be drawn so that it fits into a box of size
  830.          200x200 units. This makes PgPg! more robust and free of round off
  831.          errors. Features smaller than 1 unit can be problematic due to
  832.          the roundoff performed by PgPg!.
  833.  
  834.       Supported entities:
  835.  
  836.          In this shareware version only LINE,ARC and CIRCLE entities are
  837.          supported. Therefore, explode any Polylines and block insertions
  838.          that you may have used. You should also delete any hatch
  839.          entities, solids, ellipses etc that may be present. Please refer
  840.          to AutoCAD reference manual for the details about the way to
  841.          draw and edit these entities.
  842.  
  843.       Rules for creation of geometry:
  844.  
  845.          The following discipline is requested of you while creating the
  846.          Parent geometry :
  847.  
  848.          1. Create the geometry accurately, avoiding any gaps and mismatches.
  849.  
  850.          2. Use OSNAP modes wherever required.
  851.  
  852.          3. Use Ortho mode when you want a horizontal or vertical line, or a
  853.             line at the snap angle.
  854.  
  855.          4. Clear up any dangling unfinished lines and avoid lines broken in
  856.             the middle. 
  857.  
  858.          5. You can import geometry from other drafting systems. However, be
  859.             AWARE of TRACE entities, and exploded dimensions.
  860.  
  861.          6. Use only the supported entities.
  862.  
  863.          7. Do not use shortcuts at the cost of accuracy.
  864.  
  865.          Most drawing offices require adherence to the first three rules 
  866.          and mostly to the last rule. Therefore, you may have drawings 
  867.          that already follow these specifications. But you must examine
  868.          it thoroughly for violation of rules of the layer and dimensions.
  869.  
  870.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems         7 
  871.  
  872.       LAYER Convention:
  873.  
  874.          Dimensions, centerlines and Extension lines must follow a layer
  875.          convention: 
  876.  
  877.          1. All dimension entities and extension lines should be in a
  878.          single layer called "DIM" by default.
  879.  
  880.          2. All the center lines should be in a single layer called "CEN"
  881.          by default.
  882.  
  883.          All entities i.e. lines,arcs, circles from these two layers will
  884.          be ignored for the creation of the new geometry by the
  885.          PgProgram, and will be used only for geometric reasoning. If you
  886.          are already using a layer naming convention, you can specify
  887.          that to ParaDraft with PGPGSET command.
  888.  
  889.       Dimensioning:
  890.       -------------
  891.  
  892.          The central idea of dimension driven geometry is that the
  893.          dimensions, such as appear on a mechanical drawing, are a
  894.          natural descriptor of geometry. They provide the most
  895.          appropriate means for altering a geometric model, like an
  896.          AutoCAD drawing. Dimensioning is, therefore, used in ParaDraft
  897.          for specifying the parameters for the parametric geometry. These
  898.          parameters can be lengths, radius, diameters or angles. 
  899.  
  900.       Supported dimension types:
  901.  
  902.          Following dimension entities are supported by ParaDraft and can be
  903.          used for doing the dimensioning of the parent geometry:
  904.  
  905.          1. Linear dimensions
  906.               o Horizontal      o Aligned
  907.               o Vertical        o Rotated
  908.  
  909.          2. Angular dimensions
  910.  
  911.          3. Radial dimensions
  912.  
  913.          4. Diametric dimensions
  914.  
  915.          Please refer to AutoCAD reference manual for the details about
  916.          the way to draw these dimensions.
  917.  
  918.          Please note that leader dimensions are not recognized by ParaDraft.
  919.          The shareware version ignores the text of the dimensions, and
  920.          no such specification is interpreted e.g. DIA 10, 4 HOLES .
  921.  
  922.          Each dimension appearing in the parent geometry is assigned a
  923.          unique name by ParaDraft. This name is composed of a string,
  924.          followed by a running number. The string "L" is for linear
  925.          dimensions, "R" for radial dimensions, "DIA" for diameter and
  926.          "ANG" for angular dimensions. 
  927.  
  928.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems         8 
  929.  
  930.  
  931.       Rules for dimensioning:
  932.  
  933.          1. All dimensioning must be done using DIMASO as ON. 
  934.  
  935.          2. No dimension should be exploded. 
  936.  
  937.          3. All dimensions and extension lines should be contained in 
  938.             layer DIM, or your own dimensioning layer specified with 
  939.             PGPGSET command.
  940.  
  941.          4. All points for the extension lines must be defined using the
  942.          OSNAP modes.
  943.  
  944.          5. DIMCEN should be non zero, so that center lines are 
  945.          automatically drawn for each radial dimension.
  946.  
  947.       Dimensioning characteristics:
  948.  
  949.      You must dimension the Parent geometry completely. With the
  950.      given dimensions, it should be possible to recreate the
  951.      to-the-scale drawing. All small features must be dimensioned
  952.      completely.  For instance fillets, chamfers, undercuts and
  953.      internal threads must be dimensioned in full detail. Finally,
  954.      you should remove any redundant dimensions, since the present
  955.      version of ParaDraft does not check against such redundancies.
  956.  
  957.          If you want a corner point to be related to a dimension, it must
  958.          be joined with an extension line. Otherwise ParaDraft assumes that
  959.          the point is only accidentally coincident. Please see the sample
  960.          application PULLEY and note the use of extension lines
  961.  
  962.          If the diameter of a circle is not specified, it is taken to
  963.          be a constant value, as drawn on the drawing. Do not use a linear
  964.          dimension for specifying the diameter of a circle.
  965.  
  966.       Center line and symmetry:   
  967.  
  968.          In drafting practice if a mirror symmetry exists, the linear
  969.          dimensions that are symmetric about it are shown as a single
  970.          dimension. ParaDraft uses the same convention for such dimensions.
  971.          It requires you to draw a center line wherever such a symmetry
  972.          exists and later specify the range of influence of the symmetry.
  973.  
  974.          A symmetry axis is presently used internally for splitting such
  975.          linear dimensions into two equal halves, that are symmetric
  976.          about the axis. For other symmetric dimensions, the dimensioning
  977.          must be done on both sides, since such dimensions that are
  978.          although fully inside the range of influence of the symmetry are
  979.          not mirrored in the current versions.  Further, the angular
  980.          dimensions are not split. All the center lines should be in a
  981.          single layer called "CEN" by default. You can give your own layer
  982.          name using the PGPGSET command.
  983.       
  984.  
  985.  
  986.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems         9 
  987.  
  988.       Parent Geometry Specification
  989.  
  990.          Parent geometry is specified using the command PARENT within the
  991.          AutoCAD drawing editor. You have to give the following
  992.          information about the geometry with this command:
  993.  
  994.          1. Insertion point :   This is the reference point for the geometry
  995.          2. Entities        :   The geometry and the dimensions
  996.          3. Symmetry        :   the lines of symmetry and their region 
  997.                                 of influence
  998.  
  999.          Then, the parameter names will be assigned to the dimensions. 
  1000.          Finally, a slide will be made for the geometry for future use.  
  1001.  
  1002.       Parameterisation:
  1003.  
  1004.          Parameterisation of the geometry is performed by the main
  1005.          parameterisation program PgPg!. The name PgPg! stands for
  1006.          Parametric geometry Program generator.  PgPg! accepts the parent
  1007.          geometry as the specification of parametric geometry, and
  1008.          converts it into the corresponding AutoLISP program. 
  1009.  
  1010.          On most installations, ParaDraft will automatically run the
  1011.          PgPg! by shelling out. The program runs without attention and
  1012.          should not take over 3 minutes on an average PC-AT for the
  1013.          shareware version geometries.
  1014.  
  1015.       SAMPLE SESSION:
  1016.       ---------------
  1017.  
  1018.          We will now demonstrate the procedure of use of PgPg! using
  1019.          the sample BASEPLT. In the drawing BASEPLT.DWG, our examplery
  1020.          baseplate has already been drawn as specified in the previous
  1021.          chapter. Copy it into your own directory from the ParaDraft
  1022.          directory. Also copy the file PGINIT.SCR. Start AutoCAD and enter
  1023.          the drawing editor with the drawing BASEPLT.
  1024.  
  1025.       Loading PgPg! :
  1026.  
  1027.          Enter the following command at the AutoCAD drawing editor command 
  1028.          line.
  1029.  
  1030.                  Command: SCRIPT
  1031.                  File name: PGINIT
  1032.  
  1033.          The script command loads the PGINIT lisp file. Please refer to
  1034.          the appendix B for alternate procedures for loading this file.
  1035.  
  1036.          Next enter the command:
  1037.  
  1038.                  Command: PGPG
  1039.  
  1040.          to load the Parent Geometry Specification Program. A countdown
  1041.          is made as this program as loaded. At the end a beep is sounded.
  1042.  
  1043.  
  1044.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        10 
  1045.  
  1046.  
  1047.          Now give the command:
  1048.  
  1049.                  Command: PARENT
  1050.  
  1051.          to start the Parent Geometry Specification Program.
  1052.  
  1053.       Geometry Name:
  1054.  
  1055.          PgPg! needs a name for your parent geometry and prompts you for
  1056.          it. 
  1057.  
  1058.          «  Enter the  Parent geometry name: » BASEPLT
  1059.  
  1060.          This name should not be more than 8 characters long. The same
  1061.          name will be used later for running the executable part. Do not
  1062.          use names starting with "PG".
  1063.  
  1064.          You can also attach a short one word description of the geometry
  1065.          as a response to the following prompt. The above name and the
  1066.          following description are used to identify the geometry.
  1067.  
  1068.          «  Description of the geometry: » JustABaseplate
  1069.  
  1070.       Reference point:
  1071.  
  1072.          When prompted with the following, you should select a reference
  1073.          point that is meaningful for the drawing.
  1074.  
  1075.          «  Insertion point: »  
  1076.  
  1077.          Select the center point of the baseplate center hole.
  1078.  
  1079.       Geometry:
  1080.  
  1081.          When prompted with the following, you should select all relevant
  1082.          geometry ( which you want to parameterise) and the dimensions.
  1083.  
  1084.          «  Select the entities making up the geometry »  
  1085.          «  Select object: »  Select the entire baseplate with its dimensions
  1086.                               using a crossing window
  1087.  
  1088.          While processing is going on the system will give the message:
  1089.  
  1090.          «  Writing the geometry information. Please wait... »  
  1091.  
  1092.          Meanwhile, the parameter names will be assigned to the
  1093.          dimensions.  After all the entities have been written out, you
  1094.          will be informed:
  1095.  
  1096.          «  37 entities found in the parent geometry ....... »  
  1097.  
  1098.          
  1099.  
  1100.  
  1101.  
  1102.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        11 
  1103.  
  1104.       Symmetry axis:
  1105.  
  1106.          A symmetry axis is presently used for the simple purpose of splitting
  1107.          such linear dimensions into two equal halves, that are symmetric
  1108.          about the axis. 
  1109.  
  1110.          Since there are many mirror symmetries in the geometry, answer YES to
  1111.          the following prompt:
  1112.  
  1113.            «   Is there any symmetry in the geometry (Yes/No) ? » Yes
  1114.  
  1115.          You should point at a center line in reply to the following prompt:
  1116.  
  1117.             « Show a line as the  axis of symmetry:  » show one of the
  1118.                                                        center line
  1119.  
  1120.             « Show the range of influence for this axis of symmetry:  »
  1121.                « First corner:  »     Take a box 
  1122.                                       enclosing
  1123.                « Other corner: »      the full baseplate
  1124.  
  1125.          Perform the procedure for both the symmetries in the drawing.
  1126.          Only the dimensions that are fully enclosed in the specified 
  1127.          box are split.  
  1128.  
  1129.  
  1130.       Zoom options:
  1131.  
  1132.          ParaDraft prepares a slide file to show you the dimensions
  1133.          corresponding to variables. It is necessary that you position
  1134.          the drawing well on the screen with the help of zoom commands.
  1135.          These zoom commands are similar to the AutoCAD ZOOM command in
  1136.          operation.
  1137.  
  1138.            << Zoom into the parent drawing.>>
  1139.            << Zoom Window/In/Out/Pan/Exit <Exit> : >>
  1140.  
  1141.       Parameterisation:
  1142.  
  1143.          ParaDraft will automatically run the main parameterisation program 
  1144.          PgPg!, at the end of the parent geometry specification by shelling 
  1145.      out. PgPg! shareware version first presents you with information 
  1146.      about ParaDraft Professional. After that it requires no further
  1147.          inputs and runs unattended. It shows a status window at the
  1148.          bottom and a main window for giving some messages to indicate
  1149.          the progress.  At the end of parameterisation, it would report
  1150.          the following statistics about the parent geometry:
  1151.  
  1152.                 Number of entities   :
  1153.                   construction lines :
  1154.                   construction arcs  :
  1155.                           dimensions :
  1156.                           symmetry   :
  1157.                           points     :
  1158.  
  1159.  
  1160.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        12 
  1161.  
  1162.          If the parent geometry specification is complete and adequate,
  1163.          PgPg! will report the success message
  1164.  
  1165.             « Parameterisation Successful » 
  1166.  
  1167.          in the status window. You have created your first application.
  1168.  
  1169.          In case PgPg! cannot parameterise the geometry with the provided
  1170.          information, it would report the number of assumptions required
  1171.          to be made during the parameterisation as following:
  1172.  
  1173.            « Parameterisation done with N assumptions »  
  1174.  
  1175.          in the status window. At the end of this process, you will 
  1176.          have the following output files :
  1177.  
  1178.                  BASEPLT.LSP    ........ generated PgProgram
  1179.                  BASEPLT.CAL    ........ template PGCAL file
  1180.                  HELP\BASEPLT.LSP ....... debugging and explanation file
  1181.                  HELP\BASEPLT.DWG ....... parent geometry drawing
  1182.  
  1183.          Note : ParaDraft shells out to run PgPg!, which requires over
  1184.      500 KB memory to run. Whether this memory can be released
  1185.      or not, depends upon your PC hardware and AutoCAD installation.
  1186.  
  1187.          In case ParaDraft cannot shell out to run PgPg!, you must
  1188.          adopt the following procedure: 
  1189.  
  1190.      Quit AutoCAD and change directory to ParaDraft directory. There 
  1191.      should be a BASEPLT.PG file i.e. with the name given by you to
  1192.      the geometry. Enter the following command at the DOS command
  1193.      line without any extra blanks:
  1194.  
  1195.          C:\ACAD10\PGDRAFT> PGPG BASEPLT
  1196.  
  1197.          After this run AutoCAD again. Please refer to the Appendix B. for
  1198.      the installation notes, where ParaDraft installation settings 
  1199.      for PgPg! are explained.
  1200.  
  1201.       Undoing the changes
  1202.  
  1203.      ParaDraft changes the drawing during the process of creating the
  1204.      parent geometry information. After this step is over, and the
  1205.      geometry parameterisation has been performed, it performs an UNDO 
  1206.      command to get the drawing back to its status at the beginning.
  1207.      Please answer YES to any prompt generated by AutoCAD for 
  1208.      verification of UNDO command.
  1209.  
  1210.          However, ParaDraft stores the modified drawing for further use, 
  1211.          in its HELP subdirectory. This drawing can be inserted in the 
  1212.      current drawing with PGINSERT command. You may take its plot,
  1213.      which will come useful during customisation. You can use it for 
  1214.      customising the slide file. You can also use it for making changes 
  1215.      to your application, in case the original drawing is not available.
  1216.  
  1217.  
  1218.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        13 
  1219.  
  1220.  
  1221.       Solving problems of parameterisation
  1222.  
  1223.          In case ParaDraft cannot parameterise the geometry with the given
  1224.          parent geometry, it would report the number of assumptions required
  1225.          to be made during the parameterisation. You now have a program that
  1226.          may not work to your specifications. Therefore you must 
  1227.          solve the problem before using the program for developing your
  1228.          application.
  1229.  
  1230.       Parameterisation assumptions:
  1231.  
  1232.          When ParaDraft finds that it cannot parameterise a geometry, it
  1233.          assumes X or Y coordinates ( or both) for a point in order to
  1234.          continue processing. For each coordinate assumed, it reports
  1235.          one assumption. 
  1236.  
  1237.       PGDEBUG
  1238.  
  1239.          You need not pore over the resulting AutoLISP program to find
  1240.          the cause. ParaDraft generates another AutoLISP program to help you
  1241.          in finding the problem. To run this program you should give the
  1242.          following command from AutoCAD command line:
  1243.  
  1244.                          Command: PGDEBUG
  1245.                          Enter geometry name:  XXXXX
  1246.                          Insertion point:
  1247.  
  1248.          This program draws the parent geometry and shows all the points.
  1249.          Since ParaDraft  uses points internally for parameterising the
  1250.          geometry, it shows you the same points and with each point a
  1251.          name is displayed next to it. Even the ParaDraft construction
  1252.          points are shown. Explanation is given for parameterisation of
  1253.          each point (This facility is not available in the shareware
  1254.          version).
  1255.  
  1256.       Locating the problem point:
  1257.  
  1258.          The points for which it has made the assumptions, are shown in
  1259.          YELLOW color. If you have a color monitor, it is easy to spot
  1260.          these points. Otherwise, use the support file, SSX.LSP to create
  1261.          a selection set of these points by specifying :
  1262.  
  1263.                  Command: (load"ssx")
  1264.                  Command: LIST
  1265.                  Select object: (ssx)
  1266.                  Blockname/Color/Entity/LAyer/LTyp/Style/height: C
  1267.                  Color: YELLOW
  1268.                  Blockname/Color/Entity/LAyer/LTyp/Style/height: B
  1269.                  Block: EXPLAIN
  1270.                  Blockname/Color/Entity/LAyer/LTyp/Style/height: 
  1271.  
  1272.          This will list these blocks and give you the names and locations.
  1273.          The name of the point is stored in the attribute POINT.
  1274.  
  1275.  
  1276.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        14 
  1277.  
  1278.  
  1279.       Suggestions for solving problem
  1280.  
  1281.          The explanation facility available with ParaDraft Professional 
  1282.          helps you in trouble shooting problems of parameterisation. It
  1283.      provides the reasons for taking the parameterisation decisions.
  1284.      There is additional information given for the problem points.
  1285.  
  1286.      Since this facility is not available in trial version, for now
  1287.          once you have spotted the problem points, proceed along the 
  1288.          following lines to solve the problem of parameterising these
  1289.          points:
  1290.  
  1291.          1. It is often the case that you have underspecified the Parent
  1292.          geometry than what is required by PgPg!. Therefore, you need to
  1293.          add only some dimensions or extension lines to solve the
  1294.          problem. You can judge for your particular drawing, the actual
  1295.          constructs to be added. 
  1296.  
  1297.          2. Look carefully at the parent geometry statistics to spot 
  1298.          missing symmetry information. Also check the parent geometry 
  1299.          to see, whether the center line is exactly in the middle.
  1300.  
  1301.          3. Look for a dimension that is drawn inaccurately so that it 
  1302.          does not exactly match the geometry. You should delete and 
  1303.          redraw such dimensions in parent geometry.
  1304.  
  1305.          4. Check if a line is broken in the middle and is made up of two
  1306.          or more pieces, if PGDEBUG shows a problem point in the middle of
  1307.          a line.
  1308.  
  1309.          5. Check for any unwanted small arcs or lines, representing an
  1310.          unnoticed detail for your application. In such cases you may
  1311.          decide to reduce the complexity of the drawing by eliminating
  1312.          such small details. Or you should dimension them completely.
  1313.          Locate any unrecognised fillets.
  1314.  
  1315.      6. If all fails, redraw that part of geometry that is causing
  1316.      problems. It probably has some problematic inaccuracies.
  1317.  
  1318.          This version of PgPg! does not understand complex geometric
  1319.          constructions, such as a line tangent to two circles, or cases
  1320.          of cyclic geometric description, often found in solution of
  1321.          triangle problems. It also lacks an understanding of arc to arc
  1322.          intersections or tangency. You will find that PgPg! reports
  1323.          assumptions in such cases. You must add additional dimensions in
  1324.          such cases to generate the correct program. It is however the
  1325.          users (yours !) responsibility to give correct values to these
  1326.          redundant dimensions.
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        15 
  1335.  
  1336.       Using PGCAL to solve the problem:
  1337.  
  1338.          For every X or Y coordinate assumed for a point, an X or Y
  1339.          variable is added to the PGCAL template file. It has a name made
  1340.          up of string "X" or "Y", followed by the number of the point.
  1341.          You can also circumvent the problem of parameterisation by
  1342.          changing the PGCAL program. This can be done by defining
  1343.          expressions for calculating the assumed X or Y coordinate in
  1344.          terms of other dimensions. This way you avoid having to
  1345.          parameterise the geometry again. 
  1346.  
  1347.          In case you add redundant dimensions to get the geometry
  1348.          parameterised, you must make sure that the value of these
  1349.          dimensions is consistent with the rest of dimensions. For this
  1350.          purpose as well you can modify the generated PGCAL program so
  1351.          that the value of the additional dimensions is consistent with
  1352.          the rest of the dimensions. 
  1353.  
  1354.          PGCAL and its interface to the PgProgram is explained in more
  1355.          detail in the chapter "customizing PgPrograms".
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        16 
  1393.  
  1394.  
  1395.     RUNNING PARADRAFT APPLICATIONS WITH PGRUN
  1396.     -----------------------------------------
  1397.   
  1398.          To run a ParaDraft applications, you should have installed PGRUN
  1399.          completely. You should copy the file PGINIT.SCR into the current
  1400.          directory. After starting AutoCAD and entering into the drawing
  1401.          editor you must first load PGINIT lisp file with the following
  1402.          command:
  1403.  
  1404.                  Command: SCRIPT
  1405.                  File name: PGINIT
  1406.  
  1407.          Please refer to the appendix for alternate procedures for
  1408.          loading this file.
  1409.  
  1410.          Now you can load the shareware version of PGRUN with the
  1411.          following command:
  1412.  
  1413.                  Command: PGRUN
  1414.  
  1415.          PGRUN defines several commands to facilitate use of the PgPrograms.
  1416.  
  1417.       PGDIR:
  1418.  
  1419.          You can see the directory of the available PgPrograms generated
  1420.          with ParaDraft or supplied as the samples with the following
  1421.          command: 
  1422.  
  1423.                  COMMAND: PGDIR
  1424.                  File name: 
  1425.  
  1426.          You can use the * and ? wildcard characters just as for the DOS
  1427.          directory command.
  1428.  
  1429.       PGSHOW:
  1430.  
  1431.          You can see the slide file for the parent geometry with the
  1432.          following command: 
  1433.  
  1434.                  Command: PGSHOW
  1435.                  geometry name: 
  1436.  
  1437.          You must give the full name of the geometry.
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        17 
  1451.  
  1452.  
  1453.       Running Generated programs:
  1454.  
  1455.          You can draw the geometry defined by a PgProgram with the
  1456.          following command: 
  1457.  
  1458.                  Command: PGDRAW
  1459.                  geometry name: 
  1460.  
  1461.          You must give the full name of the geometry. If you have not
  1462.          customized the PgProgram, you should give NO to the following
  1463.          question asked by the system:
  1464.  
  1465.                  Do you want to use the PGCAL program (Y/N) : NO
  1466.  
  1467.       Dimension values
  1468.  
  1469.          PGRUN will then display a slide of the parent geometry. This is
  1470.          to help you identify the parameters in the geometry. You will be
  1471.          asked the values of the dimensions. You must enter a positive
  1472.          real number or an integer, as a response. Negative values and
  1473.          zero values can be given, but then the results may not always be
  1474.          as expected. 
  1475.  
  1476.       Insertion point and angle
  1477.  
  1478.          After taking the values of all the parameters, a REDRAW will be
  1479.          performed and you will be asked for an insertion point for the
  1480.          geometry. The point must be specified. The drawn geometry can be
  1481.          inserted at an angle. You should enter a counter-clockwise angle
  1482.          in degrees. 
  1483.  
  1484.       Drawn geometry
  1485.  
  1486.          After you specify the insertion point and angle, the PgProgram
  1487.          computes the points needed to draw the geometry using PGRUN.
  1488.          Then the geometry is drawn and rotated, if required. You can now
  1489.          manipulate this geometry the way you want. You can verify that
  1490.          the geometry has been drawn to the dimension values as specified
  1491.          by you.
  1492.  
  1493.          Please note that PGRUN resets the osnap setting to NONE.
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        18 
  1509.  
  1510.  
  1511.       Running customized programs
  1512.  
  1513.          To run the programs customized using PGCAL, the process is
  1514.          similar. You can draw the geometry with the following command: 
  1515.  
  1516.                  Command: PGDRAW
  1517.                  geometry name: 
  1518.  
  1519.          You must give the full name of the geometry. You should give YES
  1520.          to the following question asked by the system:
  1521.  
  1522.                  Do you want to use the PGCAL program (Y/N) : YES
  1523.  
  1524.       Input parameter values:
  1525.  
  1526.          If you have not modified the default PGCAL file, you will not be
  1527.          asked the values of the dimensions. This file has by default the
  1528.          dimension values same as those in the parent geometry.
  1529.  
  1530.          If you have specified your own input parameters in the PGCAL
  1531.          file, these input parameter values will be asked by the system.
  1532.          They will be asked in the sequence in which you have given them
  1533.          in the PGCAL file. This will be done on the text screen after
  1534.          shelling out of AutoCAD. As a consequence, you can
  1535.          not see the parent geometry while giving the values of the
  1536.          parameters. PGCAL will calculate all the dimension values and
  1537.          these will be taken in by PgProgram.
  1538.  
  1539.       Running fully customized application
  1540.  
  1541.          A fully customized application has its own command name that is
  1542.          assigned to it with the PGCUSTOM feature of ParaDraft. This
  1543.          command will take the input values inside AutoCAD, so that you
  1544.          can see the customized slide of parent geometry while giving the
  1545.          values of the parameters. Then, PGCAL will calculate all the
  1546.          dimension values, after shelling out of AutoCAD. These values will
  1547.          be taken in by the PgProgram to draw the geometry.
  1548.  
  1549.          In the end, a REDRAW will be performed and you will be asked for
  1550.          an insertion point and angle for the geometry. After computing
  1551.          the points the geometry will be drawn.
  1552.  
  1553.  
  1554.       Loading customized application definition
  1555.  
  1556.          On AutoCAD release 10, the customised application definitions
  1557.          are loaded automatically. On earlier versions, you must
  1558.          you must load these definitions with the PGCUSTLOAD command.
  1559.  
  1560.                 Command: PGCUSTLOAD
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        19 
  1567.  
  1568.     DEVELOPING PARADRAFT APPLICATIONS BY CUSTOMIZING PGPROGRAMS
  1569.     -----------------------------------------------------------
  1570.  
  1571.          PgPrograms generated by PgPg! require you to enter the values of
  1572.          all the dimensions as the inputs. However often these dimensions
  1573.          are interrelated and can be specified in terms of a few key
  1574.          dimensions or parameters.  PGCAL allows you to makes use of
  1575.          specified formulae and tables for computing dimension values
  1576.          from these parameters. 
  1577.  
  1578.          With PGCAL and PGCUSTOM, you can customize the PgPrograms generated 
  1579.          by ParaDraft to a great extent. They have been designed to allow
  1580.          you to create a customized application with a more intuitive user
  1581.          interface. A fully customized ParaDraft application : 
  1582.  
  1583.               ∙ is invocable with its own AutoCAD command
  1584.               ∙ displays slide file with only the key dimensions,
  1585.                 while accepting the inputs,
  1586.               ∙ accepts the values of only the key dimensions,
  1587.               ∙ Computes the dimension values from the specified formulae,
  1588.               ∙ Or, picks some dimension values from the specified tables
  1589.  
  1590.          and draws the geometry using these computed dimensions. Since
  1591.          this customized program is easier to use and requires fewer
  1592.          inputs, the process of drafting is further speeded up.
  1593.  
  1594.       Procedure of customization:
  1595.  
  1596.          First, you create a PGCAL file and specify the input
  1597.          parameters and their prompts. Next, you add formulae to compute
  1598.          rest of the dimensions to this file. You can create data tables
  1599.          for picking the standard dimension values corresponding to one
  1600.          or more parameters. With PGCAL command, you can test the
  1601.          formulae and tables for correctness. On running the PgProgram
  1602.          PGCAL is automatically called, and the dimension values to be used 
  1603.          for drawing the geometry are computed using the provided formulae.
  1604.          At this stage of customization all the inputs will be taken by
  1605.          PGCAL without showing any graphics on the text screen.
  1606.  
  1607.          Next, you can define an AutoCAD command for running this
  1608.          application using the PGCUSTOM command. With it, you can get
  1609.          the input parameters specified in the PGCAL file asked
  1610.          inside AutoCAD, while the slide file is on display. 
  1611.  
  1612.          Finally you can overwrite the slide file that is displayed for
  1613.          taking the inputs, using PGMSLIDE command. For instance, you may 
  1614.          want to show only the remaining input parameters, or any other 
  1615.          information of interest along with the geometry. You can thereby 
  1616.          completely customize the user interface of the PgProgram. 
  1617.  
  1618.          You can use the drawing of the parent geometry stored in the
  1619.      HELP subdirectory of ParaDraft for customisation. Its plot
  1620.      comes useful while writing the formulae with PGCAL to find
  1621.      which parameter is which dimension. The same drawing
  1622.      can be used for modifying the slide file.
  1623.  
  1624.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        20 
  1625.  
  1626.  
  1627.       PGCAL and PGCUSTOM
  1628.  
  1629.          PGCAL and PGCUSTOM are fully integrated with AutoCAD and all 
  1630.          commands for customization can be given from within AutoCAD. 
  1631.  
  1632.          PGCAL has following commands: 
  1633.                  1. PGEDIT   - Edit the template file and enter the formulae
  1634.                  2. PGDATA   - Create the tables (standard data) files
  1635.                  3. PGCAL    - Test correctness of the formulae 
  1636.  
  1637.          PGCUSTOM has following commands: 
  1638.                  1. PGCUSTOM - Define your own command for the application
  1639.                                and take inputs inside AutoCAD
  1640.                  2. PGMSLIDE - Overwrite the slide file
  1641.  
  1642.          Each of these commands is explained in the following sections of
  1643.          this chapter.
  1644.  
  1645.       What is PGCAL:
  1646.  
  1647.          PGCAL is a simple and easy-to-use programmable calculator that is
  1648.          integrated with PGRUN for customizing the generated PgPrograms. With
  1649.          PGCAL you can specify:
  1650.  
  1651.                  ∙ the input dimensions or parameters with their prompts.
  1652.  
  1653.                  ∙ the formulae for calculating a dimension value in terms 
  1654.                    of other dimension values and parameters
  1655.  
  1656.                  ∙ tables for picking the standard dimension values 
  1657.                    corresponding to one or more key dimensions
  1658.  
  1659.          The formulae use the normal (infix) syntax, which makes them
  1660.          easy to enter and correct. These tables look like the data tables
  1661.          that draughtsmen commonly use. PGCAL requires only very
  1662.          elementary knowledge of programming, limited to writing formulae
  1663.          using variables with a text editor.
  1664.  
  1665.       PGEDIT and PGDATA
  1666.          These commands let you edit the PGCAL file for a parametric
  1667.          geometry, or a data table file.
  1668.  
  1669.                  Command: PGEDIT       or   PGDATA
  1670.                  geometry name: xxxx   or   Data Table name: xxxx
  1671.  
  1672.          You must give the full name of the geometry. PGEDIT and PGDATA
  1673.          use the command EDIT defined in ACAD.PGP file. By default this 
  1674.          means using EDLIN for editing the files. You must save the 
  1675.          file when exiting the editor for the changes to take effect.
  1676.          If you are used to another editor, you can change EDIT
  1677.          line in the ACAD.PGP file to use your own editor. Your editor
  1678.          must accept the file name with path as the first command line
  1679.          parameter. Please refer to the manual for the editor (for EDLIN,
  1680.          the MS-DOS manual) for editing a file. Please refer to the AutoCAD
  1681.          manual for changing the ACAD.PGP file.
  1682.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        21 
  1683.  
  1684.     Template file helps you start off
  1685.  
  1686.          To begin the customization, you are provided with some aids to
  1687.          take care of startup problems.  When you parameterise a geometry
  1688.          with PgPg!, a template PGCAL file is created for you. First, you
  1689.          can use the template file for running the PgProgram for drawing
  1690.          the geometry with the default values.  Next, you can edit this
  1691.          file to specify the key parameters, prompts and formulae using
  1692.          PGEDIT. The template file is divided into two sections; first
  1693.          section has the temporary variables, that are assigned the
  1694.          default values. Second section has variables corresponding to
  1695.          the dimensions, that take value from the corresponding temporary
  1696.          variable.
  1697.  
  1698.     PGCAL File structure
  1699.  
  1700.          PGCAL file has a very simple structure. Each line has a 
  1701.          variable which is assigned a value either from the user input,
  1702.          or with a formula using other variables. Only exception is the
  1703.          PICKFROM table command, where all the variables given in the
  1704.          table are assigned values. Comment and blank lines are allowed.
  1705.  
  1706.          PGCAL file can have three types of variable in it:
  1707.  
  1708.        i. Temporary variables
  1709.          Each dimension appearing in the parent geometry is assigned a
  1710.          temporary variable. These variables are called P1,P2,..etc with
  1711.          the same number as the corresponding dimension.  These are also
  1712.          assigned the values of the corresponding dimension as drawn in
  1713.          the parent geometry. However, their value is not used by the
  1714.          PgProgram directly but through the parameters for dimensions.
  1715.          You are advised to calculate all the values using the temporary
  1716.          variables only. You should select temporary variable names, that
  1717.          do not conflict with the variable for dimensions.
  1718.  
  1719.          ii. Variables for dimensions 
  1720.  
  1721.          Each dimension appearing in the parent geometry appears in the
  1722.          template file as a variable, whose value is used by the
  1723.          PgProgram.  This variable has a unique name used everywhere
  1724.          consistently by ParaDraft.  This name is composed of a string,
  1725.          followed by a running number.  The variable names beginning with
  1726.          the string:
  1727.  
  1728.                  "L" are for linear dimensions, e.g. L11
  1729.                  "R" are for radial dimensions, e.g. R12
  1730.                  "DIA" are for diameter, e.g. DIA13,  and 
  1731.                  "ANG" are for angular dimensions, e.g. ANG14.
  1732.  
  1733.          These variables appear at the end of the file, and are assigned
  1734.          to the the corresponding temporary variable. This scheme may
  1735.          seem a bit odd, but is essential. It has the advantage in case
  1736.          you may change the parent geometry a little, and change some of
  1737.          the dimensions. You would still like to use the existing PGCAL
  1738.          file. With this scheme, you only have to change this last
  1739.          section to assign the correct dimension to the correct variable.
  1740.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        22 
  1741.  
  1742.  
  1743.          iii. Variables for assumed coordinates
  1744.  
  1745.          In case of successful parameterisation, no such variable is
  1746.          included. Otherwise, for every X or Y coordinate assumed for a
  1747.          point, an X or Y variable is added to the PGCAL template file.
  1748.          It has a name made up of string "X" or "Y", followed by the
  1749.          number of the point.
  1750.  
  1751.          A PGCAL variable can take only a real value. No other data type
  1752.          is supported.  You can define a temporary variable by simply
  1753.          assigning a value to it. A variable must be assigned a value,
  1754.          before it is used.  Otherwise, it will be taken as an input
  1755.          parameter.  
  1756.  
  1757.       Defining input parameters
  1758.  
  1759.          You can define the input parameters by giving a prompt within
  1760.          double quotes. For example,
  1761.  
  1762.                  L1 = "Value of Length"
  1763.  
  1764.          will result in question to the user,
  1765.  
  1766.                  Enter the Value of Length : 125.0
  1767.  
  1768.          And the entered value (125.0 in this case) will be stored under
  1769.          the variable name L1.
  1770.  
  1771.       Defining Formula for a parameter
  1772.  
  1773.          The formula for a parameter is written in the following way
  1774.  
  1775.                  <Variable name> = <Expression>
  1776.  
  1777.          For example,
  1778.  
  1779.                  L2 = 100.0 + L1
  1780.  
  1781.          where L1 already has a value of 125.0, will result in the
  1782.          assignment of value 225.0 to L2. The syntax for expressions
  1783.          is INFIX that is common with programming languages as BASIC,
  1784.          FORTRAN or PASCAL. A number of useful trignometric and
  1785.          engineering functions are also supported. Please see the
  1786.          appendix D for the details.
  1787.  
  1788.    Using Tables 
  1789.  
  1790.          Tables are natural way of describing standard values, and are
  1791.          often used by engineers. Given one or two key values, rest of
  1792.          the standard values can be picked from such a table. 
  1793.  
  1794.          PGCAL allows a simple, but powerful table lookup feature. A
  1795.          table for PGCAL is a text file, formatted as rows and columns.
  1796.          Each row represents one set of values for variables. Each column 
  1797.          represents the possible values of a particular variable. 
  1798.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        23 
  1799.  
  1800.          The first row of the table is a header row, that defines the names 
  1801.          of the columns. Columns may be separated with a vertical bar ("|") 
  1802.          character for better readability. The rows may also be separated
  1803.          by blank or comment lines. 
  1804.  
  1805.          The name of the columns correspond to the variable names in
  1806.          PGCAL file. These names can not contain blanks for this reason. 
  1807.          No column is predefined to be input or output column. If the
  1808.          variable for a column already has a value, then it is considered
  1809.          as a key value. 
  1810.  
  1811.       PICKFROM keyword
  1812.  
  1813.          In the PGCAL file, a table lookup is performed by the following
  1814.          statement:
  1815.  
  1816.          PICKFROM  table
  1817.  
  1818.          The table name is assumed to have a .DAT extension. All the
  1819.          variables in the PGCAL file, that have been defined till the
  1820.          point of table lookup, and match with the column names of the
  1821.          table, are taken to be keys. PGCAL performs a search for a row
  1822.          that has all the matching key values. Now the variables
  1823.          corresponding to the other columns are created and assigned the
  1824.          values found in the matched row.
  1825.  
  1826.    Example of use of a table for PGCAL
  1827.  
  1828.          The following is an example from the sample BASEPLT, where
  1829.          the tap diameters are picked from the table giving the
  1830.          minor dia for the major dia of the tap hole.
  1831.  
  1832.          TAP.DAT
  1833.  
  1834.                  % Tap dia for coarse threads
  1835.                  Holedia | TapDia
  1836.                   12.0   |  10.0
  1837.                   16.0   |  12.0
  1838.                   18.0   |  16.0
  1839.                   20.0   |  17.5
  1840.                   24.0   |  20.0
  1841.  
  1842.          PGCAL file
  1843.  
  1844.                  % First take input
  1845.                  Holedia = "hole diameter(12/16/18/20/24)"
  1846.                  % Now lookup in the table
  1847.                  PICKFROM TAP
  1848.                  DIA6 = TapDia
  1849.  
  1850.  
  1851.          The PICKFROM statement will pick the row corresponding to the
  1852.          entered value of hole diameter. As a result, the variable
  1853.          TAPDIA, which is the other column in the table, will be assigned
  1854.          the selected value.
  1855.  
  1856.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        24 
  1857.  
  1858.       Using a PLOT or PRPLOT
  1859.      You should take a PRPLOT or PLOT of the drawing of the parent
  1860.      geometry for writing the formulae. In this drawing, all the
  1861.      dimensions display the variable names used by PGCAL file and the
  1862.      application. This is useful while using PGEDIT to find out which
  1863.      dimension is which one. To insert the parent geometry in current
  1864.      drawing, enter PGINSERT on the drawing editor command prompt:
  1865.  
  1866.                 Command: PGINSERT
  1867.                 Geometry name: xxxxxx
  1868.         Insertion point:       Show an insertion point
  1869.     Please refer to the AutoCAD reference manual for PLOT or PRPLOT.
  1870.  
  1871.       Testing the formulae
  1872.  
  1873.          PGCAL command lets you execute the PGCAL program and shows the 
  1874.          values of the dimensions as computed by it. To run PGCAL, enter 
  1875.          command :
  1876.  
  1877.                 Command: PGCAL
  1878.                 Geometry name: xxxxxx
  1879.  
  1880.         The specified PGCAL file will be executed, and all the dimension
  1881.         values will be computed. These values will be displayed inside 
  1882.         AutoCAD, while the slide is on display. You can thus verify whether
  1883.         the file has been correctly created or not.
  1884.  
  1885.       Testing the program
  1886.  
  1887.          You can draw the geometry with the following command: 
  1888.  
  1889.                  Command: PGDRAW
  1890.                  geometry name: 
  1891.  
  1892.          You should give YES to the following question asked by the system:
  1893.  
  1894.                  Do you want to use the PGCAL program (Y/N) : YES
  1895.  
  1896.       Input parameter values:
  1897.  
  1898.          If you have not modified the default PGCAL file, you will not be
  1899.          asked the values of the dimensions. This file has by default the
  1900.          dimension values same as those in the parent geometry.
  1901.  
  1902.          If you have specified your own input parameters in the PGCAL
  1903.          file, these input parameter values will be asked by the system.
  1904.          They will be asked in the sequence in which you have given them
  1905.          in the PGCAL file. These values will be asked on the text
  1906.          screen after shelling out of AutoCAD. As a consequence, you can
  1907.          not see the parent geometry while giving the values of the
  1908.          parameters. PGCAL will calculate all the dimension values and
  1909.          these will be taken in by PgProgram.
  1910.  
  1911.          In the end, a REDRAW will be performed and you will be asked for
  1912.          an insertion point and angle for the geometry. After computing
  1913.          the points the geometry will be drawn.
  1914.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        25 
  1915.  
  1916.  
  1917.       Customizing User Interface
  1918.  
  1919.          Once you have created the formulae in the PGCAL, your first
  1920.          level of customization in terms of parameters is complete. Your
  1921.          application is ready to run, but its user interface has scope
  1922.          for improvement. It can be easily improved in terms of quality
  1923.          using PGCUSTOM and PGMSLIDE.
  1924.  
  1925.          First, at this level of customization, the values of key
  1926.          inputs are taken on the text screen after AutoCAD has been
  1927.          suspended. Therefore, the user may not relate the prompts for
  1928.          inputs to the geometry. He also has no option of measuring 
  1929.          the drawing, for deciding an appropriate value.  Therefore,
  1930.          these inputs should be taken inside AutoCAD. To do this,
  1931.          PGCUSTOM translates the input commands given in the PGCAL file
  1932.          into a corresponding AutoLISP function, which is automatically
  1933.          called by the application.
  1934.  
  1935.          Secondly, the displayed slide shows the parent geometry after
  1936.          the parameter names have been assigned to dimensions. These
  1937.          names make no sense to the user. Further, this clutters up the
  1938.          slide unnecessarily, since most of the dimensions would be
  1939.          computed, and are irrelevant. You can replace the slide file
  1940.          with your own custom slide file with PGMSLIDE command.
  1941.  
  1942.          Lastly, the PGDRAW command is used for drawing the geometry,
  1943.          which is not natural. For a menu based application, this can be
  1944.          transparent for the user, but for a "keyboard-happy" user this
  1945.          is an unnatural command. PGCUSTOM lets you assign your own
  1946.          AutoCAD command for running this application to draw this 
  1947.          geometry.
  1948.  
  1949.     PGCUSTOM
  1950.  
  1951.          PGCUSTOM lets you assign your own AutoCAD command for running
  1952.          the application for drawing the geometry. It also translates
  1953.          the input commands given in the PGCAL file into a corresponding
  1954.          AutoLISP function, which is automatically called by the program.
  1955.          To run PGCUSTOM, you should first load PGRUN. You should have
  1956.          already parameterised the geometry, and the PGCAL file should be
  1957.          present.
  1958.  
  1959.                  Command: PGCUSTOM
  1960.                  Name: xxxxxx
  1961.  
  1962.          You should enter the name of the geometry. PGCUSTOM will now
  1963.          suspend AutoCAD and shell out. 
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        26 
  1973.  
  1974.  
  1975.         PGCUSTOM - ParaDraft APPLICATION CUSTOMIZATION UTILITY
  1976.  
  1977.                 Do you want to assign an AutoCAD command (Y/N):
  1978.  
  1979.          If you answer yes to the above question, PGCUSTOM will ask you
  1980.          for the name of the command. You should avoid giving a builtin
  1981.          AutoCAD command name as the reply.
  1982.  
  1983.                 Enter the command name:
  1984.  
  1985.          PGCUSTOM creates a file PGCUSTOM.LSP that has this function
  1986.          definition. If the file already exists, this function is just
  1987.          appended to it. Next, PGCUSTOM asks you:
  1988.  
  1989.                 Do you want to create the input function (Y/N):
  1990.  
  1991.          If you answer Yes to the above question, PGCUSTOM will process
  1992.          the PGCAL file and extract input commands from it. The PGCAL
  1993.          file does not have to be modified. This function is also added
  1994.          to PGCUSTOM.LSP. At the end, PGCUSTOM.LSP file is loaded so that
  1995.          the changes are effective immediately. In every session of
  1996.          PGRUN, PGCUSTOM file is automatically loaded (Release 10 only).
  1997.  
  1998.          You can run PGCUSTOM for an application any number of times.
  1999.  
  2000.     PGMSLIDE - Replacing the slide file
  2001.  
  2002.          You can overwrite the slide file, that is displayed for
  2003.          taking the inputs, to show only the key input parameters,
  2004.          and any other information that you wish. Thereby you can
  2005.          completely customize the user interface of the PgProgram.
  2006.      To overwrite the slide file, give command PGMSLIDE after
  2007.      you have the desired information on the screen in the 
  2008.      current drawing, and give the application name.
  2009.  
  2010.                  Command: PGMSLIDE
  2011.                  Name: xxxxxx
  2012.  
  2013.          The command functions similar to MSLIDE command. For details,
  2014.          see the AutoCAD reference manual.
  2015.  
  2016.      You could insert the drawing of the parent geometry for changing
  2017.      the slide file. In this drawing, the geometry is exactly as you
  2018.      had drawn it. Further all the dimensions display the variable names
  2019.      used by your application. To insert the parent geometry in current
  2020.      drawing, enter PGINSERT on the drawing editor command prompt:
  2021.  
  2022.                 Command: PGINSERT
  2023.                 Geometry name: xxxxxx
  2024.         Insertion point:       Show an insertion point
  2025.  
  2026.     Now use EXPLODE command to explode the inserted block into entities
  2027.     that you can erase or change. Please refer to the AutoCAD reference
  2028.     manual for details of EXPLODE command and block insertions.
  2029.  
  2030.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        27 
  2031.  
  2032. Appendix A. : GENERAL INFORMATION
  2033. ----------------------------------
  2034.  
  2035.       ParaDraft will  run on any IBM PC/XT/AT/386/486 or any MS-DOS compatible
  2036.       computer running PC/MS-DOS 3.2 or higher with a minimum of 512K 
  2037.       free RAM. It requires AutoCAD version 2.62 or higher to be present,
  2038.       with ADE-III (English or German version). A hard disk with more than
  2039.       1 MB free space is also required.
  2040.  
  2041.       IBM is a registered trademark of the International Business Machine
  2042.       Corporation.
  2043.       PC-DOS, PC, PC XT, PC AT, and PS/2 are trademarks of IBM Corporation.
  2044.       MS-DOS is a trademark of Microsoft Corporation.
  2045.       Turbo Pascal is a registered trademark of Borland International
  2046.       AutoCAD and AutoLISP are the registered trademarks of Autodesk 
  2047.       Corporation.
  2048.  
  2049.    SHAREWARE TRIAL VERSION INFORMATION
  2050.  
  2051.     ParaDraft is a copyrighted program protected by both Indian and
  2052.     international copyright law.  If you obtained ParaDraft from a shareware
  2053.     disk vendor, an on-line computer service or bulletin board, a friend or
  2054.     colleague, or another similar source, you have an unregistered (trial)
  2055.     copy.  You are authorized to use this copy without charge for a limited
  2056.     period of time under the terms of the ParaDraft license agreement.  After
  2057.     this time is up, you must register and pay for ParaDraft to continue using
  2058.     it, or for using any application created with it.
  2059.  
  2060.     This method of distribution is known as shareware.  It allows you to
  2061.     determine whether ParaDraft meets your needs before you pay for it. The
  2062.     shareware version of ParaDraft has some restrictions in terms of the size
  2063.     of the geometry and capabilities as compared to the professional version.
  2064.     The major restrictions are (i) a limit on the trial period of 21 days,
  2065.     (ii) a limit of less than 40 entities in the parent geometry, (iii) no
  2066.     support for polylines and related features, (iv) no support for 
  2067.     dimensioning in the output drawing, (v) No support for exploded 
  2068.     dimensions in the input drawing, (vi) No recognition of the information 
  2069.     given in the dimension text for typical fillet radius, diameters etc.
  2070.     and (vii) no GW-BASIC or Turbo-Pascal interface.
  2071.  
  2072.     However, these restrictions do not interfere with the purpose of letting
  2073.     you test ParaDraft for its suitability to your requirements. Specifically,
  2074.     you can test the crucial geometry parameterisation expert system, and 
  2075.     even develop applications from the generated programs for your use.
  2076.  
  2077.     The registered version of ParaDraft is the ParaDraft Extended version.
  2078.     It has just the same features as the trial version that you are
  2079.     testing. It however does not have the advertising messages, the time
  2080.     restrictions, or the restriction on the size of the geometry. It has 
  2081.     a GW-BASIC interface for custmoization, and the AutoLISP code produced
  2082.     by it, is readable and indented. The extended version is meant for the
  2083.     the users, who would like to try ParaDraft for geometries of their
  2084.     application area before they decide in favor of ParaDraft Professional,
  2085.     the full system.
  2086.  
  2087.  
  2088.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        28 
  2089.                  APPENDIX B.  INSTALLATION NOTES
  2090.  
  2091.       Loading ParaDraft 
  2092.  
  2093.       ParaDraft is fully integrated with AutoCAD. All ParaDraft
  2094.       modules must be run from within AutoCAD. For this purpose, you
  2095.       have to load the PGINIT.LSP file from the ParaDraft directory 
  2096.       into the AutoCAD drawing editor session, to access PgPg! or PGRUN.
  2097.       This can be done in many ways as following:
  2098.  
  2099.       1. Copy the file PGINIT.SCR into the directory from where you are
  2100.       running AutoCAD, using DOS copy command. This file is created in 
  2101.       the directory where ParaDraft is installed. Give the following 
  2102.       command at the command prompt of AutoCAD.
  2103.  
  2104.                       Command: SCRIPT
  2105.                       File <>: PGINIT
  2106.  
  2107.       2. Add the following lines in your ACAD.LSP file, after
  2108.       correcting the name of the directory where ParaDraft has been
  2109.       installed (Release 10 or above) :
  2110.  
  2111.               (LOAD "/ACAD/PGDRAFT/PGINIT") ; To load ParaDraft
  2112.  
  2113.       3. Copy the contents of PGINIT.LSP into your ACAD.LSP file. 
  2114.  
  2115.    Using PGDRAFT menu
  2116.  
  2117.       All the ParaDraft commands can be issued using the PGDRAFT menu in
  2118.       the AutoCAD release 9 and above. To load the menu use the command
  2119.       PGMENU from the AutoCAD drawing editor command prompt, after
  2120.       loading PGINIT. The menu commands are self explanatory.
  2121.  
  2122.    ACAD.PGP file settings
  2123.  
  2124.      ParaDraft shells out to execute many of its commands. For this
  2125.      purpose, your ACAD.PGP file needs to be extended. In particular,
  2126.      to enable ParaDraft to automatically run the PgPg! parameteri-
  2127.      sation program by shelling out, you must add the PGSHELL line.
  2128.      Please add the following lines in your ACAD.PGP file:
  2129.  
  2130.                       PGSHELL,,500000,*DOS Command: ,0
  2131.                       SHELL,,125000,*DOS Command: ,0
  2132.                       EDIT,EDLIN,40000,File to edit: ,0
  2133.  
  2134.    AutoLISP settings
  2135.  
  2136.       If you are using normal AutoLISP (not extended), then you must
  2137.       set AutoLISP DOS environment variables as following before running
  2138.       AutoCAD, so that the AutoLISP part of ParaDraft can work.
  2139.  
  2140.            SET LISPHEAP=38000
  2141.            SET LISPSTACK=7000
  2142.  
  2143.    Text style settings
  2144.          STANDARD text style from TXT.SHX is required for ParaDraft.
  2145.  
  2146.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        29 
  2147.  
  2148.  
  2149.     Setting runtime parameters - PGSET command
  2150.  
  2151.         PgPrograms generated by PgPg! require you to enter the values of all
  2152.         the dimensions as the inputs. However, you can use one of the 
  2153.         interface like PGCAL or GW-BASIC, to compute the values for the 
  2154.         geometry. Please refer to the chapter on customisation for details.
  2155.  
  2156.         With PGSET command you can define how the dimension values should be
  2157.         obtained for PgPrograms. Normally, the user must specify this every 
  2158.         time a PgProgram is run. However, with PGSET command you can set 
  2159.         the expert mode ON and then define the default setting for the rest 
  2160.         of the session. 
  2161.         In trial version of PGRUN only PGCAL interface can be used.
  2162.  
  2163.    Setting PgPg! parameters - PGPGSET command :
  2164.  
  2165.     With PGPGSET command, you can set the method of running PgPg!, and 
  2166.     the dimensioning and center line layers, for a session.
  2167.  
  2168.       Method of running PgPg!:
  2169.  
  2170.       You can specify the command name defined in ACAD.PGP file that releases
  2171.       500KB for running PgPg!. By default this name is PGSHELL. If you
  2172.       enter NONE, it is assumed that you will run PgPg! from the command
  2173.       line later, and shelling out is not attempted.
  2174.  
  2175.       Dimensioning and center line layers:
  2176.  
  2177.       PgPg! uses two layers for dimensioning and center lines. While
  2178.       creating the PgProgram for the geometry, all the entities of these
  2179.       layer are discarded. You can set these layers for a session by
  2180.       selecting an entity of the layer from the screen.
  2181.  
  2182.   To run PgPg! from the command line
  2183.   ----------------------------------
  2184.  
  2185.          This is required on some installations where too many memory
  2186.          resident programs, leave no memory for AutoCAD to shell
  2187.          out and release the needed 500KB memory. Further, AutoCAD
  2188.          Release 10 - 386 version can not release more than 300K. You
  2189.          need a program such as BIG-SHELL to release the needed memory
  2190.          with the 386-version. In case you cannot shell out and run PGPG, 
  2191.          you must adopt the following procedure to run PgPg!:
  2192.  
  2193.             Quit AutoCAD and change directory to ParaDraft directory. There
  2194.             should be a xxxxxx.PG file, of the name given by you to the
  2195.             geometry. Enter the following command at the DOS command line:
  2196.  
  2197.                   C:\ACAD\PGDRAFT> PGPG BASEPLT
  2198.  
  2199.             After completion of parameterisation, enter AutoCAD again. 
  2200.  
  2201.          Please note that you can not run PGPG from any other directory.
  2202.  
  2203.  
  2204.  ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        30 
  2205.  
  2206.       ParaDraft directory and files
  2207.  
  2208.       ParaDraft files are stored in a subdirectory called PGDRAFT of the
  2209.       directory from where you ran the installation program. For
  2210.       example, if you have installed ParaDraft in the C:\ACAD
  2211.       directory, the files would be in C:\ACAD\PGDRAFT. You will find
  2212.       following files in this directory after the installation program
  2213.       reports success:
  2214.  
  2215.       Executables files and AutoLISP functions 
  2216.  
  2217.       PGPG.EXE          PGPG.IDB        PGINIT.LSP
  2218.       PGPG.LSP          PGRUN.LSP       PGCAL.EXE
  2219.       PATCH.LSP         PATCH10.LSP     REFPT.DWG
  2220.       SETPATH.EXE       EXPLAIN.DWG
  2221.  
  2222.       Documentation
  2223.  
  2224.       PGDRAFT.DOC       README.DOC      ORDER.FRM
  2225.  
  2226.       Message files
  2227.  
  2228.       PGRUN.MSG         PARENT.BEG      PARENT.END
  2229.       PARENT.MSG
  2230.  
  2231.       ParaDraft demonstration and sample files
  2232.  
  2233.       1STLOOK.BAT       PGINIT.SCR        PGDEMO.MSG
  2234.  
  2235.       ABOLT.DEM         ABOLT.DWG       ABOLT.LSP
  2236.       ABOLT.PG          ABOLT.SLD
  2237.  
  2238.       BASEPLT.DEM       BASEPLT.DWG     BASEPLT.LSP
  2239.       BASEPLT.PG        BASEPLT.SLD     ABASEPLT.LSP
  2240.  
  2241.       PULLEY.DEM        PULLEY.DWG      PULLEY.LSP
  2242.       PULLEY.SLD
  2243.  
  2244.       FLANGE.DEM        FLANGE.DWG      FLANGE.LSP
  2245.       FLANGE.SLD
  2246.  
  2247.       PIPEBEND.DEM      PIPEBEND.DWG    PIPEBEND.LSP
  2248.       PIPEBEND.PG       PIPEBEND.SLD
  2249.  
  2250.       TBLOCK.DEM        TBLOCK.DWG      TBLOCK.LSP
  2251.       TBLOCK.PG         TBLOCK.SLD
  2252.  
  2253.       Installation related files
  2254.  
  2255.       INST.EXE          INSTALL.BAT     PGDRAFT.ZIP
  2256.       README.1ST
  2257.  
  2258.  
  2259.  
  2260.  
  2261.  
  2262.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        31 
  2263.  
  2264.     Appendix C. : How does PgPg! work ?
  2265.     -----------------------------------
  2266.  
  2267.       You need to know how PgPg! works in order to be able to use it
  2268.       efficiently. PgPg! works on the principle of generalisation. It
  2269.       applies heuristics and geometric reasoning on what it knows
  2270.       about the parent geometry, and thereby creates the more general
  2271.       Parametric geometry model. This model is in terms of expressions for
  2272.       parametrically calculating coordinates of the points defining the 
  2273.       geometry. It is finally translated into an AutoLISP PgProgram.
  2274.  
  2275.       The heuristics have been developed by experienced AutoLISP
  2276.       parametric geometry programmers. These are tested to work on a
  2277.       wide variety of geometries encountered in drafting practice.
  2278.       For instance, one of the common observations is that a
  2279.       horizontal line in the parent geometry remains horizontal in all
  2280.       cases, and so is true for the vertical lines. Therefore it is
  2281.       one of the heuristics applied.
  2282.  
  2283.       Another powerful heuristic states that, if any two lines are
  2284.       parallel in the Parent Geometry, they can be assumed to remain
  2285.       parallel in all cases. Similarly, a perpendicular pair of lines
  2286.       can be assumed to remain perpendicular. 
  2287.  
  2288.       An awareness of these heuristics will help you in creating the
  2289.       parent geometry, that will be correctly interpreted by PgPg!.
  2290.  
  2291.       List of heuristics
  2292.       -------------------
  2293.       If one of the following is found to be true for the parent geometry,
  2294.       the same is also assumed to be true for all the instances of the
  2295.       geometry that can be generated with the PgProgram:
  2296.  
  2297.       1.  A line is horizontal.
  2298.       2.  A line is vertical.
  2299.       3.  Two lines are parallel.
  2300.       4.  Two lines are perpendicular.
  2301.       5.  A point lies at the intersection of two entities.
  2302.       6.  A line is tangent to a circle or an arc.
  2303.       7.  A point lies on another entity.
  2304.       8.  Two lines if extended, are coincidental.
  2305.       9.  Two arcs if extended, are coincidental.
  2306.       10. Two circles are concentric.
  2307.       11. An extension line of a dimension defines all the points falling
  2308.           on it, when extended.
  2309.       12. If a corner has an extension line passing through it, it can be
  2310.           used for defining it.  
  2311.       13. If two points are within 0.1 mm of each other, they
  2312.           represent the same point.
  2313.  
  2314.       Limitations
  2315.       -----------
  2316.       PgPg! can handle a wide variety of cases, but cannot resolve cyclic
  2317.       cases such as double tangency. Do not attempt to solve complex
  2318.       geometric puzzles using PgPg!. 
  2319.  
  2320.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        32 
  2321.  
  2322.  
  2323.                                 Appendix D.
  2324.     PGCAL SYNTAX
  2325.  
  2326.       The following syntax must be used while creating the PGCAL
  2327.       files:
  2328.  
  2329.       1. PGCAL is line based. Each line contains a statement for assigning
  2330.          value to a parameter. Blank and comment lines are permitted.
  2331.  
  2332.       2. ";" and "%" are the comment characters. All the characters
  2333.       following these are ignored in a line.
  2334.  
  2335.       3. You can define variable names by assigning values to
  2336.       them.  A variable name must begin with a character. Lower and
  2337.       upper cases are not differentiated. Maximum variable name length
  2338.       is 10.
  2339.  
  2340.       4. A variable must be assigned a value, before it is used.
  2341.       Otherwise, it will taken as an input parameter.  A variable can
  2342.       have only real values, for example 10.0, -102.5, 0.0 etc.
  2343.  
  2344.       5. A variable can be assigned value in one of the three ways:
  2345.  
  2346.               i. Input from the user
  2347.               ii. Calculated from a formula involving constants and
  2348.               other variables
  2349.               iii. Imported from a table
  2350.  
  2351.       6. Syntax for a taking input from the user is as following:
  2352.  
  2353.               <Variable name> = "  ....  prompt ..... " 
  2354.  
  2355.  
  2356.       7. Syntax for defining a formula is as following:
  2357.  
  2358.               <Variable name> = <Expression>
  2359.  
  2360.       The syntax for expressions is INFIX that is common with
  2361.       programming languages as BASIC or PASCAL.
  2362.  
  2363.       8. Expressions are made up of operators and operands. These are
  2364.       the operands:
  2365.  
  2366.          constants        variables
  2367.          function calls
  2368.  
  2369.       9. PGCAL supports the following operators, in order of precedence:
  2370.  
  2371.           *     Real multiplication.
  2372.           /     Real division.
  2373.           +     Real addition.
  2374.           -     Real subtraction.
  2375.  
  2376.       Subexpressions may be enclosed in parentheses to change the
  2377.       order of precedence.
  2378.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        33 
  2379.  
  2380.  
  2381.       10. Following functions are supported by PGCAL. All functions must
  2382.       be used as FUNC(<Expression>), where any other expression can be
  2383.       used.
  2384.  
  2385.               Function                Example                 Value
  2386.       ----------------------------------------------------------------
  2387.                'ABS'            -       ABS(-10.2)              10.2   
  2388.                'ATAN'           -       ATAN(1.0)               45.0
  2389.                'COS'            -       COS(90.0)               0.0
  2390.                'EXP'            -       EXP(1.0)                2.73
  2391.                'LN'             -       LN(1.0)                 0.0
  2392.                'ROUND'          -       ROUND(1.5)              2.0
  2393.                'SIN'            -       SIN(90.0)               1.0
  2394.                'SQRT'           -       SQRT(100.0)             10.0
  2395.                'SQR'            -       SQR(10.0)               100.0
  2396.                'TRUNC'          -       TRUNC(1.5)              1.0
  2397.       ----------------------------------------------------------------
  2398.  
  2399.       11. PICKFROM is a reserved word, and is used for picking values
  2400.       from the tables. More than one variable may be assigned values.
  2401.  
  2402.       12. PGCAL uses the following format for the tables:
  2403.  
  2404.       The table file is row and column oriented.
  2405.  
  2406.       Header row:
  2407.  
  2408.       The first non comment - non blank row should be the header row. The 
  2409.       header row has following format. 
  2410.  
  2411.            P1   |   P2 |   P3 |   P4 |  P5  |   P6  
  2412.  
  2413.       Here P1,P2 etc are the variable names for the columns, which can be
  2414.       maximum 10 character long. There can be a maximum of 100 columns.
  2415.  
  2416.       Value rows:
  2417.  
  2418.       There should be at least one row giving the values of these variables.
  2419.       ALL the values for every row must be supplied. 
  2420.  
  2421.  
  2422.            V11   |   V12 |   V13 |   V14 |  V15  |   V16  
  2423.            V21   |   V22 |   V23 |   V24 |  V25  |   V26  
  2424.            V31   |   V32 |   V33 |   V34 |  V35  |   V36  
  2425.            V41   |   V42 |   V43 |   V44 |  V45  |   V46  
  2426.            :            :       :       :       :       :
  2427.  
  2428.       Here V11,V12 etc are the values for the columns. The values can be
  2429.       only real (e.g. 10.3, 0.0 , -2.0) or integer ( 3,0,-3324). 
  2430.       There is no limit to number of rows in a table.
  2431.  
  2432.       Separator:
  2433.  
  2434.       The use of vertical bar ("|") is optional.
  2435.  
  2436.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        34 
  2437.  
  2438.                            Appendix E.
  2439.  
  2440.       Features of ParaDraft Trial version
  2441.  
  2442.          o Parametric Drafting for the industry standard - AutoCAD
  2443.  
  2444.          o Converts a dimensioned AutoCAD drawing into a parametric AutoLISP
  2445.            program for drawing the geometry
  2446.  
  2447.          o Based on an expert system for geometry parameterisation that uses
  2448.            "Heuristics" and "Geometrical Reasoning"
  2449.  
  2450.          o Allows convenient customization of the generated programs
  2451.            for calculating the dimension values from the key dimensions
  2452.  
  2453.          o Allows convenient customization of the user interface
  2454.  
  2455.          o Uses standard dimensioning conventions for the input drawing
  2456.  
  2457.          o Supports line,circle and arc entities
  2458.  
  2459.          o Supports all AutoCAD dimension types 
  2460.  
  2461.          o Understands implied geometric constructs
  2462.  
  2463.          o Free trial period 
  2464.  
  2465.          o Registered and Professional versions are available
  2466.  
  2467.  
  2468.       The following tables gives the comparative features of the
  2469.       shareware (trial), registered(extended) and professional version
  2470.       of Paradraft. The features are divided into the three categories:
  2471.  
  2472.       I.   Features of the parent geometry
  2473.       II.  Features of the generated programs
  2474.       III. customization features
  2475.  
  2476.       Features available only in the ParaDraft Professional are marked
  2477.       with an asterix (*) in these tables.
  2478.  
  2479.  
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        35 
  2495.  
  2496.       Features of the parent geometry
  2497.       -------------------------------
  2498.  
  2499.       The following are the features for the specification of the
  2500.       geometry to be parameterised as parent geometry. Coprocessor
  2501.       support is available with only extended and professional 
  2502.       versions.
  2503.  
  2504.  
  2505.          +-----+-------------------+-----------+------------+----------------+
  2506.          |  Sr | Feature  of the   |   Trial   |  Extended  | Professional   |
  2507.          |     | Parent Geometry   |   version |  version   | version        |
  2508.          +-----+-------------------+-----------+------------+----------------+
  2509.          |  1. |  Support for      |      Y    |     Y      |     Y          |
  2510.          |     |  LINE,ARC and     |           |            |                |
  2511.          |     |  CIRCLE entities  |           |            |                |
  2512.          |     |                   |           |            |                |
  2513.          |  2. |  Support for      |      N    |     N      |     Y    *     |
  2514.          |     |  POLYLINE entity  |           |            |                |
  2515.          |     |                   |           |            |                |
  2516.          |  3. |  Support for      |      Y    |     Y      |     Y          |
  2517.          |     |  layer and line-  |           |            |                |
  2518.          |     |  type of entities |           |            |                |
  2519.          |     |                   |           |            |                |
  2520.          |  4. |  Support for      |      Y    |     Y      |     Y          |
  2521.          |     |  specification    |           |            |                |
  2522.          |     |  of symmetry      |           |            |                |
  2523.          |     |  condition        |           |            |                |
  2524.          |     |                   |           |            |                |
  2525.          |  5. |  Support for      |      Y    |     Y      |     Y          |
  2526.          |     |  ALL dimension    |           |            |                |
  2527.          |     |  types, except    |           |            |                |
  2528.          |     |  leader           |           |            |                |
  2529.          |     |                   |           |            |                |
  2530.          |  6. |  Support for      |      N    |     N      |     Y    *     |
  2531.          |     |  EXPLODED         |           |            |                |
  2532.          |     |  dimensions       |           |            |                |
  2533.          |     |                   |           |            |                |
  2534.          |  7. |  Support for      |      N    |     N      |     Y    *     |
  2535.          |     |  offset dimensions|           |            |                |
  2536.          |     |  and geometry     |           |            |                |
  2537.          |     |                   |           |            |                |
  2538.          |  8. |  Support for      |      N    |     Y      |     Y          |
  2539.          |     |  unspecified      |           |            |                |
  2540.          |     |  fillet radius    |           |            |                |
  2541.          |     |                   |           |            |                |
  2542.          |  9. |  Support for      |      N    |     N      |     Y    *     |
  2543.          |     |  hatching         |           |            |                |
  2544.          |     |  specification    |           |            |                |
  2545.          |     |                   |           |            |                |
  2546.          +-----+-------------------+-----------+------------+----------------+
  2547.          |     Y - feature available           N - feature not available     |
  2548.          +-----+-------------------+-----------+------------+----------------+
  2549.                                                                      ...contd
  2550.  
  2551.  
  2552.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        36 
  2553.  
  2554.  
  2555.          Features of the parent geometry (contd.)
  2556.          ---------------------------------------
  2557.  
  2558.          +-----+-------------------+-----------+------------+----------------+
  2559.          |  Sr | Feature  of the   |   Trial   |  Extended  | Professional   |
  2560.          |     | Parent Geometry   |   version |  version   | version        |
  2561.          +-----+-------------------+-----------+------------+----------------+
  2562.          | 10. |  Support for      |      N    |     N      |     Y    *     |
  2563.          |     |  specification    |           |            |                |
  2564.          |     |  of dimensions    |           |            |                |
  2565.          |     |  not to be drawn  |           |            |                |
  2566.          |     |                   |           |            |                |
  2567.          | 11. |  Support for      |      N    |     N      |     Y    *     |
  2568.          |     |  specification    |           |            |                |
  2569.          |     |  of fixed geometry|           |            |                |
  2570.          |     |  to be attached   |           |            |                |
  2571.          |     |  (block insertion)|           |            |                |
  2572.          |     |                   |           |            |                |
  2573.          | 12. |  Heuristics and   |           |            |                |
  2574.          |     |  geometric        |      Y    |     Y      |     Y          |
  2575.          |     |  reasoning for    |           |            |                |
  2576.          |     |  parameterisation |           |            |                |
  2577.          |     |                   |           |            |                |
  2578.          | 13. |  Specification    |           |            |                |
  2579.          |     |  of geometry      |      Y    |     Y      |     Y          |
  2580.          |     |  with geometric   |           |            |                |
  2581.          |     |  constructions    |           |            |                |
  2582.          |     |                   |           |            |                |
  2583.          | 14. |  Limit on number  |      Y    |     N      |     N          |
  2584.          |     |  of points in     |           |            |                |
  2585.          |     |  the geometry     |           |            |                |
  2586.          |     |                   |           |            |                |
  2587.          +-----+-------------------+-----------+------------+----------------+
  2588.          |     Y - feature available           N - feature not available     |
  2589.          +-----+-------------------+-----------+------------+----------------+
  2590.  
  2591.          * Features available only in the ParaDraft Professional
  2592.  
  2593.  
  2594.  
  2595.  
  2596.  
  2597.  
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.  
  2604.  
  2605.  
  2606.  
  2607.  
  2608.  
  2609.  
  2610.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        37 
  2611.  
  2612.  
  2613. Features of the generated programs
  2614. ----------------------------------
  2615.  
  2616.         The following are the features of the programs generated by each of
  2617.         the versions of ParaDraft.
  2618.  
  2619.          The shareware versions of ParaDraft do not have the dimensioning
  2620.          feature for the output drawing. With ParaDraft Professional you
  2621.          can develop applications where you produce fully dimensioned and
  2622.          annotated drawings. The sample "PULLEY" shows the kind of
  2623.          results that can be achieved. Please note that the PgProgram of
  2624.          "PULLEY" is an un-retouched output of the ParaDraft Professional.
  2625.  
  2626.  
  2627.          +-----+-------------------+-----------+------------+----------------+
  2628.          |  Sr | Feature  of the   |   Trial   |  Extended  | Professional   |
  2629.          |     | generated program |   version |  version   | version        |
  2630.          +-----+-------------------+-----------+------------+----------------+
  2631.          | 1.  |  Draws the        |      Y    |     Y      |     Y          |
  2632.          |     |  LINE,ARC and     |           |            |                |
  2633.          |     |  CIRCLE entities  |           |            |                |
  2634.          |     |                   |           |            |                |
  2635.          | 2.  |  Draws the        |      N    |     N      |     Y    *     |
  2636.          |     |  POLYLINE         |           |            |                |
  2637.          |     |                   |           |            |                |
  2638.          | 3.  |  Draws all the    |      N    |     N      |     Y          |
  2639.          |     |  dimensions       |           |            |                |
  2640.          |     |  types, except    |           |            |                |
  2641.          |     |  leader           |           |            |                |
  2642.          |     |                   |           |            |                |
  2643.          | 4.  |  Performs the     |      N    |     N      |     Y  *       |
  2644.          |     |  hatching         |           |            |                |
  2645.          |     |                   |           |            |                |
  2646.          | 5.  |  Explains  the    |      N    |     N      |     Y  *       |
  2647.          |     |  parameterisation |           |            |                |
  2648.          |     |                   |           |            |                |
  2649.          | 6.  |  Inserts the      |      N    |     N      |     Y   *      |
  2650.          |     |  fixed geometry   |           |            |                |
  2651.          |     |  as specified     |           |            |                |
  2652.          |     |  (block insertion)|           |            |                |
  2653.          |     |                   |           |            |                |
  2654.          | 7.  |  Explains  the    |      N    |     N      |     Y  *       |
  2655.          |     |  problems of      |           |            |                |
  2656.          |     |  parameterisation |           |            |                |
  2657.          +-----+-------------------+-----------+------------+----------------+
  2658.          |     Y - feature available           N - feature not available     |
  2659.          +-----+-------------------+-----------+------------+----------------+
  2660.  
  2661.  
  2662.          * Features available only in the ParaDraft Professional
  2663.  
  2664.  
  2665.  
  2666.  
  2667.  
  2668.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        38 
  2669.  
  2670.  
  2671.  
  2672.  
  2673.          Customization features
  2674.          ----------------------
  2675.  
  2676.      Some of the cutomization features and related programs are a part of 
  2677.      PGRUN, the runtime component of ParaDraft. (1,2,3 & 6)
  2678.  
  2679.  
  2680.          +-----+-------------------+-----------+------------+----------------+
  2681.          |  Sr | customization of  |   Trial   |  Extended  | Professional   |
  2682.          |     | generated programs|   version |  version   | version        |
  2683.          +-----+-------------------+-----------+------------+----------------+
  2684.          | 1.  |  PGCAL interface  |      Y    |     Y      |     Y          |
  2685.          |     |  for formulae     |           |            |                |
  2686.          |     |                   |           |            |                |
  2687.          | 2.  |  PGCAL interface  |      Y    |     Y      |     Y          |
  2688.          |     |  for standard     |           |            |                |
  2689.          |     |  table lookup     |           |            |                |
  2690.          |     |                   |           |            |                |
  2691.          | 3.  |  customizable     |      Y    |     Y      |     Y          |
  2692.          |     |  user interface   |           |            |                |
  2693.          |     |                   |           |            |                |
  2694.          | 4.  |  Modifiable       |      N    |     Y      |     Y          |
  2695.          |     |  AutoLISP program |           |            |                |
  2696.          |     |                   |           |            |                |
  2697.          | 5.  |  Configurable     |      N    |     N      |     Y    *     |
  2698.          |     |  AutoLISP program |           |            |                |
  2699.          |     |                   |           |            |                |
  2700.          | 6.  |  GW-BASIC         |      N    |     Y      |     Y          |
  2701.          |     |  interface        |           |            |                |
  2702.          |     |                   |           |            |                |
  2703.          | 7.  |  Turbo-Pascal 5.5 |      N    |     N      |     Y    *     |
  2704.          |     |  interface        |           |            |                |
  2705.          |     |                   |           |            |                |
  2706.          +-----+-------------------+-----------+------------+----------------+
  2707.          |     Y - feature available           N - feature not available     |
  2708.          +-----+-------------------+-----------+------------+----------------+
  2709.  
  2710.          * Features available only in the ParaDraft Professional
  2711.  
  2712.  
  2713.  
  2714.  
  2715.  
  2716.  
  2717.  
  2718.  
  2719.  
  2720.  
  2721.  
  2722.  
  2723.  
  2724.  
  2725.  
  2726.   ParaDraft Trial Manual        Copyright 1991, ParaWare Systems        39 
  2727.