Visual LISP, AutoLISP and General Customization
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

What is causing the second one not to work.

1 REPLY 1
Reply
Message 1 of 2
darryl.m.bowen
165 Views, 1 Reply

What is causing the second one not to work.

first command (this one works)

(DEFUN C:IFA()
(SETQ NAME (ENTNEXT))
(SETQ TAG "NIL")
(SETQ REVNO "A")
(SETQ DESC "ISSUED FOR APPROVAL")
(SETQ CAD "DMB")
(SETQ CHKD "ROB")
(SETQ APVD "PM")
(WHILE (/= TAG "REVNO1")
(SETQ NAME (ENTNEXT NAME))
(SETQ DATA (ENTGET NAME))
(SETQ ENTTYPE (CDR (ASSOC 0 DATA)))
(IF (= ENTTYPE "ATTRIB")
(SETQ TAG (CDR (ASSOC 2 DATA)))))
(IF (= TAG "REVNO1")
(REVISE_REV_BLOCK)))

 

Second routine

(DEFUN C:R0()
(SETQ NAME (ENTNEXT))
(SETQ TAG "NIL")
(SETQ REVNO (GETSTRING "ENTER REVISION NUMBER: "))
(SETQ DESC (GETSTRING "ENTER REV DESCRIPTION: "))
(SETQ CAD "DMB")
(SETQ CHKD "ROB")
(SETQ APVD "PM")
(WHILE (/= TAG "REVNO1")
(SETQ NAME (ENTNEXT NAME))
(SETQ DATA (ENTGET NAME))
(SETQ ENTTYPE (CDR (ASSOC 0 DATA)))
(IF (= ENTTYPE "ATTRIB")
(SETQ TAG (CDR (ASSOC 2 DATA)))))
(IF (= TAG "REVNO1")
(REVISE_REV_BLOCK)))

 

Command that both use.  


(DEFUN REVISE_REV_BLOCK()
(SETQ OLDREV (ASSOC 1 DATA))
(SETQ NEWREV (CONS 1 REVNO))
(SETQ DATA (SUBST NEWREV OLDREV DATA))
(ENTMOD DATA)

(SETQ NAME (ENTNEXT NAME))
(SETQ DATA (ENTGET NAME))
(SETQ TD (RTOS (GETVAR "CDATE") 2 6))
(SETQ DATE (STRCAT (SUBSTR TD 5 2) "/"
(SUBSTR TD 7 2) "/"
(SUBSTR TD 3 2)))
(SETQ OLDDATE (ASSOC 1 DATA))
(SETQ NEWDATE (CONS 1 DATE))
(SETQ DATA (SUBST NEWDATE OLDDATE DATA))
(ENTMOD DATA)

(SETQ NAME (ENTNEXT NAME))
(SETQ DATA (ENTGET NAME))
(SETQ OLDINIT (ASSOC 1 DATA))
(SETQ NEWINIT (CONS 1 desc))
(SETQ DATA (SUBST NEWINIT OLDINIT DATA))
(ENTMOD DATA)

(SETQ NAME (ENTNEXT NAME))
(SETQ DATA (ENTGET NAME))
(SETQ OLDINIT (ASSOC 1 DATA))
(SETQ NEWINIT (CONS 1 cad))
(SETQ DATA (SUBST NEWINIT OLDINIT DATA))
(ENTMOD DATA)
(ENTUPD NAME)

(SETQ NAME (ENTNEXT NAME))
(SETQ DATA (ENTGET NAME))
(SETQ OLDINIT (ASSOC 1 DATA))
(SETQ NEWINIT (CONS 1 chkd))
(SETQ DATA (SUBST NEWINIT OLDINIT DATA))
(ENTMOD DATA)
(ENTUPD NAME)

(SETQ NAME (ENTNEXT NAME))
(SETQ DATA (ENTGET NAME))
(SETQ OLDINIT (ASSOC 1 DATA))
(SETQ NEWINIT (CONS 1 APVD))
(SETQ DATA (SUBST NEWINIT OLDINIT DATA))
(ENTMOD DATA)
(ENTUPD NAME)
(CHANGE_REV))
;(COMMAND "REGEN"))

(DEFUN CHANGE_REV()
(SETQ ENAME (ENTNEXT))
(SETQ TAG "NIL")
(WHILE (/= TAG "REVNO")
(SETQ ENAME (ENTNEXT ENAME))
(SETQ EDATA (ENTGET ENAME))
(SETQ ENTTYPE (CDR (ASSOC 0 EDATA)))
(IF (= ENTTYPE "ATTRIB")
(SETQ TAG (CDR (ASSOC 2 EDATA)))))
(SETQ OLDREV (ASSOC 1 EDATA))
(SETQ NEWREV (CONS 1 REVNO))
(SETQ EDATA (SUBST NEWREV OLDREV EDATA))
(ENTMOD EDATA)
(ENTUPD ENAME))

 

 

1 REPLY 1
Message 2 of 2

I've checked on my machine and both routines work as expected... I used empty DWG with only single block that correspond to your title block... I'll attach it...

Marko Ribar, d.i.a. (graduated engineer of architecture)

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report

”Boost