AutoCAD表格
大家好我主要想创建一个lisp,用于在AutoCAD表格上调整样式、宽度和高度。
我看了一下实体数据,看看它们是否明显,但我立刻意识到我的深度不够。
以前有人做过这样的事吗?如果是,怎么办?? 这并不难。定义如下函数以绘制一些表并检索其中的ActiveX对象:
(defun AddNewTable()
(vl-load-com) ; load Visual LISP extension
(setq mSp(vla-get-ModelSpace; get ModelSpace object
(vla-get-ActiveDocument
(vlax-get-acad-object)))
iPt(getpoint "\nSpecify insertion point: ") ; specify insertion point
nTbl(vla-AddTable mSp ; add new table in Model Space
(vlax-3d-point iPt) ; in insertion point
5; 5 rows
3; 3 columns
25.0; row height
400.0) ; column width
); end setq
); end of AddNewTable
您可以在命令行中尝试:
Command: (setq nTbl(AddNewTable))
Specify insertion point: #<VLA-OBJECT IAcadTable2 0e9f41fc>
现在,您可以更改任何表格属性,例如,在第三列之后添加两个宽度为200.0的列:
Command: (vla-InsertColumns nTbl 3 200.0 2)
nil
或将3行的高度更改为100.0:
Command: (vla-SetRowHeight nTbl 3 100.0)
nil
在ActiveX和VBA参考(开发人员帮助内部)中查找所有表对象属性和方法。 谢谢你的详细解释。
我有点困惑tbh!
我想做的就是修改现有的AutoCAD表,看看你发布的内容,这看起来不会那么容易。
问题是,当表格插入时,AutoCAD表格由第三方软件(CadDuct)作为BOM表生成,并以标准表格样式插入。然后,我必须将表格放置在正确的样式上,然后我必须调整表格的大小,通过选择它,然后在属性窗口中输入新的宽度和高度。这基本上就是我想在lisp中自动化的过程。
所以我想我需要知道的是如何修改现有AutoCAD表格的宽度和高度。
页:
[1]