AutoCAD二次开发所用的autolisp函数

合集下载

AutoCAD软件的二次开发

AutoCAD软件的二次开发
例:_$(ssget “X”) 说明:返回一个包含图形文件中所有对象的选择集。
6. 实体名:为图形对象指定的16进制的数字标识。通过该标识,可找到实体在 图形数据库中的位置,并可进一步对其进行编辑。
例:_$(entlast) 说明:返回最后一个加入图形文件的对象的实体名
第110页/共54页
7. 2 AutoLISP程序设计语言
表的长度:表中的元素个数。
例:(1.0 1.0 0.0) (“this” “that” “the other”) (1 “ONE”) ((a b) c (c d))
长度: 3
3
2
3
长度:(+ 142 3)
(sin (*20.5 pi))
用表可以方便地构造出复杂的数据结构。
5. 选择集:一个或多个图形对象的集合,用户可通过AutoLISP程序向选择集添 加或者从选择集中删除图形对象。
第65页/共54页
7. 1 VisualLISP简介
五、VisualLISP: Autodesk公司为增强AutoLISP程序开发能力而设 计的软件工具。
Visual LISP集成开发环境的组成部分:
语法检查器:可识别错误的AutoLISP结构和内部函数调用中不合适的参数。 文件编译器:可改善程序的执行速度并提供一个有效的开发平台。
Heap:25000 bytes Stack(栈区域):存储函数的变量和局部结构。标准表中嵌套的表越多,函数执行的 递归次数越多,该区域所占的空间越大。
Stack:20000 byets
注意:AutoCAD平台上运行AutoLISP时,用户不能扩展系统的堆或栈空间
2. 内存出错提示信息
堆空间用光:Insufficient node space。 没有足够的内存装载AutoLISP:Insufficient memory-AutoLISP disabled。

CAD二次开发lisp教程《第二章》

CAD二次开发lisp教程《第二章》

6. 文件描述符(FILE) 文件描述符( )
文件描述符是AutoLISP赋于被打开文件的标识号,它类似于 赋于被打开文件的标识号, 文件描述符是 赋于被打开文件的标识号 文件指针。 下面的例子是以“ 读 ” 的方式打开文件myfile.dat, 文件指针。 下面的例子是以“ 的方式打开文件 , 并将该文件的描述符赋予符号f1。 并将该文件的描述符赋予符号 。 (setq f1 (open "myfile.dat" "r")) 返回 返回<File:#34614>
2.2 变量 2.2.1 符号
符号( 符号(SYMBOL)可以理解为标识,用来作为变量、函数 )可以理解为标识,用来作为变量、 的名字。它的命名规则是不能只含数字, 的名字。它的命名规则是不能只含数字,可以由下列字符以 外的任何可打印的字符所组成: 外的任何可打印的字符所组成: “(”、“)”、“·”、“'”、“"”、“;” 、 、 、 例如, 、 是合法的符号, 、 、 、 例如 , a1、b2 、 c_3是合法的符号,(a、)b、.c、’4、"5 是合法的符号 、 是非法的符号。注意: 、 、 、 、 、 、 、 、 是非法的符号。 注意: [1]、{2}、~3、!4、/5、1a、3c、-d、 +e、b-2、c*3也是合法的符号, 这是与多数计算机语言的不 、 、 也是合法的符号, 也是合法的符号 同之处。 同之处。
表2-1常用控制字符的表示方法 控制字符 示 反斜杠“ 反斜杠“\” 双引号“ 双引号“"” Esc键 Esc键 换行 回车键 Tab键 Tab键 \e \n \r \t \\ \" \033 \012 \015 \011 \134 \042 用“\”为前导字符 为前导字符 为前导的ASCII 用“\”为前导的ASCII码表 为前导的ASCII码表

AutoCAD二次开发实用教程第7章 AUTOLISP实训

AutoCAD二次开发实用教程第7章 AUTOLISP实训

