七拼八凑,弄了个属性编辑器,发源码!
试用前,请按照ODCL - (command "OPENDCL")
- (vl-load-com)
- (defun GetAttributes (ent / lst)
- (if (safearray-value(setq lst (vlax-variant-value (vla-getattributes (vlax-ename->vla-object ent)))))
- (mapcar '(lambda (x) (cons (vla-get-tagstring x) (vla-get-textstring x))) (vlax-safearray->list lst))
- )
- )
- (defun SetAttributes (ent lst / n atts)
- (if (safearray-value(setq atts(vlax-variant-value(vla-getattributes (vlax-ename->vla-object ent)))))
- (progn
- (foreach n lst
- (mapcar '(lambda (x)
- (if(= (strcase (car n)) (strcase (vla-get-tagstring x)))
- (vla-put-textstring x (cdr n))
- )
- )
- (vlax-safearray->list atts)
- )
- )
- (vla-update (vlax-ename->vla-object ent))
- )
- )
- )
- (defun Showlst (str1 lst / col0 col1 string
- c:gm_proplist_Form1_OnInitialize
- c:gm_proplist_Form1_OnClose
- c:gm_proplist_Form1_cancle_OnClicked
- c:gm_proplist_Form1_ok_OnClicked)
- (defun c:gm_proplist_Form1_OnInitialize (/ row_n col_n)
- (dcl_Control_SetTitleBarText gm_proplist str1)
- (setq row_n -1 col_n -1)
- (mapcar '(lambda (x y)
- (dcl_Grid_AddRow gm_grid1 "\t")
- (dcl_Grid_SetCellText gm_grid1 (setq row_n (1+ row_n)) 0 x)
- (dcl_Grid_SetCellText gm_grid1 (setq col_n (1+ col_n)) 1 y)
- )
- (mapcar 'car lst)
- (mapcar 'cdr lst)
- )
- )
- (defun c:gm_proplist_Form1_cancle_OnClicked nil
- (dcl_Form_Close gm_proplist)
- )
- (defun c:gm_proplist_Form1_ok_OnClicked nil
- (setq col0 (dcl_Grid_GetColumnCells gm_grid1 0)
- col1 (dcl_Grid_GetColumnCells gm_grid1 1)
- )
- (dcl_Form_Close gm_proplist)
- )
- (defun c:gm_proplist_Form1_OnClose nil
- (dcl_Form_Close gm_proplist_Form1)
- )
- (setq string (apply 'strcat
- '("YWt6A+gNAADXp1dRBuKTKTcxai9ugBj6n5ceOq5mUXhr3U/svv52YLseam/p/Wmz+mfI7x+4xvl1"
- "Ocn1WTHg8q/1BaKctw5OblGAfm0Ju4OYv/vIlIsKwQC7ch5aOm3FjcShKYsgKwsrw9TnB7DmfRH6"
- "fkJQfxit5Xcryzbef+OWPHlD5S7zBASprbPNZuz61K/W10tKFd6LNwRIH1PE96A+4iQEFHtwNRJa"
- "YKF3nAlu0eTaqq7SLzUyrlI3zXCqr5bYZ7UXXBDykEScuTYtcpUu+tYZz8BoP/tuiG7P9CXuu3+K"
- "7XBL8gzx7SXcCOz6vtt489YvzCrrZUI6TQupHsOAyL4JesBbjnHd8WeURjQCHSehjPy48SbiFnEv"
- "naYxolJDrTafXnA/00yEYM2C4fYGlKYxlOK+OXpgPA++QtZZ/AGqvOs30jkANZxOyLmv8HJIrTZv"
- "WTtfmyt96jBUbMybAWmE8KcmeQVo30xY0++/8Fo3CPgsWbPMNdPDKy3LS1a9y8In0TLc8VbjLru8"
- "mBW8mFV8IWuGjFpAMYVHnJxA/4WDZvnADLAaewHhvtn7wDHAsSJCGKiV4oJSiAGKDaq7KxyBaR3x"
- "mJlHGB9W8dqkM/SMCdX2Y7yY4oXFtpeUxEbgSXrgXfAtuOwrpPgj1tqv1dvbF8Dv4EN2YJW7wpHS"
- "7s2ujgVnEWkG+b+1ZgHOijzTToJ1IkjIZ8L6qcn0zM4rnkj/yXby7hOR9q7BLAIx3lLKro7xrwLY"
- "8kU4n1LbhOH7T6LwqMFcAiJW/J8FfkUCfYaJvFlUperVTvmLATuFg/TY8bUs5JZ9zx+iMfIzmp9q"
- "h+/EiiAfJyqemVaLzlH8UwYdreOi2+BfFK+5YqsyDzKdTrtKPVncSHFTeAsxlgMjPoD1fIovUrYV"
- "mSUqmtvBzJs6DD3DypcPZOMy4VWS9bEOeFv6wG18kWiG2r5MfTF3IliO4Oe1JnntiZ6JwAWjfI2w"
- "auYRksA///W6hD6PIbOGnEpriOUcId6u4Z88Ip+AWa8M4g8bgSyfSN4lKt5zQvyjeMZn1NkcgT2v"
- "GLBlUZbR4t4TztX9E50AFmSk+KNY6iWMBTKP594TcpmgwX5Htq1u")
- ))
- (dcl_project_import string nil nil)
- (dcl_form_show gm_proplist)
- (dcl_control_setproperty gm_proplist "Close" "c:gm_proplist_Form1_OnClose")
- (setq attlst (mapcar 'cons col0 col1))
- )
- (defun c:blkattedit( / ent blkname attlst)
- (while (setq ent (car(entsel "\n选择属性图块:")))
- (setq blkname (cdr(assoc 2 (entget ent)))
- attlst (GetAttributes ent))
- (Showlst blkname attlst)
- (SetAttributes ent attlst)
- (princ)
- )
- )
|