明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1884|回复: 4

[求助]完善数字按x、y方向分层源码

[复制链接]
发表于 2010-9-3 09:37:00 | 显示全部楼层 |阅读模式
数字按x、y方向分层,lsp编程申请:将文字旋转角度d(45≤d<135)的文字放到新建的颜色为5的图层“角度一”中,
其余角度的文字放到新建的颜色为6的图层“角度二”中。
  1. (defun c:tt()
  2. (setq ss (ssget (list (cons 0 "TEXT"))))
  3. (setq sslist (wjm_ss2lst ss))
  4. (foreach en sslist
  5. (setq ang (dxf 50 en))
  6. (if (> ang pi) (setq ang (- ang pi)))
  7. (if (and (> ang (* pi 0.25))(< ang (* pi 0.75)))
  8. (entmod (ch-en (cons 8 "y") en))
  9. (entmod (ch-en (cons 8 "x") en))
  10. )
  11. )
  12. )
  13. (defun wjm_ss2lst (ss / i e lst)
  14.   (if (= (type ss) \'PICKSET)
  15.     (progn
  16.       (setq i -1)
  17.       (while (setq e (ssname ss (setq i (1+ i))))
  18. (if (= (type e) \'ENAME) (setq lst (cons e lst)) nil)
  19.       )
  20.       lst
  21.     )
  22.     nil
  23.   )
  24. )

这是无所不及的部分源码,还差函数变量没有定义,请求高手完善。
 楼主| 发表于 2010-9-4 16:08:00 | 显示全部楼层
怎么没人支持哦?
发表于 2013-5-16 15:08:56 | 显示全部楼层
是哈,求完善
发表于 2024-6-14 20:14:07 | 显示全部楼层
是哈,求完善
发表于 2024-6-14 21:27:58 | 显示全部楼层
本帖最后由 gzcsun 于 2024-6-14 21:32 编辑

(defun c:tt()
        (setq ss (ssget (list (cons 0 "TEXT"))))
        (setq sslist (wjm_ss2lst ss))
        (foreach en sslist
                (setq en (entget en) ang (cdr(assoc 50 en)))
                (if (> ang pi) (setq ang (- ang pi)))
                (if (> (* pi 0.75) ang (* pi 0.25))
                        (entmod        (subst (cons 8 "y")(assoc 8 en) en))
                        (entmod        (subst (cons 8 "x")(assoc 8 en) en))
                )
        )
)
(defun wjm_ss2lst (ss / i e lst)
  (setq i -1)
        (while (setq e (ssname ss (setq i (1+ i))))
                (setq lst (cons e lst)))
        lst
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 15:50 , Processed in 0.150125 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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