• Visual LISP 第3章 程序的流程控制盒AutoLISP文件(2)AutoLISP程序文件


    1.AutoLISP文件的特点

      AutoLISP文件的扩展名为".lsp",是由若干个AutoLISP表达式构成的。

      虽然在“Command:”提示下,通过键入AutoLISP表达式的方法可以定义或调用LISP函数,但不便保留或调试程序,因此,通常都是以文件形式实现函数的定义和调用。

      一个LISP文件可以定义多个函数或AutoCAD命令。

      表达式相当于语句。一个表达式可以分写在若干行上,一行可以写若干个表达式。连续的多个空格相当于一个空格。以下是一个表达式分开写在若干行上的实例:

    (defun plus(x y)
      (+ (* x y) x)
    )

      以下是一行写若干个表达式的实例:

    (setq a 2.0) (setq b 4.0) (+ a b)

      由于AutoLISP程序中含有大量括号,不易阅读,就需要采用缩排对齐格式。

    2.程序中的注释

      整行或后半行注释以分号“;”开头,至行尾注释部分。如:

    (setq area (* pi r r)) ;计算圆的面积

      整段或行间注释以“;|”开头,以"|;"结尾。

    (setq tilemode ;|此处添加注释|; (getvar "tilemode"))
    (setvar "othomode" 1) ;|注释起始部分
      连续注释
      ……
      注释到此为止|;(princ "
    ORTHOMODE set On.")

     3.在AutoCAD环境下加载AutoLISP文件

      (1)命令行方式

      加载AutoLISP文件用load函数,调用load函数的格式如下:

      (load "驱动器:\路径\文件名" ["出错信息"])

      若加载成功,则返回被夹在lisp文件的最后一个表达式的结果;若最后一个表达式是函数的定义,则返回该函数的函数名。若加载失败,则返回该用户定义的出错信息;若用户没有定义出错信息,则返回加载失败的信息。

      【例】文件file1.lsp最后一个表达式是定义函数func1,它的路径是"d:user1"加载文件的表达式如下:

    (load "d:\user1\file1" "没有找到这个文件!")

      (2)对话框方式

      工具->加载外部程序。OK

      (3)自动加载

      AutoCAD在启动时,可以自动加载4个lisp文件,acad.lsp、acad2006.lsp和acad2006doc.lsp。用户可以创建和维护这些文件,其中acad.lsp和acaddoc.lsp只能由用户来创建。AutoCAD在加载过程中不报告是否找到或是否加载相关文件的信息。AutoCAD在加载菜单时,自动加载了与菜单文件同名的扩展名为.mnl的lisp文件。

      (4)间接自动加载

      目前看不懂,再说。

      

  • 相关阅读:
    PhoenixFD插件流体模拟——UI布局【Dynamics】详解
    Altera三速以太网IP核使用(下篇)之千兆网接口设计与使用
    FPGA之千兆网接口设计与使用(不调用IP核,适用于Alter与Xilinx,简单粗暴实现udp协议封装)
    基于Matlab Hdl Coder实现FPGA程序开发(卡尔曼滤波算法实现)
    FPGA之SSI接口协议实现
    FPGA之BISS接口协议实现
    Xilinx DDR2 IP核使用
    FFT IP核调用与仿真之SCALE压缩因子设置
    Quartus/Modelsim调试仿真技巧
    FPGA之CORDIC算法实现_代码实现(下)
  • 原文地址:https://www.cnblogs.com/xueniwawa/p/3967723.html
Copyright © 2020-2023  润新知