乐筑天下

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

[编程交流] 在交点o处插入块

[复制链接]

10

主题

30

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-5 19:59:38 | 显示全部楼层 |阅读模式
它可以用于计算灌溉网络中的配件数量,以计算所需的减速器数量。
ie 1“将是单独的层,1.5”将在不同的层,通过计算插入的块,我们得到了1.5*1”号减速机
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 20:11:47 | 显示全部楼层
您可以修改此代码以满足您的需要。
回复

使用道具 举报

10

主题

30

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-5 20:27:56 | 显示全部楼层
先生
 
我不想要的是图层选择而不是对象选择,因为在灌溉图形中会有数百个交点
因此,只要选择第1层“管道和第1.5层”,我就不需要减速器。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 20:30:57 | 显示全部楼层
你需要一个双循环,即取所有1”的线并创建一个选择集,然后取所有1.5”的线并创建一个选择集,然后每次通过1”1循环,比较第二个选择集是否存在可能的交点,如果是这样的话,做些什么。这是可以实现的,但我没有代码。看看李发布的可能作为开始提示的内容,与obj1 obj2 true或false相交。
回复

使用道具 举报

10

主题

30

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-5 20:48:44 | 显示全部楼层
嗨,李
 
可以添加层选择吗
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 20:54:38 | 显示全部楼层
这很接近,但我需要帮助它扩展PLINE,使额外的点,而不是只有1相交。
 
  1. (defun sprinklers ( / ss1 ss2 x y len1 len2)
  2. (vl-load-com)
  3. (setq obj (entsel "\nPick 1st layer"))
  4. (setq lay1 (vla-get-layer (vlax-ename->vla-object (car obj))))
  5. (setq obj (entsel "\npick 2nd layer"))
  6. (setq lay2 (vla-get-layer (vlax-ename->vla-object (car obj))))
  7. (setq ss1 (ssget "X" (list (cons 8 lay1))))
  8. (setq ss2 (ssget "X" (list (cons 8 lay2))))
  9. (setq len1 (sslength ss1))
  10. (setq len2 (sslength ss2))
  11. (setq x 0
  12.     total 0)
  13. (repeat len1
  14. (setq y 0)
  15. (setq obj1 (vlax-ename->vla-object(ssname ss1 x)))
  16. (repeat len2
  17. (setq obj2 (vlax-ename->vla-object (ssname ss2 y)))
  18. (setq pt (vla-intersectwith obj2 obj1 0))
  19. (if (/= pt nil)(setq total (+ total 1))(Princ "Miss"))
  20. (setq y (+ y 1))
  21. ) ; len2
  22. (setq x (+ x 1))
  23. ) ; len1
  24. (princ Total)
  25. ) ; defun
  26. (sprinklers)
回复

使用道具 举报

2

主题

389

帖子

387

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 21:09:21 | 显示全部楼层
另一种解决方法是将所需的图层复制到单独的图形中(与块一起),然后运行程序。然后可以将结果传输回原始图形。这样,就不需要再编程了。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 01:08 , Processed in 0.355707 second(s), 66 queries .

© 2020-2025 乐筑天下

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