【发布时间】:2019-12-18 10:21:22
【问题描述】:
任务:在自动更新其值的字段中使用工作表计数器。最终目标是为每个布局创建类似 "Table {1} of {5}" 的文本,其中 {1} 是布局名称(位于 system variables / ctab),{5} 是布局总数。后一种在内置字段中是找不到的,所以知道它的唯一方法是使用lisp代码(length (layoutlist))。
我创建了一个 AcadDoc.lsp 文件并放在了 Autodesk 文件夹中。 LISP代码如下:
(setq *LayoutCount*
(length
(vl-remove-if
(function
(lambda (aLayout) (= (strcase aLayout) "MODEL")))
(layoutlist))))
每次打开 DWG 文件时都会运行。可悲的是,在重新加载 DWG(关闭并重新打开)之前,该字段不会更新。有没有人知道每次从列表中添加/删除布局时如何更新这个 *LayoutCount* 变量?
注意 - 我已经检查了切换布局时重新生成的选项,并且强制更新字段不会产生任何结果。我想我的代码只在第一次打开 DWG 时运行,然后不再运行。
【问题讨论】:
标签: layout lisp field autocad autolisp