搜索属性B
我从AfraLisp下载了一个简单的lisp,并为我们的使用进行了修改。如果图形已经具有例程正在查找的属性块,但在我们拥有的图形中有更多具有属性的块,并且如果例程正在查找的块不存在,则删除另一个或多个块,例如标题块,则效果良好。代码不允许检查插入的块,如果不存在则插入。我附上了代码供任何人查看。我确信这是一个简单的修复,但语法让我不知所措。
谢谢你的帮助,
俄罗斯
App-测试。lsp 粗略地看一眼后,改变:
(if (= "DwgDate") ;if the block name is "DwgDate"至:
(if (= "DwgDate" blkn) ;if the block name is "DwgDate"
不过,还可以进行其他一些改进。 是的,我确实认为它可以更高效,甚至可以适应其他一些用户条件。如果你想提出一些建议,我将非常感谢你的帮助。 你能更准确地解释一下你想要达到的目标是什么吗。 我们制作结构钢的施工图,在批准过程中,图纸上的印章根据图纸是供批准还是制造而变化。图章的文本已经在图形中,只需更改哪个图层,然后手动更改日期。如果你一天要画几百张图,这很容易,但很耗时。所以我写了一个简单的图层更改。然后我想如果日期随着图层的变化而变化会很好,因为我们必须在发布时更改每张图纸上的日期。所以我在AfraLisp网站上找到了一个日期更改程序,看起来它对我想要做的事情很有效。它确实起作用了,除非属性块尚未插入到图形中。这在所有的旧图纸中都是如此,在这里的另一个细节设计人员的图纸中,他还没有将属性块合并到他的原型图纸中。因此,当我在他的图纸中使用该应用程序时,或者在任何没有日期属性块的图纸中使用该应用程序时,例程会删除标题块,因为它具有属性。因此我认为,如果例程首先在图形中查找块的实例,如果它不存在,则插入它,然后在不删除标题栏的情况下完成任务的其余部分,这会更好。李的建议似乎奏效了。我只有几次机会测试它。虽然我从90年代初就开始使用Autolisp,但我并不认为自己是一名程序员,因为我错过了Lee Mac提供的简单修复程序。但我总是对学习感兴趣,尤其是那些巧妙的小技巧,它们能让代码更高效,当然,更防弹。
我需要添加一个错误例程到混合,因为它打开和关闭不同的设置。当用户过早退出时,这些设置将挂起。如果突然需要按下逃生键,我希望一切都回到原来的位置。
日常生活并不太复杂,但在我们的工作日里它是非常有成效的。
页:
[1]