页面树结构
转至元数据结尾
转至元数据起始

如何创建用于绘图设置的LISP例程。

THCAD Lisp

从 AutoCAD® 迁移

       当你开始迁移到 THCAD 时,你会发现 THCAD LISP 和 其它LISP 几乎没有差别。你的代码加载和运行,功能完全相同。“移植”应用时,主要区别是一些小的设置步骤、命令行结构,以及可能的文件位置。首先,让我们回顾一下你现有程序在 THCAD 中的搭建和启动过程。

       如果你用 Acad.lsp 或 Acaddoc.lsp 自动启动程序,就需要分别重命名为 on_start.lsp 或 on_doc_load.lsp。最好的解决方案是使用 on_doc_load.lsp,而不是 on_start.lsp。

THCAD 设置面板

       要启用自动启动程序,请将ACADLSPASDOC系统变量设置为1,或在设置 / 程序选项 / 系统中切换:

       

       同时建议你花些时间熟悉THCAD中的选项/设置菜单,因为THCAD环境中有专门的设置和选项。

       设置对话框的下一步是将你的支持文件夹添加到“文件”搜索路径,该路径在设置/程序选项/文件中:

       

       建议使用上述添加的支持路径,或位于当前项目文件夹下一层。在执行命令前,使用查找文件函数验证文件存在是良好做法,如下所示:

       

       这是你可以用来在 on_doc_load.lsp 文件中需求加载函数的方法之一:

       这是你可以用来在on_start.lsp文件中需求加载函数的方法之一:

       DEFUN命令(DEfine 函数)和你on_doc_load.lsp文件里的函数同名,这个函数在调用函数启动时会重新定义调用函数。

THCAD 的绘图设置 Lisp 例程

代码示例

       以下简单的绘图设置流程可以根据你的需求进行调整,只需最小的改动。

      

       绘图设置例程中的每一行都可以在THCAD®的命令行中输入。通过将它们包含到Lisp例程中,defun(定义函数)使绘图设置例程能够从菜单中“调用”,或者在THCAD®命令行输入其名称。

       如果你不包含 defun,程序只会运行一次,当你按文件名加载时。使用defun并在你的LSP中加载这个例程,只要输入函数名mysetup,函数随时可用。

       带有破折号的命令(如 -layer 和 -purge)用于防止命令对话框的启动。

       注意:请务必使用英文命令和选项名称,以避免本地化(非英文)THCAD版本失败。

       打开他人文件时,一个好做法是先进行审计,然后清理未使用的项目。

       清除命令可以多次运行以移除嵌套物品。请参见下面的示例:

       (repeat 3 (command "-purge" "all" "*" "n"))

       注意:清理是在添加新的空层之前进行的,因为如果之后添加,这些层会被移除。

       设置图层的命令调用可以合并成一个命令语句,但每行单独显示会更容易阅读。

       setvar 要求将系统变量设置为指定值,例如尺寸和文本的样式设置、单位设置等。

       引入 maxsort 设置有两个原因。

  1. Maxsort控制将被排序的最大对话框条目数量。
  2. maxsort的默认值是1000。以现代计算机和常见较大项目文件的使用,这个数字可能过低。

       如果你打开图纸时图层名称无法按字母顺序排序,默认的最大排序值可能是原因。

一个更灵活的图层制作器,适合你的绘图设置流程

       以下示例可以添加到你的mysetup.lsp版本中。通过使用像Notepad这样的编辑器创建一个简单的文本文件“Layers.txt”,你可以添加一个在例程运行时需要创建的图层名称列表。这是上述硬编码过程的替代方案。通过查找文件功能,THCAD 会先搜索当前目录,然后依次在你定义的支持文件夹中搜索Layers.txt文件。你可以把默认图层设置的文本文件放在支持路径里,然后把它的替代版本放在各个项目文件夹里。

       

更多信息请参见THCAD® 开发者参考网页:开发者文档。


  • 无标签