zoukankan      html  css  js  c++  java
  • 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)间接自动加载

      目前看不懂,再说。

      

  • 相关阅读:
    Activiti流程实例
    Activiti使用步骤 (IDEA)
    工作流简介
    并发编程常见面试题
    navicat自动备份数据,可实现每天定时备份
    MySQL, SQLite 和 PostgreSQL 关于information_schema 的一些查询(表结构,表信息,库信息....)
    GIS相关网站下载全国的GeoJSON格式数据可以到区县级数据
    GIS当中使用uDig打开shp图层,并查看数据结果
    解决Failed to execute goal org.apache.maven.plugins 错误,JDK版本不一致
    Maven插件maven-assembly-plugin进行打包部署
  • 原文地址:https://www.cnblogs.com/xueniwawa/p/3967723.html
Copyright © 2011-2022 走看看