hpc_cumt 发表于 2015-10-10 14:01:28

替换标题栏(换属性块,但不改属性定义值)

本帖最后由 hpc_cumt 于 2015-10-10 14:20 编辑

代码来自 bbs.xdcad.net/forum.php?mod=viewthread&tid=671747&page=1#pid3497137
简单来说就是更换图框标题栏(标题栏中合作方的logo需要更换),但是之前所填的属性内容不变。以下代码高手给看看!
(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;

       }

jltx123456 发表于 2015-10-10 14:14:15

鄙视, 拿他人的源码发[源码]主题 , 连作者名,引用地址都不提.
http://bbs.xdcad.org/thread-671747-1-1.html

hpc_cumt 发表于 2015-10-10 14:18:19

jltx123456 发表于 2015-10-10 14:14 static/image/common/back.gif
鄙视, 拿他人的源码发[源码]主题 , 连作者名,引用地址都不提.
http://bbs.xdcad.org/thread-671747- ...

是的,不好意思,我再注明下!!!

hpc_cumt 发表于 2015-10-10 14:29:56

jltx123456 发表于 2015-10-10 14:14 static/image/common/back.gif
鄙视, 拿他人的源码发[源码]主题 , 连作者名,引用地址都不提.
http://bbs.xdcad.org/thread-671747- ...

能帮忙给看下吗?谢谢了,我是初学者
页: [1]
查看完整版本: 替换标题栏(换属性块,但不改属性定义值)