Page 1 of 2 12 LastLast
Results 1 to 10 of 13

Thread: Sprinkler Gallons Per Minute By Block

  1. #1
    I could stop if I wanted to
    Join Date
    2006-04
    Posts
    480
    Login to Give a bone
    0

    Default Sprinkler Gallons Per Minute By Block

    This autolisp prgram searchs within a polyline boundary for sprinkler blocks then calculates total gallons per minute.(see attached)

    Code:
    (DEFUN C:GPM ()
     (PROMPT "\n*GALLONS PER MINUTE* ")
     (SETQ CMDE (GETVAR "CMDECHO"))
     (SETVAR "CMDECHO" 0)
     (SETQ LP1 1)
     (WHILE LP1
      (PROMPT "\nSelect polyline boundary: ")
      (SETQ PSS (SSGET ":S" '((0 . "LWPOLYLINE"))))
      (IF (/= PSS NIL) (SETQ LP1 NIL) (PROMPT "\nNO POLYLINE SELECTED, TRY AGAIN. "))
     );END LP1
     (SETQ PEN (SSNAME PSS 0))
     (SETQ PENL (ENTGET PEN))
     (SETQ PPL (LIST))
     (FOREACH N PENL
      (PROGN
       (SETQ PPA (CAR N))
       (SETQ PPV (CDR N))
       (IF (= PPA 10) (SETQ PPL (APPEND PPL (LIST PPV))))
     ));END N
     (SETQ SHSS (SSGET "WP" PPL '((0 . "INSERT") (8 . "L-Irr-Sprayhead"))))
     (IF (/= SHSS NIL)
      (PROGN
       (SETQ SHSSL (SSLENGTH SHSS))
       (SETQ CT (- SHSSL 1))
       (SETQ SHGPM 0)
       (SETQ SHENBTL (LIST))
       (SETQ LP2 1)
       (WHILE LP2
        (SETQ MARK1 NIL)
        (SETQ MARK2 NIL)
        (SETQ SHEN (SSNAME SHSS CT))
        (SETQ SHENL2 (ENTGET SHEN))
        (SETQ SHENBN (CDR (ASSOC 2 SHENL2)))
        (SETQ SHENBN (STRCAT "`" SHENBN))
        (SETQ CT (- CT 1))
        (SETQ SHEG SHEN)
        (SETQ LP3 1)
        (WHILE LP3
         (SETQ SHEG (ENTNEXT SHEG))
         (SETQ SHENL (ENTGET SHEG))
         (SETQ SHENT (CDR (ASSOC 0 SHENL)))
         (SETQ SHENV (CDR (ASSOC 1 SHENL)))
         (SETQ SHENTN (CDR (ASSOC 2 SHENL)))
         (IF (AND (= SHENT "ATTRIB") (= SHENTN "GPM") (/= SHENV NIL))
          (PROGN
           (SETQ SHGPM (+ SHGPM (ATOF SHENV)))
           (SETQ SHENV2 SHENV)
           (SETQ MARK1 1)
         ));END SHENT
         (IF (AND (= SHENT "ATTRIB") (= SHENTN "TAG#") (/= SHENV NIL))
          (PROGN
           (SETQ SHENFLTR (LIST (CONS 0 "INSERT") (CONS 2 SHENBN)))
           (SETQ SHENBS (SSGET "WP" PPL SHENFLTR))
           (SETQ SHENBSL (SSLENGTH SHENBS))
           (SETQ SHENV4 SHENV)
           (SETQ MARK2 1)
         ));END SHENT
         (IF (AND (= MARK1 1) (= MARK2 1))
          (PROGN
           (SETQ SHENV3 (* (ATOF SHENV2) SHENBSL))
           (SETQ SHENBLA (LIST SHENBSL SHENV2 SHENV4 SHENV3 "|"))
           (SETQ SHENLT (MEMBER SHENV4 SHENBTL))
           (IF (= SHENLT NIL) (SETQ SHENBTL (APPEND SHENBTL SHENBLA)))
           (SETQ LP3 NIL)
         ));END IF/PROGN MARK1
        );END LP3
        (IF (< CT 0) (SETQ LP2 NIL))
       );END LP2
       (PROMPT "\nTotal gallons per minute = ")
       (PRINC SHGPM)
       (PROMPT "\nTable information=\n")
       (PRINC SHENBTL)
       (SETQ PSHENBTL SHENBTL)
       (SETVAR "ATTREQ" 0)
       (SETQ TIP (GETPOINT "\nPick table insertion point: "))
       (SETQ TIP2 TIP)
       (SETQ CLA (GETVAR "CLAYER"))
       (COMMAND "LAYER" "S" "0" "")
       (COMMAND "ZOOM" "C" TIP "1")
       (COMMAND "-INSERT" "TABLEHEADER" TIP "" "" "")
       (SETQ LP4 1)
       (WHILE LP4
        (IF (/= PSHENBTL NIL)
         (PROGN
         (SETQ TIP (POLAR TIP (* PI 1.5) 2.9156))
          (COMMAND "-INSERT" "TABLEROW" TIP "" "" "")
          (SETQ TREN (ENTLAST))
          (SETQ TREN2 TREN)
          (SETQ FEILD1 (RTOS (CAR PSHENBTL) 2 0))
          (SETQ PSHENBTL (CDR PSHENBTL))
          (SETQ FEILD2 (CAR PSHENBTL))
          (SETQ PSHENBTL (CDR PSHENBTL))
          (SETQ FEILD3 (CAR PSHENBTL))
          (SETQ PSHENBTL (CDR PSHENBTL))
          (SETQ FEILD4 (RTOS (CAR PSHENBTL) 2 6))
          (SETQ PSHENBTL (CDR PSHENBTL))
          (SETQ FEILD5 (CAR PSHENBTL))
          (SETQ PSHENBTL (CDR PSHENBTL))
          (SETQ LP5 1)
          (WHILE LP5
           (SETQ TREN (ENTNEXT TREN))
           (SETQ TRENL (ENTGET TREN))
           (SETQ TRENT (CDR (ASSOC 0 TRENL)))
           (SETQ TRENV (ASSOC 1 TRENL))
           (SETQ TRENTN (CDR (ASSOC 2 TRENL)))
           (IF (AND (= TRENT "ATTRIB") (/= TRENV NIL) (= TRENTN "QUANTITY"))
            (PROGN
             (SETQ NTRENV (CONS 1 FEILD1))
             (SETQ NTRENL (SUBST NTRENV TRENV TRENL))
             (ENTMOD NTRENL)
           ));END PROGN/IF TRENT
           (IF (AND (= TRENT "ATTRIB") (/= TRENV NIL) (= TRENTN "GPM"))
            (PROGN
             (SETQ NTRENV (CONS 1 FEILD2))
             (SETQ NTRENL (SUBST NTRENV TRENV TRENL))
             (ENTMOD NTRENL)
           ));END PROGN/IF TRENT
           (IF (AND (= TRENT "ATTRIB") (/= TRENV NIL) (= TRENTN "TAG#"))
            (PROGN
             (SETQ NTRENV (CONS 1 FEILD3))
             (SETQ NTRENL (SUBST NTRENV TRENV TRENL))
             (ENTMOD NTRENL)
           ));END PROGN/IF TRENT
           (IF (AND (= TRENT "ATTRIB") (/= TRENV NIL) (= TRENTN "GPMTOTAL"))
            (PROGN
             (SETQ NTRENV (CONS 1 FEILD4))
             (SETQ NTRENL (SUBST NTRENV TRENV TRENL))
             (ENTMOD NTRENL)
             (ENTUPD TREN2)
             (SETQ LP5 NIL)
           ));END PROGN/IF TRENT
          );END LP5
         );END PROGN
         (SETQ LP4 NIL)
        );END IF PSHENBTL
       );END LP4
       (SETQ MARK3 NIL)
       (SETQ MARK4 NIL)
       (SETQ TIP (POLAR TIP (* PI 1.5) 2.9156))
       (COMMAND "-INSERT" "TABLEROW" TIP "" "" "")
       (SETQ TREN (ENTLAST))
       (SETQ TREN2 TREN)
       (SETQ LP6 1)
       (WHILE LP6
        (SETQ TREN (ENTNEXT TREN))
        (SETQ TRENL (ENTGET TREN))
        (SETQ TRENT (CDR (ASSOC 0 TRENL)))
        (SETQ TRENV (ASSOC 1 TRENL))
        (SETQ TRENTN (CDR (ASSOC 2 TRENL)))
        (IF (AND (= TRENT "ATTRIB") (/= TRENV NIL) (= TRENTN "QUANTITY"))
         (PROGN
          (SETQ SHSSL2 (RTOS SHSSL 2 0))
          (SETQ NTRENV (CONS 1 SHSSL2))
          (SETQ NTRENL (SUBST NTRENV TRENV TRENL))
          (ENTMOD NTRENL)
          (SETQ MARK3 1)
        ));END PROGN/IF TRENT
        (IF (AND (= TRENT "ATTRIB") (/= TRENV NIL) (= TRENTN "GPMTOTAL"))
         (PROGN
          (SETQ SHGPM2 (RTOS SHGPM 2 6))
          (SETQ NTRENV (CONS 1 SHGPM2))
          (SETQ NTRENL (SUBST NTRENV TRENV TRENL))
          (ENTMOD NTRENL)
          (SETQ MARK4 1)
        ));END PROGN/IF TRENT
        (IF (AND (= MARK3 1) (= MARK4 1)) 
         (PROGN
          (ENTUPD TREN2)
          (COMMAND "ZOOM" "P")
          (SETVAR "CLAYER" CLA)
          (SETQ LP6 NIL)
        ));END PROGN/IF MARK3
       );END LP6
      );END PROGN
      (PROMPT"\nNO BLOCKS FOUND ")
     );END IF SHSS
     (SETVAR "CMDECHO" CMDE)
     (PRINC)
    );END GPM
    Attached Files Attached Files
    Last edited by aaronic_abacus; 2011-11-13 at 09:54 PM.

  2. #2
    I could stop if I wanted to
    Join Date
    2006-04
    Posts
    480
    Login to Give a bone
    0

    Default Re: Sprinkler Gallons Per Minute By Block

    This guy (Bill Curtis) said he would pay me $200 for the program but never did.
    Next time I'm asking for a deposit!
    Last edited by aaronic_abacus; 2010-11-17 at 11:57 PM.

  3. #3
    Administrator BlackBox's Avatar
    Join Date
    2009-11
    Posts
    5,806
    Login to Give a bone
    0

    Default Re: Sprinkler Gallons Per Minute By Block

    Quote Originally Posted by aaronic_abacus View Post
    This guy (Bill Curtis) said he would pay me $200 for the program but never did.
    Next time I'm asking for a deposit!
    Next time, compile your code, and throw in an expiration check, which redefines the function to an error message.... No money, no workie.
    "How we think determines what we do, and what we do determines what we get."

    Sincpac C3D ~ Autodesk Exchange Apps

    Computer Specs:
    Dell Precision 5860, Xeon W7-2495X, 128GB RAM, Dual PCIe 4.0 M.2 SSD (RAID 0), 20GB NVIDIA RTX 4000 ADA

  4. #4
    Certifiable AUGI Addict ccowgill's Avatar
    Join Date
    2004-08
    Location
    Iron Station, NC
    Posts
    3,198
    Login to Give a bone
    0

    Default Re: Sprinkler Gallons Per Minute By Block

    Quote Originally Posted by RenderMan View Post
    Next time, compile your code, and throw in an expiration check, which redefines the function to an error message.... No money, no workie.
    thats how I set up my code

  5. #5
    Administrator BlackBox's Avatar
    Join Date
    2009-11
    Posts
    5,806
    Login to Give a bone
    0

    Default Re: Sprinkler Gallons Per Minute By Block

    Quote Originally Posted by ccowgill View Post
    thats how I set up my code
    If you wanted real-time cut-off control, have your expiration check for URL Authentication using:

    Code:
    (vl-load-com)
    (if (setq ex (vlax-get-or-create-object "InternetExplorer.Application")
      (progn
        ;;  ... Get url authentication
        (vlax-release-object ex)))
    Client isn't paying their bill, all you've got to do, is flip the $@#% switch.
    (play the 'wrong answer' sound from The Price Is Right here)

    Edit: Date expiration :: Jalepeno, as URL Authentication :: Habenero ... potent stuff.

    lmfao

    Last edited by RenderMan; 2010-11-19 at 09:28 PM. Reason: Typo
    "How we think determines what we do, and what we do determines what we get."

    Sincpac C3D ~ Autodesk Exchange Apps

    Computer Specs:
    Dell Precision 5860, Xeon W7-2495X, 128GB RAM, Dual PCIe 4.0 M.2 SSD (RAID 0), 20GB NVIDIA RTX 4000 ADA

  6. #6
    I could stop if I wanted to
    Join Date
    2006-04
    Posts
    480
    Login to Give a bone
    0

    Default Re: Sprinkler Gallons Per Minute By Block

    how about using the registry? How do I do that?

  7. #7
    Administrator BlackBox's Avatar
    Join Date
    2009-11
    Posts
    5,806
    Login to Give a bone
    0

    Default Re: Sprinkler Gallons Per Minute By Block

    Quote Originally Posted by aaronic_abacus View Post
    how about using the registry? How do I do that?
    Open the VLIDE, and search for 'registry' in the Apropos.
    "How we think determines what we do, and what we do determines what we get."

    Sincpac C3D ~ Autodesk Exchange Apps

    Computer Specs:
    Dell Precision 5860, Xeon W7-2495X, 128GB RAM, Dual PCIe 4.0 M.2 SSD (RAID 0), 20GB NVIDIA RTX 4000 ADA

  8. #8
    AUGI Addict
    Join Date
    2008-02
    Posts
    1,141
    Login to Give a bone
    0

    Default Re: Sprinkler Gallons Per Minute By Block

    Did anyone else notice that the complaint post is dated two years after the original?

  9. #9
    I could stop if I wanted to
    Join Date
    2006-04
    Posts
    480
    Login to Give a bone
    0

    Default Re: Sprinkler Gallons Per Minute By Block

    Thought of putting it in the original post but didn't not being sure how it would be received.
    Changed my mind which worked out.
    You guys are OK!

  10. #10
    Administrator BlackBox's Avatar
    Join Date
    2009-11
    Posts
    5,806
    Login to Give a bone
    0

    Default Re: Sprinkler Gallons Per Minute By Block

    Quote Originally Posted by aaronic_abacus View Post
    You guys are OK!
    'Tis the season for underwhelming. Lmfao
    "How we think determines what we do, and what we do determines what we get."

    Sincpac C3D ~ Autodesk Exchange Apps

    Computer Specs:
    Dell Precision 5860, Xeon W7-2495X, 128GB RAM, Dual PCIe 4.0 M.2 SSD (RAID 0), 20GB NVIDIA RTX 4000 ADA

Page 1 of 2 12 LastLast

Similar Threads

  1. 2013: Volume in gallons
    By tcrawford1978 in forum Revit - Platform
    Replies: 2
    Last Post: 2012-09-21, 06:53 PM
  2. AUTOCAD 2009 15-45 MINUTE SAVE!
    By stevecarder in forum AutoCAD General
    Replies: 1
    Last Post: 2008-11-13, 01:44 AM
  3. The 10 Minute Gallery
    By Andre Baros in forum Revit - Gallery
    Replies: 2
    Last Post: 2007-09-18, 04:11 AM
  4. 5 Minute Revit A to Z video
    By Dave Lewis in forum Revit Architecture - General
    Replies: 12
    Last Post: 2005-02-25, 05:15 PM

Posting Permissions

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