第7章 AUTOLISP实训
7.2 设置图层、颜色、线型和线宽
2. 设置新图形对象的颜色 1)通过command函数设置新图形对象的颜色 (command "color" 3) 或 (command "color" "green") 颜色为绿色 (setvar "cecolor" "2")或 ;设置新图形对象的
第7章 AUTOLISP实训
7.1设置作图环境
3. 设置目标捕捉的类型 交互式操作时,目标捕捉类型的选项是字符串,它以编码的形式记录在系 统变量osmode内。例如: 1)通过command函数设置目标捕捉的类型 (command "osnap" "endpoint,midpoint,center") 中点和中心 (command "osnap" "none") 类型 2)通过setvar函数设置目标捕捉的类型 ;捕捉端点、 ;不捕捉任何
第7章 AUTOLISP实训
7.3 AutoLISP程序设计的六个步骤
编写程序的预期目标; Step1
Step2 设计程序流程、需要的AutoLISP功能函数、变量及相 关提示信息; Step3 利用Visual LISP编辑器编写xxx.lsp源程序; Step4 在AutoCAD命令提示下加载AutoLISP程序,( load”lsp文件名”),或是在VisualLISP控制台加载 AutoLISP程序; Step5 运行加载成功的AutoLISP程序; Step6 加入AutoLISP程序至“工具条”或“MENU菜单中”的 方法可参阅相关资料,建议最好参阅VisualLISP的帮助文 档。

AutoCAD二次开发实用教程 郭秀娟 第5章 AutoLISP文件

AutoCAD二次开发实用教程 郭秀娟 第5章 AutoLISP文件

5.5 打开、关闭文件的函数 【例2】 若将一条直线段的两端点坐标写入到一个文件中,则 可以:
(SETQ fi(GETSTRING "Enter file name:"))
(SETQ f(OPEN fi "w"))
(SETQ P1(GETPOINT "first point:"))
(PRINC Pl f)
采用缩进格式书写,形式如下:
(defun fun (x)
(cond((> x 0) 1)
((= x 0) 2)
((< x 0) 0)
)
☆)☆ 第5章 AutoLISP文件
4
第5章 AutoLISP文件
5.2 程序中的注释 注释能够增加程序的可读性,不仅便于对程序的阅读和调
试,也便于对程序的维护、移植和扩充。 注释的形式可以是整行、整段或行间注释。 整行或后半行注释以分号“;”开头,至行尾为注释部分
15
第5章 AutoLISP文件
5.6 用于文件的输入输出函数 1.(READ [符串])
[符串]参数不能在表或字符串外包含空格。
返回值:READ函数将其参数转换成相应的数据类型后返回。
如果未指定参数,READ返回NIL。
如果字符串中包含由空格、换行符、制表符或括号等LISP分
隔符分开的多个词,则只返回其中的第一个词。
(SETQ f (OPEN “new.tst” “w”))
返回值<FILE # 0017>
(SETQ f (OPEN “old.txt” “w”))
返回值<FILE # 002>
OPEN函数的返回值实际上是一个文件指针。文件指针的指向

AutoCAD二次开发实用教程第3章 AutoLISP基本函数

AutoCAD二次开发实用教程第3章 AutoLISP基本函数

第3章 AutoLISP基本函数
3.1.1 计算函数 11.(LOG <数>) 该函数是EXP的反函数,返回值为<数>的自然对数值,其 数据类型为实型数。 例如:
(LOG (LOG (LOG (LOG
3) 返回1.098610 1) 返回0.00000 1.22) 返回0.198850 -90) 返回错误:没有为参数定义函数: -90
(ATAN -1.0) 返回-0.785398(弧度),即-45° 如果<数1>和<数2>都存在了,则返回<数1>/<数2>的反正切 值(单位为弧度)。 (ATAN 2.0 3.0) 返回值0.588002(弧度) (ATAN 2.0 -3.0) 返回值2.553590(弧度) (ATAN -2.0 3.0) 返回值-0.588002(弧度) (ATAN -2.0 -3.0) 返回值-2.553590(弧度)
第3章 AutoLISP基本函数
3.1.1 计算函数 5.(/ <数1> <数2>…) 本函数返回<数1>除以<数2>,再除以<数3>…依次做除法运 算的结果。如果仅提供了一个<数>,则返回<数>除以1的 结果。
各个<数>类型不同,计算结果不同,返回值类型也不同。 例如: (/ 9 2) 返回值4 (/ 9 2.0) 返回值4.5000 (/ 9 (/ 2 3)) error:divide by zero (/ 9 (/ 2.0 3)) 返回13.5000 (/ 4) 返回4 (相当于4÷1=4)
返回4.0700 返回9.0000 返回-1 返回9.0000 返回2.0

