多个l中的多个图案填充
你好当我将多边形从arcgis导出到autocad时,我失去了所有图案填充,从不同的层,我只得到了闭合的多段线!
问题:是否可以使用lisp在不同图层中使用这些图层中的所有闭合多段线同时创建不同的图案填充类型?
谢谢你的帮助 “简单”的方法是循环检查闭合多段线的选择。
如果对象是闭合多段线,则读取其图层,并将其设置为当前。
在当前图层上填充对象。
可能这段代码的四分之三本质上是在模仿您在命令行上的操作。
一种更复杂但可能更快的编码方法是对所有对象进行排序,根据它们的层对它们进行过滤,并过滤到列表中以匹配。
然后,您可以循环浏览这些列表,将其填充到特定层上。
dJE 需要一个样例dwg和一些规则图案填充在什么图层上等。像danellis这不是一个很难的任务,但最好做一次,因此需要一个样例。 cadtutor。图纸
这是一个样例dwg,它只包含具有闭合多段线的良好图层。
所以我需要在多段线所在的同一层中填充每个层的每个闭合多段线。。。
非常感谢您的回答! 这有点粗糙,但这是一个开始,并给出了方法。有一个问题可能是多段线是按颜色而不是按层。
(defun c:polhatch ( / obj ss len layname)
(setq oldhatch (getvar "HPNAME"))
(setq ss (ssget "X" (list (cons 0 "LWPOLYLINE"))))
(setq len (sslengthss))
(setq x 0)
(repeat len
(setq obj (entget (ssname ss x)))
(setq layname (cdr (assoc 8 obj)))
(setvar "Clayer" layname)
;(setvar "hpname" "newhatchpattern") ;Sets a default hatch pattern name of up to 34 characters without spaces
(command "-hatch" "S" (cdr (assoc -1 obj)) "" "")
(setq x (+ x 1))
)
(setvar "Hpname" oldhatch) ;reset back to original pattern
)
不一定,虽然这是我从你的作品中想到的。
如果需要它们位于不同的层上,则需要包含一个“转换器”,以告诉例程第1层上的多段线需要在第a层上填充。
dJE danellis lisp是否按照要求在与pline相同的层上进行图案填充?与多段线相同的图层。。。 谢谢回答!
代码不起作用,但我在lisp中非常糟糕,所以我确信我在尝试使用它时犯了一个错误!
我
Bigal,RomRom的帖子#4向我暗示,他可能希望在单独的层上进行孵化,但他必须澄清这一点。
您是否收到任何错误消息?
dJE 装载后类型POLHATCH
页:
[1]
2