Mo4u 发表于 2022-7-6 06:43:20

匹配块属性

我很难找到将块的属性(文字高度、文字旋转和文字比例)与源块匹配的命令。我发现了一个LISP例程,可以将块本身与源块匹配,但它不包括属性。我不需要匹配属性值,只需要匹配属性。
 
我将AutoCAD 2012用于常规块(非动态)

ReMark 发表于 2022-7-6 06:49:44

这就是你要找的吗?
 
http://cadtips.cadalyst.com/content/attribute-match

neophoible 发表于 2022-7-6 06:51:38

备注,MatchAtts。lsp看起来像一个很好的例程,但我认为它只复制选定标记的属性值,而OP似乎想要属性属性而不是值,尽管我仍然不清楚到底需要什么。
 
Mo4u,您是否试图获取块内选定源属性的单个属性,并将其应用于其他选定属性?或者您是说您将特性从一个块应用到另一个块,但它没有相应地更新属性?请详细解释。将属性块对象发布到图形中也可能有所帮助。

Mo4u 发表于 2022-7-6 06:53:45

Neophoible,你是对的,我正在尝试匹配块内的单个属性属性,并将其应用于其他选定属性。MatchAtts是一个很好的套路,但不是我想要的。
 
例如,从附件中,我试图匹配属性文字高度、文字样式、文字旋转从“CKT 1”到“CKT 2”
 
 
 
我试图整合来自不同人的绘图,试图使块属性看起来更相似变得很乏味。

实例图纸

ReMark 发表于 2022-7-6 06:57:38

Lee Mac的自定义lisp例程Match Attributes怎么样?
 
http://lee-mac.com/matchattribs.html

Mo4u 发表于 2022-7-6 07:02:24

注意,这是一个很好的惯例。文本高度和旋转匹配。但是,文本颜色和文本位置不匹配。我对如何编辑例程以添加这些属性还不够熟悉。

ReMark 发表于 2022-7-6 07:04:06

现在正是学习的好时机,不是吗?你离目标只差两个参数。李·麦克的套路已经让你走到了一半。
 
 
如果文本的颜色由其所在的图层决定,则无需编辑例程。你说的文字位置是什么意思?你在说正当性吗?
 
好的,我刚刚测试了它,将“颜色”作为参数添加到李的例程中非常简单。只需将其添加到文件开头的列表中。我把它放在单词“Backward”后面,因为列表是按字母顺序排列的。

neophoible 发表于 2022-7-6 07:06:09

嗯,颜色部分很简单,只需在列表中向后添加线条颜色——这是一个很长的列表,远不止高度和旋转,更像是除了厨房水槽之外的所有东西。这是一个很好的习惯。
 
然而,相对于块插入的属性插入点可能是另一个问题。我不太确定这是一个简单的解决方案。此外,在图形中的两个实例中,属性位置都已从原始位置修改。这是正确的吗?在我看来,你可能想把罪恶的隐喻隐藏起来,卖掉它们,然后付钱给像李这样的人来帮你解决这个问题。

neophoible 发表于 2022-7-6 07:10:44

再仔细考虑一下,可以编写一个例程(或找到一个已经编写的例程)来进行复制和替换。它可以复制要模拟的块,提取要替换的块的属性值,然后删除要替换的块。请注意,这与插入块的新副本不同,后者将保留原始属性位置。
 
如果找不到同时执行这两项操作的例程,则可以找到两个例程,一个用于复制和替换块,另一个用于匹配属性。事实上,评论已经给了你第二个;在我看来,我在某个地方发布了一条,这将完成第一步。我会去找它,但请注意,插入也在不同的层上,因此您可能也必须处理这个问题。此外,您必须保留具有正确属性值的块副本足够长的时间来进行属性匹配。

ReMark 发表于 2022-7-6 07:12:55

Lee使用的所有参数似乎都来自“编辑属性”对话框,但文字样式、对齐方式、宽度因子、注释性和打印样式除外。我假设所有缺失的都可以添加。
页: [1] 2
查看完整版本: 匹配块属性