zhengchuan 发表于 2016-5-19 22:15:18


学习下

FANGZHENG158 发表于 2016-5-19 23:20:58

学习一下!

USER2128 发表于 2016-5-20 07:55:33

“lucas_3333”是个热心的好同志

szx025 发表于 2016-5-20 08:03:05

kkkkkkkkkkkk

szx025 发表于 2016-5-20 08:06:50

kkkkkkkkkkkkkkkkkkkkk

dabingrain 发表于 2016-5-20 10:42:36

;动态调整单行文字宽度比例
(defun c:tt(/ en entdata p gr w ww)
        (setq en (entsel))
        (if en
                (progn
                        (setq entdata (entget (car en)))
                        (if (wcmatch (cdr(assoc 0 entdata)) "TEXT")
                                (progn
                                        (setq p (cdr(assoc 10 entdata)))
                                        (while (and (setq gr (grread 5))(= (car gr) 5))
                                                (setq w (car(car(cdr gr))))
                                                (setq ww (abs (-(car p) w)))
                                                (setq ww (/ ww 20))
                                                (entmod (subst (cons 41 ww) (assoc 41 entdata) entdata))
                                                (entupd (cdr (assoc -1 entdata)))
                                        ))
                                (princ "类型错误!")
                        )
                )
        )
        (princ)
)

sanpoul 发表于 2016-5-20 18:55:22

程序看到了,是自己要的结果。在这里一并感谢永不言弃、lucas_3333、feng83、dabingrain,感谢明经。

1993063 发表于 2016-5-20 21:52:37

看看啥玩意

dabingrain 发表于 2016-5-21 08:33:10

(defun c:tt nil
(setq ss (ssget ":S" '((0 . "TEXT"))))
(setq p0 (cdr (assoc 10 (entget (ssname ss 0)))))
(setq ct 1)      
        (command ".undo" "be")
(while (= ct 1)   
    (setq in (grread nil 5 0))   
    (setq i 0)
    (setq nn (sslength ss))
    (repeat nn
      (setq ssn (ssname ss i))
      (setq sn1 (entget ssn))
      (if (= 5 (car in))   
                                (progn
                                        (setq pt (cadr in))
                                        (redraw)
                                        (grdraw p0 pt 3 2)
                                        (setq dis (/ (distance p0 pt) 20))
                                        (entmod (subst (cons 41 dis) (assoc 41 sn1) sn1))
                                )
      )
      (if (= 3 (car in))
                                (progn (setq pt (cadr in))
                                        (setq dis (/ (distance p0 pt) 10))
                                        (entmod (subst (cons 41 dis) (assoc 41 sn1) sn1))
                                        (redraw)
                                        (setq ct nil)
                                )
      )
      (setq i (1+ i))
    )
)
(command ".undo" "e")
        (princ)
)

adc 发表于 2016-5-22 21:23:56

ttttttt~~~~
页: 1 [2] 3
查看完整版本: 求一个可动态调整单行/多行文字宽度比例并实时显示的程序