明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1412|回复: 4

编号

[复制链接]
发表于 2005-2-4 13:41:00 | 显示全部楼层 |阅读模式



请教:如何实现附件描述的功能?


由点生成序号,但文字需按从上到下、从左至右的顺序排列,并且文字的插入点是point点的坐标。


急需,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2005-2-4 14:13:00 | 显示全部楼层
你的坐标点有点没有规律,还有什么条件吗?以下程序供参考 (defun c:test ( / ss i ent pt ptlist j)
(vl-load-com)
(prompt "Select point...")
(setq ss (ssget '((0 . "POINT"))))
(first_set)
(setq i 0)
(repeat (sslength ss)
(setq ent (ssname ss i))
(setq pt (list (cdr (assoc 10 (entget ent)))))
(setq ptlist (append pt ptlist))
(setq i (1+ i))
) (setq ptlist (vl-sort ptlist '(lambda (e1 e2) (wl-equal (car e1) (car e2) "<" 0.00001))));排序x
(setq ptlist (vl-sort ptlist '(lambda (e1 e2) (wl-equal (cadr e1) (cadr e2) "<" 0.00001))));排序y


(setq j 1) (while ptlist
(command "text" (car ptlist) "" "" j "")
(setq j (+ j 1))
(setq ptlist (cdr ptlist)) )

(end_recover)
(princ)
)
(defun first_set ()
(command "_.undo" "be")
(setq os (getvar "osmode"))
(setq cmd (getvar "cmdecho"))
(setvar "osmode" 0)
(setvar "cmdecho" 0)

) (defun end_recover ()
(setvar "osmode" os)
(setvar "cmdecho" cmd)
(command "_.undo" "e")
) ;飞版主的排序程序
(defun Wl-equal (Val1 Val2 fun fuzz)
(cond
((= fun "=") (equal Val1 Val2 fuzz) t)
((= fun "<") (cond
((equal Val1 Val2 fuzz) nil)
((< Val1 Val2) t)))
((= fun ">" (cond
((equal Val1 Val2 fuzz) nil)
((> Val1 Val2) t))))
)
)
 楼主| 发表于 2005-2-4 14:21:00 | 显示全部楼层
就是这种数据啊,无奈。谢谢!
发表于 2005-2-4 14:28:00 | 显示全部楼层
是不是每三个点为一行?或者高度相差多少范围内的算一组,这样就有办法处理了。
发表于 2005-2-5 12:43:00 | 显示全部楼层
“我的程序”中有一个自动编号的程序
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-29 18:22 , Processed in 0.158079 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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