Enerfab Posted March 22, 2013 Posted March 22, 2013 I created a routine to insert a block and load defined attribute values from a dialog I created. That works great. I now need to create an edit routine. I have been reading several great threads involving updating attributes. I would like to use entsel to grab the block, start the dialog with the set values, change the values, then update the attributes. I am not sure how to select the block and open the dialog with the blocks current values. Any help would be appreciated. Initial lisp: (defun c:nnz () (setq osn (getvar "osmode")) (setq dmsc (getvar "dimscale")) (setq oad (getvar "attdia")) (setq orq (getvar "attreq")) (setq oec (getvar "cmdecho")) (setvar "attdia" 0) (setvar "attreq" 1) (setvar "CMDECHO" 0) (setvar "osmode" 39) (setq dcl_id (load_dialog "nunozzle.dcl")) (if (not (new_dialog "sched_of_noz" dcl_id)) (exit) ) (action_tile "mrk" "(setq nl1 $value)") (action_tile "nqty" "(setq nl2 $value)") (action_tile "nsz" "(setq nl3 $value)") (action_tile "nsrs" "(setq nl4 $value)") (action_tile "ntpe" "(setq nl5 $value)") (action_tile "ndsc" "(setq nl6 $value)") (action_tile "nwall" "(setq nl7 $value)") (action_tile "projin" "(setq nl8 $value)") (action_tile "projout" "(setq nl9 $value)") (action_tile "padthk" "(setq nl10 $value)") (action_tile "padwid" "(setq nl11 $value)") (action_tile "wsa" "(setq nl12 $value)") (action_tile "wsb" "(setq nl13 $value)") (action_tile "wsc" "(setq nl14 $value)") (action_tile "wsd" "(setq nl15 $value)") (action_tile "wse" "(setq nl16 $value)") (action_tile "fatt" "(setq nl17 $value)") (action_tile "vatt" "(setq nl18 $value)") (action_tile "cmmts" "(setq nl19 $value)") (action_tile "bflg" "(setq nl20 $value)") (action_tile "bppe" "(setq nl21 $value)") (action_tile "bgas" "(setq nl22 $value)") (action_tile "bblt" "(setq nl23 $value)") (action_tile "bbld" "(setq nl24 $value)") (action_tile "bpad" "(setq nl25 $value)") (start_dialog) (unload_dialog dcl_id) (command "-insert" "nunoz" (getpoint) dmsc dmsc "" nl1 nl2 nl3 nl4 nl5 nl6 nl7 nl8 nl9 nl10 nl11 nl12 nl13 nl14 nl15 nl16 nl17 nl18 nl19 nl20 nl21 nl22 nl23 nl24 nl25) (setvar "osmode" osn) (setvar "attdia" oad) (setvar "attreq" orq) (setvar "cmdecho" 1) ) My attempt at the edit: (defun c:nnzz () (setq osn (getvar "osmode")) (setq dmsc (getvar "dimscale")) (setq oad (getvar "attdia")) (setq orq (getvar "attreq")) (setq oec (getvar "cmdecho")) (setvar "attdia" 0) (setvar "attreq" 1) (setvar "CMDECHO" 0) (setvar "osmode" 39) (setq e (entsel "Please choose Block: ")) (setq dcl_id (load_dialog "nunozzle.dcl")) (if (not (new_dialog "sched_of_noz" dcl_id)) (exit) ) (action_tile "mrk" "(setq nzl1 $value)") (action_tile "nqty" "(setq nzl2 $value)") (action_tile "nsz" "(setq nzl3 $value)") (action_tile "nsrs" "(setq nzl4 $value)") (action_tile "ntpe" "(setq nzl5 $value)") (action_tile "ndsc" "(setq nzl6 $value)") (action_tile "nwall" "(setq nzl7 $value)") (action_tile "projin" "(setq nzl8 $value)") (action_tile "projout" "(setq nzl9 $value)") (action_tile "padthk" "(setq nzl10 $value)") (action_tile "padwid" "(setq nzl11 $value)") (action_tile "wsa" "(setq nzl12 $value)") (action_tile "wsb" "(setq nzl13 $value)") (action_tile "wsc" "(setq nzl14 $value)") (action_tile "wsd" "(setq nzl15 $value)") (action_tile "wse" "(setq nzl16 $value)") (action_tile "fatt" "(setq nzl17 $value)") (action_tile "vatt" "(setq nzl18 $value)") (action_tile "cmmts" "(setq nzl19 $value)") (action_tile "bflg" "(setq nzl20 $value)") (action_tile "bppe" "(setq nzl21 $value)") (action_tile "bgas" "(setq nzl22 $value)") (action_tile "bblt" "(setq nzl23 $value)") (action_tile "bbld" "(setq nzl24 $value)") (action_tile "bpad" "(setq nzl25 $value)") (start_dialog) (unload_dialog dcl_id) (command "._attedit" "_N" "_N" "nunoz" "mrk" "*" "nl1" "nzl1") (setvar "osmode" osn) (setvar "attdia" oad) (setvar "attreq" orq) (setvar "cmdecho" 1) ) (BTW my name is Bruce) Quote
Enerfab Posted March 22, 2013 Author Posted March 22, 2013 I made a few changes to the edit routine. So far I answered a few questions. (defun c:nnzz () (setq osn (getvar "osmode")) (setq dmsc (getvar "dimscale")) (setq oad (getvar "attdia")) (setq orq (getvar "attreq")) (setq oec (getvar "cmdecho")) (setvar "attdia" 0) (setvar "attreq" 1) (setvar "CMDECHO" 0) (setvar "osmode" 39) (setq e (entsel "Please choose Block: ")) (setq dcl_id (load_dialog "nunozzle.dcl")) (if (not (new_dialog "sched_of_noz" dcl_id)) (exit) ) (set_tile "mrk" nl1) (set_tile "nqty" nl2) (set_tile "nsz" nl3) (set_tile "nsrs" nl4) (set_tile "ntpe" nl5) (set_tile "ndsc" nl6) (set_tile "nwall" nl7) (set_tile "projin" nl8) (set_tile "projout" nl9) (set_tile "padthk" nl10) (set_tile "padwid" nl11) (set_tile "wsa" nl12) (set_tile "wsb" nl13) (set_tile "wsc" nl14) (set_tile "wsd" nl15) (set_tile "wse" nl16) (set_tile "fatt" nl17) (set_tile "vatt" nl18) (set_tile "cmmts" nl19) (set_tile "bflg" nl20) (set_tile "bppe" nl21) (set_tile "bgas" nl22) (set_tile "bblt" nl23) (set_tile "bbld" nl24) (set_tile "bpad" nl25) (action_tile "mrk" "(setq nzl1 $value)") (action_tile "nqty" "(setq nzl2 $value)") (action_tile "nsz" "(setq nzl3 $value)") (action_tile "nsrs" "(setq nzl4 $value)") (action_tile "ntpe" "(setq nzl5 $value)") (action_tile "ndsc" "(setq nzl6 $value)") (action_tile "nwall" "(setq nzl7 $value)") (action_tile "projin" "(setq nzl8 $value)") (action_tile "projout" "(setq nzl9 $value)") (action_tile "padthk" "(setq nzl10 $value)") (action_tile "padwid" "(setq nzl11 $value)") (action_tile "wsa" "(setq nzl12 $value)") (action_tile "wsb" "(setq nzl13 $value)") (action_tile "wsc" "(setq nzl14 $value)") (action_tile "wsd" "(setq nzl15 $value)") (action_tile "wse" "(setq nzl16 $value)") (action_tile "fatt" "(setq nzl17 $value)") (action_tile "vatt" "(setq nzl18 $value)") (action_tile "cmmts" "(setq nzl19 $value)") (action_tile "bflg" "(setq nzl20 $value)") (action_tile "bppe" "(setq nzl21 $value)") (action_tile "bgas" "(setq nzl22 $value)") (action_tile "bblt" "(setq nzl23 $value)") (action_tile "bbld" "(setq nzl24 $value)") (action_tile "bpad" "(setq nzl25 $value)") (start_dialog) (unload_dialog dcl_id) (command "._attedit" "_N" "_N" "e" ("mrk" "*" "nl1" "nzl1") ("nqty" "*" "nl2" "nzl2").............) (setvar "osmode" osn) (setvar "attdia" oad) (setvar "attreq" orq) (setvar "cmdecho" 1) ) Can I batch command all of the attributes to update all attributes? Bruce Quote
SLW210 Posted March 22, 2013 Posted March 22, 2013 Please read the CODE POSTING GUIDELINES and edit to include your Code in Code Tags. It'll remove the emoticons, as well. Quote
Enerfab Posted March 22, 2013 Author Posted March 22, 2013 Thanks. I am a bit anxious to get thru this code, and didn't pay much attention. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.