CAD表格,如何用Lisp设置单元格的边距?
个人习惯,喜欢用CAD自带的表格,因为便于随时调整格式。找了一些资料,目前可以修改表格字体,设置表格行高、列宽,修改表格框线的线宽。
可是在设置表格框线的线宽中,发现会影响表格的单元格边距(水平单元边距、垂直单元边距)。其实以前在设置表格外框线宽的时候,就想着如何用Lisp修改单元格的边距,无奈查了好多资料,都没有找到可以实现的方法。
有没有老师得空指导一下,如何用Lisp修改单元格的边距的?
下面贴一段我写的控制单元格框线线宽的代码。
(defun ff:Table_set_border_009 (table_ename / obj nRows nCols i)
(vl-load-com)
(setq obj (vlax-ename->vla-object table_ename));将图元转为VLA对象
(setq nRows(- (vla-get-rows obj) 1)) ;获取表的行数
(setq nCols(- (vla-get-columns obj) 1));获取表的列数
;****************关闭表格的实时更新,以提高修改表格的运行速度****************
(vla-put-HeaderSuppressed obj :vlax-true)
(vla-put-TitleSuppressedobj :vlax-true)
(vla-put-regeneratetablesuppressedobj :vlax-true)
;****************关闭表格的实时更新,以提高修改表格的运行速度****************
(setq i 0)
(while (<= i nRows)
(setq j 0)
(while (<= j ncols)
(vla-setcellgridlineweight obj i j actopmask aclnwt009)
(vla-setcellgridlineweight obj i j acbottommask aclnwt009)
(vla-setcellgridlineweight obj i j acleftmask aclnwt009)
(vla-setcellgridlineweight obj i j acrightmask aclnwt009)
(setq j (1+ j))
)
(setq i (1+ i))
)
;********************************打开表格更新********************************
(vla-put-HeaderSuppressed obj :vlax-false)
(vla-put-TitleSuppressedobj :vlax-false)
(vla-put-regeneratetablesuppressedobj :vlax-false)
;********************************打开表格更新********************************
(princ)
)
autocad逐步完善的东西,虽然是好东西,table版本不一样,可能不同,用(vlax-dump-Object obj T),可用信息尽收眼底 自贡黄明儒 发表于 2024-5-7 07:12
autocad逐步完善的东西,虽然是好东西,table版本不一样,可能不同,用(vlax-dump-Object obj T),可用信息 ...
谢谢黄老师提醒,确实忘了还可以查这个。查完之后失望了,没有可以设置的参数。还是要谢谢! 天天问 发表于 2024-5-7 09:39
谢谢黄老师提醒,确实忘了还可以查这个。查完之后失望了,没有可以设置的参数。还是要谢谢!
右边可以显示,说明可以找到
(vla-SetCellDataType MyTable 2 2 acLong acUnitDistance)
(vla-SetCellFormat MyTable 1 3 "testFormat")
(vla-SetCellState MyTable 4 3 acCellStateContentLocked)
(vla-SetCellValue MyTable 1 4 5)
估计是类似的函数 自贡黄明儒 发表于 2024-5-7 11:37
右边可以显示,说明可以找到
(vla-SetCellDataType MyTable 2 2 acLong acUnitDistance)
(vla-SetC ...
您这几个函数是哪里找来的?这几个函数放到飞诗编辑器里,不能识别为函数。
之前我在明镜通道的VBA参考文件里找过table对象的方法和属性,设置函数都瞅了一遍,楞是没找着。
我也找了很久找不到参考文件里也没有只好将就用空格代替吧;P 这玩意叫Margin
https://help.autodesk.com/view/OARX/2021/ENU/?guid=GUID-180D2C78-B661-439A-8891-73849F40D47B kozmosovia 发表于 2024-5-28 15:45
这玩意叫Margin
https://help.autodesk.com/view/OARX/2021/ENU/?guid=GUID-180D2C78-B661-439A-8891-7384 ...
网页的底部的示例显示,VBA不可以,LISP不可用 本帖最后由 kozmosovia 于 2024-5-29 17:24 编辑
Not available不是不可用,是没有具体的案例给你展示而已。
用是可以用的。https://forums.autodesk.com/t5/v ... -color/td-p/4373244
kozmosovia 发表于 2024-5-29 17:14
Not available不是不可用,是没有具体的案例给你展示而已。
用是可以用的。https://forums.autodesk.com/t ...
谢谢大佬指导。我也去试试
页:
[1]