乐筑天下

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

[编程交流] 协调。

[复制链接]

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:27:09 | 显示全部楼层 |阅读模式
大家好,
我是这个论坛的新手,我想问一下如何
获取光标的x、y、z坐标并打印和
使用LISP将其保存到txt文件。我正在使用autocad 2011。
感谢您的帮助。
 
当做
大理石
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 09:34:28 | 显示全部楼层
获取点或grread
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:36:34 | 显示全部楼层
?
 
  1. (defun c:test ( / fn fo pt )
  2. (if
  3.    (and
  4.      (setq fn (getfiled "" "" "txt" 1))
  5.      (setq fo (open fn "w"))
  6.    )
  7.    (progn
  8.      (while (setq pt (getpoint "\nPick Point: "))
  9.        (write-line (apply 'strcat (mapcar 'strcat (mapcar 'rtos (trans pt 1 0)) '("," "," ""))) fo)
  10.      )
  11.      (close fo) (startapp "notepad" fn)
  12.    )
  13. )
  14. (princ)
  15. )
回复

使用道具 举报

18

主题

74

帖子

32

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
116
发表于 2022-7-6 09:42:35 | 显示全部楼层
李-麦克我对你能以如此快的速度写出这些lisp文件感到惊讶和印象深刻。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:45:23 | 显示全部楼层
我练习得太多了。。。
 
谢谢伙计
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:49:07 | 显示全部楼层
嗨,李,
非常感谢您的快速回复,代码正在运行,但如何在LISP代码中插入目录,例如:我想将txt文件保存到:
C: \文档和设置\管理员\我的文档\我的坐标
具有文件名坐标。txt,这样每次我运行LISP程序时,它都不会问我文件名和保存位置。
 
提前感谢,
大理石
回复

使用道具 举报

59

主题

327

帖子

268

银币

后起之秀

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

铜币
295
发表于 2022-7-6 09:53:16 | 显示全部楼层
你好,Marbenorallo,
 
只需添加如下路径:
  1. (defun c:test (/ fn fo pt)
  2. (if
  3.    (and
  4.      (setq fn "C:\\Documents and Settings\\Administrator\\My Documents\\My Coordinates\\Coordinates.txt")
  5.      (setq fo (open fn "w")); (make "w" --> "a" and it will append
  6.    ) ;_and
  7.     (progn
  8.       (while (setq pt (getpoint "\nPick Point: "))
  9. (write-line (apply 'strcat (mapcar 'strcat (mapcar 'rtos (trans pt 1 0)) '("," "," ""))) fo)
  10.       ) ;_while
  11.       (close fo)
  12.       (startapp "notepad" fn)
  13.     ) ;_progn
  14. ) ;_if
  15. (princ)
  16. ) ;_defun

 
记住“w”,它会使文件“coordinates.txt”在每次使用该程序时自动覆盖。
如果将其更改为“a”,则现有文件将保留,坐标将附加到文件中。
 
@李:希望你不要介意,我不想“踩到你的脚趾”(英语?)
 
请您向我/我们解释一下这一部分:
  1. (apply 'strcat (mapcar 'strcat (mapcar 'rtos (trans pt 1 0)) '("," ","
  2. "")))

 
Trans我只能理解两次“mapcar”和al的组合“,”。。。
我知道你用delimeters将其格式化为字符串,但我需要理解代码。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:58:22 | 显示全部楼层
 
别担心
 
 
当然,这里有一个由内而外计算的表达式的逐步步骤(使用(1.2 1.3 1.4)的示例点):
 
希望这能澄清问题,但如果你需要进一步解释,请告诉我
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 10:03:30 | 显示全部楼层
你好,马可,
你给出的lisp代码正是我想要的。非常感谢你。我还有一个关于坐标的问题。如何获取选定直线、多段线、圆弧和块的坐标,并将坐标打印到txt文件中。
 
当做
大理石
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:06:36 | 显示全部楼层
嗨,Marbs,
 
在我的网站上搜索我的“Point Manager”程序,它可以(大部分)满足你的需求。
 
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 03:06 , Processed in 0.795404 second(s), 72 queries .

© 2020-2025 乐筑天下

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