乐筑天下

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

[编程交流] 2D Ele的文字高度标记

[复制链接]

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:02:12 | 显示全部楼层 |阅读模式
大家好,
 
我使用搜索功能试图回答我的问题,但没有用。
 
我在一个lisp例程后,将放置一段文字的Y值(小数点后2位)和一个向下指向的三角形在一个图形中的选定点。
 
我将假设需要通过在图形中拾取一条水平基准线并键入该线的Y值来提供高度信息?
 
我对创建lisps完全是新手,所以我想我应该试试看是否有人已经做过一个,正在做一个,或者在某处发现了一个???
 
谢谢大家
 
布雷特
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:05:40 | 显示全部楼层
我不久前写的,它应该在这里的某个地方。。。
 
  1. (defun c:ellev (/ *error* Line Text OLDDIM P1 P2 PT TSZE X Y)
  2. ;; Lee Mac  ~  01.03.10
  3. (defun *error* (msg)
  4.    (and oldDim (setvar 'DIMZIN oldDim))
  5.    (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
  6.        (princ (strcat "\n** Error: " msg " **")))
  7.    (princ))
  8. (defun Line (p1 p2)
  9.    (entmakex (list (cons 0 "LINE")
  10.                    (cons 10 p1) (cons 11 p2))))
  11. (defun Text (pt hgt str)
  12.    (entmakex (list (cons 0 "TEXT") (cons 10  pt)
  13.                    (cons 40 hgt)   (cons 1  str)
  14.                    (cons 50 (angle '(0 0 0) (getvar 'UCSXDIR)))
  15.                    (cons 7  (getvar 'TEXTSTYLE)))))
  16. (setq oldDim (getvar 'DIMZIN))
  17. (setvar 'DIMZIN 0)
  18. (or *scl (setq *scl 100)) (initget 6)
  19. (setq *scl (cond ((getint (strcat "\nEnter Drawing Scale <" (itoa *scl) "> : "))) (*scl)))
  20. (setq tsze (* 0.002 *scl))
  21. (while (setq pt (getpoint "\nPick Elevation Line Point: "))
  22.    (setq x (car pt) y (cadr pt))
  23.    (setq p1 (trans (list (- x (/ tsze 2)) (+ y tsze) 0.) 1 0)
  24.          p2 (trans (list (+ x (/ tsze 2)) (+ y tsze) 0.) 1 0))
  25.    (mapcar (function (lambda (x) (line (trans pt 1 0) x))) (list p1 p2))
  26.    (line p1 p2)
  27.    (Text (trans (list x (+ y tsze) 0.) 1 0) tsze (strcat (if (<= 0 y) "+" "") (rtos y 2 2))))
  28. (setvar 'DIMZIN oldDim)
  29. (princ))
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:10:21 | 显示全部楼层
是否有可能使其以从箭头底部到测量点的一条线出现在左侧。单位:mm,不带单位,前面加上此加号??
非常感谢!!!
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:13:15 | 显示全部楼层
你能提供你想要的结果的图片吗?
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:15:27 | 显示全部楼层
您好,谢谢您对我的帖子做出快速反应。
下面是一个PDF示例。
样本。pdf
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:21:03 | 显示全部楼层
很抱歉我的英语不好,这是我写的Lisp程序
 
我希望它会有用。
SimbQuota9 EN。lsp
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:21:53 | 显示全部楼层
谢谢你的帮助。不幸的是,它只进行了一次测量,然后您需要重播命令(否则我做错了什么)。我需要在一张图上做一些测量,就像李·麦克的LSP一样。
但是再一次谢谢!!!
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:24:28 | 显示全部楼层
你好,巴尔泰克,
 
尝试以下方法:
 
  1. (defun c:ellev (/ *error* Line Text OLDDIM P1 P2 PT TSZE X Y)
  2. ;; Lee Mac  ~  01.03.10
  3. (defun *error* (msg)
  4.    (and oldDim (setvar 'DIMZIN oldDim))
  5.    (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
  6.        (princ (strcat "\n** Error: " msg " **")))
  7.    (princ))
  8. (defun Line (p1 p2)
  9.    (entmakex (list (cons 0 "LINE")
  10.                    (cons 10 p1) (cons 11 p2))))
  11. (defun Text (pt hgt str)
  12.    (entmakex (list (cons 0 "TEXT") (cons 10  pt)
  13.                    (cons 40 hgt)   (cons 1  str)
  14.                    (cons 50 (angle '(0 0 0) (getvar 'UCSXDIR)))
  15.                    (cons 7  (getvar 'TEXTSTYLE)))))
  16. (setq oldDim (getvar 'DIMZIN))
  17. (setvar 'DIMZIN 0)
  18. (or *scl (setq *scl 100)) (initget 6)
  19. (setq *scl (cond ((getint (strcat "\nEnter Drawing Scale <" (itoa *scl) "> : "))) (*scl)))
  20. (setq tsze (* 0.002 *scl))
  21. (while (setq pt (getpoint "\nPick Elevation Line Point: "))
  22.    (setq x (car pt) y (cadr pt))
  23.    (setq p1 (trans (list (- x (/ tsze 2)) (+ y tsze) 0.) 1 0)
  24.          p2 (trans (list (+ x (/ tsze 2)) (+ y tsze) 0.) 1 0))
  25.    (mapcar (function (lambda (x) (line (trans pt 1 0) x))) (list p1 p2))
  26.    (line p1 p2)
  27.    (Text (trans (list x (+ y tsze) 0.) 1 0) tsze (strcat (if (<= 0 y) "+" "") (rtos y 2 2) "m")))
  28. (setvar 'DIMZIN oldDim)
  29. (princ))
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:28:55 | 显示全部楼层
尊敬的先生:,
李先生的节目
它的用途非常充分
http://www.cadtutor.net/forum/showthread.php?31363-地板放大器高度lsp
  1. (defun c:ellev (/ *error* Line Text OFFSET OLDDIM P1 P2 PT TSZE X Y)
  2. ;; Lee Mac  ~  01.03.10
  3. [color=Red][b]  (setq offset 1.5) ;; Text Offset[/b][/color]
  4. (defun *error* (msg)
  5.    (and oldDim (setvar 'DIMZIN oldDim))
  6.    (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
  7.        (princ (strcat "\n** Error: " msg " **")))
  8.    (princ))
  9. (defun Line (p1 p2)
  10.    (entmakex (list (cons 0 "LINE")
  11.                    (cons 10 p1) (cons 11 p2))))
  12. (defun Text (pt hgt str)
  13.    (entmakex (list (cons 0 "TEXT") (cons 10  pt)
  14.                    (cons 40 hgt)   (cons 1  str)
  15.                    (cons 50 (angle '(0 0 0) (getvar 'UCSXDIR)))
  16.                    (cons 7  (getvar 'TEXTSTYLE))
  17. [color=Red][b]                    (cons 72 1) ; Center
  18.                    (cons 73 2) ; Middle[/b][/color]
  19.                    (cons 11 pt))))
  20. (setq oldDim (getvar 'DIMZIN))
  21. (setvar 'DIMZIN 0)
  22. (or *scl (setq *scl 100)) (initget 6)
  23. (setq *scl (cond ((getint (strcat "\nEnter Drawing Scale <" (itoa *scl) "> : "))) (*scl)))
  24. (setq tsze (* 0.002 *scl))
  25. (while (setq pt (getpoint "\nPick Elevation Line Point: "))
  26.    (setq x (car pt) y (cadr pt))
  27.    (setq p1 (trans (list (- x (/ tsze 2)) (+ y tsze) 0.) 1 0)
  28.          p2 (trans (list (+ x (/ tsze 2)) (+ y tsze) 0.) 1 0))
  29.    (mapcar (function (lambda ( x ) (line (trans pt 1 0) x))) (list p1 p2))
  30.    (line p1 p2)
  31.    (Text (trans (list x (+ y (* offset tsze)) 0.) 1 0) tsze
  32.          (strcat (if (<= 0 y) "+" "") (rtos y 2 2) "m")))
  33. (setvar 'DIMZIN oldDim)
  34. (princ))
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:32:20 | 显示全部楼层
这个看起来棒极了,唯一的问题是你可以像以前一样放入一个比例选项,因为它们非常小。让我知道我该如何报答你做得很好。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 05:58 , Processed in 0.819781 second(s), 72 queries .

© 2020-2025 乐筑天下

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