乐筑天下

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

[编程交流] 用于点导出的LISP

[复制链接]

3

主题

19

帖子

16

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 06:16:22 | 显示全部楼层 |阅读模式
您好,我在论坛上找到了一个非常好的Lisp程序这个工作。但我想在这方面有所不同。Lisp程序是ECoor。lsp,由Vladimir Azarko制作。
我想要的变化是:
1) 选择圆并获取中心以写入坐标
2) 按以下格式编写文本:
n、 x,y和有2位数字000.00
1,120.12,200.54
 
谢谢
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 06:22:51 | 显示全部楼层
看看这个,伙计。
 
这会将所选圆的中心写入驱动器C:/My Folder/coordinates。因此,如果你没有相同名称的驱动器只需更换
字符C:和你最喜欢的一个。。
 
  1. (defun c:TesT (/ *error* dir fNme ss i sname c)
  2. (vl-load-com)
  3. ; THARWAT Oct. 07.2010
  4. (defun *error* (msg)
  5.    (and fNme (close fNme))
  6.    (if (and msg
  7.             (not (wcmatch (strcase msg) "*BREAK*,*CANCEL*,*QUIT*,"))
  8.        )
  9.      (princ (strcat "\nError: " msg))
  10.    )
  11. )
  12. (setq dir "C:\\My Folder")
  13. (vl-mkdir dir)
  14. (if (and
  15.        (setq fNme (open "C:/My Folder/coordinates.txt" "w"))
  16.        (setq ss (ssget '((0 . "CIRCLE"))))
  17.      )
  18.    (progn
  19.      (repeat (setq i (sslength ss))
  20.        (setq sname (ssname ss (setq i (1- i))))
  21.        (setq c (cdr (assoc 10 (entget sname))))
  22.        (write-line
  23.          (strcat (rtos (car c) 2 2) "\t" (rtos (cadr c) 2 2))
  24.          fNme
  25.        )
  26.      )
  27.      (close fNme)
  28.    )
  29.    (princ)
  30. )
  31. (princ)
  32. )

 
塔瓦特
回复

使用道具 举报

3

主题

19

帖子

16

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 06:25:35 | 显示全部楼层
Tharwat it good,we can add to take text numers near of the circle,and write to the text in this format point numer,x,y.好吧,我们可以在圆的附近加上一个文本numer,然后用这个格式把文本写成点numer,x,y。
谢谢
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 06:28:01 | 显示全部楼层
像这样的事情??
 
  1. (defun c:TesT (/ *error* dir fNme ss i sname c x y)
  2. (vl-load-com)
  3. ; THARWAT Oct. 07.2010
  4. (defun *error* (msg)
  5.    (and fNme (close fNme))
  6.    (if (and msg
  7.             (not (wcmatch (strcase msg) "*BREAK*,*CANCEL*,*QUIT*,"))
  8.        )
  9.      (princ (strcat "\nError: " msg))
  10.    )
  11. )
  12. (setq dir "C:\\My Folder")
  13. (vl-mkdir dir)
  14. (if (and
  15.        (setq fNme (open "C:/My Folder/coordinates.txt" "w"))
  16.        (setq ss (ssget '((0 . "CIRCLE"))))
  17.      )
  18.    (progn
  19.      (repeat (setq i (sslength ss))
  20.        (setq sname (ssname ss (setq i (1- i))))
  21.        (setq c (cdr (assoc 10 (entget sname))))
  22.        (write-line
  23.          (strcat (setq x (rtos (car c) 2 2))
  24.                  "\t"
  25.                 (setq y (rtos (cadr c) 2 2))
  26.          )
  27.          fNme
  28.        )
  29.        (entmakex (list '(0 . "MTEXT")
  30.                        '(100 . "AcDbEntity")
  31.                        '(100 . "AcDbMText")
  32.                        (cons 40 (getvar 'textsize))
  33.                        (cons 1
  34.                              (strcat "X" "=" " " x "\\P" "Y" "=" " " y)
  35.                        )
  36.                        (assoc 10 (entget sname))
  37.                        '(50 . 0.)
  38.                        '(210 0.0 0.0 1.0)
  39.                  )
  40.        )
  41.      )
  42.      (close fNme)
  43.    )
  44.    (princ)
  45. )
  46. (princ)
  47. )
回复

使用道具 举报

3

主题

19

帖子

16

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 06:30:40 | 显示全部楼层
对不起,我写错了。
我有一些画,有一个圆作为点,圆的附近是编号文本如18。
如果可能的话,这些圆就是我想要的标桩点,将它们导出到文本文件中,就像你发布的第一个一样,但数字在圆的附近。
eg文本文件
点nubmer,x,y
18,5124.24,45646.63
19,5454.26,46566.63
.....
 
查看附件的图像。。
谢谢
071625pel7vb7uezdyv7yj.jpg
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 06:34:38 | 显示全部楼层
塔尔瓦特,
 
研究GetField函数。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 06:36:43 | 显示全部楼层
实际上,我正在使用GetField函数来选择已经存在的所需文件,在OP的请求中,需要创建一个文件并将字符串(数据)导出到其中。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 06:39:35 | 显示全部楼层
 
您可以使用GetField创建新文件,阅读文档。
回复

使用道具 举报

VVA

1

主题

308

帖子

308

银币

初来乍到

Rank: 1

铜币
8
发表于 2022-7-6 06:41:54 | 显示全部楼层
>尼帕帕
感谢您的反馈。您可能对该程序输出坐标(大地坐标和数学坐标)感到满意
回复

使用道具 举报

3

主题

19

帖子

16

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 06:45:30 | 显示全部楼层
很多人。。。
导出坐标(大地坐标和数学坐标)它真的很好,只有两个问题lisp它不工作,它给出了一个错误
命令:GEO_EXPORT
; 错误:退出/退出中止
但是vlx正在工作,我一次又一次地检查路径支持,我制造了新闻,但什么都没有。
第二个问题是如何将最后一个数字改为2,而不导出z
eg 1869206.0264034992.735,0.000
至1869206.034034992.74
 
再次感谢。。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 18:44 , Processed in 0.503226 second(s), 74 queries .

© 2020-2025 乐筑天下

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