CAD 二次开发AutoLisp之程序7

CAD 二次开发AutoLisp之程序7

;====================================================== (defun 7inputI ()(setvar "osmode" os)(PRINC "\n")(PRINC FNUM)(setq st (getstring "\nCan i help you OR End the process <Y/S/P/C>"))(if (or (= st "y") (= st "Y"))(progn(command "find")(setq st (getstring "\nCan i help you OR End the process <Y/S/P/C>")) ))(if (or (= st "S") (= st "s"))(progn(setq sca (getint "\nSpecify the scale of view: "))(setqst (getstring "\nCan i help you OR End the process <Y/P/C>"))))(if (or (= st "c") (= st "C"))(setq whinum 200));=======================(if (or (= st "p") (= st "P"))(progn(setq p0 (getpoint "\nSpecify the first point: ")p1 (getpoint "\nSpecify the second point: ")p2 (getpoint "\nSpecify the first point: ")p3 (getpoint "\nSpecify the second point: "))(if (> (* sca (distance p0 p1)) (* sca (distance p2 p3))) (progn(setq di (* sca (distance p0 p1)))(setq dii (* sca (distance p2 p3))))(progn(setq dii (* sca (distance p0 p1)))(setq di (* sca (distance p2 p3)))))(if (or (= unit 2) (and (= unit 4) (> di 24)))(setq inch (strcat " x " (rtos di unit prec) " LG.")))(if (and (= unit 4) (<= di 24))(setq inch (strcat " x " (rtos di 5 prec) "\"" " LG.")) )(if (or (= unit 2) (and (= unit 4) (> dii 24))) (setq inchi (strcat " x " (rtos dii unit prec))))(if (and (= unit 4) (<= dii 24))(setq inchi (strcat " x " (rtos dii 5 prec) "\"")))(setq inch (strcat inchi inch " FlatBar?"))(setvar "osmode" 1024)(command "text" pt1 "" fnum)(command "chprop" (entlast) "" "la" "Defpoints" "") (command "text" pt1a "" inch)(command "chprop" (entlast) "" "la" "Defpoints" "") ));=======================(if (= st "")(progn(setq p0 (getpoint "\nSpecify the first point: ") p1 (getpoint "\nSpecify the second point: "))(setq di (* sca (distance p0 p1)))(if (or (= unit 2) (and (= unit 4) (> di 24))) (setq inch (strcat " x " (rtos di unit prec) " LG.")) )(if (and (= unit 4) (<= di 24))(setq inch (strcat " x " (rtos di 5 prec) "\"" " LG.")) )(setvar "osmode" 1024)(command "text" pt1 "" fnum)(command "chprop" (entlast) "" "la" "Defpoints" "") (command "text" pt1a "" inch)(command "chprop" (entlast) "" "la" "Defpoints" "") (princ di)(princ "\n")(princ (rtos di unit prec))))(if (or (= st "e")(= st "E"))(progn(entdel (entlast))(entdel (entlast))(setq fnum (- fnum 2))(setq pt1 (polar pt1 (* pi 0.5) (* 2 thc))))));======================================================(defun c:7 (/ whinum sht unit prec th thc pdx pdy chkn chkna fnum pt0 pt1 pt1a chkd chknum scast p0 p1 p2 p3 dii di inch inchi os)(setvar "cmdecho" 0)(setq os (getvar "osmode"))(princ "\nCheck the length of material")(setq whinum 0)(setq sht (getstring "\nSpecify the name of sheet: "))(setq unit (getvar "lunits")prec (getvar "LUPREC"))(if (= unit 2)(progn (setq th 3)(setq thc 5)(setq pdx 215)(setq pdy 2)(setq prec 0))(progn (setq th 0.125)(setq thc 0.2756)(setq pdx 8.5)(setq pdy 0.0625)))(command "style" "STD70" "" th "" "" "" "" "")(setq chkn (ssget "x"(list '(0 . "TEXT")'(8 . "Defpoints")'(7 . "STD70");;; (cons 410 (strcat "SHT " sht)))))(setq chkna (ssget "x"(list '(0 . "TEXT")'(7 . "STD70");;; (cons 410 (strcat "SHT " sht)))))(if (= chkna nil)(progn (setq whinum 200)(princ "\nPlease change name of sheet (SHT X)"))(progn(if (= chkn nil)(progn(setvar "osmode" os)(setq fnum (atoi (strcat sht "01")))(setq pt0 (getpoint "\nSpecify the fix point:"))(setvar "osmode" 1024)(setq pt1 (polar (polar pt0 0 pdx) (/ pi 2) pdy))(setq pt1a (polar pt1 0 (* 6 pdy))))(progn(setq chkna (ssget "x"(list '(0 . "TEXT")'(8 . "Defpoints")'(7 . "STD70")(cons 1 (strcat sht "01"))(cons 410 (strcat "SHT " sht)))))(setq chkd (entget (ssname chkna 0)))(setq chknum (sslength chkn))(setq fnum (+ (atoi (strcat sht "01")) (/ chknum 2))) (setq pt0 (cdr (assoc 10 chkd)))(setvar "osmode" 1024)(setq pt1 (polar pt0 (* pi 1.5) (* (/ chknum 2) thc))) (setq pt1a (polar pt1 0 (* 6 pdy)))))(setq sca (getint "\nSpecify the scale of view: "))(while (< whinum 200)(7inputI)(setvar "osmode" 1024)(setq pt1 (polar pt1 (* pi 1.5) thc))(setq pt1a (polar pt1 0 (* 6 pdy)))(setq fnum (1+ fnum)))(princ "\nCheck Done")))(command "style" "STD85" "" th "" "" "" "" "") (setvar "osmode" os)(princ))Banquansuoyou,qingwuzhuanfa,xiexiehezuo。

