一叶舟 发表于 2013-2-26 15:48:32

求教关于文字修改的命令

1、以上文字修改的程序实现文字修改功能,缺点是要框选两次,能否改为一次框选?
(DEFUN C:T11 ( / en1 en2 )
(SETQ en1 (SSGET '((0 . "*text")(1 . "*(1)*"))));选择带(1)的文字
(command "erase" en1 "");并删除
(SETQ en2 (SSGET '((0 . "*text")(8 . "1111"))));文字移动
(vl-cmdf "Move" en2 "" (list 0 0 0) "non" (list 100 -100 0))
)
2.change命令疑问
(command "change" en2 "" "" "" "" "100" "");改变文字大小为100
可否做成批量修改?如何用循环?文字样式(比如改为standard)可否用此命令如何修改?
小弟先谢谢了。

【KAIXIN】 发表于 2013-2-26 17:02:58

第一个可以用选择集加减法

第二个是WHILE....

一叶舟 发表于 2013-2-26 20:38:22

谢谢,用ssadd?能否给个框架
又有一个问题请教:
(setq en5 (ssget '((8 . "梁集中标注")(0 . "Line"))));选择特定图层旋转为90的直线
这个转为90的条件怎么加进去?谢谢。

mono 发表于 2013-3-1 10:49:38

学习一下~~~~~~~~~~~~~~

一叶舟 发表于 2013-3-3 15:25:43

请教:以下程序中dxf_replace 是什么函数?也是调用子函数dxf_read 的么?
谢谢。
;文本加括号
(defun c:jkh()
(setq ss (ssget ' ((0 . "TEXT,MTEXT"))))
(setq i -1)
(repeat (sslength ss)
    (setq en (ssname ss (setq i (1+ i))))
    (setq str (dxf_read 1 en))
    (setq str (strcat "(" str ")"))
    (dxf_replace 1 str en)
)
)


;-----------------------------------------
;   function dxf_read
;-----------------------------------------
;返回dxf群码内组码号为code的点对内容
;参数:ename -- 一个对象的id
;         code-- dxf组码号
;-----------------------------------------
(defun dxf_read (code ename)
   (cdr (assoc code (entget ename)))
)   
;--- end dxf_read--------

一叶舟 发表于 2013-3-3 15:38:14

已解决,漏了个子函数。
页: [1]
查看完整版本: 求教关于文字修改的命令