!   TITLE:  ln_fillet_group.mac (SM_TOOL)
!
!                        Created option for creating KP's at the center of
!                        the fillets (argument 11).
!
!   OBJECTIVE:
!
!   This sub-macro creates a group of line fillets at specified junction key-
!   points.
!
!
!   COMMAND SYNTAX:
!
!                         (1)   (2) (3)   (4) (5)   (6) (7)   (8) (9)  (10)
!        LN_FILLET_GROUP, jkp1, r1, jkp2, r2, jkp3, r3, jkp4, r4, jkp5, r5,
!
!                          (11)
!                         kp@cntr
!
!
!   ARGUMENTS:
!
!       (1,3,5,7,9) jkpN = the junction keypoint number at which to create
!                          fillet.
!
!       (2,4,6,8,10) rN = the radius of the fillet to be created at the
!                         corresponding junction KP, jkpN.
!
!       (11) kp@cntr = generates KP at the center point of the fillet radii:
!                      (see documentation of KP@CNTR argument in LN_FILLET.MAC)
!
!                   0 (or blank) = (negative) boolean operator for keypoint
!                                  generation at fillet center.
!
!                   1 =  (positive) boolean operator for keypoint generation
!                        at fillet center. This automatically generates a center
!                        keypoint with a default offset value of 1 from the new
!                        fillet arc maximum end-keypoint.
!
!                   N = an arbitrarily chosen integer value greater than 0
!                       (N=2,3,4,.....). This argument enables the generation of
!                       a KP at the fillet arc center, assigning this KP a number
!                       equal to the numerical value of this argument plus the
!                       maximum keypoint number that is one of the end KP's of
!                       the fillet arc created (km+N).
!
!
!   DESCRIPTION:
!
!   This macro creates multiple fillets at multiple junction-keypoints with
!   different fillet radii. It allows the user to pick specific points in a
!   line profile/set and create a fillet at that point with a specific
!   radius. As a result, this macro will alleviate multiple LN_FILLET macro
!   calls, thereby maximizing the efficiency of creating part macros.
!
!   The argument structure is arranged such that 5 fillets may be created
!   for each call/use of this macro command. The 10 arguments are set up such
!   that each argument pair is a junction-keypoint, and a radius at that junc-
!   tion.
!
!   Starting with the 1st argument, JKP1, as the 1st junction keypoint, R1 is
!   the 2nd argument, corresponding to the fillet radius to be created at the
!   junction keypoint, JKP1. Likewise, arguments 3 and 4 are the junction
!   -keypoint/radius pair, JKP2 and R2, etc. Therefore, arguments 1, 3, 5, 7
!   and 9 are the junction-keypoint values, and arguments 2, 4, 6, 8 and 10
!   are the radius values.
!
!   In the event that it is desired to create keypoints at the fillet centers,
!   argument 11 may be used to specify their creation and/or the desired
!   numbering offset of those keypoints. If there is no particular choice or
!   reason to choose a particular offset value, then it is recommended to use
!   the simple boolean values (0 or 1). See the documentation of LN_FILLET.MAC
!   concerning the use of this option. The input value of this argument is
!   transferred to the LN_FILLET.MAC command.
!
!
!
*get,prkey_,active,0,prkey
/nopr
!
*if,ar11,eq,0,then
    kpc_=0
*elseif,ar11,eq,1,then
    kpc_=1
*elseif,ar11,ge,2,then
    kpc_=ar11
*else
    kpc_=0
*endif
!
*do,abc_,1,9,2
    *if,arg%abc_%,gt,0,then
        jkp_%abc_%=arg%abc_%
        !
        *if,abc_,lt,9,then
            rad_%abc_%=arg%abc_+1%
        *else
            rad_%abc_%=ar%abc_+1%
        *endif
    *endif
*enddo
!
*do,abc_,1,9,2
    *if,jkp_%abc_%,gt,0,then
        *if,abc_,lt,9,then
            ln_fillet,jkp_%abc_%,arg%abc_+1%,kpc_
        *else
            ln_fillet,jkp_%abc_%,ar%abc_+1%,kpc_
        *endif
    *endif
*enddo
!
*do,abc_,1,9,2
    *if,jkp_%abc_%,gt,0,then
        *set,jkp_%abc_%
        *set,rad_%abc_%
    *endif
*enddo
!
*set,kpc_
!
init_entity_num
!
lplot
!
*if,prkey_,eq,1,then
    /go
*endif