明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖
楼主: 品茗新秀

求文字格式刷lsp程序

  [复制链接]
发表于 2012-10-31 10:24:09 | 显示全部楼层
(defun c:qm 一般C:后面的就是执行命令,另外我觉得没什么必要啊,cad自身的格式刷可以输入S进行设置

评分

参与人数 1明经币 +1 收起 理由
品茗新秀 + 1 很给力!

查看全部评分

发表于 2012-12-19 08:40:24 | 显示全部楼层
本帖最后由 自贡黄明儒 于 2012-12-19 11:51 编辑

;;发现本论坛一个格式刷,看看是不是你需要的
  1. ;;本程序是类似于R14应用程序中经常用的格式刷的功能
  2. (defun c:ddbrush (/        #SPIN AA    BJ          BLK        C     CC    DCLID EE
  3.                   F        FN    FNAME ID          JT        JZXZ  LEN   LENG  LIN
  4.                   MC        MONAME            MOTHER        MX    MXX   MY          MYY
  5.                   N        NAME  NN1   NN2          NN3        NN4   OK    PT3          QX
  6.                   RATE        SCJD  SF    SS          SSS        STANDARD    STR          TC
  7.                   TNAME        TT1   TT2   TT3          TT4        TTT1  TTT2  TTT3  TTT4
  8.                   TX        TXX   TY    TYY          WZLX        WZNR  XX    XXBL  YC
  9.                   YESNO        ZG    ZTJD  ZXBL
  10.                  )
  11.   
  12.   (defun spin (wh)
  13.     (prompt (strcat "\r  "
  14.                     wh
  15.                     (cond ((= #spin "|") (setq #spin "/"))
  16.                           ((= #spin "/") (setq #spin "-"))
  17.                           ((= #spin "-") (setq #spin "\\"))
  18.                           (T (setq #spin "|"))
  19.                     )
  20.             )
  21.     )
  22.     (princ)
  23.   )
  24.   
  25.   (defun modim (/ exmo exmo3 exch)
  26.     (setq exmo (entget (car sss) '("ACAD")))
  27.     (setq exmo3 (assoc -3 exmo))
  28.     (setq exch (entget ee '("ACAD")))
  29.     (princ "\nsecond\n\n")
  30.     (princ exch)
  31.     (princ "\n\n first\n")
  32.     (princ exmo3)
  33.     (if        (not (or (NULL (assoc -3 exch)) (NULL exmo3)))
  34.       (setq exch (subst exmo3 (assoc -3 exch) exch))
  35.     )
  36.     (if        (NULL (assoc -3 exch))
  37.       (setq exch (append exch (list exmo3)))
  38.     )
  39.     (if        (NULL exmo3)
  40.       (setq exch (subst standard (assoc -3 exch) exch))
  41.     )
  42.     (princ "\n\nstart newsecond\n")
  43.     (princ exch)
  44.     (princ "\n\nend\n")
  45.     (entmod exch)
  46.   )

  47.   (defun myreplace (attrib / variey1 variey2 variety xxxx yyyy)
  48.     (if        (NULL variey1)
  49.       (setq variey1 (assoc attrib aa))
  50.     )
  51.     (setq variey2 (cdr (assoc attrib mother)))
  52.     (if        (NULL variey2)
  53.       (setq variey2 (assoc attrib mother))
  54.     )
  55.     (if        (and (not (null variey1)) (not (null variey2)))
  56.       (progn (setq aa
  57.                     (subst (cons attrib variey2) (assoc attrib aa) aa)
  58.              )
  59.              (entmod aa)
  60.       )
  61.     )
  62.     (if        (and (null variey1) (not (null variey2)))
  63.       (setq aa (append aa (list (assoc attrib mother))))
  64.     )
  65.     ;;以下,母没有子有,即母属性随层,但子属性不随层,分三种情况。。。。。(不知何故cond总是有问题,故用三个if的拙法完
  66.     (if        (= scjd 1)
  67.       (setq xxxx mxx
  68.             yyyy myy
  69.       )
  70.       (setq xxxx "BYLAYER"
  71.             yyyy 256
  72.       )
  73.     )                                        ;用于色层绝对

  74.     (if        (and (not (null variey1)) (null variey2) (= attrib 6))
  75.       (setq aa (subst (cons attrib xxxx) (assoc attrib aa) aa))
  76.     )                                        ;线型
  77.     (if        (and (not (null variey1)) (null variey2) (= attrib 62))
  78.       (setq aa (subst (cons attrib yyyy) (assoc attrib aa) aa))
  79.     )                                        ;颜色,注:随层为256;随块为0
  80.     ;;以下是母子都没有的情况
  81.     (if        (and (null variey1) (null variey2) (= attrib 6))
  82.       (setq aa (append aa (list (cons attrib xxxx))))
  83.     )
  84.     (if        (and (null variey1) (null variey2) (= attrib 62))
  85.       (setq aa (append aa (list (cons attrib yyyy))))
  86.     )
  87.     (if        (and (not (null variey1)) (null variey2) (= attrib 48))
  88.       (progn (setq aa (subst (cons attrib 1) (assoc attrib aa) aa))
  89.              (princ "ok")
  90.              (princ aa)
  91.       )
  92.     )                                        ;线型比例
  93.     (entmod aa)
  94.   )

  95.   (defun mysol (/ ll pt0 pt1)                ;该函数用于修改箭头的大小
  96.     (setq ll (distance (cdr (assoc 10 mother)) (cdr (assoc 13 mother))))
  97.     (setq pt0 (cdr (assoc 10 aa))
  98.           pt1 (cdr (assoc 11 aa))
  99.           pt3 (cdr (assoc 13 aa))
  100.     )
  101.     (setq rate (/ ll (distance pt0 pt3)))
  102.     (setq pt0 (snpt pt3 pt0 rate)
  103.           pt1 (snpt pt3 pt1 rate)
  104.     )
  105.     (setq aa
  106.            (subst (cons 10 pt0) (assoc 10 aa) aa)
  107.     )
  108.     (setq aa
  109.            (subst (cons 11 pt1) (assoc 11 aa) aa)
  110.     )
  111.     (entmod aa)
  112.   )

  113.   (defun snpt (p1 p2 rate / sx1 sx2 sx3 sy1 sy2 sy3)
  114.     (setq sx1 (car p1)
  115.           sy1 (cadr p1)
  116.           sx2 (car p2)
  117.           sy2 (cadr p2)
  118.     )
  119.     (setq sx3 (+ (* rate (- sx2 sx1)) sx1))
  120.     (setq sy3 (+ (* rate (- sy2 sy1)) sy1))
  121.     (list sx3 sy3 0.0)
  122.   )

  123.   (defun do_set        ()
  124.     (setq sf (atoi (get_tile "sf")))
  125.     (setq jzxz (atoi (get_tile "jzxz")))
  126.     (if        (= sf 1)
  127.       (setq n 1)
  128.       (setq n 0)
  129.     )
  130.     (setq xx (+ (atoi (get_tile "xx")) n))
  131.     (setq xxbl (+ (atoi (get_tile "xxbl")) n))
  132.     (setq yc (+ (atoi (get_tile "yc")) n))
  133.     (setq wzlx (+ (atoi (get_tile "wzlx")) n))
  134.     (setq zg (+ (atoi (get_tile "zg")) n))
  135.     (setq zxbl (+ (atoi (get_tile "zxbl")) n))
  136.     (setq wznr (+ (atoi (get_tile "wznr")) n))
  137.     (setq cc (+ (atoi (get_tile "cc")) n))
  138.     (setq c (+ (atoi (get_tile "c")) n))
  139.     (setq jt (+ (atoi (get_tile "jt")) n))
  140.     (setq ztjd (+ (atoi (get_tile "ztjd")) n))
  141.     (setq bj (+ (atoi (get_tile "bj")) n))
  142.     (setq scjd (+ (atoi (get_tile "scjd")) n))
  143.     (setq tt1 (atoi (get_tile "tt1")))
  144.     (setq tt2 (atoi (get_tile "tt2")))
  145.     (setq tt3 (atoi (get_tile "tt3")))
  146.     (setq tt4 (atoi (get_tile "tt4")))
  147.     (setq qx (atoi (get_tile "qx")))
  148.     (setq ok 1)
  149.   )

  150.   (defun init ()
  151.     (set_tile "jzxz" (itoa jzxz))
  152.     (if        (= sf 1)
  153.       (setq n 1)
  154.       (setq n 0)
  155.     )
  156.     (set_tile "sf" (itoa sf))
  157.     (set_tile "xx" (itoa (- xx n)))
  158.     (set_tile "xxbl" (itoa (- xxbl n)))
  159.     (set_tile "yc" (itoa (- yc n)))
  160.     (set_tile "wzlx" (itoa (- wzlx n)))
  161.     (set_tile "zg" (itoa (- zg n)))
  162.     (set_tile "zxbl" (itoa (- zxbl n)))
  163.     (set_tile "wznr" (itoa (- wznr n)))
  164.     (set_tile "cc" (itoa (- cc n)))
  165.     (set_tile "c" (itoa (- c n)))
  166.     (set_tile "jt" (itoa (- jt n)))
  167.     (set_tile "ztjd" (itoa (- ztjd n)))
  168.     (set_tile "bj" (itoa (- bj n)))
  169.     (set_tile "scjd" (itoa (- scjd n)))
  170.     (set_tile "qx" (itoa qx))
  171.   )

  172.   (defun initl ()
  173.     (setq nn1 '()
  174.           nn2 '()
  175.           nn3 '()
  176.           nn4 '("LINE"            "PLINE"        "CIRCLE"    "ARC"
  177.                 "TEXT"            "MTEXT"        "ATTDEF"    "DIMENSION"
  178.                 "INSERT"    "SOLID"
  179.                )
  180.           n   0
  181.     )
  182.     (start_list "tt1" 3)
  183.     (add_list "过滤层(不过滤)")
  184.     (setq blk (tblnext "LAYER" 1))
  185.     (while (not (NULL blk))
  186.       (setq n (1+ n))
  187.       (setq tname (cdr (nth 1 blk)))
  188.       (setq nn1
  189.              (append nn1
  190.                      (list (list tname (cdr (nth 3 blk)) (cdr (nth 4 blk))))
  191.              )
  192.       )
  193.       (add_list tname)
  194.       (setq blk (tblnext "LAYER" NIL))
  195.     )
  196.     (end_list)
  197.     (start_list "tt2" 3)
  198.     (add_list "过滤线型(不过滤)")
  199.     (setq blk (tblnext "LTYPE" 1))
  200.     (while (not (NULL blk))
  201.       (setq tname (cdr (nth 1 blk)))
  202.       (setq nn2 (append nn2 (list tname)))
  203.       (add_list tname)
  204.       (setq blk (tblnext "LTYPE" NIL))
  205.     )
  206.     (end_list)
  207.     (start_list "tt3" 3)
  208.     (add_list "过滤颜色(不过滤)")
  209.     (setq n 0)
  210.     (repeat 255
  211.       (setq n (1+ n))
  212.       (add_list (itoa n))
  213.     )
  214.     (end_list)
  215.     (start_list "tt4" 3)
  216.     (add_list "过滤实体(不过滤)")
  217.     (setq n 0)
  218.     (setq len (length nn4))
  219.     (repeat len
  220.       (add_list (nth n nn4))
  221.       (setq n (1+ n))
  222.     )
  223.     (end_list)
  224.   )

  225.   (defun ok_do ()
  226.     (print "请选择要修改的实体")
  227.     (if        (= qx 1)
  228.       (setq ss (ssget "x"))
  229.       (setq ss (ssget))
  230.     )
  231.     (setq leng (sslength ss)
  232.           n    0
  233.           str  ""
  234.     )
  235.     (repeat leng
  236.       (spin "请您耐心等待,程序正在处理......")
  237.       (setq ee (ssname ss n))
  238.       (setq aa (entget ee))
  239.       (setq name (cdr (assoc 0 aa)))
  240.       (setq yesno f)
  241.       (if (and (= tt1 0) (= tt2 0) (= tt3 0) (= tt4 0))
  242.         (setq yesno t)
  243.         (progn
  244.           (setq        tc (assoc 8 aa)
  245.                 tx (assoc 6 aa)
  246.                 ty (assoc 62 aa)
  247.           )
  248.           (setq        tyy (cadr (assoc (cdr tc) nn1))
  249.                 txx (caddr (assoc (cdr tc) nn1))
  250.           )
  251.           (setq ttt1 f)
  252.           (if (= tt1 0)
  253.             (setq ttt1 t)
  254.           )
  255.           (if (and (not (= tt1 0))
  256.                    (= (car (nth (1- tt1) nn1)) (cdr tc))
  257.               )
  258.             (setq ttt1 t)
  259.           )
  260.           ;;处理层
  261.           (setq ttt2 f)
  262.           (if (= tt2 0)
  263.             (setq ttt2 t)                ;处理线型
  264.             (if        (NULL tx)
  265.               (if (= (nth (1- tt2) nn2) txx)
  266.                 (setq ttt2 t)
  267.               )
  268.               (if (= (nth (1- tt2) nn2) (cdr tx))
  269.                 (setq ttt2 t)
  270.               )
  271.             )
  272.           )
  273.           (setq ttt3 f)                        ;处理颜色
  274.           (if (= tt3 0)
  275.             (setq ttt3 t)
  276.             (if        (NULL ty)
  277.               (if (= tt3 tyy)
  278.                 (setq ttt3 t)
  279.               )
  280.               (if (= tt3 (cdr ty))
  281.                 (setq ttt3 t)
  282.               )
  283.             )
  284.           )
  285.           (setq ttt4 f)                        ;处理实体
  286.           (if (= tt4 0)
  287.             (setq ttt4 t)
  288.             (if        (= (nth (1- tt4) nn4) name)
  289.               (setq ttt4 t)
  290.             )
  291.           )
  292.           (setq yesno (and ttt1 ttt2 ttt3 ttt4))
  293.         )
  294.       )
  295.       (if (= yesno t)
  296.         (progn
  297.           (if (and (or (= moname "DIMEMSION")
  298.                        (= moname "CIRCLE")
  299.                        (= moname "ARC")
  300.                        (= moname "INSERT")
  301.                        (= moname "LINE")
  302.                        (= moname "PLINE")
  303.                        (= moname "LEADER")
  304.                    )
  305.                    (or (= name "DIMEMSION")
  306.                        (= name "INSERT")
  307.                        (= name "LINE")
  308.                        (= name "CIRCLE")
  309.                        (= name "ARC")
  310.                        (= name "PLINE")
  311.                        (= name "LEADER")
  312.                    )
  313.               )
  314.             (progn
  315.               (if (= xx 1)
  316.                 (myreplace 6)
  317.               )
  318.               (if (= xxbl 1)
  319.                 (myreplace 48)
  320.               )
  321.             )
  322.           )
  323.           (if
  324.             (and
  325.               (or (= name "TEXT")
  326.                   (= name "MTEXT")
  327.                   (= name "ATTDEF")
  328.               )
  329.               (or (= moname "TEXT")
  330.                   (= moname "MTEXT")
  331.                   (= moname "ATTDEF")
  332.               )
  333.             )
  334.              (progn
  335.                (if (= wzlx 1)
  336.                  (myreplace 7)
  337.                )                        ;自设系统变量,如果sss不为空,一切字体类型都要更换
  338.                (if (= zxbl 1)
  339.                  (if (or (= moname "MTEXT") (= name "MTEXT"))
  340.                    ()
  341.                    (myreplace 41)
  342.                  )
  343.                )                        ;字宽比
  344.                (if (= zg 1)
  345.                  (myreplace 40)
  346.                )                        ;字高

  347.                (if (= ztjd 1)
  348.                  (myreplace 50)
  349.                )                        ;逆时针弧度值
  350.                (if (= ztjd 1)
  351.                  (myreplace 51)
  352.                )                        ;斜体斜角弧度值
  353.              )
  354.           )
  355.           (if
  356.             (and (or (= name "TEXT")
  357.                      (= name "MTEXT")
  358.                      (= name "DIMENSION")
  359.                  )
  360.                  (or (= moname "TEXT")
  361.                      (= moname "MTEXT")
  362.                      (= moname "DIMENSION")
  363.                  )
  364.             )
  365.              (if (= wznr 1)
  366.                (myreplace 1)
  367.              )                                ;文字内容
  368.           )
  369.           ;;以下两项为专属修改
  370.           (if (and (= moname "DIMENSION") (= "DIMENSION" name))
  371.             (if        (= cc 1)
  372.               (progn
  373.                 (modim)
  374.                 (myreplace 3)                ;改变尺寸的标注风格
  375.               )                                ;改变尺寸
  376.             )
  377.           )
  378.           (if (and (= moname "SOLID") (= name "SOLID") (= jt 1))
  379.             (mysol)
  380.           )                                ;改变箭头的大小
  381.           (if (and (or (= moname "CIRCLE") (= moname "ARC"))
  382.                    (or (= name "CIRCLE") (= name "ARC"))
  383.                    (= bj 1)
  384.               )
  385.             (myreplace 40)
  386.           )                                ;半径
  387.           ;;以下两项为基本属性修改
  388.           (if (= c 1)
  389.             (myreplace 8)
  390.           )                                ;层
  391.           (if (= yc 1)
  392.             (myreplace 62)
  393.           )                                ;颜色
  394.         )
  395.       )
  396.       (setq n (1+ n))
  397.     )
  398.   )

  399.   ;;本程序主程序
  400.   (if (setq sss (entsel "\n 拾取刷子原形:"))
  401.     (progn
  402.       (command "UNDO" "Begin")
  403.       (setq mother (entget (car sss)))
  404.       (setq moname (cdr (assoc 0 mother)))
  405.       (setq standard
  406.              (list -3
  407.                    '("ACAD" (1000 . "DSTYLE") (1002 . "{") (1002 . "}"))
  408.              )
  409.       )
  410.       (setq fname (vl-filename-mktemp nil nil ".dcl"))
  411.       (setq fn (open fname "w"))
  412.       (write-line
  413.         "brush : dialog {    label = \"分类格式刷 欢迎使用!  HUIHL\";    : boxed_column {        label = \"要刷取的项目\";        : row {            : column {                : toggle {                    label = \"线型\";                    key = \"xx\";                    mnemonic = \"E\";                    fixed_width = true;                }                  : toggle {                    label = \"线型比例\";                    key = \"xxbl\";                    mnemonic = \"M\";                    fixed_width = true;                }  "
  414.         fn
  415.       )
  416.       (write-line "                : toggle {" fn)
  417.       (write-line "                    label = \"颜色\";" fn)
  418.       (write-line "                    key =  \"yc\";" fn)
  419.       (write-line "                    width=16;" fn)
  420.       (write-line "                    fixed_width = true;" fn)
  421.       (write-line "                }  " fn)
  422.       (write-line "                : toggle {" fn)
  423.       (write-line "                    label = \"文字类型\";" fn)
  424.       (write-line "                    key = \"wzlx\";" fn)
  425.       (write-line "                    mnemonic = \"N\";" fn)
  426.       (write-line "                    fixed_width = true;" fn)
  427.       (write-line "                }  " fn)
  428.       (write-line "                : toggle {" fn)
  429.       (write-line "                    label = \"字高\";" fn)
  430.       (write-line "                    key = \"zg\";" fn)
  431.       (write-line "                    mnemonic = \"Q\";" fn)
  432.       (write-line "                    fixed_width = true;" fn)
  433.       (write-line "                }  " fn)
  434.       (write-line "                : toggle {" fn)
  435.       (write-line "                    label = \"字形比例\";" fn)
  436.       (write-line "                    key = \"zxbl\";" fn)
  437.       (write-line "                    mnemonic = \"I\";" fn)
  438.       (write-line "                    fixed_width = true;" fn)
  439.       (write-line "                }  " fn)
  440.       (write-line "                : toggle {" fn)
  441.       (write-line "                    label = \"文字内容\";" fn)
  442.       (write-line "                    key = \"wznr\";" fn)
  443.       (write-line "                    mnemonic = \"I\";" fn)
  444.       (write-line "                    fixed_width = true;" fn)
  445.       (write-line "                }  " fn)
  446.       (write-line "" fn)
  447.       (write-line "            }" fn)
  448.       (write-line "            : column {" fn)
  449.       (write-line "                : toggle {" fn)
  450.       (write-line "                    label = \"尺寸\";" fn)
  451.       (write-line "                    key = \"cc\";" fn)
  452.       (write-line "                    mnemonic = \"s\";" fn)
  453.       (write-line "                        width=15;" fn)
  454.       (write-line "                    fixed_width = true;" fn)
  455.       (write-line "                }  " fn)
  456.       (write-line "                : toggle {" fn)
  457.       (write-line "                    label = \"层\";" fn)
  458.       (write-line "                    key = \"c\";" fn)
  459.       (write-line "                    mnemonic = \"d\";" fn)
  460.       (write-line "                    fixed_width = true;" fn)
  461.       (write-line "                }  " fn)
  462.       (write-line "                : toggle {" fn)
  463.       (write-line "                    label = \"箭头(散)\";" fn)
  464.       (write-line "                    key = \"jt\";" fn)
  465.       (write-line "                    mnemonic = \"T\";" fn)
  466.       (write-line "                    fixed_width = true;" fn)
  467.       (write-line "                }  " fn)
  468.       (write-line "                : toggle {" fn)
  469.       (write-line "                    label = \"字体角度\";" fn)
  470.       (write-line "                    key = \"ztjd\";" fn)
  471.       (write-line "                    mnemonic = \"a\";" fn)
  472.       (write-line "                    fixed_width = true;" fn)
  473.       (write-line "                }  " fn)
  474.       (write-line "            " fn)
  475.       (write-line "" fn)
  476.       (write-line "" fn)
  477.       (write-line "" fn)
  478.       (write-line "                : toggle {" fn)
  479.       (write-line "                   label = \"圆、弧半径\";" fn)
  480.       (write-line "                   key = \"bj\";" fn)
  481.       (write-line "                   mnemonic = \"p\";" fn)
  482.       (write-line "                   fixed_width = true;" fn)
  483.       (write-line "                }" fn)
  484.       (write-line "                : toggle {" fn)
  485.       (write-line
  486.         "                    label = \"色、层绝对\";"
  487.         fn
  488.       )
  489.       (write-line "                    key = \"scjd\";" fn)
  490.       (write-line "                    mnemonic = \"u\";" fn)
  491.       (write-line "                    fixed_width = true;" fn)
  492.       (write-line "                }  " fn)
  493.       (write-line "" fn)
  494.       (write-line "                " fn)
  495.       (write-line "" fn)
  496.       (write-line "" fn)
  497.       (write-line "" fn)
  498.       (write-line "" fn)
  499.       (write-line "            }        //column" fn)
  500.       (write-line "" fn)
  501.       (write-line "" fn)
  502.       (write-line "" fn)
  503.       (write-line "        }        //row        " fn)
  504.       (write-line "" fn)
  505.       (write-line ":text{" fn)
  506.       (write-line "value=\"Email//:huihl@netease.com\";" fn)
  507.       (write-line "is_bold=false;" fn)
  508.       (write-line "height=1;}        " fn)
  509.       (write-line "" fn)
  510.       (write-line ":row{   : toggle {" fn)
  511.       (write-line "                    label = \"反向选中\";" fn)
  512.       (write-line "                    key = sf;" fn)
  513.       (write-line "                    mnemonic = \"u\";" fn)
  514.       (write-line "                    fixed_width = true;" fn)
  515.       (write-line "                }  " fn)
  516.       (write-line "" fn)
  517.       (write-line " : toggle {" fn)
  518.       (write-line "                    label = \"记住选择\";" fn)
  519.       (write-line "                    key = jzxz;" fn)
  520.       (write-line "                    mnemonic = \"u\";" fn)
  521.       (write-line "                    fixed_width = true;" fn)
  522.       (write-line "                }   " fn)
  523.       (write-line "}" fn)
  524.       (write-line "" fn)
  525.       (write-line "        }        //box" fn)
  526.       (write-line "" fn)
  527.       (write-line "" fn)
  528.       (write-line ":row{" fn)
  529.       (write-line "" fn)
  530.       (write-line ":text{" fn)
  531.       (write-line
  532.         "value=\"下列是对象选择过滤器(与型,色层绝对)\";"
  533.         fn
  534.       )
  535.       (write-line "is_bold=false;" fn)
  536.       (write-line "height=1;}        " fn)
  537.       (write-line " : toggle {" fn)
  538.       (write-line "                    label = \"全选/框选\";" fn)
  539.       (write-line "                    key = qx;" fn)
  540.       (write-line "                    mnemonic = \"u\";" fn)
  541.       (write-line "                    fixed_width = true;" fn)
  542.       (write-line "                }   " fn)
  543.       (write-line "" fn)
  544.       (write-line "" fn)
  545.       (write-line "}//endrow" fn)
  546.       (write-line "" fn)
  547.       (write-line "  " fn)
  548.       (write-line ":boxed_row{" fn)
  549.       (write-line ":column{  " fn)
  550.       (write-line ":popup_list{" fn)
  551.       (write-line "                key=\"tt1\";" fn)
  552.       (write-line "                width=10;" fn)
  553.       (write-line "                list=\"\";" fn)
  554.       (write-line "                }" fn)
  555.       (write-line "" fn)
  556.       (write-line ":popup_list{" fn)
  557.       (write-line "                key=\"tt2\";" fn)
  558.       (write-line "                width=10;" fn)
  559.       (write-line "                list=\"\";" fn)
  560.       (write-line "                }" fn)
  561.       (write-line "}" fn)
  562.       (write-line "" fn)
  563.       (write-line "" fn)
  564.       (write-line ":column{  " fn)
  565.       (write-line ":popup_list{" fn)
  566.       (write-line "                key=\"tt3\";" fn)
  567.       (write-line "                width=10;" fn)
  568.       (write-line "                list=\"\";" fn)
  569.       (write-line "                }" fn)
  570.       (write-line "" fn)
  571.       (write-line ":popup_list{" fn)
  572.       (write-line "                key=\"tt4\";" fn)
  573.       (write-line "                width=10;" fn)
  574.       (write-line "                list=\"\";" fn)
  575.       (write-line "                }" fn)
  576.       (write-line "}" fn)
  577.       (write-line "}//endrow" fn)
  578.       (write-line "ok_cancel;" fn)
  579.       (write-line "}        //dialog" fn)
  580.       (close fn)
  581.       (setq fn (open fname "r"))
  582.       (setq dclid (load_dialog fname))
  583.       (while
  584.         (or (eq        (substr        (setq lin
  585.                                (vl-string-right-trim
  586.                                  "\" fn)"
  587.                                  (vl-string-left-trim "(write-line \"" (read-line fn))
  588.                                )
  589.                         )
  590.                         1
  591.                         2
  592.                 )
  593.                 "//"
  594.             )
  595.             (eq (substr lin 1 (vl-string-search " " lin)) "")
  596.             (not (eq (substr lin (+ (vl-string-search " " lin) 1) 9)
  597.                      " : dialog"
  598.                  )
  599.             )
  600.         )
  601.       )
  602.       (new_dialog (substr lin 1 (vl-string-search " " lin)) dclid)
  603.       (if (= jzxz 1)
  604.         (init)
  605.       )
  606.       (initl)
  607.       (setq mc (assoc 8 mother)
  608.             mx (assoc 6 mother)
  609.             my (assoc 62 mother)
  610.       )
  611.       (setq myy        (cadr (assoc (cdr mc) nn1))
  612.             mxx        (caddr (assoc (cdr mc) nn1))
  613.       )
  614.       (action_tile "accept" "(do_set)(done_dialog 1)")
  615.       (setq return# (start_dialog))
  616.       (unload_dialog dclid)
  617.       (close fn)
  618.       (vl-file-delete fname)
  619.       (if (= return# 1)
  620.         (ok_do)
  621.       )
  622.       (command "UNDO" "End")
  623.     )
  624.   )
  625.   (princ)
  626. )

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 1明经币 +1 收起 理由
品茗新秀 + 1 赞一个!

查看全部评分

发表于 2012-12-19 09:27:38 | 显示全部楼层
wudechao 发表于 2012-10-21 18:31
(defun ef:undobegin ()
  (setvar "CMDECHO" 0)
  (command "_.undo" "_group")

字高、颜色修改都有效
但是比例因子改不过来
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-9-28 07:22 , Processed in 0.135489 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表