xuexicad1960 发表于 2011-1-13 10:25:03

回复 gzxl 的帖子

这个小程序虽然长了点,但是能达到提取坐标到文件的目的。很好

wuli7398 发表于 2011-1-14 08:15:57

回复 xyp1964 的帖子

学院派工具箱收费吗?

xyp1964 发表于 2011-1-16 18:54:26

本帖最后由 xyp1964 于 2011-1-16 18:55 编辑


(defun c:tt ()
(setq s1(car (entsel "\n选择三维多段线: "))
          ptn (xyp-get-Vertexs s1 0)
          lst '("节点序号" "X坐标" "Y坐标" "Z坐标")
          i   1
)
(foreach pt ptn
    (setq plst (list (itoa i)
               (rtos (car pt) 2 3)
               (rtos (cadr pt) 2 3)
               (rtos (caddr pt) 2 3)
               )
          lst(append lst plst)
          i    (1+ i)
    )
)
(xyp-List2Xls lst 3)
(princ)
)

gzbccy 发表于 2011-1-17 21:15:54

回复 xyp1964 的帖子

你这个只能应用三维多段线吧?普通多义线可以吗?我更倾向于开始gzxl的修改后使用

usercoolbo 发表于 2011-1-19 17:26:53

(prompt "\n---多线段端点坐标提取至文件---命令行zbtq---)
(setvar "cmdecho" 0)
(defun c:zbtq ()
    (setq sel-line (ssget '((-4 . "<OR") (0 . "LINE")
                           (0 . "LWPOLYLINE")
                           (-4 . "OR>")
                        )
                   )
    )
    (setq l-num 0
          sel-count 0
    )
    (repeat (sslength sel-line)
      (setq pts '())
      (foreach lst (entget (ssname sel-line sel-count))
            (if (= (car lst) 10)
                (setq pts (append
                              pts
                              (list (cdr lst))
                        )
                )
            )
      )
      (setq sel-count (1+ sel-count))
      (setq l-num (1+ l-num))
      (setq l-name (strcat "多线段" (rtos l-num 2 0)))
      (biaozhu l-name (car pts))
      (file_write l-name pts)
    )
    (prompt "\n多义线各条坐标文件已生成,位于D盘根目录下")
    (setvar "cmdecho" 1)
    (princ)
)
(defun file_write (file-name pt-list)
    (setq f (open (strcat "d:/" file-name ".txt") "w"))
    (if (and
            f
            pt-list
      )
      (foreach x pt-list
            (princ (car x) f)
            (princ "," f)
            (princ (cadr x) f)
            (princ "\n" f)
      )
    )
    (close f)
)
(defun biaozhu (text-name text-posi)
    (if (= (tblsearch "layer" "标注") nil)
      (command "layer" "new" "标注" "color" "11" "标注" "")
    )
    (command "layer" "s" "标注" "")
    (command "text" "j" "m" text-posi "2" "0" text-name)
)

usercoolbo 发表于 2011-1-19 17:28:22

我这个也提取不了三维多段线的坐标,呵呵

teykmcqh 发表于 2011-4-30 18:54:08

回复 xyp1964 的帖子

xyp-List2Xls应该也是一个lisp程序吧,没有提供这个程序怎么运行呀?!

qjb5725 发表于 2011-5-3 15:13:44

15楼的程序试验成功!
但是在第一行少了一个双引号.

香田里浪人 发表于 2013-1-20 09:09:36

ljttjl 发表于 2011-1-11 21:41 static/image/common/back.gif
http://ljttjl.ys168.com20090805多段线上标注点号并提取坐标程序

提取坐标只能输出到txt,不能输出到excel

ljttjl 发表于 2013-1-23 20:24:54

香田里浪人 发表于 2013-1-20 09:09 static/image/common/back.gif
提取坐标只能输出到txt,不能输出到excel

生成的txt数据,可以用excel直接以逗号格式打开的,和excel数据没啥区别的
页: 1 [2] 3
查看完整版本: 如何获取多义线点并输出到EXCEL?