乐筑天下

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

[编程交流] 显示并指出非原件

[复制链接]

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:55:41 | 显示全部楼层
你在VLIDE帮助文档中查过函数“VLA-PUT-TEXTWINBACKGRNDCOLOR”吗?
 
如果你有,你会发现它是用来控制命令行窗口的背景-因此绝对与尺寸无关。
 
如果您不知道如何查找函数,请参见此处。
 
  1. (defun c:FindDodgyDims ( / ss ) (vl-load-com)
  2. (if (setq ss (ssget "_X" '((0 . "*DIMENSION") (1 . "*?*"))))
  3.    (
  4.      (lambda ( i / e o )
  5.        (while (setq e (ssname ss (setq i (1+ i))))
  6.          (vla-put-TextColor (setq o (vlax-ename->vla-object e)) acgreen)
  7.          (vla-put-TextFillColor o acwhite)
  8.          (vla-put-TextFill o :vlax-true)
  9.        )
  10.      )
  11.      -1
  12.    )
  13. )
  14. (princ)
  15. )
回复

使用道具 举报

8

主题

159

帖子

153

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 11:01:39 | 显示全部楼层
这样表示覆盖DIM如何:
  1. (defun C:HL (/ SS PT PT2)
  2. (if
  3.    (setq SS
  4.      (ssget "_X"
  5.        '((0 . "*DIMENSION") (1 . "*?*"))
  6.      )
  7.    )
  8.    (if (setq PT (getpoint "\nSelect anchor point: "))
  9.      (foreach % (jk:SSX_SS->List SS)
  10.        (setq PT2 (cdr (assoc 11 (entget %))))
  11.        (entmakex
  12.          (list
  13.            (cons 0 "LINE")
  14.            (cons 10 PT)
  15.            (cons 11 PT2)
  16.            (cons 62 2)
  17.          )
  18.        )
  19.      )
  20.      (princ "\n>> Invalid point. ")
  21.    )
  22.    (princ "\n>> No overrided dimensions. ")
  23. )
  24. (princ)
  25. )
  26. (defun jk:SSX_SS->List (sel / n l)
  27. (repeat
  28.    (setq n (sslength sel))
  29.    (setq n (1- n)
  30.          l (cons (ssname sel n) l)
  31.    )
  32. )
  33. )
  34. (princ)
kruuger
回复

使用道具 举报

8

主题

20

帖子

12

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 11:02:49 | 显示全部楼层
谢谢李,我尝试了你的更新代码,但我不知道为什么不能填写背景文字。
 
我尝试使用set the dimtfill and dimtfillclr,并确定:
 
  1. (defun c:FindDodgyDims ( / ss ) (vl-load-com)
  2. (setvar "dimtfillclr" 5)
  3. (setvar "dimtfill" 2)
  4. (if (setq ss (ssget "_X" '((0 . "*DIMENSION") (1 . "*?*"))))
  5.    (
  6.      (lambda ( i / e )
  7.        (while (setq e (ssname ss (setq i (1+ i))))
  8.          (vla-put-TextColor (vlax-ename->vla-object e) acgreen)
  9.          (command "-dimstyle" "A" ss "")
  10.        )
  11.      )
  12.      -1
  13.    )
  14. )
  15. (setvar "dimtfill" 0)
  16. (princ)
  17. )

 
但新的问题,做了代码后无法撤消。。。请帮助我:(
 
克鲁格,谢谢你的代码。。这是一段精彩的代码。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:08:43 | 显示全部楼层
我的代码似乎适合我-你收到错误了吗?
 
您的代码正在为同一选择集中的图元数反复更改标注样式。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 21:09 , Processed in 0.458935 second(s), 58 queries .

© 2020-2025 乐筑天下

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