明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1256|回复: 5

[函数] 求教关于文字修改的命令

[复制链接]
发表于 2013-2-26 15:48 | 显示全部楼层 |阅读模式
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)可否用此命令如何修改?
小弟先谢谢了。

发表于 2013-2-26 17:02 | 显示全部楼层
第一个可以用选择集加减法

第二个是WHILE....
 楼主| 发表于 2013-2-26 20:38 | 显示全部楼层
谢谢,用ssadd?能否给个框架
又有一个问题请教:
(setq en5 (ssget '((8 . "梁集中标注")(0 . "Line"))));选择特定图层旋转为90的直线
这个转为90的条件怎么加进去?谢谢。
发表于 2013-3-1 10:49 | 显示全部楼层
学习一下~~~~~~~~~~~~~~
 楼主| 发表于 2013-3-3 15:25 | 显示全部楼层
请教:以下程序中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 | 显示全部楼层
已解决,漏了个子函数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-5 06:26 , Processed in 0.259507 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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