乐筑天下

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

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

[复制链接]

8

主题

20

帖子

12

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 10:07:11 | 显示全部楼层 |阅读模式
大家好,
你有一个lisp进行检查,并指出非原始尺寸选择(例如,改变文字为其他颜色),因为有时我有图纸,我只会检查改变尺寸,而不是改变对象。。。请
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 10:14:50 | 显示全部楼层
您是否属于dimesnon覆盖?
 
试试这个
 
  1. (defun c:test (/ sel objects)
  2. (vl-load-com)
  3. (cond
  4.    ((setq sel (ssget "_X" '((0 . "DIMENSION"))))
  5.     (setq objects (mapcar 'cadr (ssnamex sel)))
  6.     (setq overides_selectopn
  7.     (mapcar
  8.       '(lambda (u)
  9.   (if
  10.     (not (assoc -3 (entget u '("ACAD"))))
  11.      (setq objects (vl-remove u objects))
  12.   )
  13.        )
  14.       objects
  15.     )
  16.     )
  17.     (princ (strcat (itoa (length objects))
  18.      " dimensions with overrides"
  19.     )
  20.     )
  21.    )
  22. )
  23. (princ)
  24. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:17:28 | 显示全部楼层
  1. (sssetfirst nil (ssget "_X" '((0 . "*DIMENSION") (-4 . ""))))
回复

使用道具 举报

2

主题

53

帖子

57

银币

初来乍到

Rank: 1

铜币
14
发表于 2022-7-6 10:25:26 | 显示全部楼层
查找任何“伪造”尺寸,并自动将其更改为一个名为fudged-DIMS的图层。
 
  1. ;;;
  2. ;;;  FUDGE.LSP   Version 1.0
  3. ;;;
  4. ;;;  Copyright (C) 1996 by Jay Garnett
  5. ;;;
  6. ;;;  Permission to use, copy, modify, and distribute this software
  7. ;;;  for any purpose and without fee is hereby granted, provided
  8. ;;;  that the above copyright notice appears in all copies and
  9. ;;;  that both that copyright notice and the limited warranty
  10. ;;;  below appear in all supporting documentation.
  11. ;;;
  12. ;;;  JAY GARNETT PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
  13. ;;;  JAY GARNETT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
  14. ;;;  MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. JAY GARNETT
  15. ;;;  DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
  16. ;;;  UNINTERRUPTED OR ERROR FREE.
  17. ;;;
  18. ;;;  DESCRIPTION
  19. ;;;  Finds any "fudged" dimensions and automatically changes them to a layer called FUDGED-DIMS.
  20. ;;;
  21. ;;;  By Jay Garnett
  22. ;;;  Bolingbrook, IL
  23. ;;;  
  24. ;;;  E-Mail jgarnett@enteract.com
  25. ;;;
  26. (defun c:FUDGE(/ DIM-TXT E1 FUDGED IDX SS)
  27.   (setq SS(ssget "x" '((0 . "DIMENSION")))
  28.         IDX 0
  29.   )
  30.   (while (< IDX (sslength SS))
  31.     (setq E1(entget( ssname ss IDX )))
  32.     (setq DIM-TXT(cdr(assoc 1 E1)))
  33.       (if (and(not(wcmatch DIM-TXT "*<>*"))(/= DIM-TXT ""))
  34.         (if (not FUDGED)
  35.           (setq FUDGED(ssadd (ssname SS IDX)))
  36.           (setq FUDGED(ssadd (ssname SS IDX) FUDGED))
  37.         )
  38.       );end if
  39.     (setq IDX (1+ IDX))
  40.   );end while
  41.   (if FUDGED
  42.     (progn
  43.       (if (not(tblsearch "layer" "FUDGED-DIMS"))
  44.         (command ".layer" "M" "fudged-dims" "c" "magenta" "" "")
  45.       );end if
  46.       (command ".change" FUDGED "" "p" "la" "fudged-dims" "")
  47.       (alert (strcat (itoa(sslength FUDGED)) " fudged dimensions changed \nto Layer FUDGED-DIMS"))
  48.     );end progn
  49.     (alert "No fudged dimensions found in this drawing")
  50.   );endif
  51. );end defun
回复

使用道具 举报

8

主题

20

帖子

12

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 10:25:44 | 显示全部楼层
谢谢pBE,
我的意思是,例程可以搜索已更改的维度(原始值已删除),然后对其进行签名(dimtext为其他颜色,例如,我的原始dimtext=红色,-->如果不是原始值,则将其更改为绿色)。
 
谢谢
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:34:46 | 显示全部楼层
 
大概
 
  1. (defun c:FindDodgyDims ( / ss ) (vl-load-com)
  2. (if (setq ss (ssget "_X" '((0 . "*DIMENSION") (1 . "*?*"))))
  3.    (
  4.      (lambda ( i / e )
  5.        (while (setq e (ssname ss (setq i (1+ i))))
  6.          (vla-put-TextColor (vlax-ename->vla-object e) acgreen)
  7.        )
  8.      )
  9.      -1
  10.    )
  11. )
  12. (princ)
  13. )
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 10:38:56 | 显示全部楼层
 
确实如此。
只有我的代码比李的长
您是否希望它也恢复为原始文本值,而不仅仅是更改颜色?
为了使其更具挑战性,显示低于原始值的“捏造”维度?
 
您是否将其用于错误/标准检查?
回复

使用道具 举报

8

主题

20

帖子

12

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 10:40:24 | 显示全部楼层
谢谢大家。
 
谢谢李,你的动作很完美,做得很好。。。。。我是
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:48:28 | 显示全部楼层
乐意帮忙:眨眼:
回复

使用道具 举报

8

主题

20

帖子

12

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 10:51:21 | 显示全部楼层
对不起,我忘了什么。。。
我尝试开发您的代码(FindDodgyDims),使非原始选定的也放背景色(dimtfillclr=白色),这样我们可以很容易地看到结果。
 
我尝试添加代码“VLA-PUT-TEXTWINBACKGRNDCOLOR”
 
但没有工作。。(因为我还是初学者)
 
你能给我一个正确的程序来添加背景文字吗。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 20:52 , Processed in 0.430347 second(s), 72 queries .

© 2020-2025 乐筑天下

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