devitg 发表于 2022-7-6 11:51:55

(vlax转储对象区域obj

有任何方法可以发送
 
(vlax转储对象区域对象)
 
到文件?
 
到现在为止,我做了一个复制和粘贴在记事本上。
 
但是我想怎样才能保存结果,这样我就可以看到所有的道具了
以及与文件中的Vl对象相关的方法。
 
或者可能有一种完全不同的方式。
 
我有AXPROPOS,但它会将结果发送到屏幕。
 

rkmcswain 发表于 2022-7-6 11:56:42

我看到的唯一方法是打开日志文件(LOGFILEON),运行函数,然后关闭日志文件(LOGFILEOFF)。日志文件的名称存储在LOGFILENAME中。

gile 发表于 2022-7-6 12:03:09

你好
 
可以使用AutoCAD日志文件。
 
(defun c:DumptoLogFile (/ obj)
(and (setq obj (vlax-ename->vla-object (car (entsel))))
      (setvar 'logfilemode 1)
      (vlax-dump-object obj T)
      (setvar 'logfilemode 0)
      (startapp "notepad" (getvar 'logfilename))
)
(princ)
)
 
rkmcswain更快。。。
 

devitg 发表于 2022-7-6 12:05:46

也许我做错了什么,但文件只有一行
 
----------------------------------------
corte 2 frente 140 x 200 acad 2004\u 1\u 2322。日志txt文件

Lee Mac 发表于 2022-7-6 12:09:45

对我来说似乎还可以
 
这是我为避免错误而做的唯一更改:
 

(defun c:DumptoLogFile (/ ent)
(and (setq ent (car (entsel)))
      (setvar 'logfilemode 1)
      (vlax-dump-object (vlax-ename->vla-object ent) T)
      (setvar 'logfilemode 0)
      (startapp "notepad" (getvar 'logfilename)))
(princ))

devitg 发表于 2022-7-6 12:15:00

嗨,李,它没有改变
 
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
-------------------------------

devitg 发表于 2022-7-6 12:21:01

我在VLIDE上挖过,找到了。
见附件。
 
但它生成了一个空文件。
0咬

gile 发表于 2022-7-6 12:23:08

你好
 
日志文件是命令行的副本。
如果从vlide运行例程,结果将打印在vlide控制台中,而不是在命令行中,因此不会将任何内容复制到日志文件。
尝试在AutoCAD窗口中运行例程。。。

Lee Mac 发表于 2022-7-6 12:28:43

吉尔,
 
如果这是返回vlax转储对象的唯一方法,那么我想知道MP中的AxProps是如何工作的。。。
axprops。拉链

devitg 发表于 2022-7-6 12:31:39

 
 
嗨,吉尔,谢谢。
在ACAD内部运行是一种方式,而不是在vlide。
 
现在可以使用它来检索每个对象属性。
页: [1] 2
查看完整版本: (vlax转储对象区域obj