Page 2 of 2 FirstFirst 12
Results 11 to 16 of 16

Thread: Summing values from attributes

  1. #11
    I could stop if I wanted to
    Join Date
    2009-03
    Location
    London, England
    Posts
    304
    Login to Give a bone
    0

    Default Re: Summing values from attributes

    Quote Originally Posted by tlaskowski856794 View Post
    Thank You very much, it all works just perfect!
    Excellent!

    Quote Originally Posted by tlaskowski856794 View Post
    Your website is really popular all around the world, also in Poland!
    That's really nice to know - its great that so many people can benefit from it

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

    Default Re: Summing values from attributes

    ;This autolisp program adds attribute and text values.

    Code:
    (DEFUN C:AATV (/ LP FAE FAEN FAENL FAENLV FAERT LP1 FAE2 FAEN2 FAENL2 FAENLV2)
     (PROMPT "\n*ADD ATTRIBUTE AND TEXT VALUES* ")
     (SETQ LP 1)
     (WHILE LP
      (SETQ FAE (NENTSEL "\nSelect first attribute or text: "))
      (IF (/= FAE NIL)
       (PROGN
        (SETQ FAEN (CAR FAE))
        (SETQ FAENL (ENTGET FAEN))
        (SETQ FAENLV (CDR (ASSOC 1 FAENL)))
        (SETQ FAERT (DISTOF FAENLV 2))
      )); END PROGN/IF FAE
      (IF (/= FAERT NIL) (SETQ LP NIL) (PROMPT "\nSelection not a real number "))
     );END LP
     (SETQ LP1 1)
     (WHILE LP1
      (SETQ FAE2 (NENTSEL "\nSelect next attribute or text /<exit>: "))
      (IF (/= FAE2 NIL)
       (PROGN
        (SETQ FAEN2 (CAR FAE2))
        (SETQ FAENL2 (ENTGET FAEN2))
        (SETQ FAENLT2 (CDR (ASSOC 0 FAENL2)))
        (SETQ FAENLV2 (CDR (ASSOC 1 FAENL2)))
        (SETQ FAENLVN2 (DISTOF FAENLV2 2))
        (IF (/= FAENLVN2 NIL)
         (PROGN
          (SETQ FAERT (+ FAERT FAENLVN2))
          (PROMPT "\nRunning attribute and text total = ")
          (PRINC FAERT)
         );END PROGN
         (PROMPT "\nSelection not a real number ")
        );END IF FAENLVN2
       );END PROGN
       (PROGN
        (SETQ LP1 NIL)
        (PROMPT "\nFinal attribute and text total = ")
        (PRINC FAERT)
      ));END PROGN/IF FAE2
     );END LP1
     (PRINC)
    );END AATV

  3. #13
    Active Member
    Join Date
    2012-07
    Posts
    56
    Login to Give a bone
    0

    Default Re: Summing values from attributes

    @aaronic_abacus
    Excellent code!!

    How Can I insert the result as a Text Field??

    Thank in advace

  4. #14
    I could stop if I wanted to
    Join Date
    2006-04
    Posts
    466
    Login to Give a bone
    0

    Default Re: Summing values from attributes

    Code:
    (DEFUN C:AATV (/ LP FAE FAEN FAENL FAENLV FAERT LP1 FAE2 FAEN2 FAENL2 FAENLV2)
     (PROMPT "\n*ADD ATTRIBUTE AND TEXT VALUES* ")
     (SETQ LP 1)
     (WHILE LP
      (SETQ FAE (NENTSEL "\nSelect first attribute or text: "))
      (IF (/= FAE NIL)
       (PROGN
        (SETQ FAEN (CAR FAE))
        (SETQ FAENL (ENTGET FAEN))
        (SETQ FAENLV (CDR (ASSOC 1 FAENL)))
        (SETQ FAERT (DISTOF FAENLV 2))
      )); END PROGN/IF FAE
      (IF (/= FAERT NIL) (SETQ LP NIL) (PROMPT "\nSelection not a real number "))
     );END LP
     (SETQ LP1 1)
     (WHILE LP1
      (SETQ FAE2 (NENTSEL "\nSelect next attribute or text /<exit>: "))
      (IF (/= FAE2 NIL)
       (PROGN
        (SETQ FAEN2 (CAR FAE2))
        (SETQ FAENL2 (ENTGET FAEN2))
        (SETQ FAENLT2 (CDR (ASSOC 0 FAENL2)))
        (SETQ FAENLV2 (CDR (ASSOC 1 FAENL2)))
        (SETQ FAENLVN2 (DISTOF FAENLV2 2))
        (IF (/= FAENLVN2 NIL)
         (PROGN
          (SETQ FAERT (+ FAERT FAENLVN2))
          (PROMPT "\nRunning attribute and text total = ")
          (PRINC FAERT)
         );END PROGN
         (PROMPT "\nSelection not a real number ")
        );END IF FAENLVN2
       );END PROGN
       (PROGN
        (SETQ LP1 NIL)
        (PROMPT "\nFinal attribute and text total = ")
        (PRINC FAERT)
      ));END PROGN/IF FAE2
     );END LP1
    
     (SETQ FAERTS (RTOS FAERT 2 4))
     (COMMAND "TEXT")
     (PROMPT "\nSpecify start point of text: ")
     (COMMAND  PAUSE)
     (PROMPT "\Specify height: ")
     (COMMAND  PAUSE)
     (PROMPT "\Specify rotation angle of text: ")
     (COMMAND PAUSE)
     (COMMAND  FAERTS)
    
     (PRINC)
    );END AATV
    Attached Files Attached Files
    Last edited by aaronic_abacus; 2013-11-26 at 08:11 PM.

  5. #15
    Active Member
    Join Date
    2012-07
    Posts
    56
    Login to Give a bone
    0

    Default Re: Summing values from attributes

    wonderful job!!!
    Worked like a charm.

    Many Thanks

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

    Default Re: Summing values from attributes

    This is the latest. The program now adds attribute, text, and dimension values.
    And now strips out the first number.


    Code:
    (DEFUN C:AATV (/); LP FAE FAEN FAENL FAENLV FAERT LP1 FAE2 FAEN2 FAENL2 FAENLV2 FAERTS CMDECHO1)
     (PROMPT "\n*ADD ATTRIBUTE, TEXT AND DIMENSION VALUES* ")
     (SETQ LP 1)
     (WHILE LP
      (SETQ FAE (NENTSEL "\nSelect first attribute or text: "))
      (IF (/= FAE NIL)
       (PROGN
        (SETQ FAEN (CAR FAE))
        (SETQ FAEPT (CAR (CDR FAE)))
        (SETQ FAENL (ENTGET FAEN))
        (SETQ FAENLV (CDR (ASSOC 1 FAENL)))
        (SETQ FAENLT (CDR (ASSOC 0 FAENL)))
        (SETQ FAENR (SSGET FAEPT))
        (SETQ FAENRE (SSNAME FAENR 0))
        (SETQ FAENREL (ENTGET FAENRE))
        (SETQ FAENRELT (CDR (ASSOC 0 FAENREL)))
        (IF (AND (= FAENLT "MTEXT") (= (SUBSTR FAENLV 1 1) (CHR 92)) (OR (= FAENRELT "DIMENSION") (= FAENRELT "ARC_DIMENSION") ))
         (PROGN
         (SETQ FAENRELV (CDR (ASSOC 42 FAENREL)))
         (SETQ LUNITV (GETVAR "LUNITS"))
         (IF (OR (= LUNITV 3) (= LUNITV 4)) (SETQ FAENRELV (/ FAENRELV 12)))
         (SETQ FAENLV FAENRELV)
         (SETQ FAENLV (RTOS FAENLV 2 4))
        ));END PROGN/IF FAENLT
        (IF (AND (= FAENLT "MTEXT") (= (SUBSTR FAENLV 1 1) (CHR 92)) (AND (/= FAENRELT "DIMENSION") (/= FAENRELT "ARC_DIMENSION") ))
         (PROGN
          (SETQ LP2B 1)
          (SETQ CT1B 0)
          (WHILE LP2B
           (SETQ CT1B (+ CT1B 1))
           (SETQ PAENLC (SUBSTR FAENLV CT1B 1))
           (IF (= PAENLC ";") (PROGN (SETQ FAENLV (SUBSTR FAENLV (+ CT1B 1))) (SETQ LP2B NIL)))
          );END LP2B
        ));END PROGN IF FAENLT
        (SETQ FAENLVCCS "")
        (SETQ FAENLVCPRECTC NIL) 
        (SETQ FAENLVCPOSCTC NIL)
        (SETQ FAENLVL (STRLEN FAENLV))
        (SETQ CT 1)
        (SETQ FAETRIG NIL)
        (SETQ LP3 1)
        (WHILE LP3
         (SETQ FAENLVC (SUBSTR FAENLV CT 1))
         (IF (AND (>= (ASCII FAENLVC) 48) (<= (ASCII FAENLVC) 57)) (SETQ FAETRIG 1))
         (IF (> CT 1)
          (PROGN
           (SETQ FAENLVCPRE (SUBSTR FAENLV (- CT 1) 1))
           (IF (/= FAENLVCPRE NIL) (SETQ FAENLVCCPRET (ASCII FAENLVCPRE)))
           (IF (AND (>= FAENLVCCPRET 48) (<= FAENLVCCPRET 57)) (SETQ FAENLVCPRECTC 1) (SETQ FAENLVCPRECTC NIL))
          );END PROGN CT
           (SETQ FAENLVCPRECTC NIL)
          );END IF CT
         (SETQ FAENLVCPOS (SUBSTR FAENLV (+ CT 1) 1))
         (IF (/= FAENLVCPOS NIL) (SETQ FAENLVCCPOST (ASCII FAENLVCPOS)))
         (IF (AND (>= FAENLVCCPOST 48) (<= FAENLVCCPOST 57)) (SETQ FAENLVCPOSCTC 1) (SETQ FAENLVCPOSCTC NIL))
         (SETQ CT (+ CT 1))
         (SETQ FAENLVCC (ASCII FAENLVC))
         (IF 
          (OR 
           (AND (>= FAENLVCC 48) (<= FAENLVCC 57))
           (AND (= FAENLVCC 46) (= FAENLVCPRECTC 1) (= FAENLVCPOSCTC 1))
           (AND (= FAENLVCC 45) (/= FAENLVCPRECTC 1) (= FAENLVCPOSCTC 1))
          )
          (SETQ FAENLVCCS (STRCAT FAENLVCCS FAENLVC))
          (IF (AND (/= FAENLVCPOSCTC 1) (= FAETRIG 1)) (SETQ LP3 NIL))
         )
         (IF (> CT FAENLVL) (SETQ LP3 NIL))
        );END LP3
        (SETQ FAERT (DISTOF FAENLVCCS 2))
          (PROMPT "\n Picked number = ")
          (PRINC FAERT)
      )); END PROGN/IF FAE
      (IF (/= FAERT NIL) (SETQ LP NIL) (PROMPT "\nSelection not a real number "))
     );END LP
     (SETQ LP1 1)
     (WHILE LP1
      (SETQ FAE2 (NENTSEL "\nSelect next attribute or text /<exit>: "))
      (IF (/= FAE2 NIL)
       (PROGN
        (SETQ FAEN2 (CAR FAE2))
        (SETQ FAENL2 (ENTGET FAEN2))
        (SETQ FAEPT2 (CAR (CDR FAE2)))
        (SETQ FAENLT2 (CDR (ASSOC 0 FAENL2)))
        (SETQ FAENLV2 (CDR (ASSOC 1 FAENL2)))
        (SETQ FAENR2 (SSGET FAEPT2))
        (SETQ FAENRE2 (SSNAME FAENR2 0))
        (SETQ FAENREL2 (ENTGET FAENRE2))
        (SETQ FAENRELT2 (CDR (ASSOC 0 FAENREL2)))
        (IF (AND (= FAENLT2 "MTEXT") (= (SUBSTR FAENLV2 1 1) (CHR 92)) (OR (= FAENRELT2 "DIMENSION") (= FAENRELT2 "ARC_DIMENSION")))
         (PROGN
          (SETQ FAENRELV2 (CDR (ASSOC 42 FAENREL2)))
          (SETQ LUNITV2 (GETVAR "LUNITS"))
          (IF (OR (= LUNITV2 3) (= LUNITV2 4)) (SETQ FAENRELV2 (/ FAENRELV2 12)))
          (SETQ FAENLV2 FAENRELV2)
          (SETQ FAENLV2 (RTOS FAENLV2 2 4))
        ));END PROGN/IF FAENLT2
        (IF (AND (= FAENLT2 "MTEXT") (= (SUBSTR FAENLV2 1 1) (CHR 92)) (AND (/= FAENRELT2 "DIMENSION") (/= FAENRELT2 "ARC_DIMENSION")))
         (PROGN
          (SETQ LP2B2 1)
          (SETQ CT1B2 0)
          (WHILE LP2B2
           (SETQ CT1B2 (+ CT1B2 1))
           (SETQ PAENLC2 (SUBSTR FAENLV2 CT1B2 1))
           (IF (= PAENLC2 ";") (PROGN (SETQ FAENLV2 (SUBSTR FAENLV2 (+ CT1B2 1))) (SETQ LP2B2 NIL)))
          );END LP2B2
        ));END PROGN IF FAENLT2
        (SETQ FAENLVCCS2 "")
        (SETQ FAENLVCPRECTC2 NIL) 
        (SETQ FAENLVCPOSCTC2 NIL)
        (SETQ FAENLVL2 (STRLEN FAENLV2))
        (SETQ CT2 1)
        (SETQ FAETRIG2 NIL)
        (SETQ LP4 1)
        (WHILE LP4
         (SETQ FAENLVC2 (SUBSTR FAENLV2 CT2 1))
         (IF (AND (>= (ASCII FAENLVC2) 48) (<= (ASCII FAENLVC2) 57)) (SETQ FAETRIG2 1))
         (IF (> CT2 1)
          (PROGN
           (SETQ FAENLVCPRE2 (SUBSTR FAENLV2 (- CT2 1) 1))
           (IF (/= FAENLVCPRE2 NIL) (SETQ FAENLVCCPRET2 (ASCII FAENLVCPRE2)))
           (IF (AND (>= FAENLVCCPRET2 48) (<= FAENLVCCPRET2 57)) (SETQ FAENLVCPRECTC2 1) (SETQ FAENLVCPRECTC2 NIL))
          );END PROGN CT2
           (SETQ FAENLVCPRECTC2 NIL)
          );END IF CT2
         (SETQ FAENLVCPOS2 (SUBSTR FAENLV2 (+ CT2 1) 1))
         (IF (/= FAENLVCPOS2 NIL) (SETQ FAENLVCCPOST2 (ASCII FAENLVCPOS2)))
         (IF (AND (>= FAENLVCCPOST2 48) (<= FAENLVCCPOST2 57)) (SETQ FAENLVCPOSCTC2 1) (SETQ FAENLVCPOSCTC2 NIL))
         (SETQ CT2 (+ CT2 1))
         (SETQ FAENLVCC2 (ASCII FAENLVC2))
         (IF 
          (OR 
           (AND (>= FAENLVCC2 48) (<= FAENLVCC2 57))
           (AND (= FAENLVCC2 46) (= FAENLVCPRECTC2 1) (= FAENLVCPOSCTC2 1))
           (AND (= FAENLVCC2 45) (/= FAENLVCPRECTC2 1) (= FAENLVCPOSCTC2 1))
          )
          (SETQ FAENLVCCS2 (STRCAT FAENLVCCS2 FAENLVC2))
          (IF (AND (/= FAENLVCPOSCTC2 1) (= FAETRIG2 1)) (SETQ LP4 NIL))
         )
         (IF (> CT2 FAENLVL2) (SETQ LP4 NIL))
        );END LP4
        (SETQ FAENLVN2 (DISTOF FAENLVCCS2 2))
        (IF (/= FAENLVN2 NIL)
         (PROGN
          (PROMPT "\n Picked number = ")
          (PRINC FAENLVN2)
          (SETQ FAERT (+ FAERT FAENLVN2))
          (PROMPT "\nRunning attribute and text total = ")
          (PRINC FAERT)
         );END PROGN
         (PROMPT "\nSelection not a real number ")
        );END IF FAENLVN2
       );END PROGN
       (PROGN
        (SETQ LP1 NIL)
        (PROMPT "\nFinal attribute and text total = ")
        (PRINC FAERT)
      ));END PROGN/IF FAE2
     );END LP1
     (SETQ CMDECHO1 (GETVAR "CMDECHO"))
     (SETVAR "CMDECHO" 0)
     (SETQ FAERTS (RTOS FAERT 2 4))
    
     (COMMAND "TEXT")
    
     (SETQ LP2 1)
     (WHILE LP2
      (PROMPT "\nSpecify start point of text: ")
    
      (SETQ TIP (GETPOINT))
    
      (IF (/= TIP NIL) (SETQ LP2 NIL) (PROMPT "\nNO POINT ENTERED. "))
     );END LP2
     (COMMAND TIP)
    
     (PROMPT "\nSpecify height: ")
    
     (COMMAND  PAUSE)
    
     (PROMPT "\nSpecify rotation angle of text: ")
    
     (COMMAND PAUSE)
    
     (COMMAND  FAERTS)
    
     (SETVAR "CMDECHO" CMDECHO1)
     (PRINC)
    );END AATV
    Attached Files Attached Files
    Last edited by aaronic_abacus; 2019-10-15 at 10:45 AM.

Page 2 of 2 FirstFirst 12

Similar Threads

  1. Block Count via attributes values
    By cadconcepts in forum AutoLISP
    Replies: 21
    Last Post: 2015-02-10, 06:35 PM
  2. Getting Block Attributes/Values (for dummies)
    By stusic in forum AutoLISP
    Replies: 7
    Last Post: 2012-09-22, 03:56 PM
  3. Assign Attributes & Block to Values
    By asma.waqar in forum AutoCAD General
    Replies: 0
    Last Post: 2011-02-15, 06:21 PM
  4. Replies: 13
    Last Post: 2009-12-14, 12:39 AM
  5. Add values to attributes
    By todd.mackay in forum AutoLISP
    Replies: 11
    Last Post: 2008-05-30, 01:04 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
  •