浅谈AutoLisp对AutoCAD的二次开发

浅谈AutoLisp对AutoCAD的二次开发
科技信息
o I T技术论坛0
S I N E&T H OL YIF R TO CE C EC N OG O MA I N N
20 0 8年
第3 1期
浅谈 A tLs 对 A t D的二次开发 uo i p uo A C
杜 伟
( 山东省胜 利油 田地 质科 . tLs A p语 言 概 述
语 言 又 称 为符 号 语 言 、 数 式语 言 。 它 的 语 言 中 , 基 本 的 数 据 函 在 最 类 型 是 符 号 表 达式 , 理 符 号 是 Auoi 处 tLs 特 性之 一 Ls 容 易 定 p的 i p很
量 可具 有 不 同 的 值 。 动态 辖 域 能 简 化程 序 编 码 工 作 , 需 为 编 写 的 每 无
件 的功 能 齐 全 , 能优 良 , 完 成 了 商 品化 和 工 程 化 的 需 求 , 此 在 国 性 并 因 内市 场 占有 很 大 的份 额 。然 而此 类 商 品 化 的 C D 软 件 一 般 都 是通 用 A
化 软 件 , 户 在 应 用时 必 须 依 据 各 自行 业 的特 点 进 行 不 同 程 度 的 二 次 保 证该 程 序所 需 函 数 的 同 时 装 入 。 并 应 在 “ 持 文 件 搜 索 路 径 ” 用 支 中指 开发 , 能 发 挥 出 应有 的效 益 。C D进 口软 件 的 二 次 开发 更 是 具 有 实 定 .S 方 A L P文 件 路径 。 际应 用 价 值 的 科研 课 题 。
【 摘
27 1) 5 0 5
要 】 A 软件 的 强大 功 能 与通 用化 设 计 , 用户 选 择 时 必 须 综合 考 虑 的 一 对 矛 盾 体 。在 此 背景 下 , A CD 是 C D软 件 的 二 次开 发 具 有很 高 的

浅谈基于AutoLISP的AutoCAD二次开发技术

浅谈基于AutoLISP的AutoCAD二次开发技术

浅谈基于AutoLISP的AutoCAD二次开发技术在以AutoCAD制图的工程应用中,经常需要开发一些符合工程需求的AutoCAD工具。

AutoLISP语言是一种对AutoCAD进行二次开发的灵活手段。

本文通过一个从上到下逐行写文本的简单程序,探讨了基于AutoLISP的AutoCAD二次开发程序设计的基本步骤和具体实现过程。

标签:AutoCAD AutoLISP 二次开发AutoCAD是由美国Autodesk公司开发的通用计算机辅助绘图和设计软件包,它具有易于掌握、使用方便、体系开放等特点。

已广泛应用于机械、建筑、电子、土木工程、轻工等各个领域。

目前AutoCAD最新的版本是AutoCAD2006。

