Hippe013 发表于 2022-7-6 08:37:38

打开dwg而不使用

我正在寻找一种方法来打开dwg,通过vlisp查看其中的对象,而不实际打开图形。这可能吗?
 
提前谢谢你
 
hippe013

Tharwat 发表于 2022-7-6 08:45:19

你打算对你的画做什么调查?

ReMark 发表于 2022-7-6 08:52:14

如果我们最近没有一个非常类似的问题,那真该死。我发誓那是在最近几周内。

Lee Mac 发表于 2022-7-6 08:55:27

 
是的,使用ObjectDBX。

Tharwat 发表于 2022-7-6 09:02:56

你当然是这个意思。
 
http://www.cadtutor.net/forum/showthread.php?64533-从更多AutoCAD文件导入数据而不打开

ReMark 发表于 2022-7-6 09:09:26

这就是我想到的线索。谢谢

Lee Mac 发表于 2022-7-6 09:15:26

如果希望与单个图形交互(即不打算在循环中迭代多个图形),请考虑以下功能:
 
[颜色=绿色]-----------------=={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(

BlackBox 发表于 2022-7-6 09:17:32

有趣的帖子,李。

Lee Mac 发表于 2022-7-6 09:21:51

 
干杯RenderMan

Hippe013 发表于 2022-7-6 09:31:38

好吧谢谢大家这么快的回复。李,看看你的代码,看起来这对我要做的事情很有用。我不太熟悉ObjectDBX,因此这将是一次很棒的学习体验!我想比较两幅画。寻找类似的线条、块、文本等。。。我需要在几张图纸上重复这个过程。所以当你说我不能使用循环时,我有点失望。
 
我的函数如下:
 
我有图纸A1,A2,A3。。。一
&图纸B1、B2、B3。。。Bn公司
 
打开图纸A1
打开图纸B1
 
比较A1和B1-寻找类似的线条、块、文本等。。。
 
将某种报告写入文本文件。
 
我想在幕后这样做,这样可以说它们不会在编辑器中被打开。
 
所以我将从这里开始,做一些实验。
 
非常感谢。
 
当做
 
hippe013
 
对每组图形重复该命令。
页: [1] 2
查看完整版本: 打开dwg而不使用