关于多段线生成数据文件排列问题
本帖最后由 yhly555 于 2015-2-6 10:24 编辑;这是一个多段线生成数据文件的程序,从论坛上收集的,
;现在的问题是这个程序提取出来的坐标排列按逆时针输出,
;且似乎是以多段线的底点坐标开始输出的,
;现在我想让它实现以西北方向起点,按顺时针方向输出
;请各位大神帮忙实现一下,谢谢了
(defun c:ppl (/ s filename e n fn jd pt pts);多段线生成数据文件
(if (setq s (ssget ":S" '((0 . "*POLYLINE")))) ;点选带过滤形式
(progn
(setq e (ssname s 0))
(setq bihe (cdr(assoc 70 (entget e))))
(if (= 128 bihe)
(setq n ( + 1 (fix (vlax-curve-getendparam e))));如果不闭合就在vlax函数上加1
(setq n (fix (vlax-curve-getendparam e))) ;如果闭合就不在vlax函数上加1
)
(if (not (setq filename
(getfiled "选择文件存储目录" "多段线生成数据文件.csv" "csv" 5)
)
)
(setq filename "c:\\多段线生成数据文件.csv")
)
(setq fn (open filename "w")
jd n
)
(setvar "dimzin" 0);;;;;;;;;;;;;;;;;;;;;;;;;;;;
(repeat n
(setq pt (vlax-curve-getpointatparam e (setq jd (1- jd))))
(if (null pts)
(setq pts (list pt))
(if (not (equal pt (car pts) 1e-3));(> (distance pt (car pts)) 1e-3)
(setq pts (cons pt pts))
);if
) ;_去除重复if;;;;;;;;;;;;;;;;;;;;;;;这一步无效
);repeat
(setq n 1)
(mapcar '(lambda (x)
(write-line
(strcat
(itoa n)
","
(rtos (car x));;;;;;;;;;;;;;;;已经修改为测量,地质等使用模式 xy调换
","
(rtos (cadr x)) ;_与前面的 dimzin 配合采用用户 UNITS 精度设置
)
fn
)
(setq n (1+ n))
)
pts
)
(close fn)
)
)
;(startapp "Notepad.EXE" filename);此句可调用记事本程序并打开该文件
(princ)
)
;补充一下,我用的AutoCAD2006版的,因有某些软件的必要性,所以我只能用2006版。
本帖最后由 fan_zh 于 2015-2-6 09:08 编辑
(defun c:tt()
(setq e(car(entsel)))
(setq pt(plinexy e))
(setq pt(if(pldir pt)pt(reverse pt)));;如果pt不是顺时针方向将其反向
(modplver e(clockwise pt));;将pt(clockwise pt)的起点调整为西北角
)以上为部分代码
收个币吧 以某点为起点从新排列 fan_zh 发表于 2015-2-6 09:11 static/image/common/back.gif
以上为部分代码
收个币吧
多谢你们的热情,可惜我没有明经币,不然两个我都愿意给你…… 鱼与熊掌 发表于 2015-2-6 09:21 static/image/common/back.gif
以某点为起点从新排列
谢谢你指点,具体怎么操作可以说一下吗?谢谢! 本帖最后由 llsheng_73 于 2015-2-9 17:13 编辑
多线段处理
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=108947&fromuid=202795
沙发兄弟的原贴
其中 PoInPl和pldir两个函数都可以进一步优化,毕竟那是一年多以前写的了 本帖最后由 yhly555 于 2015-2-9 23:31 编辑
llsheng_73 发表于 2015-2-9 17:10 static/image/common/back.gif
多线段处理
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=108947&fromuid=202795
沙发兄弟的原贴
你太帅了,我想把坐标点的XY对调后(测量用的坐标)写入到TXT中,坐标标保留3位有效数据,可否帮忙实现一下,太感谢了!快到春节了,祝您和您的家人身体健康,万事如意,阖家欢乐! fan_zh 发表于 2015-2-6 09:11 static/image/common/back.gif
以上为部分代码
收个币吧
拿别人的码收币不太好,但我记得好多码我也是花币下载的,不确定这个是不是
收币只是希望大家能多来论坛赚币,有什么不妥?
论坛是给大家学习用的,不是刚注册就伸手来拿程序的 yhly555 发表于 2015-2-9 23:17 static/image/common/back.gif
你太帅了,我想把坐标点的XY对调后(测量用的坐标)写入到TXT中,坐标标保留3位有效数据,可否帮忙实现一 ...
一些简单的可以自己试着弄一下,慢慢的你自己就会了。。。。。
页:
[1]
2