利用多段线提取桩位坐标并展点号.docVIP

  • 15
  • 0
  • 约1.43千字
  • 约 5页
  • 2018-06-30 发布于上海
  • 举报
编写Autolisp源代码文件.lsp代码部分:(分割线一下)===========================================================================(defun c:lddl() (setvar cmdecho 0) (setvar osmode 0) (setq ffn(getfiled 选取文件 xls 1)) (setq ff (open ffn a)) (close ff) (princ \n 选取Pline多义线) (setq ss (ssget)) (setq i 0) (repeat (sslength ss);根据选择集的个数来确定循环。 (setq zimu(getstring 如果点号前加字母请输入字母,不需要请按回车键)) (setq num (getint 输入起始点号)) (setq ssn (ssname ss i)) (setq endata (entget ssn)) (setq n 0) (repeat (length endata);根据图元的元素个数进行循环。 (setq pp (nth n endata));负责检索图元元素。 (setq key (car pp));提取元素名称 (if (= key 10) (progn (setq x (rtos (cadr pp)2 3));设置精度 (setq y (rtos (caddr pp)2 3));同上 (setq ff (open ffn a)) (princ zimu ff) (princ num ff)(princ \t ff) (princ x ff)(princ \t ff) (princ y ff)(princ \n ff) (close ff) (command text m(list (atof x) (- (atof y) 0.7)) 0.3 0 (strcat zimu (itoa num)));为了标注点好,调整位置的时候需要把字符串转换成实数。 (setq num (1+ num)) ) ) (setq n (1+ n));从头检索找到元素名为“10”,转换写入文件。 ) (setq i (1+ i)) ) (princ (strcat \n 文件写至--- ffn)) (prin1))===========================================================================把以上代码复制粘贴到记事本修改后缀名file.txt?file.lsp加载lsp文件,保存excel文件。点击加载应用程序选择file.lsp的文件点击加载选择加载一次或者始终加载都可以关闭加载窗口,状态栏显示加载成功!在命令框输入lddl新建保存的excel的位置以及文件名点击保存。选择你要提取的多段线(一次可以选择多个线段,也可单选)输入第一段的起始点号空格输入下一段的起始点号输出的excel的格式为 “点号” “Y” “X”结束如果需要继续提取可以继续选择上次excel文件,坐标将接着上次结束位置继续录入。

文档评论(0)

1亿VIP精品文档

相关文档