乐筑天下

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

[编程交流] 添加两个不同的单元文本

[复制链接]

6

主题

15

帖子

9

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-5 15:18:08 | 显示全部楼层 |阅读模式
开发者们好。
我有一个奇怪的情况,我想添加两个文本,一个是米,另一个是毫米,我想添加这两个数字,我想输出米。
你能帮助我吗?
请参阅图片以供参考
161809d8ft8eto8owtrtnd.jpg
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 15:31:24 | 显示全部楼层
  1. ([color="blue"][b]+[/b][/color] 46.00 ([color="blue"][b]/[/b] [/color]379 1000.))
回复

使用道具 举报

6

主题

15

帖子

9

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-5 15:43:41 | 显示全部楼层
谢谢你的回复。
我的要求是我在cad中有这些值。
我想先选择链测长度,然后选择差异,并想用米的输出替换现有文本。
回复

使用道具 举报

6

主题

15

帖子

9

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-5 15:51:27 | 显示全部楼层
我有这个lisp,但我想消除输入链测长度:
 
  1. (defun *error* (errmsg)
  2. (princ "\nAn error has occurred in the programme. ")
  3. (terpri)
  4. (prompt errmsg)
  5. (princ)
  6. )
  7. (defun trap1 (errmsg)                                                ;define function
  8. (setvar "osmode" oldsnap)                                ;restore variables
  9. (setvar "clayer" oldlayer)
  10. (setvar "cmdecho" oldecho)
  11. (setq *error* temperr)                                        ;restore *error*
  12. (prompt "\nResetting System Variables ")                ;inform user
  13.   (princ)
  14. )
  15. (defun c:dff (/ p1 p2 di e e1 v1 lens)
  16.           (vl-load-com)
  17.            (setq temperr *error*)                                        ;store *error*
  18. (setq *error* trap1)                                        ;re-assign *error*
  19. (setq oldecho (getvar "cmdecho"))                        ;store variables
  20. (setq oldlayer (getvar "clayer"))
  21. (setq oldsnap (getvar "osmode"))
  22. (setvar "cmdecho" 0)                                        ;reset variables
  23. (setvar "osmode" 1)
  24. (setq lens 0)
  25.     (setq ext
  26.                (cond
  27.                    (   (getdist
  28.                            (strcat "\nSpecify Previous Chainage"
  29.                                (if ext (strcat " <" (rtos ext) "> : ") ": ")
  30.                            )
  31.                        )
  32.                    )
  33.                    (   ext   )
  34.                )
  35.            )
  36.     (setq ext1
  37.                (cond
  38.                    (   (getdist
  39.                            (strcat "\nSpecify Current Distance"
  40.                                (if ext (strcat " <" (rtos ext) "> : ") ": ")
  41.                            )
  42.                        )
  43.                    )
  44.                    (   ext   )
  45.                )
  46.            )
  47.        
  48.              (setq p3 (/ ext1 1000))
  49. (setq lens2 (+ ext p3))
  50.         (progn
  51. (prompt"\n Select text object to paste New Chainage :")
  52. (setq e (ssget "_+.:S:L" '((0 . "*TEXT")))))
  53. (progn
  54. (setq lens (+ lens (+ lens2 0)))
  55. (entupd (cdr (assoc -1 (entmod (subst(cons 1 (rtos lens 2 3))(assoc 1 (setq e1 (entget (ssname e 0))))e1))))))
  56. (princ)
  57. (setq errFlag T)
  58.            (setvar "clayer" oldlayer)                                                        ;reset variables
  59. (setvar "osmode" oldsnap)
  60. (setvar "cmdecho" oldecho)
  61. (setq *error* temperr)       
  62. (princ)
  63. )
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 16:03:41 | 显示全部楼层
抱歉,内部服务器错误让我抓狂!我过去30分钟没能发帖!
不知道你的意思
你选择379然后选择46.000,
46.000变成46.379?
 
这只是草稿,您需要调试,示例错误,如果选择非文本等。。
  1. (defun c:test ( / mmTx tx ob )
  2. (and (setq mmtx (car (entsel "\nSelect mm Text ")))
  3.       (setq tx (car (entsel "\nSelect CH Text to add ")))
  4.       (setq str (rtos (apply '+
  5.               (setq l (mapcar ''((a b) (* a (atof (vla-get-textString (setq ob (vlax-ename->vla-object b))))))
  6.                               '(1e-3 1.0)
  7.                               (list mmtx tx)
  8.                               )
  9.                     )
  10.               )
  11.        2
  12.        )
  13.      )
  14.       (vla-put-TextString
  15. ob
  16. str
  17. )
  18.       )
  19. (princ)
  20. )
回复

使用道具 举报

5

主题

1074

帖子

1088

银币

初来乍到

Rank: 1

铜币
9
发表于 2022-7-5 16:12:15 | 显示全部楼层
另一种非lisp方法是使用替代单位,可能显示在尺寸界线下方,并选择指定的前缀或后缀。
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 16:18:30 | 显示全部楼层
 
现在我知道我不是唯一一个最近不断出现服务器错误的人。
 
本体论:
从图片上看,不清楚这是属性块还是ACAD_表,它总是(2x3)/(3x2)列'n'行。
或者它只是像hanhphuc猜测的那样分解了线条/文本的几何形状。
顺便说一句,可能需要(LM:Unformat)。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 13:06 , Processed in 1.948371 second(s), 69 queries .

© 2020-2025 乐筑天下

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