一、AutoLISP及二次开发的概念AutoLISP 语言是嵌入在AutoCAD内部的LISP编程语言,它是LISP语言与AutoCAD有机结合的产物。

AutoLISP的嵌入使AutoCAD真正成为能进行计算机辅助设计、绘图的CAD软件。

在使用AutoCAD制图中,大量操作都是通过鼠标点击控件和键盘输入相应参数组合实现的。

有时在制图过程中会需要做大量重复的操作,这些操作又具有一定的规律。

那么,便可以通过AutoLISP开发出AutoCAD中可以使用的自定义控件,在点击该控件后,大量繁琐的执行过程交由后台执行,用户仅需输入一些必要的参数,即可实现制图效果。

这种方法就是所谓的“二次开发”。

显然,二次开发能够提高工作的效率和减轻工作量。

二、使用AutoLISP进行二次开发的实例及过程剖析(一)题目。

下面通过编写一个从上到下逐行写文本的小程序段来简要分析AutoLISP的开发过程。

题目要求如下:1. 用户只需点击一个自定义工具按钮,系统即会提示用户输入首行文本所在位置、相邻两行文本偏移量、文本高度这三个参数。

其中,首行文本所在位置由鼠标在屏幕上点击获得,文本高度默认值为4。

2. 用户依次输入文本,回车表示结束当行输入。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

AutoCAD二次开发所用的autolisp函数。

