明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1231|回复: 6

求助使用如下LSP

[复制链接]
发表于 2012-12-8 12:03:46 | 显示全部楼层 |阅读模式
(defun c:txt ()
  (setq lst nil  newlst nil x1 0)
(setq a (ssget))
(setq n (sslength a))
(setq index 0)
(repeat n
(setq el (entget ( ssname a index)))
(setq index ( + index 1))
(setq e (assoc 0 el))
(if (= "TEXT" (cdr e))
(progn
(setq txt (cdr (assoc 1 el)))
(setq lst(cons(append  (list 1) (list txt))lst))
)
)
)
  (while lst
  (setq n 0)
  (foreach i lst(if (= (cadar lst) (cadr i))(setq n (+ n (car i)))))
  (setq newlst (append newlst (list (list n (cadar lst)))))
  (setq lst(vl-remove-if '(lambda (x) (= (cadar lst) (cadr x))) lst))
)
  (setq x2 (getpoint "\起始位置"))
  (setq x3 (polar x2  0 12))
    (command "text" "j" "c" (polar x2 (* pi 0.5) 3) "2" "0" "种类" "")
  (command "text" "j" "c" (polar x3 (* pi 0.5) 3) "2" "0" "数量" "")
  (repeat (length newlst)
    (command "text" "j" "c" x2 "1.5" "0" (nth 1 (nth x1 newlst)) "")
    (command "text"  "j" "c" x3 "1.5" "0" (nth 0 (nth x1 newlst)) "")
    (setq x2(polar x2 (* pi 1.5) 3))
    (setq x3 (polar x2  0 12))
    (setq x1(1+ x1))
    )
  
)

为什么我的不能生成表,而是一堆的数字?
 楼主| 发表于 2012-12-8 12:04:31 | 显示全部楼层
此源码来源于明经。好像是Z版的,先谢谢了!

点评

不是z版的,应该是xujinhua的,应该是这里的:http://bbs.mjtd.com/forum.php?mod=viewthread&tid=95848  发表于 2012-12-8 14:33
发表于 2012-12-8 12:38:50 | 显示全部楼层
因该本来就是那样的哦,,,,,,,,,
 楼主| 发表于 2012-12-8 12:59:27 | 显示全部楼层
看别人的演示是一个列表。而我的是全堆在一块,重叠了。
发表于 2012-12-8 13:33:21 | 显示全部楼层
freeok 发表于 2012-12-8 12:59
看别人的演示是一个列表。而我的是全堆在一块,重叠了。

文字样式的问题  你自己新建一个文字样式,text插入时用你的文字样式
发表于 2012-12-8 14:57:47 | 显示全部楼层
关闭捕捉,运行后再打开
发表于 2012-12-8 19:28:33 | 显示全部楼层
这个程序还是比较实用的,文字改成单行文字就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-3 13:47 , Processed in 0.174762 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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