What is causing the second one not to work.

What is causing the second one not to work.

Anonymous
Not applicable
209 Views
1 Reply
Message 1 of 2

What is causing the second one not to work.

Anonymous
Not applicable

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))

 

 

0 Likes
210 Views
1 Reply
Reply (1)
Message 2 of 2

marko_ribar
Advisor
Advisor

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)
0 Likes