[原创]封闭多段线顶点排序
;;;测试程序<BR>;;;将下载的文件“dbxddpx.fas”<BR>;;;存到“L”盘中,如存入其它地方,<BR>;;;请更改程序中第二行中的相应路径名。<BR>(defun c:cc()<BR> (if (null dbxddpx)(load "L:dbxddpx.fas"));请注意文件“dbxddpx.fas”存盘路径名<BR> (setq xtblm '("cmdecho" "osmode")<BR> xtblz (mapcar 'getvar xtblm)<BR> )<BR> (mapcar 'setvar xtblm '(0 0))<BR> (command "_undo" "be")<BR> (while (setq en <BR> (sel "\n请选择封闭多段线(LWPOLYLINE/POLYLINE)(按Esc键退出程序)" <BR> "LWPOLYLINE,POLYLINE"<BR> )<BR> )<BR> (initget 1 "1 2 3 4")<BR> (setq pjd (getkword "\n西北角(1)/西南角(2)/东南角/(3)东北角(4):"))<BR> (initget 1 "1 2")<BR> (setq snj (getkword "\n顺时针(1)/逆时针(2):"))<BR> ;返回按要求排好序的顶点列表,并赋值给fhb<BR> (setq fhb (dbxddpx (car en) (read pjd) (read snj))<BR> i 1<BR> )<BR> (foreach pt0 fhb<BR> (command "_circle" pt0 1 "_chprop" (entlast) "" "c" 1 ""<BR> "_text" (mapcar '+ pt0 '(0.7 0.7)) 2.5 0 (itoa i)<BR> "_chprop" (entlast) "" "c" 3 ""<BR> )<BR> (setq i (1+ i))<BR> )<BR> )<BR> (command "_undo" "e")<BR> (mapcar 'setvar xtblm xtblz)(princ) <BR>)<BR> 楼主只要判断一下顺逆时针就好了然后就标注这样搞太麻烦了吧 回复 yshf 的帖子顶出这个贴来,不知道楼主还能看到吗?
1.就想问问能不能框选多个多段线进行顶点排序,这样在某些场合可能有用。
2.dbxddpx.fas这个排序的核心代码能共享吗?
路过的高手有没有其它招呢? 我也想要这样功能的程序,批量处理一些多段线。哪位大侠能提供一下,多谢了!
页:
[1]