乐筑天下

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

[编程交流] 将特定图案填充设置为dimscale

[复制链接]

22

主题

78

帖子

59

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
114
发表于 2022-7-5 16:08:05 | 显示全部楼层 |阅读模式
大家早上好。
我在我的绘图上有一些不同图案填充的代码,现在我想添加一条线,找到所有“栅格”图案填充,并将其更改为dimscale。有人能帮我吗?提前感谢!!!
 
 
  1. (defun c:IB ()
  2. (if (setq ss (ssget "X" '((0 . "HATCH") (2 . "CROSS"))))
  3.    (progn
  4.      (setq count 0)
  5.      (repeat (sslength ss)
  6. (command "-hatchedit" (ssname ss count) "co" "" ".")
  7. (command "-hatchedit" (ssname ss count) "p" "" "32" "")
  8. (setq count (1+ count))
  9. )
  10.      )
  11.    )
  12. (princ)
  13. )
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 16:16:28 | 显示全部楼层
你好
 
像这样的?
  1. (defun c:Test ( / scl int sel ent)
  2.     (and (setq scl (getvar 'DIMSCALE) int -1 sel (ssget "_X" '((0 . "HATCH")(2 . "GRATE"))))
  3.          (while (setq ent (ssname sel (setq int (1+ int))))
  4.            (vla-put-PatternScale (vlax-ename->vla-object ent) scl)
  5.            )
  6.          )  
  7. (princ)
  8. ) (vl-load-com)
回复

使用道具 举报

22

主题

78

帖子

59

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
114
发表于 2022-7-5 16:23:47 | 显示全部楼层
这就像将比例更改为dimscale的梦想。我唯一的问题似乎是它删除了所有出现的图案填充,除了一个lol!知道为什么会这样吗?我们的图纸上通常有多个此类图案填充。
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:34:22 | 显示全部楼层
 
可能比例太大,无法显示模式?
 
看看这是否突出显示了它们:(sssetfirst nil(ssget“_X”'((0。“hatch”)(2。“grate”)))
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 16:39:04 | 显示全部楼层
 
该程序根本不会删除任何图案填充对象,但可能DimScale变量太大,正如ronjonp之前所述。
回复

使用道具 举报

22

主题

78

帖子

59

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
114
发表于 2022-7-5 16:51:26 | 显示全部楼层
啊!我对第一个代码做了更多的测试,这只会在图案填充的当前比例低于dimscale时更新比例。例如,我有4个格栅图案填充,2个按80缩放,两个按120缩放,我的dimscale是96。它将更改当前缩放为80的两个图案填充的比例,但120的图案填充将消失。此外,如果我只有一个目前缩放为120的格栅舱口,它将不会对它做任何事情。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 16:53:53 | 显示全部楼层
ronjonp的建议是,立即将代码复制并粘贴到命令行中,然后按Enter键查看填充图案是否存在,并知道对于图案来说比例是否太大。
 
请更新您的帖子并删除您修改的代码,因为它们不正确。
回复

使用道具 举报

22

主题

78

帖子

59

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
114
发表于 2022-7-5 17:01:45 | 显示全部楼层
我很确定我现在工作顺利。非常感谢你的帮助。我对编码非常陌生,所以这对我来说还是一门外语!不过,我真的很感谢你的帮助。随着进一步测试,它现在似乎运行良好。我真的不知道为什么会有一些hatch delete的实例。我想这可能是因为它是无边界关联的,因为我刚刚复制了同一图案填充的几个实例进行测试。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 17:11:59 | 显示全部楼层
很高兴知道你已经解决了问题,并按需要工作。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 20:11 , Processed in 0.994220 second(s), 70 queries .

© 2020-2025 乐筑天下

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