乐筑天下

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

[编程交流] 动态更改文本,具有

[复制链接]

19

主题

124

帖子

105

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2022-7-5 23:41:01 | 显示全部楼层 |阅读模式
 
回复

使用道具 举报

19

主题

124

帖子

105

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2022-7-5 23:45:17 | 显示全部楼层
不更改全局,仅更改选定的
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 23:49:28 | 显示全部楼层
这样地?
 
回复

使用道具 举报

19

主题

124

帖子

105

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2022-7-5 23:53:48 | 显示全部楼层
 
是的,就像那样!
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 23:55:34 | 显示全部楼层
 
玩一玩这个。
 
  1. (defun c:Test (/ s p e gr)
  2. ;;    Author : Tharwat 20. jan. 2014    ;;
  3. (if (setq s (ssget "_+.:S:E:L" '((0 . "TEXT,MTEXT"))))
  4.    (progn
  5.      (setq p (cdr (assoc 10 (entget (setq e (ssname s 0))))))
  6.      (while (eq (car (setq gr (grread t 15 0))) 5)
  7.        (redraw)
  8.        (grdraw p (cadr gr) 1 -1)
  9.        (vla-put-height
  10.          (vlax-ename->vla-object e)
  11.          (distance p (cadr gr))
  12.         )
  13.      )
  14.      (redraw)
  15.    )
  16. )
  17. (princ)
  18. )
  19. (vl-load-com)
回复

使用道具 举报

19

主题

124

帖子

105

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2022-7-5 23:59:41 | 显示全部楼层
 
非常感谢。Tharwat,不能批处理吗?
 
这个呢?
回复

使用道具 举报

34

主题

174

帖子

60

银币

后起之秀

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

铜币
257
发表于 2022-7-6 00:00:17 | 显示全部楼层
哇,我在BBS上看到了这个帖子。XDCAD。净额
  1. (defun c:tt (/ callback e p0 sty scl h)
  2. (defun callback (dynpt /)
  3.    (xdrx_setpropertyvalue
  4.      sty
  5.      "Dimscale"
  6.      (* (distance p0 (trans dynpt 0 1)) scl)
  7.    )
  8. )
  9. (if (setq e (car (xdrx_entsel "\nPick Dim: " '((0 . "Dimension")))))
  10.    (progn
  11.      (XD::Begin)
  12.      (setq sty        (cadr (xdrx_getpropertyvalue e "Dimensionstyle"))
  13.            scl        (xdrx_getpropertyvalue sty "Dimscale")
  14.            h        (xdrx_getpropertyvalue e "Dimtxt")
  15.            p0        (trans (caddr (xdrx_entity_getstretchpoint e )) 0 1)
  16.      )
  17.      (xdrx_pointmonitor "Callback" e)
  18.      (getpoint p0)
  19.      (xdrx_pointmonitor)
  20.      (XD::End)
  21.    )
  22. )
  23. (princ)
  24. )

 
不好吗?在使用之前,必须先应用XD API
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 00:05:50 | 显示全部楼层
Lucas,没有必要在回复中引用之前的每一个回复。
 
试试这个简单的。
 
  1. (defun c:Test (/ *error* ss in l vl d p gr)
  2. ;;    Author : Tharwat 21. jan. 2014    ;;
  3. (defun *error* (u) (redraw) (princ "\n*Cancel*"))
  4. (if (setq ss (ssget "_:L" '((0 . "*DIMENSION"))))
  5.    (progn (repeat (setq in (sslength ss))
  6.             (setq l (cons (cdr (assoc -1 (entget (ssname ss (setq in (1- in)))))) l))
  7.           )
  8.           (while (eq (car (setq gr (grread t 15 0))) 5)
  9.             (redraw)
  10.             (setq d (distance (setq p (cdr (assoc 13 (entget (car l))))) (cadr gr)))
  11.             (grdraw p (cadr gr) 1 -1)
  12.             (foreach x l
  13.               (vla-put-textheight (setq vl (vlax-ename->vla-object x)) (atoi (rtos d)))
  14.               (vla-put-arrowheadsize vl (/ d 2.))
  15.             )
  16.           )
  17.    )
  18. )
  19. (redraw)
  20. (princ)
  21. )
  22. (vl-load-com)
回复

使用道具 举报

19

主题

124

帖子

105

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2022-7-6 00:06:38 | 显示全部楼层
 
谢谢塔瓦,你是最棒的!我爱你!
 
值只能作为整数,可以吗?
 
004106i1211h0cv1pch4ud.png
004108jf7d00e7qzyyddnq.png
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 00:12:01 | 显示全部楼层
Tharwat,我可以建议不要只影响标签和箭头,而是使用整体尺度(VLA-PUT-SCALEFACTOR),它将考虑其他维度的装饰元素(即扩展、间隙),同时保持它们之间的比例。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 00:11 , Processed in 0.564276 second(s), 74 queries .

© 2020-2025 乐筑天下

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