求教关于文字修改的命令
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)可否用此命令如何修改?
小弟先谢谢了。
第一个可以用选择集加减法
第二个是WHILE.... 谢谢,用ssadd?能否给个框架
又有一个问题请教:
(setq en5 (ssget '((8 . "梁集中标注")(0 . "Line"))));选择特定图层旋转为90的直线
这个转为90的条件怎么加进去?谢谢。 学习一下~~~~~~~~~~~~~~ 请教:以下程序中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--------
已解决,漏了个子函数。
页:
[1]