明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4497|回复: 9

[源码] 求一个能一次性提取N多个矩形4个角点坐标的程序,不胜感激!

[复制链接]
发表于 2013-4-19 16:58:15 | 显示全部楼层 |阅读模式
本帖最后由 gsn611 于 2013-4-20 08:50 编辑

提取到txt或者excel都行,最好是框选后矩形角点有顺序好,txt或者excel那也有顺序号。谁能帮我,谢谢。
发表于 2013-4-20 12:36:21 | 显示全部楼层
  1. ;;;多义线端点输出到文件0.91版
  2. (defun c:sx (/ ss se e0 e1 en pt0 x0 y0 dph dn fn f)
  3.   (princ "\n多义线端点输出到文件。")
  4.   (princ "\n选择多义线:")
  5.   (setq  ss  (ssget '((0 . "lwpolyline")))
  6.   len (sslength ss)
  7.   i   -1
  8.   e0  nil
  9.   )
  10.   (initget 129 " ")
  11.   (setq pt0 (getpoint "\n坐标基点<0,0>:"))
  12.   (if pt0
  13.     (if  (/= pt0 "")
  14.       (setq x0 (car pt0)
  15.       y0 (cadr pt0)
  16.       )
  17.       (setq x0 0.0
  18.       y0 0.0
  19.       )
  20.     )
  21.   )
  22.   (repeat len
  23.     (setq en (entget (ssname ss (setq i (1+ i))))
  24.     e1 nil
  25.     )
  26.     (while en
  27.       (if (= (caar en) 10)
  28.   (setq e1 (cons (trans (cdar en) 0 1) e1)
  29.         en (cdr en)
  30.   )
  31.   (setq en (cdr en))
  32.       )
  33.     )
  34.     (setq e0 (cons e1 e0))
  35.   )
  36.   (if e0
  37.     (setq dPh (getvar "dwgprefix")
  38.     dn  (getvar "dwgname")
  39.     dn  (strcat (substr dn 1 (- (strlen dn) 4)) ".csv")
  40.     fn  (getfiled "多义线端点输出" (strcat dph dn) "csv" 9)
  41.     f   (open fn "a")
  42.     )
  43.   )
  44.   (if fn
  45.     (progn
  46.       (mapcar
  47.   '(lambda (x)
  48.      (if (> (caar x) (caar (reverse x)))
  49.        (setq x (reverse x))
  50.      )
  51.      (princ "线形\n" f)
  52.      (mapcar
  53.        '(lambda (y)
  54.     (princ (- (car y) x0) f)
  55.     (princ "," f)
  56.     (princ (- (cadr y) y0) f)
  57.     (princ "\n" f)
  58.         )
  59.        x
  60.      )
  61.    )
  62.   e0
  63.       )
  64.       (close f)
  65.     )
  66.   )
  67.   (princ)
  68. )
回复 支持 1 反对 0

使用道具 举报

发表于 2013-4-19 17:52:53 | 显示全部楼层
一个古旧的Lisp,你可以试试。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2013-4-20 08:38:28 | 显示全部楼层
ll_j 发表于 2013-4-19 17:52
一个古旧的Lisp,你可以试试。

朋友首先感谢你回贴。我有个问题还请教,加载后提示这个是什么意思?而且使用时不是一次性提取N多个矩形到一个csv文件?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2013-4-20 09:50:15 | 显示全部楼层
使用时不是一次性提取N多个矩形到一个csv文件,而且不好用。
发表于 2013-4-20 10:15:41 | 显示全部楼层
gsn611 发表于 2013-4-20 08:38
朋友首先感谢你回贴。我有个问题还请教,加载后提示这个是什么意思?而且使用时不是一次性提取N多个矩形到 ...

这是以前的程序,早就忘了,昨天好不容易才找出来,使用很少,也不太想改了,如果你用得比较多,可以试试改一下,或者让大家改一下,否则还是算了。
这里显示的提示应该是“基点<0,0>: ”,可能是CAD版本的问题,显示错误。这个基点是控制图形相对坐标的,设定了基点后,输出的坐标值就是相对这个基点的坐标了。
对多条多段线(不仅仅是矩形)逐条使用,如果使用相同的输出文件名,结果是附加的。
 楼主| 发表于 2013-4-20 10:52:00 | 显示全部楼层
ll_j 发表于 2013-4-20 10:15
这是以前的程序,早就忘了,昨天好不容易才找出来,使用很少,也不太想改了,如果你用得比较多,可以试试 ...

朋友,我要是有自己修改的水平,我就不发帖了。我还是再等等看有提供现成能用的吧。
 楼主| 发表于 2013-4-20 14:37:07 | 显示全部楼层
ll_j 发表于 2013-4-20 12:36

朋友你的善举对我帮助很大,这里需要你这样有正能量的人。
发表于 2016-2-19 15:00:38 | 显示全部楼层
新手,刚好需要这样的代码,谢谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-23 15:35 , Processed in 0.215664 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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