明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 664|回复: 7

[提问] 拾取圆心点坐标,然后自动输出到excel中

[复制链接]
发表于 2018-11-16 11:29 | 显示全部楼层 |阅读模式
在CAD中拾取圆心点坐标,然后自动输出到excel中,这个有高手写一个吗
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2018-11-16 11:55 | 显示全部楼层
兄弟,这么直接,直接让人帮你写,而不是在寻求帮助,但是想法不错,得有人愿意写
 楼主| 发表于 2018-11-16 12:19 | 显示全部楼层
哈哈,我感觉难道不大,高手顺手就能写好
发表于 2018-11-16 14:11 | 显示全部楼层
这应该是想统计桩位坐标吧
发表于 2018-11-16 14:53 | 显示全部楼层
钻石会员提这问题,不应该啊
 楼主| 发表于 2018-11-17 10:29 | 显示全部楼层
;;;多段线顶点坐标导出到EXCEL
;;;                by:langjs
(defun c:aa ( / ent file filex i j p ss)
  (setq ss (ssget '((0 . "LWPOLYLINE")))  i 0
        filex (getfiled "指定输出文件路径" "" "xls" 1)        file (open filex "w"))
  (repeat (sslength ss)
    (setq j 1  ent (entget (ssname ss i))  p (cdr (assoc 10 ent)))
    (write-line (strcat "Line" (itoa (1+ i))) file)
    (write-line "oint\tX\tY\tZ" file)
    (entmake (list '(0 . "TEXT") (cons 1 (strcat "Line" (itoa (1+ i)))) (cons 10 (list (car p) (+ (cadr p) 50))) (cons 40 30)))
    (while (setq p (assoc 10 ent))
      (setq ent (cdr (member p ent)) p (cdr p))
      (entmake (list '(0 . "TEXT") (cons 1 (itoa j)) (cons 10 (list (+ (car p) 10) (+ (cadr p) 10))) (cons 40 30)))
      (write-line (strcat (itoa j) "\t" (rtos (car p) 2 4) "\t" (rtos (cadr p) 2 4) "\t"
                          (if (caddr p) (rtos (caddr p) 2 4)"0.0")) file )
      (setq j (1+ j))
    )
    (setq i (1+ i))
  )
  (close file)
  (command "start" filex)
  (princ)
)
郎大师出品
发表于 2018-11-17 11:15 | 显示全部楼层
谢谢! szx025 分享郎大师的程序!!!!!
发表于 2018-11-17 11:56 | 显示全部楼层
试试这个:
  1. (defun c:tt (/ *error* en en-lst fil n path pt-lst ss ssn)
  2.   (defun *error* ( msg )
  3.     (if (not (wcmatch (strcase msg t) "*break,*cancel*,*exit*"))
  4.       (progn (princ (strcat "\n错误:" msg)) (close fil))
  5.     )
  6.     (princ)
  7.   )
  8.   (setq ss (ssget '((0 . "CIRCLE")))
  9.     ssn (sslength ss)
  10.     n 0
  11.   )
  12.   (while (setq en (ssname ss (setq ssn (1- ssn))))
  13.     (setq en-lst (cons en en-lst))
  14.   )
  15.   (mapcar '(lambda (x) (progn (setq pt (cdr (assoc 10 (entget x))))
  16.                               (setq pt-lst (append pt-lst (list (list (strcat (itoa (setq n (1+ n))) "\t" (rtos (car pt) 2 3) "\t" (rtos (cadr pt) 2 3))))))
  17.                        )
  18.            )
  19.     en-lst
  20.   )
  21.   (setq pt-lst (cons '("序号\tX\tY") pt-lst))
  22.   (setq path (getfiled "指定输出文件路径" "" "xls" 1)
  23.     fil (open path "w")
  24.   )
  25.   (mapcar '(lambda (x) (write-line (car x) fil)) pt-lst)
  26.   (close fil)
  27.   (vlax-invoke (vlax-create-object "Shell.Application")  'open  path)
  28.   (princ)
  29. )


您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-19 19:30 , Processed in 0.276443 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表