+ Reply to Thread
Results 1 to 10 of 10
  1. #1
    Full Member
    Using
    AutoCAD 2012
    Join Date
    Aug 2006
    Location
    Fife, Scotland
    Posts
    33

    Default Structural Steel Section Pull Down Menu

    Registered forum members do not see this ad.

    Ok people this is my first post and I have had a read through the site, I'm currently looking for a program which allows you via pull down menu to select a steel section (British) I used to have one at my last place of work which saved mega time and effort. It was called Turbo steel and basically it inserted the section of your choice to scale. If anyone out there has a similar menufile could you please post it for myself and the rest of the members.

    Thank you

    Scottish-lawd

  2. #2
    Senior Member pefi's Avatar
    Using
    AutoCAD 2012
    Join Date
    Jul 2006
    Location
    Cork, Ireland
    Posts
    224

    Default

    Maybe by chance it's that:
    http://www.draftsperson.net/index.ph..._Lisp_routines
    If it's that you can try to help here
    http://cadtutor.net/forum/viewtopic.php?t=8973

    Przemo

  3. #3
    Senior Member
    Using
    not specified
    Join Date
    Aug 2005
    Location
    Manchester, England
    Posts
    162

    Default Answer - Part 1 of 3

    Hi Scottish-lawd...

    You're in luck - I'm not often on this site any more, but I do have what you're looking for...you'll need three files - here's the first

    Code:
    (defun C:STEELS (/ SIZA dcl_id)
      (initerr)
      (setq userclick1 T)
      (setvar "OSMODE" 0)
      (setvar "CMDECHO" 0)
      (setq SIZA "UBEAM")
      (setq dcl_id (load_dialog "steels.dcl"))
      (if (not (new_dialog "steels" dcl_id))
        (exit)
      )
      (setq w (dimx_tile "im")
           h (dimy_tile "im"))
         (start_image "im")
         (fill_image 0 0 w h 5)
         (setq w1 (/ w 2))
         (setq h1 (/ h 2))
         (vector_image 0 h w1 0 2)
         (vector_image w1 0 w h 2)
         (vector_image 0 h w1 h1 2)
         (vector_image w1 h1 w h 2)
         (end_image)
      (action_tile
        "UB"
        "(setq SIZA \"UBEAM\")"
      )
      (action_tile
        "UC"
        "(setq SIZA \"UCOLUM\")"
      )
      (action_tile
        "JO"
        "(setq SIZA \"JOIST\")"
      )
      (action_tile
        "TFC"
        "(setq SIZA \"CHAN\")"
      )
      (action_tile
        "PFC"
        "(setq SIZA \"PCHAN\")"
      )
      (action_tile
        "ELA"
        "(setq SIZA \"RSA\")"
      )
      (action_tile
        "ULA"
        "(setq SIZA \"URSA\")"
      )
      (action_tile
        "RCR"
        "(setq SIZA \"SHOLL\")"
      )
      (action_tile
        "CCR"
        "(setq SIZA \"CHOLL\")"
      )
      (action_tile
        "cancel"
        "(done_dialog)(setq userclick nil)"
      )
      (action_tile
        "accept"
        "(done_dialog) (setq userclick T)"
      )
      (start_dialog)
      (unload_dialog dcl_id)
      (if userclick
        (progn
          (if (eq SIZA "UBEAM")
        (UBEAM)
          )
          (if (eq SIZA "UCOLUM")
        (UCOLUM)
          )
          (if (eq SIZA "JOIST")
        (JOIST)
          )
          (if (eq SIZA "CHAN")
        (CHAN)
          )
          (if (eq SIZA "CHOLL")
        (CHOLL)
          )
          (if (eq SIZA "RSA")
        (RSA)
          )
          (if (eq SIZA "URSA")
        (URSA)
          )
          (if (eq SIZA "SHOLL")
        (SHOLL)
          )
          (if (eq SIZA "PCHAN")
        (PCHAN)
          )
        )                    ;progn
      )                    ;if
      (reset)
      (if (= userclick1 nil)
        (c:steels)
      );  
      (princ)
    )                    ;defun
                        ;*
    
    
    (defun UBEAM (/        SIZA      size    file  fp    item  data    maxs  count
              chrct numb  dlist    X     Y        Z      IP    P1    P2
              P3    P4      P5    P6    P7    P8      P9    P10   P11
              P12   P13      P14    P15   P16   P17      P18    P19   P20
              P21   NAMES
             )
    ;;;*---------------------------------------------------------
    ;;;*CONVERT TO RADIANS
      (setq    X (* pi (/ 90.0 180.0))
        Y pi
        Z (* pi (/ 270.0 180.0))
      )                    ;setq
    ;;;*----------------------------------------------------------
    ;;;*INITIALISE
      (setvar "CMDECHO" 0)
      (setq    NAMES '("127x76x13"        "152x89x16"
            "178x102x19"        "203x102x23"
            "203x133x25"        "203x133x30"
            "254x102x22"        "254x102x25"
            "254x102.28"        "254x146x31"
            "254x146x37"        "254x146x43"
            "305x102x25"        "305x102x28"
            "305x102x33"        "305x127x37"
            "305x127x42"        "305x127x48"
            "305x165x40"        "305x165x46"
            "305x165x54"        "356x127x33"
            "356x127x39"        "356x171x45"
            "356x171x51"        "356x171x57"
            "356x171x67"        "406x140.39"
            "406x140x46"        "406x178x54"
            "406x178x60"        "406x178x67"
            "406x178x74"        "457x152x52"
            "457x152x60"        "457x152x67"
            "457x152x74"        "457x152x82"
            "457x191x67"        "457x191x74"
            "457x191x82"        "457x191x89"
            "457x191x98"        "533x210x82"
            "533x210x92"        "533x210x101"
            "533x210x109"        "533x210x122"
            "610x229x101"        "610x229x113"
            "610x229x125"        "610x229x140"
            "610x305x149"        "610x305x179"
            "610x305x238"        "686x254x125"
            "686x254x140"        "686x254x152"
            "686x254x170"        "762x267x134"
            "762x267x147"        "762x267x173"
            "762x267x197"        "838x292x176"
            "838x292x194"        "838x292x226"
            "914x305x201"        "914x305x224"
            "914x305x253"        "914x305x289"
            "914x419x343"        "914x419x388"
            "1016x305x222"        "1016x305x249"
            "1016x305x272"        "1016x305x314"
            "1016x305x349"        "1016x305x393"
            "1016x305x437"        "1016x305x487"
               )
      )
      (setq dcl_id (load_dialog "steels.dcl"))
      (if (not (new_dialog "ubeam" dcl_id))
        (exit)
      )
      (start_list "selections")
      (mapcar 'add_list NAMES)
      (end_list)
      (action_tile
        "cancel"
        "(done_dialog) (setq userclick1 nil)"
      )
      (action_tile
        "accept"
        (strcat
          "(progn (setq SIZA (atof (get_tile \"selections\")))"
          "(done_dialog) (setq userclick1 T))"
        )
      )
      (start_dialog)
      (unload_dialog dcl_id)
      (if userclick1
        (progn
          (setq SIZA (fix SIZA))
          (setq SIZA (nth SIZA NAMES))
          (grab)
    ;;;*THIS ROUTINE DRAWS A UNIVERSAL BEAM.
          (mapcar 'set '(H B T1 T2 R1) dlist)
          (setvar "OSMODE" OLDSNAP)
          (while
          (setq IP (getpoint "\nInsertion Point: "))
          (setvar "OSMODE" 0)
          (setq P1    (polar IP 0 (/ T1 2))
            P2    (polar P1 X (/ (- H (+ T2 T2 R1 R1)) 2))
            P3    (polar P2 X R1)
            P4    (polar P3 0 R1)
            P5    (polar P4 0 (/ (- B (+ T1 R1 R1)) 2))
            P6    (polar P5 X T2)
            P7    (polar P6 Y B)
            P8    (polar P7 Z T2)
            P9    (polar P8 0 (/ (- B (+ T1 R1 R1)) 2))
            P10    (polar P9 0 R1)
            P11    (polar P10 Z R1)
            P12    (polar P11 Z (- H (+ T2 T2 R1 R1)))
            P13    (polar P12 Z R1)
            P14    (polar P13 Y R1)
            P15    (polar P14 Y (/ (- B (+ T1 R1 R1)) 2))
            P16    (polar P15 Z T2)
            P17    (polar P16 0 B)
            P18    (polar P17 X T2)
            P19    (polar P18 Y (/ (- B (+ T1 R1 R1)) 2))
            P20    (polar P19 Y R1)
            P21    (polar P20 X R1)
          )                    ;setq
          (command "PLINE"         P1        "W"       "0.0"  "0.0"     P2    "ARC"
               P4     "LINE" P5        P6       P7      P8     P9    "ARC"
               P11    "LINE" P12    "ARC"  P14      "LINE" P15    P16
               P17    P18    P19    "ARC"  P21      "LINE" P1    ""
              )                ;command         
          (prompt "\nRotation Angle: ")
          (command "ROTATE"
               "LAST"
               ""
               IP
               pause
          );command
         (setvar "OSMODE" OLDSNAP)
        );while  
    ;;;*---------------------------------------------------------
        )                    ;progn
      )                    ;if
      (princ)
    )                    ;defun UBEAM
    
    
    
    
    (defun UCOLUM (/     SIZA   size     file  fp    item  data     maxs  count
               chrct numb  dlist X     Y     Z       IP     P1    P2
               P3    P4       P5     P6    P7    P8       P9     P10   P11
               P12   P13   P14     P15   P16   P17   P18     P19   P20
               P21   NAMES
              )
    ;;;*---------------------------------------------------------
    ;;;*CONVERT TO RADIANS
      (setq    X (* pi (/ 90.0 180.0))
        Y pi
        Z (* pi (/ 270.0 180.0))
      )                    ;setq
    ;;;*----------------------------------------------------------
    ;;;*INITIALISE
      (setvar "CMDECHO" 0)
      (setq    NAMES '("152x152x23"       "152x152x30"
            "152x152x37"       "203x203x46"
            "203x203x52"       "203x203x60"
            "203x203x72"       "203x203x86"
            "254x254x73"       "254x254x89"
            "254x254x107"       "254x254x132"
            "254x254x167"       "305x305x97"
            "305x305x118"       "305x305x137"
            "305x305x158"       "305x305x198"
            "305x305x240"       "305x305x283"
               )
      )
      (setq dcl_id (load_dialog "steels.dcl"))
      (if (not (new_dialog "ucolum" dcl_id))
        (exit)
      )
      (start_list "selections")
      (mapcar 'add_list NAMES)
      (end_list)
      (action_tile
        "cancel"
        "(done_dialog) (setq userclick1 nil)"
      )
      (action_tile
        "accept"
        (strcat
          "(progn (setq SIZA (atof (get_tile \"selections\")))"
          " (done_dialog)(setq userclick1 T))"
        )
      )
      (start_dialog)
      (unload_dialog dcl_id)
      (if userclick1
        (progn
          (setq SIZA (fix SIZA))
          (setq SIZA (nth SIZA NAMES))
          (grab)
    ;;;*THIS ROUTINE DRAWS A UNIVERSAL COLUMN.
          (mapcar 'set '(H B T1 T2 R1) dlist)
          (setvar "OSMODE" OLDSNAP)
          (while
          (setq IP (getpoint "\nInsertion Point: "))
          (setvar "OSMODE" 0)
          (setq P1    (polar IP 0 (/ T1 2))
            P2    (polar P1 X (/ (- H (+ T2 T2 R1 R1)) 2))
            P3    (polar P2 X R1)
            P4    (polar P3 0 R1)
            P5    (polar P4 0 (/ (- B (+ T1 R1 R1)) 2))
            P6    (polar P5 X T2)
            P7    (polar P6 Y B)
            P8    (polar P7 Z T2)
            P9    (polar P8 0 (/ (- B (+ T1 R1 R1)) 2))
            P10    (polar P9 0 R1)
            P11    (polar P10 Z R1)
            P12    (polar P11 Z (- H (+ T2 T2 R1 R1)))
            P13    (polar P12 Z R1)
            P14    (polar P13 Y R1)
            P15    (polar P14 Y (/ (- B (+ T1 R1 R1)) 2))
            P16    (polar P15 Z T2)
            P17    (polar P16 0 B)
            P18    (polar P17 X T2)
            P19    (polar P18 Y (/ (- B (+ T1 R1 R1)) 2))
            P20    (polar P19 Y R1)
            P21    (polar P20 X R1)
          )                    ;setq
          (command "PLINE"         P1        "W"       "0.0"  "0.0"     P2    "ARC"
               P4     "LINE" P5        P6       P7      P8     P9    "ARC"
               P11    "LINE" P12    "ARC"  P14      "LINE" P15    P16
               P17    P18    P19    "ARC"  P21      "LINE" P1    ""
              )                ;command         
          (prompt "\nRotation Angle: ")
          (command "ROTATE"
               "LAST"
               ""
               IP
               pause
          )                    ;command
          (setvar "OSMODE" OLDSNAP)
          );while
    ;;;*---------------------------------------------------------
        )                    ;progn
      )                    ;if
      (princ)
    )                    ;defun UCOLUM
    
    (defun CHAN (/      SIZA  size file fp   item data    maxs count     chrct
             numb dlist        X     Y    Z       IP    P1   P2      P3   P4
             P5      P6   P7   P8     P9   P10  P11    P15  P16  P17  H1
             H2      H3   H4   H5     B1   B2   B3    B4   NAMES
            )
    ;;;*---------------------------------------------------------
    ;;;*CONVERT TO RADIANS
      (setq    X (* pi (/ 90.0 180.0))
        Y pi
        Z (* pi (/ 270.0 180.0))
      )                    ;setq
    ;;;*----------------------------------------------------------
    ;;;*INITIALISE
      (setvar "CMDECHO" 0)
      (setq    NAMES '("100x50x11"     "120x55x13"      "140x60x16"
            "160x65x19"     "180x70x22"      "200x75x25"
            "220x80x29"     "240x85x32"      "260x90x38"
            "300x100x46"     "76x38x7"      "127x64x15"
            "152x76x18"     "178x54x15"      "381x102x55"
               )
      )
      (setq dcl_id (load_dialog "steels.dcl"))
      (if (not (new_dialog "chan" dcl_id))
        (exit)
      )
      (start_list "selections")
      (mapcar 'add_list NAMES)
      (end_list)
      (action_tile
        "cancel"
        "(done_dialog) (setq userclick1 nil)"
      )
      (action_tile
        "accept"
        (strcat
          "(progn (setq SIZA (atof (get_tile \"selections\")))"
          " (done_dialog)(setq userclick1 T))"
        )
      )
      (start_dialog)
      (unload_dialog dcl_id)
      (if userclick1
        (progn
          (setq SIZA (fix SIZA))
          (setq SIZA (nth SIZA NAMES))
          (grab)
    ;;;*THIS ROUTINE DRAWS A TAPERED FLANGE CHANNEL.
    ;;;*
          (mapcar 'set '(H B H1 H2 H3 H4 H5 B1 B2 B3 B4) dlist)
          (setvar "OSMODE" OLDSNAP)
          (while
         (setq IP (getpoint "\nInsertion Point: "))
          (setvar "OSMODE" 0)
          (setq P1    (polar IP Z H)
            P2    (polar P1 0 B)
            P3    (polar P2 X H1)
            P4    (polar P3 X H2)
            P5    (polar P4 Y B4)
            P6    (polar P5 Y B3)
            P7    (polar P6 X H3)
            P8    (polar P7 Y B2)
            P9    (polar P8 X H4)
            P10    (polar P9 X H5)
            P11    (polar P10 X H4)
            P12    (polar P11 0 B2)
            P13    (polar P12 X H3)
            P14    (polar P13 0 B3)
            P15    (polar P14 0 B4)
            P16    (polar P15 X H2)
            P17    (polar P16 X H1)
          )                    ;setq
          (command "PLINE"         IP        "W"       "0.0"  "0.0"     P1    P2
               P3     "ARC"  P5        "LINE" P7      "ARC"     P9    "LINE"
               P10    "ARC"  P12    "LINE" P14      "ARC"     P16    "LINE"
               P17    "Close"
              )                ;command         
          (prompt "\nRotation Angle: ")
          (command "ROTATE"
               "LAST"
               ""
               IP
               pause
          )                    ;command
          (setvar "OSMODE" OLDSNAP)
          );while
    ;;;*---------------------------------------------------------
        )                    ;progn
      )                    ;if
      (princ)
    )                    ;defun CHAN
    
    (defun CHOLL (/ D D1 IP)
      (setvar "CMDECHO" 0)
      (setvar "OSMODE" OLDSNAP)
      (initget 1)
      (setq    IP (getpoint "\nInsertion Point: ")
        D  (getreal "\nOutside Diameter: ")
        D1 (getreal "\nInside Diameter: ")
        D  (/ D 2)
        D1 (/ D1 2)
      )                    ;setq
      (setvar "OSMODE" 0)
      (command "CIRCLE"
           IP
           D
           "CIRCLE"
           IP
           D1
      )                    ;command
      (princ)
    )
    
    (defun RSA (/      SIZA    fp    size  file  item    data  maxs  count chrct
            numb  dlist    A     C        IP      P1    P2    P3    P4      P5
            P6      P7    P8    P9    P10      P11    NAMES
           )
    ;;;*---------------------------------------------------------
    ;;;*CONVERT TO RADIANS
      (setq    A (* pi (/ 90.0 180.0))
        C pi
      )                    ;setq
    ;;;*----------------------------------------------------------
    ;;;*INITIALISE
      (setvar "CMDECHO" 0)
      (setq    NAMES '("25x25x3"    "25x25x5"    "30x30x3"
            "30x30x5"    "40x40x3"    "40x40x5"
            "40x40x6"    "45x45x3"    "45x45x5"
            "45x45x6"    "50x50x5"    "50x50x6"
            "50x50x8"    "60x60x5"    "60x60x6"
            "60x60x8"    "60x60x10"    "70x70x6"
            "70x70x8"    "70x70x10"    "80x80x6"
            "80x80x8"    "80x80x10"    "80x80x12"
            "90x90x8"    "90x90x10"    "90x90x12"
            "100x100x8"    "100x100x10"    "100x100x12"
            "100x100x15"    "120x120x10"    "120x120x12"
            "120x120x15"    "150x150x12"    "150x150x15"
            "150x150x18"    "200x200x16"    "200x200x18"
            "200x200x20"    "200x200x24"
               )
      )
      (setq dcl_id (load_dialog "steels.dcl"))
      (if (not (new_dialog "rsa" dcl_id))
        (exit)
      )
      (start_list "selections")
      (mapcar 'add_list NAMES)
      (end_list)
      (action_tile
        "cancel"
        "(done_dialog) (setq userclick1 nil)"
      )
      (action_tile
        "accept"
        (strcat
          "(progn (setq SIZA (atof (get_tile \"selections\")))"
          " (done_dialog)(setq userclick1 T))"
        )
      )
      (start_dialog)
      (unload_dialog dcl_id)
      (if userclick1
        (progn
          (setq SIZA (fix SIZA))
          (setq SIZA (nth SIZA NAMES))
          (grab)
    ;;;*THIS ROUTINE DRAWS A ROLLED STEEL ANGLE.
          (mapcar 'set '(H B T1 R1 R2) dlist)
          (setvar "OSMODE" OLDSNAP)
          (while
          (setq IP (getpoint "\nInsertion Point: "))
          (setvar "OSMODE" 0)
          (setq P1    (polar IP 0 B)
            P2    (polar P1 A (- T1 R2))
            P3    (polar P2 A R2)
            P4    (polar P3 C R2)
            P5    (polar P4 C (- B (+ T1 R1 R2)))
            P6    (polar P5 C R1)
            P7    (polar P6 A R1)
            P8    (polar P7 A (- H (+ T1 R1 R2)))
            P9    (polar P8 A R2)
            P10    (polar P9 C R2)
            P11    (polar P10 C (- T1 R2))
          )                    ;setq
          (command "PLINE"         IP        "W"       "0.0"  ""     P1    P2
               "ARC"  P4     "LINE" P5       "ARC"  P7     "LINE"    P8
               "ARC"  P10    "LINE" P11       "Close"
              )                ;command         
          (prompt "\nRotation Angle: ")
          (command "ROTATE"
               "LAST"
               ""
               IP
               pause
          )                    ;command
          (setvar "OSMODE" OLDSNAP)
          );while
    ;;;*---------------------------------------------------------
        )                    ;progn
      )                    ;if
      (princ)
    )                    ;defun RSA
    
    (defun URSA (/       SIZA     size  file  fp       item     data  maxs  count
             chrct numb     dlist A     C       IP     P1    P2    P3
             P4       P5     P6    P7    P8       P9     P10   P11   NAMES
            )
    ;;;*---------------------------------------------------------
    ;;;*CONVERT TO RADIANS
      (setq    A (* pi (/ 90.0 180.0))
        C pi
      )                    ;setq
    ;;;*----------------------------------------------------------
    ;;;*INITIALISE
      (setvar "CMDECHO" 0)
      (setq    NAMES '("65x50x6"    "65x50x8"    "75x50x6"
            "75x50x8"    "80x60x6"    "80x60x8"
            "90x65x6"    "90x65x8"    "90x65x10"
            "100x65x8"    "100x65x10"    "100x75x6"
            "100x75x8"    "100x75x10"    "100x75x12"
            "125x75x8"    "125x75x10"    "125x75x12"
            "150x75x10"    "150x75x12"    "150x75x15"
            "150x90x10"    "150x90x12"    "150x90x15"
               )
      )
      (setq dcl_id (load_dialog "steels.dcl"))
      (if (not (new_dialog "ursa" dcl_id))
        (exit)
      )
      (start_list "selections")
      (mapcar 'add_list NAMES)
      (end_list)
      (action_tile
        "cancel"
        "(done_dialog) (setq userclick1 nil)"
      )
      (action_tile
        "accept"
        (strcat
          "(progn (setq SIZA (atof (get_tile \"selections\")))"
          " (done_dialog)(setq userclick1 T))"
        )
      )
      (start_dialog)
      (unload_dialog dcl_id)
      (if userclick1
        (progn
          (setq SIZA (fix SIZA))
          (setq SIZA (nth SIZA NAMES))
          (grab)
    ;;;*THIS ROUTINE DRAWS A ROLLED STEEL ANGLE.
          (mapcar 'set '(H B T1 R1 R2) dlist)
          (setvar "OSMODE" OLDSNAP)
          (while
          (setq IP (getpoint "\nInsertion Point: "))
          (setvar "OSMODE" 0)
          (setq P1    (polar IP 0 B)
            P2    (polar P1 A (- T1 R2))
            P3    (polar P2 A R2)
            P4    (polar P3 C R2)
            P5    (polar P4 C (- B (+ T1 R1 R2)))
            P6    (polar P5 C R1)
            P7    (polar P6 A R1)
            P8    (polar P7 A (- H (+ T1 R1 R2)))
            P9    (polar P8 A R2)
            P10    (polar P9 C R2)
            P11    (polar P10 C (- T1 R2))
          )                    ;setq
          (command "PLINE"         IP        "W"       "0.0"  ""     P1    P2
               "ARC"  P4     "LINE" P5       "ARC"  P7     "LINE"    P8
               "ARC"  P10    "LINE" P11       "Close"
              )                ;command         
          (prompt "\nRotation Angle: ")
          (command "ROTATE"
               "LAST"
               ""
               IP
               pause
          )                    ;command
          (setvar "OSMODE" OLDSNAP)
          );while
    ;;;*---------------------------------------------------------
        )                    ;progn
      )                    ;if
      (princ)
    )                    ;defun URSA
    
    (defun SHOLL (/    x y z h    b t1 r1    r2 h1 b1 p1 p2 p3 p4 p5    p6 p7 p8 p9 p10
              p11 p12 p13)
      (setvar "CMDECHO" 0)
      (setvar "OSMODE" OLDSNAP)
      ;;*--------------------------------------------------------
      (setq    x (* pi (/ 90.0 180.0))
        y pi
        z (* pi (/ 270.0 180.0))
      )                    ;setq
    ;;;*-------------------------------------------------------
      (initget 1)
      (setq ip (getpoint "\nInsertion Point <Pick Point>: "))
      (initget 7)
      (setq h (getreal "\nHeight of Section <mm>: "))
      (initget 7)
      (setq b (getreal "\nWidth of Section <mm>: "))
      (initget 7)
      (setq t1 (getreal "\nWall Thickness <mm>: "))
      (setq    r2 (/ t1 2)
        h1 (- h t1 t1)
        b1 (- b t1 t1)
        r1 (+ t1 r2)
      )                    ;setq
    ;;;*-------------------------------------------------------
      (setvar "OSMODE" 0)
      (repeat 2
        (setq p1  (polar ip 0 (/ b 2))
          p2  (polar p1 x (/ (- h r1 r1) 2))
          p3  (polar p2 x r1)
          p4  (polar p3 y r1)
          p5  (polar p4 y (- b r1 r1))
          p6  (polar p5 y r1)
          p7  (polar p6 z r1)
          p8  (polar p7 z (- h r1 r1))
          p9  (polar p8 z r1)
          p10 (polar p9 0 r1)
          p11 (polar p10 0 (- b r1 r1))
          p12 (polar p11 0 r1)
          p13 (polar p12 x r1)
        )                    ;setq
    ;;;*--------------------------------------------------------
        (command "Pline"       p1      "W"     "0.0"    "0.0"  p2     "Arc"
             p4        "Line" p5      "Arc"     p7    "Line" p8     "Arc"
             p10    "Line" p11      "Arc"     p13    "Line" p1     ""
            )                ;command
    ;;;*---------------------------------------------------------            
        (setq h  h1
          b  b1
          r1 r2
        )                    ;setq
    ;;;*---------------------------------------------------------
      )                    ;repeat
    ;;;*----------------------------------------------------------
      (princ)
    )                    ;defun
    
    (defun JOIST (/       SIZA    size file fp   item data maxs count    chrct
              numb dlist     X      Y    Z    IP     P1   P2   P3    P4
              P5   P6    P7   P8      P9   P10  P11     P15  P16  P17    P18
              P19  P20    P21  P22  P23  P24  P25     P26  P27  P28    P29
              P30  P31    P32  P33  H1   H2   H3     H4   H5   B1    B2
              B3   B4
             )
    ;;;*---------------------------------------------------------
    ;;;*CONVERT TO RADIANS
      (setq    X (* pi (/ 90.0 180.0))
        Y pi
        Z (* pi (/ 270.0 180.0))
      )                    ;setq
    ;;;*----------------------------------------------------------
    ;;;*INITIALISE
      (setvar "CMDECHO" 0)
      (setq    NAMES '("127x76x13"      "152x89x17"        "178x102x22"
            "203x102x25"      "203x152x52"        "254x152x59"
            "305x152x66"
               )
      )
      (setq dcl_id (load_dialog "steels.dcl"))
      (if (not (new_dialog "joist" dcl_id))
        (exit)
      )
      (start_list "selections")
      (mapcar 'add_list NAMES)
      (end_list)
      (action_tile
        "cancel"
        "(done_dialog) (setq userclick1 nil)"
      )
      (action_tile
        "accept"
        (strcat
          "(progn (setq SIZA (atof (get_tile \"selections\")))"
          " (done_dialog)(setq userclick1 T))"
        )
      )
      (start_dialog)
      (unload_dialog dcl_id)
      (if userclick1
        (progn
          (setq SIZA (fix SIZA))
          (setq SIZA (nth SIZA NAMES))
          (grab)
    ;;;*THIS ROUTINE DRAWS A JOIST.
          (mapcar 'set '(H B H1 H2 H3 H4 H5 B1 B2 B3 B4) dlist)
          (setvar "OSMODE" OLDSNAP)
          (while
          (setq IP (getpoint "\nInsertion Point: "))
          (setvar "OSMODE" 0)
          (setq P1    (polar IP 0 B1)
            P2    (polar P1 X (/ H5 2))
            P3    (polar P2 X H4)
            P4    (polar P3 0 B2)
            P5    (polar P4 X H3)
            P6    (polar P5 0 B3)
            P7    (polar P6 0 B4)
            P8    (polar P7 X H2)
            P9    (polar P8 X H1)
            P10    (polar P9 Y B)
            P11    (polar P10 Z H1)
            P12    (polar P11 Z H2)
            P13    (polar P12 0 B4)
            P14    (polar P13 0 B3)
            P15    (polar P14 Z H3)
            P16    (polar P15 0 B2)
            P17    (polar P16 Z H4)
            P18    (polar P17 Z H5)
            P19    (polar P18 Z H4)
            P20    (polar P19 Y B2)
            P21    (polar P20 Z H3)
            P22    (polar P21 Y B3)
            P23    (polar P22 Y B4)
            P24    (polar P23 Z H2)
            P25    (polar P24 Z H1)
            P26    (polar P25 0 B)
            P27    (polar P26 X H1)
            P28    (polar P27 X H2)
            P29    (polar P28 Y B4)
            P30    (polar P29 Y B3)
            P31    (polar P30 X H3)
            P32    (polar P31 Y B2)
            P33    (polar P32 X H4)
          )                    ;setq
          (command "PLINE"         P1        "W"       "0.0"  "0.0"     P2    "ARC"
               P4     "LINE" P6        "ARC"  P8      "LINE" P9    P10
               P11    "ARC"  P13    "LINE" P15      "ARC"     P17    "LINE"
               P18    "ARC"  P20    "LINE" P22      "ARC"     P24    "LINE"
               P25    P26    P27    "ARC"  P29      "LINE" P31    "ARC"
               P33    "LINE" P1        ""
              )                ;command         
          (prompt "\nRotation Angle: ")
          (command "ROTATE"
               "LAST"
               ""
               IP
               pause
          )                    ;command
          (setvar "OSMODE" OLDSNAP)
          );while
    ;;;*---------------------------------------------------------
        )                    ;progn
      )                    ;if
      (princ)
    )                    ;defun JOIST
    
    (defun PCHAN (/        SIZA      size    file  fp    item  data    maxs  count
              chrct numb  dlist    X     Y        Z      IP    P1    P2
              P3    P4      P5    P6    P7    P8      P9    P10   P11
              NAMES
             )
    ;;;*---------------------------------------------------------
    ;;;*CONVERT TO RADIANS
      (setq    X (* pi (/ 90.0 180.0))
        Y pi
        Z (* pi (/ 270.0 180.0))
      )                    ;setq
    ;;;*----------------------------------------------------------
    ;;;*INITIALISE
      (setvar "CMDECHO" 0)
      (setq    NAMES '("100x50x10"     "120x55x13"      "140x60x15"
            "160x65x18"     "180x70x21"      "200x75x24"
            "220x80x28"     "240x85x32"      "260x90x36"
            "280x95x41"     "300x100x45"
               )
      )
      (setq dcl_id (load_dialog "steels.dcl"))
      (if (not (new_dialog "pchan" dcl_id))
        (exit)
      )
      (start_list "selections")
      (mapcar 'add_list NAMES)
      (end_list)
      (action_tile
        "cancel"
        "(done_dialog) (setq userclick1 nil)"
      )
      (action_tile
        "accept"
        (strcat
          "(progn (setq SIZA (atof (get_tile \"selections\")))"
          " (done_dialog)(setq userclick1 T))"
        )
      )
      (start_dialog)
      (unload_dialog dcl_id)
      (if userclick1
        (progn
          (setq SIZA (fix SIZA))
          (setq SIZA (nth SIZA NAMES))
          (grab)
    ;;;*THIS ROUTINE DRAWS A PARALLEL FLANGE CHANNEL.
          (mapcar 'set '(H B T1 T2 R1) dlist)
          (setvar "OSMODE" OLDSNAP)
          (while
          (setq IP (getpoint "\nInsertion Point: "))
          (setvar "OSMODE" 0)
          (setq P1    (polar IP Z H)
            P2    (polar P1 0 B)
            P3    (polar P2 X T2)
            P4    (polar P3 Y (- B (+ R1 T1)))
            P5    (polar P4 Y R1)
            P6    (polar P5 X R1)
            P7    (polar P6 X (- H (+ T2 T2 R1 R1)))
            P8    (polar P7 X R1)
            P9    (polar P8 0 R1)
            P10    (polar P9 0 (- B (+ R1 T1)))
            P11    (polar P10 X T2)
          )                    ;setq
          (command "PLINE"         IP        "W"       "0.0"  "0.0"     P1    P2
               P3     P4     "ARC"  P6       "LINE" P7     "ARC"    P9
               "LINE" P10    P11    "Close"
              )                ;command         
          (prompt "\nRotation Angle: ")
          (command "ROTATE"
               "LAST"
               ""
               IP
               pause
          )                    ;command
          (setvar "OSMODE" OLDSNAP)
          );while
    ;;;*---------------------------------------------------------
        )                    ;progn
      )                    ;if
      (princ)
    )                    ;defun PCHAN
    ;;;*FILE & INFORMATION RETRIEVAL ROUTINE.
    (defun grab ()
      (setq    dlist nil
        size  (strcat "*" SIZA)
        file  (findfile "steels.DAT")
        fp    (open file "r")
        item  (read-line fp)
      )                    ;setq
      (while item
        (if    (= item size)
          (setq data (read-line fp)
            item nil
          )                    ;setq
          (setq item (read-line fp))
        )                    ;if
      )                    ;while
      (if data
        (progn
          (setq maxs  (strlen data)
            count 1
            chrct 1
          )                    ;setq
          (while (< count maxs)
        (if (/= "," (substr data count 1))
          (setq chrct (1+ chrct))
          (setq    numb  (atof (substr data (1+ (- count chrct)) chrct))
            dlist (append dlist (list numb))
            chrct 1
          )                ;setq
        )                ;if
        (setq count (1+ count))
          )                    ;while
          (setq numb  (atof (substr data (1+ (- count chrct))))
            dlist (append dlist (list numb))
          )                    ;setq
        )                    ;progn
      )                    ;if data
      (close fp)
    )                    ;defun
    ;;;*==========================================================
    ;;;*==========================================================
    (defun initerr ()
      (setq oldlayer (getvar "clayer"))
      (setq oldsnap (getvar "osmode"))
      (setq oldpick (getvar "pickbox"))
      (setq temperr *error*)
      (setq *error* trap)
      (princ)
    )                    ;defun
    ;;;*===========================================================
    (defun trap (errmsg)
      (command nil nil nil)
      (if (not (member errmsg '("console break" "Function Cancelled"))
          )
        (princ (strcat "\nError: " errmsg))
      )                    ;                 
      (setvar "clayer" oldlayer)
      (setvar "menuecho" 0)
      (setvar "highlight" 1)
      (setvar "osmode" oldsnap)
      (setvar "pickbox" oldpick)
      (princ "\nError Resetting Enviroment ")
      (terpri)
      (setq *error* temperr)
      (princ)
    )                    ;defun
    ;;;*===========================================================
    (defun reset ()
      (setq *error* temperr)
      (setvar "clayer" oldlayer)
      (setvar "menuecho" 0)
      (setvar "highlight" 1)
      (setvar "osmode" oldsnap)
      (setvar "pickbox" oldpick)
      (princ)
    )                    ;defun
    ;;;*======================================================
    (princ)

  4. #4
    Senior Member
    Using
    not specified
    Join Date
    Aug 2005
    Location
    Manchester, England
    Posts
    162

    Default Answer - Part 2 of 3

    Hi...

    You need to copy that last file to the clipboard and paste it using notepad into a file called steels.lsp.

    Here's the code for the second file - it's not as long as the last one

    Code:
    steels : dialog {
        label = "Steel Sections (Metric)";
          : boxed_radio_column {
          label = "Available Sections";
            : radio_button {
              label = "Universal &Beams";
              key = "UB";
              value = "1";
            }
            : radio_button {
              label = "Universal &Columns";
              key = "UC"; 
            }
            : radio_button {
              label = "&Joists";
              key = "JO"; 
            }
            : radio_button {
              label = "&Tapered Flange Channels";
              key = "TFC"; 
            }
            : radio_button {
              label = "&Parallel Flange Channels";
              key = "PFC";
            }
            : radio_button {
              label = "&Equal Leg Angles";
              key = "ELA"; 
            }
            : radio_button {
              label = "U&n-Equal Leg Angles";
              key = "ULA";  
            }
            : spacer { width = 1;}
            : radio_button {
              label = "&Rectangular Cold Rolled";
              key = "RCR";
          }
            : radio_button {
              label = "&Circular Cold Rolled";
              key = "CCR"; 
            }
            : spacer { width = 1;}
         }
    
       ok_cancel ;
       : row {
                     : image {
                       key = "im" ;
                       height = 1.0 ;
                       width = 4.0 ;
                     }
                   : paragraph {
             : text_part {
                       label = "Designed and Created";
                     }
                     : text_part {
                       label = "by AMEC Design and Management";
                     }
                   }
                  }
      }
    ubeam : dialog {
            label = "U.B's.";
         : list_box {
            label = "&Choose Section :";
            key = "selections";
            height = 12;
            allow_accept = true ;
         }   
         ok_cancel ;
         :text_part {
             label = "Designed and Created";
          }
         :text_part {
             label = "by AMEC Design and Management";
          }
         }
    chan : dialog {
            label = "R.S.C's.";
         : list_box {
            label = "&Choose Section :";
            key = "selections";
            height = 12;
            allow_accept = true ;
         }   
         ok_cancel ;
         :text_part {
             label = "Designed and Created";
          }
         :text_part {
             label = "by AMEC Design and Management";
          }
         }
    joist : dialog {
            label = "R.S.J's.";
         : list_box {
            label = "&Choose Section :";
            key = "selections";
            height = 8;
            allow_accept = true ;
         }   
         ok_cancel ;
         :text_part {
             label = "Designed and Created";
          }
         :text_part {
             label = "by AMEC Design and Management";
          }
         }
    pchan : dialog {
            label = "P.F.C's.";
         : list_box {
            label = "&Choose Section :";
            key = "selections";
            height = 12;
            allow_accept = true ;
         }   
         ok_cancel ;
         :text_part {
             label = "Designed and Created";
          }
         :text_part {
             label = "by AMEC Design and Management";
          }
         }
    rsa : dialog {
            label = "R.S.A's.";
         : list_box {
            label = "&Choose Section :";
            key = "selections";
            height = 12;
            allow_accept = true ;
         }   
         ok_cancel ;
         :text_part {
             label = "Designed and Created";
          }
         :text_part {
             label = "by AMEC Design and Management";
          }
         }
    ucolum : dialog {
            label = "U.C's.";
         : list_box {
            label = "&Choose Section :";
            key = "selections";
            height = 12;
            allow_accept = true ;
         }   
         ok_cancel ;
         :text_part {
             label = "Designed and Created";
          }
         :text_part {
             label = "by AMEC Design and Management";
          }
         }
    ursa : dialog {
            label = "U.R.S.A's.";
         : list_box {
            label = "&Choose Section :";
            key = "selections";
            height = 12;
            allow_accept = true ;
         }   
         ok_cancel ;
         :text_part {
             label = "Designed and Created";
          }
         :text_part {
             label = "by AMEC Design and Management";
          }
         }

  5. #5
    Senior Member
    Using
    not specified
    Join Date
    Aug 2005
    Location
    Manchester, England
    Posts
    162

    Default Answer - part 3 of 3

    And the last file...

    Code:
    **TAPERED FLANGE CHANNELS
    *------------------------------------------------
    *100x50x11
    100.0,50.0,1.9,4.9,2.5,9.2,63.0,6.0,8.5,31.0,4.5
    *120x55x13
    120.0,55.0,2.3,4.9,2.8,9.7,80.6,7.0,9.0,34.5,4.5
    *140x60x16
    140.0,60.0,2.6,5.4,3.1,10.8,96.2,7.0,10.0,38.0,5.0
    *160x65x19
    160.0,65.0,2.4,6.0,3.3,11.4,113.8,7.5,10.5,41.5,5.5
    *180x70x22
    180.0,70.0,2.7,6.0,3.7,11.9,131.4,8.0,11.0,45.5,5.5
    *200x75x25
    200.0,75.0,2.5,6.5,3.9,12.5,149.2,8.5,11.5,49.0,6.0
    *220x80x29
    220.0,80.0,2.8,7.0,4.2,13.5,165.0,9.0,12.5,52.0,6.5
    *240x85x32
    240.0,85.0,3.1,7.0,4.5,14.1,182.6,9.5,13.0,56.0,6.5
    *260x90x38
    260.0,90.0,3.4,7.6,4.8,15.1,198.2,10.0,14.0,59.0,7.0
    *300x100x46
    300.0,100.0,4.0,8.7,5.3,17.3,229.4,10.0,16.0,66.0,8.0
    *--------------------------------------------------
    **OLD IMPERIAL TAPERED FLANGE CHANNELS
    *--------------------------------------------------
    *76x38x7
    76.0,38.0,2.9,2.6,2.0,8.3,44.4,5.1,7.6,22.9,2.4
    *127x64x15
    127.0,64.0,4.3,2.6,3.9,11.7,82.0,6.4,10.7,44.5,2.4
    *152x76x18
    152.0,76.0,6.7,2.6,4.8,13.3,97.2,6.4,12.2,55.0,2.4
    *178x54x15
    178.0,54.0,4.3,3.3,1.3,8.6,143.0,5.8,8.3,36.7,3.2
    *381x102x55
    381.0,102.0,6.4,5.2,6.3,16.6,312.0,10.4,15.2,71.6,4.8
    *--------------------------------------------------
    **PARALLEL FLANGE CHANNELS
    **H B T1 T2 R1
    *--------------------------------------------------
    *100x50x10
    100.0,50.0,5.0,8.4,8.4
    *120x55x13
    120.0,55.0,5.5,9.1,9.1
    *140x60x15
    140.0,60.0,6.0,9.9,9.9
    *160x65x18
    160.0,65.0,6.5,10.4,10.4
    *180x70x21
    180.0,70.0,7.0,10.9,10.9
    *200x75x24
    200.0,75.0,7.5,11.4,11.4
    *220x80x28
    220.0,80.0,7.9,12.5,12.5
    *240x85x32
    240.0,85.0,8.4,13.0,13.0
    *260x90x36
    260.0,90.0,8.8,13.9,13.9
    *280x95x41
    280.0,95.0,9.2,14.8,14.8
    *300x100x45
    300.0,100.0,9.6,15.5,15.5
    **-------------------------------------
    **ROLLED STEEL JOISTS DATA
    **-----------------------------------------------
    *127x76x13
    127.0,76.2,3.6,2.6,2.2,8.6,93.0,2.3,7.9,25.6,2.3
    *152x89x17
    154.4,88.9,4.1,2.6,2.8,8.6,116.2,2.45,7.9,31.7,2.4
    *178x102x22
    177.8,102.0,3.7,3.5,3.1,10.3,136.6,2.6,9.4,35.8,3.2
    *203x102x25
    203.2,101.6,5.1,3.5,3.9,9.4,159.4,2.9,9.4,35.3,3.2
    *203x152x52
    203.0,152.0,3.8,8.7,6.8,17.8,128.8,4.4,15.5,48.5,7.6
    *254x152x59
    254.0,152.0,5.3,8.7,6.8,17.8,176.8,4.6,15.5,48.3,7.6
    *305x152x66
    305.0,152.0,5.5,8.7,6.7,17.8,227.6,5.1,15.5,47.8,7.6
    **---------------------------------------------------
    **ROLLED STEEL ANGLE DATA
    **---------------------------
    **H X B X T1 X R1 X R2
    **---------------------------
    *25x25x3
    25.0,25.0,3.0,3.5,2.0
    *25x25x5
    25.0,25.0,5.0,3.5,2.0
    *30x30x3
    30.0,30.0,3.0,5.0,2.5
    *30x30x5
    30.0,30.0,5.0,5.0,2.5
    *35x35x3
    35.0,35.0,3.0,5.0,2.5
    *35x35x5
    35.0,35.0,5.0,5.0,2.5
    *40x40x3
    40.0,40.0,3.0,6.0,3.0
    *40x40x5
    40.0,40.0,5.0,6.0,3.0
    *40x40x6
    40.0,40.0,6.0,6.0,3.0
    *45x45x3
    45.0,45.0,3.0,7.0,3.5
    *45x45x5
    45.0,45.0,5.0,7.0,3.5
    *45x45x6
    45.0,45.0,6.0,7.0,3.5
    *50x50x5
    50.0,50.0,5.0,7.0,3.5
    *50x50x6
    50.0,50.0,6.0,7.0,3.5
    *50x50x8
    50.0,50.0,8.0,7.0,3.5
    *60x60x5
    60.0,60.0,5.0,8.0,4.0
    *60x60x6
    60.0,60.0,6.0,8.0,4.0
    *60x60x8
    60.0,60.0,8.0,8.0,4.0
    *60x60x10
    60.0,60.0,10.0,8.0,4.0
    *70x70x6
    70.0,70.0,6.0,9.0,4.5
    *70x70x8
    70.0,70.0,8.0,9.0,4.5
    *70x70x10
    70.0,70.0,10.0,9.0,4.5
    *80x80x6
    80.0,80.0,6.0,10.0,5.0
    *80x80x8
    80.0,80.0,8.0,10.0,5.0
    *80x80x10
    80.0,80.0,10.0,10.0,5.0
    *80x80x12
    80.0,80.0,12.0,10.0,5.0
    *90x90x8
    90.0,90.0,8.0,11.0,5.5
    *90x90x10
    90.0,90.0,10.0,11.0,5.5
    *90x90x12
    90.0,90.0,12.0,11.0,5.5
    *100x100x8
    100.0,100.0,8.0,12.0,6.0
    *100x100x10
    100.0,100.0,10.0,12.0,6.0
    *100x100x12
    100.0,100.0,12.0,12.0,6.0
    *100x100x15
    100.0,100.0,15.0,12.0,6.0
    *120x120x10
    120.0,120.0,10.0,13.0,6.5
    *120x120x12
    120.0,120.0,12.0,13.0,6.5
    *120x120x15
    120.0,120.0,15.0,13.0,6.5
    *150x150x12
    150.0,150.0,12.0,16.0,8.0
    *150x150x15
    150.0,150.0,15.0,16.0,8.0
    *150x150x18
    150.0,150.0,18.0,16.0,8.0
    *200x200x16
    200.0,200.0,16.0,18.0,9.0
    *200x200x18
    200.0,200.0,18.0,18.0,9.0
    *200x200x20
    200.0,200.0,20.0,18.0,9.0
    *200x200x24
    200.0,200.0,24.0,18.0,9.0
    **-------------------------
    **UNIVERSAL BEAMS DATA
    **-----------------------
    **H X B X T1 X T2 X R1
    **-----------------------
    
    *127x76x13
    127.0,76.0,4.0,7.6,7.6
    *152x89x16
    152.4,88.7,4.5,7.7,7.6
    *178x102x19
    177.8,101.2,4.8,7.9,7.6
    *203x102x23
    203.2,101.8,5.4,9.3,7.6
    *203x133x25
    203.2,133.2,5.7,7.8,7.6
    *203x133x30
    206.8,133.9,6.4,9.6,7.6
    *254x102x22
    254.0,101.6,5.7,6.8,7.6
    *254x102x25
    257.2,101.9,6.0,8.4,7.6
    *254x102.28
    260.4,102.2,6.3,10.0,7.6
    *254x146x31
    251.4,146.1,6.0,8.6,7.6
    *254x146x37
    256.0,146.4,6.3,10.9,7.6
    *254x146x43
    259.6,147.3,7.2,12.7,7.6
    *305x102x25
    305.1,101.6,5.8,7.0,7.6
    *305x102x28
    308.7,101.8,6.0,8.8,7.6
    *305x102x33
    312.7,102.4,6.6,10.8,7.6
    *305x127x37
    304.4,123.4,7.1,10.7,8.9
    *305x127x42
    307.2,124.3,8.0,12.1,8.9
    *305x127x48
    311.0,125.3,9.0,14.0,8.9
    *305x165x40
    303.4,165.0,6.0,10.2,8.9
    *305x165x46
    306.6,165.7,6.7,11.8,8.9
    *305x165x54
    310.4,166.9,7.9,13.7,8.9
    *356x127x33
    349.0,125.4,6.0,8.5,10.2
    *356x127x39
    353.4,126.0,6.6,10.7,10.2
    *356x171x45
    351.4,171.1,7.0,9.7,10.2
    *356x171x51
    355.0,171.5,7.4,11.5,10.2
    *356x171x57
    358.0,172.2,8.1,13.0,10.2
    *356x171x67
    363.4,173.2,9.1,15.7,10.2
    *406x140.39
    398.0,141.8,6.4,8.6,10.2
    *406x140x46
    403.2,142.2,6.8,11.2,10.2
    *406x178x54
    402.6,177.7,7.7,10.9,10.2
    *406x178x60
    406.4,177.9,7.9,12.8,10.2
    *406x178x67
    409.4,178.8,8.8,14.3,10.2
    *406x178x74
    412.8,179.5,9.5,16.0,10.2
    *457x152x52
    449.8,152.4,7.6,10.9,10.2
    *457x152x60
    454.6,152.9,8.1,13.3,10.2
    *457x152x67
    458.0,153.8,9.0,15.0,10.2
    *457x152x74
    462.0,154.4,9.6,17.0,10.2
    *457x152x82
    465.8,155.3,10.5,18.9,10.2
    *457x191x67
    453.4,189.9,8.5,12.7,10.2
    *457x191x74
    457.0,190.4,9.0,14.5,10.2
    *457x191x82
    460.0,191.3,9.9,16.0,10.2
    *457x191x89
    463.4,191.9,10.5,17.7,10.2
    *457x191x98
    467.2,192.8,11.4,19.6,10.2
    *533x210x82
    528.3,208.8,9.6,13.2,12.7
    *533x210x92
    533.1,209.3,10.1,15.6,12.7
    *533x210x101
    536.7,210.0,10.8,17.4,12.7
    *533x210x109
    539.5,210.8,11.6,18.8,12.7
    *533x210x122
    544.5,211.9,12.7,21.3,12.7
    *610x229x101
    602.6,227.6,10.5,14.8,12.7
    *610x229x113
    607.6,228.2,11.1,17.3,12.7
    *610x229x125
    612.2,229.0,11.9,19.6,12.7
    *610x229x140
    617.2,230.2,13.1,22.1,12.7
    *610x305x149
    612.4,304.8,11.8,19.7,16.5
    *610x305x179
    620.2,307.1,14.1,23.6,16.5
    *610x305x238
    635.8,311.4,18.4,31.4,16.5
    *686x254x125
    677.9,253.0,11.7,16.2,15.2
    *686x254x140
    683.5,253.7,12.4,19.0,15.2
    *686x254x152
    687.5,254.5,13.2,21.0,15.2
    *686x254x170
    692.9,255.8,14.5,23.7,15.2
    *762x267x134
    750.0,264.4,12.0,15.5,16.5
    *762x267x147
    754.0,265.2,12.8,17.5,16.5
    *762x267x173
    762.2,266.7,14.3,21.6,16.5
    *762x267x197
    269.8,268.0,15.6,25.4,16.5
    *838x292x176
    834.9,291.7,14.0,18.8,17.8
    *838x292x194
    840.7,292.4,14.7,21.7,17.8
    *838x292x226
    850.9,293.8,16.1,26.8,17.8
    *914x305x201
    903.0,303.3,15.1,20.2,19.1
    *914x305x224
    910.4,304.1,15.9,23.9,19.1
    *914x305x253
    918.4,305.5,17.3,27.9,19.1
    *914x305x289
    926.6,307.7,19.5,32.0,19.1
    *914x419x343
    911.8,418.5,19.4,32.0,24.1
    *914x419x388
    921.0,420.5,21.4,36.6,24.1
    *1016x305x222
    970.3,300.0,16.0,21.1,30.0
    *1016x305x249
    980.2,300.0,16.5,26.0,30.0
    *1016x305x272
    990.1,300.0,16.5,31.0,30.0
    *1016x305x314
    1000.0,300.0,19.1,35.9,30.0
    *1016x305x349
    1008.1,302.0,21.1,40.0,30.0
    *1016x305x393
    1016.0,303.0,24.4,43.9,30.0
    *1016x305x437
    1025.9,305.4,26.9,49.0,30.0
    *1016x305x487
    1036.1,308.5,30.0,54.1,30.0
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    *100x55x8
    100.0,55.0,4.1,5.7,7.0
    *120x64x10
    120.0,64.0,4.4,6.3,7.0
    *140x73x13
    140.0,73.0,4.7,6.9,7.0
    *160x82x16
    160.0,82.0,5.0,7.4,9.0
    *180x91x19
    180.0,91.0,5.3,8.0,9.0
    *200x100x22
    200.0,100.0,5.6,8.5,12.0
    *203x133x25
    203.2,133.4,5.8,7.8,7.6
    *203x133x30
    206.8,133.8,6.3,9.6,7.6
    *254x146x31
    251.5,146.1,6.1,8.6,7.6
    *254x146x37
    256.0,146.4,6.4,10.9,7.6
    *254x146x43
    259.6,147.3,7.3,12.7,7.6
    *305x102x25
    304.8,101.6,5.8,6.8,7.6
    *305x102x29
    308.9,101.9,6.1,8.9,7.6
    *305x102x33
    312.7,102.4,6.6,10.8,7.6
    *305x165x41
    303.8,165.1,6.1,10.2,8.9
    *305x165x46
    307.1,165.7,6.7,11.8,8.9
    *305x165x54
    310.9,166.8,7.7,13.7,8.9
    *356x171x45
    352.0,171.0,6.9,9.7,10.2
    *356x171x51
    355.6,171.5,7.3,11.5,10.2
    *356x171x57
    358.6,172.1,8.0,13.0,10.2
    *356x171x67
    364.0,173.2,9.1,15.7,10.2
    *406x140x39
    397.3,141.8,6.3,8.6,10.2
    *406x140x46
    402.3,142.4,6.9,11.2,10.2
    *406x178x54
    402.6,177.6,7.6,10.9,10.2
    *406x178x60
    406.4,177.8,7.8,12.8,10.2
    *406x178x67
    409.4,178.8,8.8,14.3,10.2
    *406x178x75
    412.8,179.7,9.7,16.0,10.2
    *457x191x67
    453.6,189.9,8.5,12.7,10.2
    *457x191x75
    457.2,190.5,9.1,14.5,10.2
    *457x191x82
    460.2,191.3,9.9,16.0,10.2
    *457x191x90
    463.6,192.0,10.6,17.7,10.2
    *457x191x98
    467.4,192.8,11.4,19.6,10.2
    *533x210x82
    528.3,208.7,9.6,13.2,12.7
    *533x210x93
    533.1,209.3,10.2,15.6,12.7
    *533x210x101
    536.7,210.1,10.9,17.4,12.7
    *533x210x109
    539.5,210.7,11.6,18.8,12.7
    *533x210x122
    544.6,211.9,12.8,21.3,12.7
    *610x229x101
    602.2,227.6,10.6,14.8,12.7
    *610x229x113
    607.3,228.2,11.2,17.3,12.7
    *610x229x125
    611.9,229.0,11.9,19.6,12.7
    *610x229x140
    617.0,230.1,13.1,22.1,12.7
    *610x305x149
    609.6,304.8,11.9,19.7,16.5
    *610x305x179
    617.5,307.0,14.1,23.6,16.5
    *610x305x238
    633.0,311.5,18.6,31.4,16.5
    *686x254x125
    677.9,253.0,11.7,16.2,15.2
    *686x254x140
    683.5,253.7,12.4,19.0,15.2
    *686x254x152
    687.6,254.5,13.2,21.0,15.2
    *686x254x170
    692.9,255.8,14.5,23.7,15.2
    **-------------------------
    **UNIVERSAL COLUMNS DATA
    **-----------------------
    **H X B X T1 X T2 X R1
    **-----------------------
    *152x152x23
    152.4,152.4,6.1,6.8,7.6
    *152x152x30
    157.5,152.9,6.6,9.4,7.6
    *152x152x37
    161.8,154.4,8.1,11.5,7.6
    *203x203x46
    203.2,203.2,7.3,11.0,10.2
    *203x203x52
    206.2,203.9,8.0,12.5,1O.2
    *203x203x60
    209.6,205.2,9.3,14.2,10.2
    *203x203x71
    215.9,206.2,10.3,17.3,10.2
    *203x203x86
    222.3,208.8,13.0,20.5,10.2
    *254x254x73
    254.0,254.0,8.6,14.2,12.7
    *254x254x89
    260.4,255.9,10.5,17.3,12.7
    *254x254x107
    266.7,258.3,13.0,20.5,12.7
    *254x254x132
    276.4,261.0,15.6,25.1,12.7
    *254x254x167
    289.1,264.5,19.2,31.7,12.7
    *305x305x97
    307.8,304.8,9.9,15.4,15.2
    *305x305x118
    314.5,306.8,11.9,18.7,15.2
    *305x305x137
    320.5,308.7,13.8,21.7,15.2
    *305x305x158
    327.2,310.6,15.7,25.0,15.2
    *305x305x198
    339.9,314.1,19.2,31.4,15.2
    *305x305x240
    352.6,317.9,23.0,37.7,15.2
    *305x305x283
    365.3,321.8,26.9,44.1,15.2
    **-------------------------
    **ROLLED STEEL UNEQUAL ANGLES DATA
    **---------------------------------
    **H X B X T1 X R1 X R2
    **---------------------------------
    *65x50x6
    65.0,50.0,6.0,6.0,3.0
    *65x50x8
    65.0,50.0,8.0,6.0,3.0
    *75x50x6
    75.0,50.0,6.0,7.0,3.5
    *75x50x8
    75.0,50.0,8.0,7.0,3.5
    *80x60x6
    80.0,60.0,6.0,8.0,4.0
    *80x60x8
    80.0,60.0,8.0,8.0,4.0
    *90x65x6
    90.0,65.0,6.0,8.0,4.0
    *90x65x8
    90.0,65.0,8.0,8.0,4.0
    *90x65x10
    90.0,65.0,10.0,8.0,4.0
    *100x65x8
    100.0,65.0,8.0,10.0,5.0
    *100x65x10
    100.0,65.0,10.0,10.0,5.0
    *100x75x6
    100.0,75.0,6.0,10.0,5.0
    *100x75x8
    100.0,75.0,8.0,10.0,5.0
    *100x75x10
    100.0,75.0,10.0,10.0,5.0
    *100x75x12
    100.0,75.0,12.0,10.0,5.0
    *125x75x8
    125.0,75.0,8.0,11.0,5.5
    *125x75x10
    125.0,75.0,10.0,11.0,5.5
    *125x75x12
    125.0,75.0,12.0,11.0,5.5
    *150x75x10
    150.0,75.0,10.0,11.0,5.5
    *150x75x12
    150.0,75.0,12.0,11.0,5.5
    *150x75x15
    150.0,75.0,15.0,11.0,5.5
    *150x90x10
    150.0,90.0,10.0,12.0,6.0
    *150x90x12
    150.0,90.0,12.0,12.0,6.0
    *150x90x15
    150.0,90.0,15.0,12.0,6.0
    **-----------------------

  6. #6
    Senior Member
    Using
    not specified
    Join Date
    Aug 2005
    Location
    Manchester, England
    Posts
    162

    Default Answer - part 4 of 3 :-)

    Hello again...

    I suppose you want to know how to save and use the files now...

    As I said - save the code from the first file as steels.lsp

    Save the code from the second file as steels.dcl

    Save the code from the third file as steels.dat

    I use notepad to create the files so you don't get any stray unicode formating messing with the code. When you've got the 3 files created, place them all in the same directory (I use c:\lisps) and make sure that the directory is included in the search file path in Autocad. Type (load "steels.lsp") at the command prompt to load the routine and then type "steels" (without the inverted commas and the dialogue box will come up - the rest should be self explanatory.

    Feel free to remove the references to Amec in the second file if you want - it's not copywrited.

    Also the data in the third file is the info you'd get from the corus book - so if there are any updates, have a look at one the the existing sections and you should be able to figure out what order to put them in.

    Depending on which version of autocad you're using I can show you how to create a line in the pulldown menus to add the command automatically

    All the best

    Spacepig

  7. #7
    Senior Member
    Using
    not specified
    Join Date
    Aug 2005
    Location
    Manchester, England
    Posts
    162

    Default Answer - part 4 of 3 :-)

    Hello again...

    I suppose you want to know how to save and use the files now...

    As I said - save the code from the first file as steels.lsp

    Save the code from the second file as steels.dcl

    Save the code from the third file as steels.dat

    I use notepad to create the files so you don't get any stray unicode formating messing with the code. When you've got the 3 files created, place them all in the same directory (I use c:\lisps) and make sure that the directory is included in the search file path in Autocad. Type (load "steels.lsp") at the command prompt to load the routine and then type "steels" (without the inverted commas and the dialogue box will come up - the rest should be self explanatory.

    Feel free to remove the references to Amec in the second file if you want - it's not copywrited.

    Also the data in the third file is the info you'd get from the corus book - so if there are any updates, have a look at one the the existing sections and you should be able to figure out what order to put them in.

    Depending on which version of autocad you're using I can show you how to create a line in the pulldown menus to add the command automatically

    All the best

    Spacepig

  8. #8
    Full Member
    Using
    AutoCAD 2012
    Join Date
    Aug 2006
    Location
    Fife, Scotland
    Posts
    33

    Default Cheers SpacePig

    Superb Mate just what I needed. Thanks alot mate well appreciated.

  9. #9
    Senior Member BenGoble's Avatar
    Computer Details
    BenGoble's Computer Details
    Operating System:
    Windows 7 64-bit
    CPU:
    AMD Phenom II X4 920 Processor 2.80GHz
    RAM:
    4.0GB RAM
    Graphics:
    ATI Radeon HD 3870 (512MB G-DDR4)
    Primary Storage:
    Samsung HD103SI ATA Device
    Monitor:
    SyncMaster 940BW
    Using
    3ds Max 2011
    Join Date
    Sep 2006
    Location
    London
    Posts
    114

    Default

    My first use of lisps and that's damn good mate!

  10. #10
    Super Member asos2000's Avatar
    Computer Details
    asos2000's Computer Details
    Operating System:
    WinXP
    Using
    AutoCAD 2007
    Join Date
    Sep 2007
    Location
    Cairo Egypt
    Posts
    628

    Default

    Registered forum members do not see this ad.

    Spacepig Thamks for this great lisp

    I want to ask you for another lisp if you have.
    Its about welding symbol.

    Thanks again for sharing this lisp
    Sorry for my English.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts