- 积分
- 10434
- 明经币
- 个
- 注册时间
- 2008-12-8
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2015-9-15 08:23:36
|
显示全部楼层
这是我以前写的,你参考一下,注意:提取的坐标格式是 测量坐标系,格式如下
1,,443355.7270,3223379.6554,0.0000
2,,443430.5589,3223417.7149,0.0000
3,,443430.5589,3223417.7149,0.0000
4,,443512.4506,3223417.7149,0.0000
5,,443551.9844,3223450.1360,0.0000
6,,443621.1687,3223438.8591,0.0000
7,,443650.8192,3223426.1726,0.0000
8,,443646.5834,3223365.5592,0.0000
9,,443657.8788,3223340.1862,0.0000
10,,443649.4072,3223309.1747,0.0000 - ;命令:plzbsc (2010-05-17 )
- (defun c:plzbsc()
- (princ "\n选择所需输出的点(point):")
- (setq ss (ssget ));;选取坐标点
- (setq n (sslength ss ));计算坐标点数量
- (setq ff (open (getfiled "坐标文件保存为" "d:/" "dat" 1) "w"));保存路径
- (setq i 0)
- (repeat n
- (setq spt (ssname ss i ))
- (setq ept (entget spt))
- (if (= (cdr (assoc 0 ept)) "POINT")
- (progn
- (setq lxyz (cdr (assoc 10 ept)))
- (setq sx (rtos (nth 1 lxyz)));将坐标值实数转换成字符
- (setq sy (rtos (nth 0 lxyz)))
- (setq sz (rtos (nth 2 lxyz)))
- (setq i1 (+ i 1));计算点序号
- (setq sn (rtos i1 2 0));将序号实数转换成字符
- (setq sxyz (strcat sn",," sy "," sx "," sz))
- (write-line sxyz ff)
- )
- )
- (setq i (+ i 1))
- );repeat
- )
- (prompt "* << 命令:plzbsc >> *输出格式(点号,, Y,X,Z)**")
- (prin1)
|
|