马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
功能:换带属性的图框
说明:新图框和旧图框的属性数量可以不同,但新、旧块中的属性顺序要一致。
程序中用系统参数CMDNAMES判断命令是否结束。
源码:
 - 功能:换带属性的图框,(新老块中的属性顺序需一致)
- (DEFUN C:CH-BLK1 ( / inde TXT e1 c-osmd )
- (setq Inde (load_dialog "ch-blk"))
- (new_dialog "ch1" inde)
- (if (/= blkn3 nil)(set_tile "list1" blkn3))
- (if (/= blkn4 nil)(set_tile "list2" blkn4))
- (mode_tile "list2" 2)
- (mode_tile "list1" 2)
- (action_tile "list1" "(setq blkn3 $value) ")
- (action_tile "list2" "(setq blkn4 $value)")
- (start_dialog)
- (unload_dialog inde)
- (setq blkn3 (strcase blkn3) blkn4 (strcase blkn4))
- (SETVAR "cmdecho" 0)
- (command "_undo" "begin")
- (setq c-osmd (GETVAR "OSMODE" ))
- (setvar"attdia" 0)
- (setvar"attreq" 1)
- (SETVAR "OSMODE" 0)
- (SETQ TXT (CONS '(0 . "INSERT" ) (CONS (CONS '2 BLKN3) '())) )
- (prompt " 选择需要变更的图块 >>> ")
- (IF (setq e1 (SSGET TXT) )
- (PROGN
- (CH-BLK2 e1 blkn4)
- (command "erase" e1 "")
- )
- )
- (terpri)
- (SETVAR "OSMODE" c-osmd)
- (command "_undo" "end")
- (SETVAR "cmdecho" 1)
- (princ)
- )
- (DEFUN CH-BLK2 (E1 bname / I LIS1 NAM N1 )
- (REPEAT (SETQ I (SSLENGTH E1) )
- (SETQ I (- I 1) )
- (SETQ LIS1 (ENTGET (setq NAM(SSNAME E1 I) )) )
- (command "_.insert" bname
- (cdr (assoc '10 lis1))
- (rtos (cdr (assoc '41 lis1)) 2 4)
- (rtos (cdr (assoc '42 lis1)) 2 4)
- (angtos (cdr (assoc '50 lis1)) 0 8)
- )
- (WHILE (/= "SEQEND"
- (SETQ N1 (cdr (assoc '0 (ENTGET (setq NAM (ENTNEXT NAM) )))))
- )
- (IF (AND (= N1 "ATTRIB" ) (/= (GETVAR "CMDNAMES") "") )
- (COMMAND (CDR (ASSOC '1 (ENTGET NAM))) )
- )
- );;;end while
- (WHILE (/= (GETVAR "CMDNAMES") "")(COMMAND "") )
- );;;end repeat
- )
对话框:
 - ch1:dialog
- { label = /*MSG1*/ " -----图块替换------ ";
- spacer;
- : column {
- : boxed_row {
- label= " 实体源块 ";
- :edit_box{
- key="list1";
- width = 50;
- }
- }
- : boxed_row {
- label= " 实体目标块 ";
- :edit_box{
- key="list2";
- width =50;
- }
- }
- }
- ok_only;
- }
|