刷界址点,不改变属性,只更改界址点号.
做证时经常一个CAD里面有N张土地证,里面界址点号都是(1,2,3,4.。。。。。)南方CASS自动生成的界址点号是按大小顺序排序,1,2,3,4,5,6,7,8.。。。。。。。。。。。。。如果要把5,6,7,8,-》1,2,3,4,的话此程序就用得着。不过要手动改,不能自动。因为有些图纸界址点号有6个或者7个。不好判断。
;;此函数参照此论坛源码改写,但是具体是哪个作者没找到。不好意思就没标出来了。
;;刷界址点,不改变属性,只更改界址点号
(defun c:dd(/ n1 wz insertp)
(princ"函数功能:刷界址点,不改变属性,只更改界址点号. ")
(if (not (setq n1 (getint "\n请输入起始顺序号 <1>: ")))
(setq n1 1)
)
(setq wz (itoa n1))
(while (<= n1 300) ;;这里不知道用什么判断好,用这个也可以(ent),随便写了个。一般改号只要改7,8个就好了。所以;;;怎 ;;么判断倒无所谓。
(setq ent (car (entsel "\n选择目标文字:")))
(setq ent (entget ent))
(setq ent
(subst (cons 1 wz) (assoc 1 ent) ent)
)
(entmod ent)
(setq
n1 (+ n1 1)
wz (itoa n1)
)
)
(princ)
);end defun
正需要,正为这个头疼呢,谢谢分享! 本帖最后由 mandala 于 2011-6-6 21:00 编辑
程序很简单,不过用意我不太明白。我的理解是:每宗地的界址点应该分别是1.2.3.4,但是cad图纸中是连续标宗地号的,也就是说第二宗地是从5.6.7.8这样开始。现在你想把每宗地都变成从1开始,是吗?
那为何不干脆删掉所有已有的界址点号,然后编个程序自动重新编号并标注呢。当然,前提是每宗地的界址线同属一个层,并且都是独立的闭合多义线。 本帖最后由 ljttjl 于 2011-6-8 13:20 编辑
http://ljttjl.ys168.com 2009-2试用程序及演示 20090805多段线上标注点号并提取坐标 目录下载bzjdg.vlx
以下为此程序演示:
本帖最后由 zhb236623 于 2011-6-8 01:26 编辑
回复 mandala 的帖子
想法是好的,比如12345,6 7 8 9 10 11 ,12 13 14 15
-〉12345 123456 1234这 样子,用南方CASS软件制作的。不好实现。只能手动判断。 回复 ljttjl 的帖子
南方CASS大概可以实现这个功能 ,所以就暂时不用楼主这处程序 ,我想实现的功能是下楼所述 回复 ljttjl 的帖子
楼主只发图片不发程序要怎么用呢。 请参考:http://bbs.mjtd.com/thread-87367-1-1.html 回复 sy100 的帖子
http://bbs.mjtd.com/thread-87367-1-1.html这个更好用。 本帖最后由 ljttjl 于 2011-6-8 13:22 编辑
回复 zhb236623 的帖子
4楼已贴出程序下载地址。
页:
[1]
2