打开dwg而不使用
我正在寻找一种方法来打开dwg,通过vlisp查看其中的对象,而不实际打开图形。这可能吗?提前谢谢你
hippe013 你打算对你的画做什么调查? 如果我们最近没有一个非常类似的问题,那真该死。我发誓那是在最近几周内。
是的,使用ObjectDBX。 你当然是这个意思。
http://www.cadtutor.net/forum/showthread.php?64533-从更多AutoCAD文件导入数据而不打开 这就是我想到的线索。谢谢 如果希望与单个图形交互(即不打算在循环中迭代多个图形),请考虑以下功能:
[颜色=绿色]-----------------=={Get Document Object}==----------;;;;;;检索指定对象的VLA文档对象;;;;文件名。文件中可能存在文件对象;;;;集合,或通过ObjectDBX获取;;;;;;呼叫者有责任释放此类物体;;;;-----------------------------------------------------------------;;;;作者:Lee Mac,版权所有©2011-www.Lee-Mac。通用域名格式;;;;-----------------------------------------------------------------;;;;参数:;;;;filename—检索文档对象的文件名;;;;-----------------------------------------------------------------;;;;返回:VLA Document Object,否则为nil;;;;-----------------------------------------------------------------;;(defunLM:GetDocumentObject(文件名/acdocs acapp dbxdoc)(cond(not(setq文件名(findfile文件名))(cdr(assoc(文件名)(vlax fordoc(vla get documents(setqacapp(vlax get acad object))(setqacdocs(cons(strcase(vla get fullnamedoc doc)acdocs))))((not(vl-catch-all-error-p(vl-catch-all-apply‘vla-open(list(setqdbxdoc LM ObjectDBXDocument acapp)文件名))))dbxdoc))[颜色=绿色]-----------------=={ObjectDBX文档}==----------------;;;;;;检索特定于版本的ObjectDBX文档对象;;;;-----------------------------------------------------------------;;;;作者:Lee Mac,版权所有©2011-www.Lee-Mac。通用域名格式;;;;-----------------------------------------------------------------;;;;参数:;;;;acapp-AutoCAD VLA应用程序对象;;;;-----------------------------------------------------------------;;;;返回:VLA ObjectDBX Document object,else nil;;;;-----------------------------------------------------------------;;(defunLM:ObjectDBXDocument(acapp/acver)(vla GetInterfaceObjectacapp(if( 有趣的帖子,李。
干杯RenderMan 好吧谢谢大家这么快的回复。李,看看你的代码,看起来这对我要做的事情很有用。我不太熟悉ObjectDBX,因此这将是一次很棒的学习体验!我想比较两幅画。寻找类似的线条、块、文本等。。。我需要在几张图纸上重复这个过程。所以当你说我不能使用循环时,我有点失望。
我的函数如下:
我有图纸A1,A2,A3。。。一
&图纸B1、B2、B3。。。Bn公司
打开图纸A1
打开图纸B1
比较A1和B1-寻找类似的线条、块、文本等。。。
将某种报告写入文本文件。
我想在幕后这样做,这样可以说它们不会在编辑器中被打开。
所以我将从这里开始,做一些实验。
非常感谢。
当做
hippe013
对每组图形重复该命令。
页:
[1]
2