乐筑天下

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

[编程交流] 单击并签署坐标

[复制链接]

5

主题

17

帖子

12

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 11:16:47 | 显示全部楼层 |阅读模式
任何人都知道一个lisp在一个点上点击并读取xyz,然后它将相应的内容转换为多行文字
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:22:55 | 显示全部楼层
快速一:
 
  1. (defun c:mpt (/ M-Point M-Text pt)
  2. (defun M-Point (pt)
  3.    (entmakex (list (cons 0 "POINT") (cons 10 pt))))
  4. (defun M-Text (pt val)
  5.    (entmakex (list (cons 0 "MTEXT")
  6.                    (cons 100 "AcDbEntity")
  7.                    (cons 100 "AcDbMText")
  8.                    (cons 10 pt)
  9.                    (cons 1 val))))
  10. (while (setq pt (getpoint "\nPick Point: "))
  11.    (M-Point (setq pt (trans pt 1 0)))
  12.    (M-Text pt
  13.      (apply 'strcat
  14.        (mapcar 'strcat '("X = " "\nY = " "\nZ = ") (mapcar 'rtos pt)))))
  15. (princ))
回复

使用道具 举报

5

主题

17

帖子

12

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 11:26:13 | 显示全部楼层
谢谢李,这段代码很有用
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:27:56 | 显示全部楼层
 
不客气
回复

使用道具 举报

5

主题

17

帖子

12

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 11:30:39 | 显示全部楼层
嗨,李,麦克
你能在这段代码中改变多行文字的高度或旋转吗
因为我创建了一个新的文本样式和新的图层,所以我将设置为当前,但它不适用于此文本样式。。
 
 
-----------------------------------------------------------------
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:34:56 | 显示全部楼层
原始代码将采用当前textstyle的属性,但这将为您提供手动控制:
 
  1. (defun c:mpt (/ M-Point M-Text pt height rotation)
  2. (setq height 2.5 rotation 0.0) [color=Blue][b];; Text Height and Rotation[/b][/color]
  3. (defun M-Point (pt)
  4.    (entmakex (list (cons 0 "POINT") (cons 10 pt))))
  5. (defun M-Text (pt val hgt rot)
  6.    (entmakex (list (cons 0 "MTEXT")
  7.                    (cons 100 "AcDbEntity")
  8.                    (cons 100 "AcDbMText")
  9.                    (cons 10 pt)
  10.                    (cons 1 val)
  11.                    (cons 40 hgt)
  12.                    (cons 50 rot))))
  13. (while (setq pt (getpoint "\nPick Point: "))
  14.    (M-Point (setq pt (trans pt 1 0)))
  15.    (M-Text pt
  16.      (apply 'strcat
  17.        (mapcar 'strcat '("X = " "\nY = " "\nZ = ") (mapcar 'rtos pt)))
  18.            height rotation))
  19. (princ))
回复

使用道具 举报

6

主题

249

帖子

247

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 11:38:08 | 显示全部楼层
 
如何将输出改为Y、X、Z?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:41:49 | 显示全部楼层
  1. (defun c:mpt (/ M-Point M-Text pt height rotation)
  2. (setq height 2.5 rotation 0.0) ;; Text Height and Rotation
  3. (defun M-Point (pt)
  4.    (entmakex (list (cons 0 "POINT") (cons 10 pt))))
  5. (defun M-Text (pt val hgt rot)
  6.    (entmakex (list (cons 0 "MTEXT")
  7.                    (cons 100 "AcDbEntity")
  8.                    (cons 100 "AcDbMText")
  9.                    (cons 10 pt)
  10.                    (cons 1 val)
  11.                    (cons 40 hgt)
  12.                    (cons 50 rot))))
  13. (while (setq pt (getpoint "\nPick Point: "))
  14.    (M-Point (setq pt (trans pt 1 0)))
  15.    (M-Text pt
  16.      (apply 'strcat
  17.        (mapcar 'strcat '("Y = " "\nX = " "\nZ = ")
  18.          (mapcar 'rtos (list (cadr pt) (car pt) (caddr pt)))))
  19.            height rotation))
  20. (princ))
回复

使用道具 举报

6

主题

249

帖子

247

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 11:42:15 | 显示全部楼层
 
李,谢谢你上了关于rtos使用的课!现在,我可以将所有其他生成的“xyz”程序修复为“yxz”(对我来说,它是N,E,Elev)!!
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:46:12 | 显示全部楼层
不客气Steve
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 11:13 , Processed in 0.728675 second(s), 72 queries .

© 2020-2025 乐筑天下

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