乐筑天下

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

[编程交流] 获取乘法的所有名称

[复制链接]

8

主题

31

帖子

22

银币

初来乍到

Rank: 1

铜币
43
发表于 2022-7-6 14:19:15 | 显示全部楼层 |阅读模式
你好
 
我只是想知道是否有可能创建一个可以。。好的,好的:
 
我想选择一组块。
对于SS中的每个块,在块集合中查找名称。
如果块具有属性“count”(即嵌套)
获取该块中的所有名称。
如果其中一个块具有属性“count”
获取该块中的所有名称。。。
 
等等等等。。。
 
看起来应该很容易,但我不知道如何使其防故障。我也不想列出多个相同命名的项目。基本上我只想知道每个区块内的所有区块。
 
这件事我已经写了好几次了,但我不确定该怎么做。这看起来像是一个重新草书式的交易,但我想不出来。
 
感谢您的帮助。谢谢
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 14:26:14 | 显示全部楼层
 
 
 
请张贴代码,这样我们就可以知道你做错了什么。
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 14:28:42 | 显示全部楼层
 
我只想提一下,如果您试图将一个块嵌套在一个块中,并希望从嵌套的块中获取信息,那么您就是在浪费时间。不确定这是否是你正在做的。你提到的问题似乎不清楚。
 
你能详细说明你到底想做什么吗?
还是我误解了你?
 
请详细解释。
 
谢谢
秃鹰
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:34:12 | 显示全部楼层
我认为这可能有效,但我认为还有更好的惯例:
 
  1. (defun GetObj (blk / bObj lst)
  2. (if
  3.    (and
  4.      (setq lst (cons blk lst))
  5.      (not
  6.        (vl-catch-all-error-p
  7.          (vl-catch-all-apply
  8.            (function
  9.              (lambda ( )
  10.                (setq bObj
  11.                  (vla-item
  12.                    (vla-get-blocks
  13.                      (vla-get-ActiveDocument
  14.                        (vlax-get-acad-object))) blk))))))))
  15.    (vlax-for Obj bObj
  16.      (and (eq "AcDbBlockReference"
  17.             (vla-get-ObjectName Obj))
  18.           (setq lst (cons (vla-get-Name Obj) lst))
  19.           (getObj (vla-get-Name Obj)))))
  20. lst)
  21. (vl-load-com)
  22.       
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 14:38:02 | 显示全部楼层
 
李,
 
只是好奇,那代码是做什么的?
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 14:40:33 | 显示全部楼层
 
 
这段代码是用来提取动态块的dxf信息吗?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:43:42 | 显示全部楼层
 
嗨,秃鹰,
 
代码需要提供一个块名,如果它可以在块集合中找到特定的块,它将遍历块对象集合并搜索构成块的任何块引用(即嵌套块),如果它找到一个块引用,那么它将获得其名称并递归地操作该新名称,同时构建一个包含所有找到的名称的列表。不确定它是否有效,只是一个“理论”帖子。
 
只要注意使用递归循环时没有达到堆栈限制。我倾向于只在小任务中使用它们,因为堆栈限制不太高,有时很容易达到。
 
这里有一些关于递归编程的重要信息。
 
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 14:50:11 | 显示全部楼层
 
那个网站太离谱了。但如果能做到这一点,那就很有趣了。不确定值在嵌套中的位置。也许我在这里学到了一些新东西。
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 14:54:16 | 显示全部楼层
我想我理解这个要求:
 
nl包含点对原子的关联列表
(block\u name.number\u of_nested\u direct\u instances\u found)
 
这不计算嵌套深度或图形中嵌套引用的总数-大卫
回复

使用道具 举报

8

主题

31

帖子

22

银币

初来乍到

Rank: 1

铜币
43
发表于 2022-7-6 14:57:32 | 显示全部楼层
 
可以使用“块”集合从嵌套块中获取信息,该集合包含图形中的所有块,还包含有关块是否在该块内的信息。
 
假设我有一个区块作为一个部分。在那部分里面还有几个街区。其中一些区块可能有一两个区块。所以我想要一个例程,当我选择主要部分块时,它可以得到名称。。然后在块集合中查找名称,并遍历驻留在该主块内某处的每个名称的块集合。
 
这是可以做到的,只是不好看。。特别是如果你不知道嵌套了多少块,你想无论如何都得到它们。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 02:54 , Processed in 0.770800 second(s), 72 queries .

© 2020-2025 乐筑天下

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