一、数学运算功能函数1.l(十数值数值…)返回:累计实数或整数数值1.2(一数值数值…)返回:差值1.3(*数值数值…)返回:所有数值乘积1.4(/数值数值…)返回:第一个数值除以第二个以后数值的商1.5(l十数值)返回:数值十ll. 6(1—数值)返回:数值一ll.7(abs 数值)返回:数值的绝对值1.8(atan数值)返回:反正切值1.9(cos角度)返回:角度的余弦值,角度值为弧度1.10(exp数值)返回:数值的指数1.11(expt底数指数)返回:底数的指数值1.12(fix 数值)返回:将数值转换为整数值1.14(gcd数值1 数值2)返回:两数值的最大公因数1.15(log 数值)返回:数值的自然对数值1.16(max数值数值…)返回:数值中的最大值1.17(min数值数值…)返回:数值中的最小值1.18 pi 常数∏,其值约为3.14159261.19(rem 数值1数值2)返回:M数值的相除的余数l.20(sin 角度)返回:角度的正旋值,角度值为弧度1.21(sqrt数值)返回:数值的平方根二、检验与逻辑运算功能函数2.l(= 表达式1 表达式2)比较表达式1是否等于式2,适用数值及字符串2.2 (/= 表达式1 表达式2)比较表达式1是否大于等于表达式22.3(<表达式1 表达式2) 比较表达式1是否<小于表达式22.4(<= 表达式1 表达式2)比较表达式1是否<一小于等于表达式22.5(>表达式1 表达式2) 比较表达式1是否>大于表达式22.6(>= 表达式1 表达式2) 比较表达式1是否大于等于表达式22.7 (~数值)返回:数值的位not值,(1的补码)2.8 (and 表达式1 表达式2…)返回:逻辑and的结果2.9(boole函数整数整数…)返回:位式布尔运算2.10(eq表达式1 表达式2)比较表达式1与表达式2是否相同,适用列表比较(实际相同)2.11(equal 表达式1表达式2[差量])比较表达式1与表达式2是否相同,差量可省略(内容相同)三、转换运算功能函数3.l(angtof字符串[模式])返回:角度值的字符串转成实数3.2(angtos角度[模式[精度]])返回:角度转成的字符串值3.3(atof字符串)返回:字符串转成实数值3.4 (atoi字符串)返回:字符串转成整数值3.5 (cvunit数值原始单位转换单位)返回:数值转换单位后的值转换根据acad.nut文件3.6(distof字符串[模式])返回:根据模式将字符串转成实数值3.7(itoa整数)返回:整数转成字符串3.8(rtos数值模式[精度])返回:实数转成字符串3.9 (trans 点原位置新位置[位移]) 返回:转换坐标系统值四、列表处理功能函数4.1 (append列表列表……) 结合所有列表成一个列表4.2(assoc关键元素联合列表)根据关键元素找寻联合列表中关系信息4.3 (car 列表)返回列表中的第一个元素,通常用来求X坐标4.4(cadr列表)返回列表中的第二个元素,通常用来求y坐标4.5(caddr列表)返回列表中的第三个元素,通常用来求Z坐标4.6(cdr列表)返回:除去第一个元素后的列表4.7(cons 新元素列表)返回:将新元素添加到列表4.8(foreach名称列表表达式)返回:将列表的每一元素对应至名称再根据表达式执行响应4.9(length 列表)返回:列表内的元素数量4.10(list元素元素…)返回:将所有元素合并为一列表4.11(listp元素)返回:判断元素是否为一串4.12(mapcar函数列表1列表2…)返回:将列表1、列表2列表的元素配合函数,求得新列表4.13(member 关键元素列表)返回:根据关键元素(含似后的列表4.14(nth n 列表)返回:列表的第n个元素4.15(reverse 列表)返回:将列表元素根据顺序颠倒过来的列表4.16(subst新项旧项列表)返回:替换新旧列表后的列表五、字符串、字符、文件处理函数5.l(ascii字符串)返回:字符串第一个字符的“ASCII”码5.2 (chr整数)返回:整数所对应的ASCII单一字符串5.3(close 文件名称)关闭文件5.4(open 文件名模式)返回:打开文件代码,准备读取或写入信息5.5(read 字符串)返回:列表中的字符串的第一组元素5.6(read-char[文件代码])返回:通过键盘或文件中读取单一字符5.7(read-line [文件代码])返回:经由键盘或文件中读取一行字符串5.8(strcase字符串[字样])返回:转换字符串大小写5.9(strcat字符串1字符串2…)返回:将各字符串合并为一个字符串5.10(strlen字符串)返回:字符串构成的字符数(即字符串长度)5.11(substr字符串起始长度)返回:取出于字符串…5.12(wcmatch字符串格式)返回:T或nil,将字符串与通用字符进行比较5.13(write-char数值[文件代码])返回:将一ASCII字符写到文件或屏幕15.14(write-line字符串[文件代码])返回:将字符串写到文件或屏幕上六、等待输入功能函数6.l (getangle [基点] [提示])请求输入十进制角度数值,响应一个弧度值提示及参考点可有可无6.2(getcorner基点[提示])请求输入另一矩形框对角点坐标6.3(getdist [基点][提示])请求输入一段距离6.4(getint [提示])请求输入一个整数值6.5(getkword [提示]请求输入“关键词”6.6(getorient [基点][提示])请求输入十进制角度,响应一弧度值不受angbase、angdir影响6.7(getPoint [基点][提示])请求输入一个点的坐标6.8(getreal [提示]请求输入一个实数6.9(getstring [提示])请求输入一个字符串6.10(initget [位]字符串)设定下次getxxx函数的有效输入七、几何运算功能函数7.l(angle 点1 点2)取得两点的角度弧度值7.2(distance 点1 点2)取得两点的距离7.3(inters 点1 点2 点3 点4[模式])取得两条线的交点7.4(osnap点模式字符串)按照捕捉模式取得另一坐标点7.5(polar 基点弧度距离)按照极坐标法取得另一坐标点7.6(textbox 对象列表)取得文字字符串的两个对角点坐标八、对象处理功能函数8.l(entdel对象名称)删除或取消删除对象8.2(entget对象名称[应用程序列表])取出对象名称的信息列表8.3 (entlast) 取出图形信息中的最后一个对象8.4(entmake对象列表)建立一个新的对象列表8.5(entmod对象列表)根据更新的信息列表更新屏幕上元体8.6(entnext [对象名称])找寻图面中的下一个对象8.7(entsel [提示])请求选取一个对象,响应包含对象名称及选点坐标的列表;8.8(entupd对象名称)更新屏幕上复元体图形8.9(handent图码)返回:图码的元体名称8.10(nentsel[提示])返回:BLOCK所含副元体对象信息列表8.11(nentselp [提示][点])返回:BLOCK所含副元体对象信息似4*4矩形表示)九、选择集、符号表处理函数9.l(ssadd [对象名称][选择集])将对象加入选择集或建立一新选择集9.2(ssdel对象名称选择集)将对象自选择集中移出9.3(ssget [模式][点1][点2]取得一个选择集9.4(ssget”X” [过滤列表])取得根据过滤列表所指定范围的选择集9.5(sslenth选择集)计算选择集的对象个数9.6(ssmemb对象名称选择集)响应对象名称是否包含于选择集内9.7(ssname选择集索引值)根据索引值取出选择集中的对象名称9.8(tblnext符号表名称[T])检视符号表,有效的符号表:”LAYER”、”LTYPE”、”VIEW”、”STYLE”、”BLOCK”9.9(tblsearch符号表名称符号)在符号表中搜寻符号十、AutoCAD相关查询、控制功能函数10.l(command ”AutoCAD命令”…)超重量级函数,调用执行AutoCAD命令10.2(findfile文件名)返回:该文件名的路径及文件名10.3(getfiled标题内定档名扩展名旗号)通过标准AutoCAD文件对话DCL对话框获得文件10.4(getenv”环境变量”)取得该环境变量的设定值,以字符串表示10.5(getvar”系统变量”)取得该系统变量的设定值,以字符串表示10.6(setvar”系统变量”值)设定该系统变量的值10.7(regapp应用类项)将目前的AutoCAD图形登记为一个应用程序名称十一、判断式、循环相关功能函数11.1(If <比较式><表达式1> [表达式2] 检算比较式结果,如果为真,执行<表达式1>,否则执行<表达式2>11.2( repeat 次数[<表达式><表达式>…])重复执行N次表达式11.3(While <比较式><表达式>…) 当条件成立则执行表达式内容11.4(cond<比较式1><表达式1>多条件式的if整合功能<比较式2><表达式2><比较式3><表达式3>)11.5 ( prong 表达式1 表达式2…) 连接其中的表达式为一组,常用于配合if、cond 等函数十二、函数处理、定义、追踪与错误处理功能函数12.l(*error* 字符串)程序错误时的警示信息12.2(alert 字符串)以对话框式显示出警告字符串12.3(apply 功能函数列表)将功能函数与列表结合后执行12.4(defun名称自变量列表表达式_.)自定函数或子程序12.5(eval表达式)返回:表达式的执行结果12.6(exit)强制退出目前的应用程序12.7(lambda 自变量表达式)定义未命名的函数12.8(progn表达式1 表达式2…)连接其内的表达式为一组,常用于配合if、cond等函数12.9(quit)强制退出目前的应用程序12.10(tablet 代码[列1列2列3方向])取用或建立对数字板的校调12.11(trace 函数…)对函数设定追踪标记,辅助检错12.12(untrace函数…)对函数设定解除追踪标记十三、显示、打印控制功能函数13.l(gfaphscr)作图环境切换到图形画面13.2(grclear)暂时清除模前的屏幕画面13.3(grdraw起点终点颜色[亮显])暂时性的画出一条线13.4(grread[追踪])由输入设备读取追踪值13.5(grtext位置字符串[亮显])将字符串显示在状态列或屏幕菜单上13.6(grvecs向量列表[转置矩阵])暂时性的画出多条线13.7(menucmd字符串);提供在AlltOLISP中调用各菜单13.8(Prinl[表达式[文件代码]]将表达式打印于命令区或已打开的文件句柄字符则以“\”为前缀展开13.9(pinc[表达式[文件代码]]除句柄字符则不以”\”为前缀展外开其余同Prinl13.10(print[表达式[文件代码]]除表达式会往下一新行列出,及空一格外其余同prinl13.11(prompt信息)将信息显示于屏幕的命令区,并随后响应一个nil信息13.12(redraw[对象名称[模式]])重绘整张图或根据对象名称重绘该图形13.13(terpri) 在屏幕上显示新列13.14(textscr) 作图环境切换到文字画面13.15(textpage)清除文字画面文字类似DOS的cls命令13.16(vports)返回:窗口组态列表十四、符号、元素、表达式处理功能函数14.l(atom元素)如果元素不是列表,响应T,否则为nil14.2(atoms-family格式闲号列表])返回:一组己定义函数的符号列表14.3(boundp表达式)返回:T或nil,响应表达式是否有值存在14.4(minusp元素)返回:T或n儿元素是否为负值14.5(not元素)返回:T或n儿判定元素是否为ni114.6(null元素)返回:T或nil判定元素是否被赋予nil值14.7(numberp元素)返回:T或nil,元素是否为整数或实数14.8(quote表达式)响应表达式未检算前状态,同“…”功能14.9(set符号表达式)将表达式结果设定给带单引号‟符号14.10(setq符号1 表达式1[符号2表达式2]…)设定表达式结果给各符号14.11(type元素)返回:元素的信息型态14.12(zerop元素)返回:T或nil,元素是否为0值十五、ADS、ARX、AutoLISP加载与卸载函数15.l(ads)返回:目前加载ADS程序列表15.2(arx)返回:目前加载ARX程序列表15.3(arxload应用程序[出错处理]))返回:加载ARX程序15.4(arxunload应用程序[出错处理]))返回:卸载ARX程序15.5(ver) 返回:目前AutoLISP版本字符串15.6(load LSP文件名[加载失败])加载AutoLISP文件(*.lsp)15.7 (xload应用程序[错处理])加载ADS应用程序15.8 (xunloa应用程序[出错处理])卸载ADS应用程序十六、内存空间管理函数16.l(alloc数值)以节点数值设定区段大小16.2(expand数值)以区段数值配置节点空间16.3(gc)强制收回废内存16.4(mem)显示目前的内存使用状态16.5(xdroom对象名称)返回对象扩展信息允许使用的内存空间16.6(xdsize列表)返回对象扩展信息所占用的内存空间十七、其它重要的功能函数17.l(acad_colordlg颜色码旗号)显示出标准AutoCAD颜色选择对话框17.2(acad_helpdlg求助文件名主题)显示出标准AutoCAD求助对话框17.3(acad_strlsort字符串列表)作字符串列表排序17.4(bherrs) 取得bhatch与bpcly失败所产生的错误信息17.5(bhatch点[选择集[向量]])根据Pick point选点方式调用bhatch命令,绘制选集区域的剖面线17.6(bpoly点[选择集[向量]])根据Pick point选点方式调用bpoly命令并产生一定域Pol yline17.7(cal计算式字符串)执行如CAL计算功能十八、ADS、ARX外部定义的3D函数18.1(align自变量1 自变量2....)执行如ALIGN命令各选项顺序18.2(c:3dsin模式3DS文件名)导入3DS文件18.3(C:3dsout模式3DS文件名)输出3DS文件18.4(c:background模式[选项])设定渲染背景18.5(C:fog模式[选项])设定渲染的雾效果18.6(C:light模式[选项])设定渲染的灯光控制18.7(c:lsedit模式【选项1】设定渲染的景物控制18.8(C:lslib模式[选项])管理景物图库18.9(c:matilb模式材质材质库名)管理材质数据库18.10(c:mirror3d 自变量1 自变量2……)执行如MIRROR3D命令18.11(C:psdrap模式)根据模式设定值(0或1),传唤psdrap命令18.12(C:psfill对象名称图案名称[自变量1[自变量2]])以POStSCript图案填满18.13(c:psin文件名位置比例)插入一个Postscript(*.eps)文件18.14(c:render[渲染文件])执行渲染效果18.15(C:rfileopt格式自变量1 自变量2 自变量3…)设定执行渲染选项18.16(c:replay影像文件名影像类别[选项])展示影像文件TGA、BMP、TIF 18.17(C:rmat模式选项)控管材质建立、贴附、编辑、分离18.18(c:rotate3d自变量1 自变量2…)执行如ROTATE3D命令各选项顺序18.19(C:rpref模式选项[设定])渲染环境设定18.20(c:saveimg影像文件名影像类别[选项])储存图像文件TGA、BMP、TIF 18.21 (c:scene模式[选项]) SCENE场景管理18.22(C:setuv模式选集自变量1 自变量2…)SETUV贴图模式管理18.23(C:showmat自变量1)显示对象的材质贴附信息18.24(C:solprof自变量1 自变量工..)建立3D实体的轮廓影像18.25(C:StatS[渲染信息文件])显示渲染信息统计信息十九、ADS、ARX外部定义的数据库相关函数19.l(c:aseadmin自变量1 自变量2…)管理外部数据库19.2(c:aseexportt自变量1 自变量2…)输出信息19.3 (c:aselinks自变量1 自变量2…)连接对象与信息19.4(c:aserow自变量1 自变量2…)管理外部信息表格19.5(c:aseselect自变量1 自变量2…)建立外部信息与对象选集19.6 (c:asesqled自变量1 自变量2…) 执行SQL程序。

相关文档
最新文档