乐筑天下

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

[编程交流] dr的实心阴影闭合区域

[复制链接]

3

主题

12

帖子

9

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 22:24:57 | 显示全部楼层 |阅读模式
有人在这里帮助我或可以为我写程序。
在我的日常绘图工作中,我必须对绘图的封闭区域进行实体填充。他们的数字很多。它们有着不同颜色的边界。
任何人都可以帮我用它的边界颜色填充那个闭合的边界。这将帮助我提高生产力。
如果有任何lisp例程,请识别其边界颜色以填充实体。这对我的日常工作非常有帮助。
非常感谢。
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-5 22:31:01 | 显示全部楼层
我把你的帖子转移到AutoLISP、Visual LISP和DCL论坛中的一个新线程。
回复

使用道具 举报

7o7

0

主题

93

帖子

93

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 22:33:16 | 显示全部楼层
你能用dwg文件更清楚地解释一下吗?
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 22:37:22 | 显示全部楼层
两个例子。易于添加层等。
 
  1. (defun C:hatchcol1 ( / obj hatcol)
  2. (vl-load-com)
  3. (setq obj (car (entsel)))
  4. (setq hatcol (vlax-get-property (vlax-Ename->Vla-Object obj) 'color))
  5. (setvar "HPNAME" "Solid") ;set hatch pattern
  6. (command "-Hatch" "S" obj "" "CO" hatcol "" "")
  7. )

;内部对象
  1. (defun C:hatchcol2 ( / obj hatcol pt)
  2. (vl-load-com)
  3. (princ "\nPlease pick object for color")
  4. (setq obj (car (entsel)))
  5. (setq hatcol (vlax-get-property (vlax-Ename->Vla-Object obj) 'color))
  6. (setq pt (getpoint "\nPlease pick inside objects"))
  7. (setvar "HPNAME" "Solid") ;set hatch pattern
  8. (command "-Hatch" pt "" "CO" hatcol "" "")
  9. )
回复

使用道具 举报

3

主题

12

帖子

9

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 22:39:47 | 显示全部楼层
谢谢你,比格尔
它工作得很好,但它无法识别其边界颜色。因为所有的封闭边界颜色都是不同的。
如果它认识到了这一点,那么它将使我的生产力提高200%。
再次感谢你。我不知道如何加载样本图纸。
回复

使用道具 举报

3

主题

12

帖子

9

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 22:43:43 | 显示全部楼层
比加尔
它一个接一个,我想用它的边界颜色一次全局填充
谢谢
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 22:47:12 | 显示全部楼层
试试这个,巴里,让我知道
 
注意:如果不希望用户选择对象,只需在以下代码中将模式字符串“_:L”更改为“_X”。
 
  1. (defun c:Test (/ *error* v l ss doc)
  2. ;;    Tharwat 20. Aug. 2014                        ;;
  3. ;; Hatching closed objects with Solid pattern        ;;
  4. ;; with respect to the color of the objects        ;;
  5. (defun *error* (x)
  6.    (if v
  7.      (mapcar 'setvar '(HPNAME CMDECHO) v)
  8.    )
  9.    (if (wcmatch (strcase x) "*BREAK*,*CANCEL*,*EXIT*")
  10.      (princ (strcat "\n** Error: " x " **"))
  11.    )
  12. )
  13. (setq l (entlast)
  14.        v (mapcar 'getvar '(HPNAME CMDECHO))
  15. )
  16. (if (setq ss (ssget "_:L" '((0 . "SPLINE"))))
  17.    (progn (mapcar 'setvar '(HPNAME CMDECHO) '("SOLID" 0))
  18.           (setq l (entlast))
  19.           (vla-startUndomark (setq doc (vla-get-ActiveDocument (vlax-get-acad-object))))
  20.           ((lambda (i / sn c o)
  21.              (while (setq sn (ssname ss (setq i (1+ i))))
  22.                (command "_.-hatch" "S" sn "" "")
  23.                (if (not (eq l (setq o (entlast))))
  24.                  (if (setq c (assoc 62 (entget sn)))
  25.                    (entmod (append (entget o) (list (cons 62 (cdr c)))))
  26.                    (entmod (append (entget o) '((62 . 256))))
  27.                  )
  28.                )
  29.                (setq l o)
  30.              )
  31.            )
  32.             -1
  33.           )
  34.           (vla-Endundomark doc)
  35.    )
  36. )
  37. (*error* nil)
  38. )(vl-load-com)
回复

使用道具 举报

3

主题

12

帖子

9

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 22:49:32 | 显示全部楼层
尊敬的tharwat:
我试着用这段代码,它的工作,但与当前层颜色填充。我想让它认出它的边界颜色。
因为边界颜色不同。它应该填充边界颜色。
我感谢你的帮助。
巴里
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 22:53:01 | 显示全部楼层
 
很抱歉,我在发布之前没有尝试代码,我修改了它,您可以再试一次。
回复

使用道具 举报

3

主题

12

帖子

9

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 22:55:34 | 显示全部楼层
亲爱的Tharwat,
非常感谢你。它适用于普通圆、矩形。但不是形状轮廓。请告诉我如何给你发一张合适的图纸,这样你就可以
亲自检查问题所在。我怎样才能把我的样品图纸发给你。让我知道。
它适用于任何颜色的bou现在与我的封闭形状。
谢谢你
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-8-19 11:12 , Processed in 4.835722 second(s), 73 queries .

© 2020-2025 乐筑天下

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