对象选择查询
大家好,假设我有一个矩形,里面有小的闭合多段线。然后,我将使用bpoly命令在该矩形内创建边界。在纯lisp中,如何选择由bpoly命令创建的所有新对象-主多段线(矩形)加上其中的孤岛?我只能考虑使用“last”,但它只返回一个对象(封闭矩形),不包括孤岛。有什么想法吗?谢谢 Artek,试试看,如果有用的话告诉我:请注意,如果在例程执行之前在DWG中创建的最后一个实体是具有属性的块或旧的重多段线或三维多段线,则此操作无效,因为在(setq el(entlast)),(entnext el)将是属性实体或顶点实体,而不是使用bpoly命令创建的所需新对象。。。
[编辑]:试试这个,我已经解决了上面书面注释中所述的不足。。。
1 非常感谢你,马尔科。有没有办法保存选择并在命令中的某个点调用它?它正在使用“移动”命令,但不适用于hatch。例如,在调用bpsel命令之后。我如何使用它来填充bpsel先前创建的相同对象,而不必再次重新选择它们? 我忘了检查我的第二个最终bpsel。lsp代码。。。检查中的if条件出错-现在正常。-添加了(wcmatch),我应该这样做,但我忽略了它。。。至于选择集,可以在bpsel之后将其保存在单独的变量中。。。bpsel=>选定实体=>移动=>(setq s1(ssget“_P”)-将选定实体保存到第一个变量s1。。。bpsel=>选择。输入=>移动=>(setq s2(ssget“_P”)-保存到第二个变量s2。。。等等,在您想要保存的任意多个选择集上-我认为CAD内存中最多可以保存256个。。。
=>命令:-bhatch=>Properties=>Solid hatch或其他=>Advanced=>Associativity=>Yes/No-我会在这里输入“No”,因为我想在创建图案填充后删除它,如果它不需要=>选择对象=>选择对象:!s1或!s2或!s256=>输入x次以接受-bhatch命令并完成。。。
这就是我将如何完成您尝试执行的任务。。。
希望这有帮助,M.R。 :DGreat!非常感谢你的帮助。非常感谢。
页:
[1]