乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 84|回复: 19

[编程交流] 从中提取长度和角度

[复制链接]

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 09:37:03 | 显示全部楼层 |阅读模式
我需要一个LISP从多行中提取“长度”和“角度”,这样我就可以将它们转换为word/excel格式。
我会使用数据提取,但在办公室我们使用AutoCAD 2006,正如一些人可能知道的那样,AutoCAD 2006没有数据提取选项。
 
在我的例子中,我有二维几何形状,仅用多段线绘制。我也有一个观点。我需要从这一点开始,画线到每个折线的转折点,然后从这些线中提取长度和角度。
我每天都有很多这样的形状,所以每天手动操作真的很痛苦。
 
这是一个图片附件,以便更好地了解我的情况。
103708fkhkceekpfoofn61.jpg
回复

使用道具 举报

4

主题

327

帖子

324

银币

初来乍到

Rank: 1

铜币
19
发表于 2022-7-6 09:42:24 | 显示全部楼层
从该点开始的所有直线是否都连接到上面多段线形状的每个顶点?
长度和角度的集合必须按特定顺序吗?
回复

使用道具 举报

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 09:44:10 | 显示全部楼层
对不起,我忘了提这个。
每条线都是独立的,从点到多段线顶点绘制。
例:点为X
-顶点为1,2,3,4,5,6
所有的线都是从X到1,从X到2的下一条线,从X到3的下一条线,依此类推。
回复

使用道具 举报

29

主题

519

帖子

477

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-6 09:48:54 | 显示全部楼层
这个问题最近也有人问过。请参阅此链接:http://www.cadtutor.net/forum/showthread.php?58199-Extracting-multiple-3d-length-for-line-in-AutoCAD-2007
 
同时检查本页底部的类似线程。
回复

使用道具 举报

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 09:52:40 | 显示全部楼层
对不起,我查一下。
回复

使用道具 举报

29

主题

519

帖子

477

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-6 09:54:47 | 显示全部楼层
@SlopeSilviu:这不是和你的另一个帖子一样吗?
 
回复

使用道具 举报

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 09:57:46 | 显示全部楼层
大约是的,但它有一些不同的基线。
我还得出结论,只有LISP可以帮助我,所以我在这里“重做”了一篇文章。
回复

使用道具 举报

4

主题

327

帖子

324

银币

初来乍到

Rank: 1

铜币
19
发表于 2022-7-6 10:01:08 | 显示全部楼层
我只是为了好玩才放在一起的
为什么不让它尽可能多地做呢。
这将绘制到每个顶点的线,并生成一个以逗号分隔的文件,名为lineinfo。txt位于“C:\”
运行程序后,打开excel并导入txt文件。
 
  1. (defun c:mklns (/ pt1 ss ent lsttxt txlst ff)
  2.        (setq pt1 (getpoint "Pick The Point"));_base point
  3.        (setq ss (ssget '((0 . "LWPOLYLINE"))));_polyline object
  4.        (if ss
  5.        (progn
  6.        (setq ent (entget(ssname ss 0)));_entity info for poly object
  7.        (foreach item ent
  8. (if (= (car item) 10)
  9.        (progn
  10.        (command "pline" pt1 (cdr item) "");_draw lines
  11.        (setq lsttxt (strcat               ;_make comma seperated list of length and angle
  12.        (rtos(distance pt1 (cdr item)))
  13.        ","
  14.        (angtos (angle pt1 (cdr item))0 4)
  15.        );_strcat
  16.        );_setq
  17.        (setq txlst (cons lsttxt txlst));_compiled list of all line length and angles
  18.        );_progn
  19.        );_if
  20.        );_foreach
  21. (setq ff (open "C:/LineInfo.txt" "w"));_write to file
  22. (foreach item txlst
  23.        (write-line item ff)
  24.        );_foreach
  25.        (close ff)
  26.        );_progn
  27.        (alert "No Polyline Object Selected")
  28.        );_if
  29.        );_defun
回复

使用道具 举报

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 10:05:04 | 显示全部楼层
谢谢约翰的快速回复。
我试着加载LISP,它确实加载了,但它什么都没做,可能是命令行缺少了什么,或者一定有什么我不明白的地方。
这是一张图片: 103710jxwiiawtlwp3p9nl.jpg
我希望这只是我的愚蠢。。。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 10:06:40 | 显示全部楼层
  1. (defun c:test (/ adoc Pline Xpoint PtList PtAngleList NewLine)
  2.   (vl-load-com)
  3.   (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
  4. (if (setq Pline (car (entsel "\nSelect Pline:"))
  5.         Xpoint (getpoint "\nSelect "X" Point: "))
  6.        (progn  
  7.   (setq PtList (mapcar
  8.                 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget Pline))))
  9. (setq PtAngleList (open (strcat (getvar 'Dwgprefix)(vl-filename-base (getvar 'Dwgname)) ".csv") "A"))
  10.   (foreach Pts (cdr PtList)
  11.        (setq NewLine (vla-addline (vlax-get (vla-get-activelayout adoc) 'Block)
  12.           (vlax-3d-point Xpoint) (vlax-3d-point Pts)))
  13.        (write-line (strcat (rtos (vla-get-length NewLine) 2 2) ","
  14.                        (rtos (vla-get-Angle NewLine) 2 2)) PtAngleList)
  15.           )
  16.        (print PtAngleList)
  17.   (close PtAngleList)
  18.         )
  19.          )
  20.   (princ)
  21. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-7 02:31 , Processed in 0.401653 second(s), 75 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表