LISP对话框

合集下载

Autolisp线型选择自定义对话框文件DCL

Autolisp线型选择自定义对话框文件DCL

Autolisp线型选择自定义对话框文件说明:本文档为线型选择自定义对话框文件,由《Autolisp自定义设置线型线宽颜色对话框》中所述代码调用。

/**设置DCL文档主义检核*等级0不检查:只有在该定义档已被检核且不会再作修改时使用*等级1错误:找出可能造成AutoCAD终止的错误,此等级也是默认值*等级2警告:找出配置或行为模式的错误,所有定义在修改后,最少应执行此等级的检查一.次*等级3提示:找出多余的属性定义*/dcl_settings:default_dcl_settings{audit_level=3;}////对话框定义文件内容模式setline:dialog//对话框开始{label="线型设置";width=64;height=24;:boxed_row//当前设定控件开始{label="当前设定";height=1.5;fixed_height=true;//fixed_width=true;:row{//编辑框组件:edit_box{label="线型:";key="line_type";edit_limit=36;edit_width=30;width=36;//fixed_width=true;height=1;alignment=bottom;}:popup_list//编辑框组件{label="线宽:";key="line_width";edit_limit=28;edit_width=23;width=28;height=1;alignment=bottom;}}}//当前设定控件结束:boxed_column//线型选择控件开始{label="选择线型";width=64;height=12;:row{//第一行线型fixed_height=true;:image_button{key="type1";width=32;height=6;}:image_button{key="type2";width=32;height=6;}}:row{//第二行线型//fixed_height=false;:image_button{key="type3";width=32;height=6;}:image_button{key="type4";width=32;}}}//线型选择控件结束:row{:boxed_column//颜色按钮开始{label="被选颜色";width=54;:row{height=1.5;:image_button{key="line_color1";width=10;height=1.25;fixed_width=true;fixed_height=true;alignment=bottom;color=1;}:image_button{key="line_color2";width=10;height=1.25;fixed_width=true;fixed_height=true;alignment=bottom;color=2;}:image_button{key="line_color3";width=10;height=1.25;fixed_width=true;fixed_height=true;alignment=bottom;}:image_button{key="line_color4";width=10;height=1.25;fixed_width=true;fixed_height=true;alignment=bottom;color=4;}:image_button{key="line_color5";width=10;height=1.25;fixed_width=true;fixed_height=true;alignment=bottom;color=5;}}:row{:image_button{key="line_color6";width=10;height=1.25;fixed_width=true;fixed_height=true;alignment=bottom;color=6;}:image_button{key="line_color7";width=10;height=1.25;fixed_width=true;fixed_height=true;alignment=bottom;color=7;}:image_button{key="line_color8";width=10;height=1.25;fixed_width=true;fixed_height=true;alignment=bottom;color=0;}:image_button{key="line_color9";width=10;height=1.25;fixed_width=true;fixed_height=true;alignment=bottom;color=7;}:image_button{key="line_color10";width=10;height=1.25;fixed_width=true;fixed_height=true;alignment=bottom;color=7;}}}//被选结束:boxed_column{label="颜色对比";width=10;:row{alignment=centered;:column{width=1;:text{label="原";width=1;}:text{label="来";width=1;} }:image_button{key="line_color11";width=7;height=3;fixed_width=true;fixed_height=true;//alignment=bottom; //color=7;}:image_button{key="line_color12";width=7;height=3;fixed_width=true;fixed_height=true;//alignment=bottom; //color=7;}:column{width=1;:text{label="现";width=1;}:text{label="在";width=1;} }}}//boxed_column}//row:row//按钮控件开始{:button{label="上一页";key="last";}:button{label="下一页";key="next";}}//按钮控件开始//组件定义结束ok_cancel;}//对话框结束。

LISP与DCL

LISP与DCL

选出《钢构CAD》中的任一个实例作为范例此处选其中的“连续编号”程序AAA : dialog{label=" 钢构C A D --- 连续编号" ;key="dial";:row { //无框水平排列 :boxed_row//有框水平排列:image//幻灯显示框{key="HD-01";width=25;//显示框宽height=1;color=0;fixed_width=true;}:radio_column{//其下为无框竖向平排列:boxed_radio_column{//其下为有框竖向平排列:row{:edit_box{label="文字高度:";key="VZG";width=5;}:edit_box{label="起点编号:";key="QDH";width=5;}}:radio_row {//无加框行:boxed_radio_row{//boxed_radio_row加框按钮行radio_row {//无加框行label=" 引线";:row{:radio_button{label="有";key="BH-Y";}:radio_button{label="无";key="BH-W";}}}:boxed_radio_row{//boxed_radio_row加框按钮行radio_row {//无加框行label=" 方式";key="JDQJ";:radio_button{label="递增";key="FS-Z";}:radio_button{label="递减";key="FS-J";}}}:boxed_radio_row{//boxed_radio_row加框按钮行radio_row {//无加框行label="插入点位置";key="YH--";:radio_button{label="上";key="YH-S";}:radio_button{label="下";key="YH-X";}:radio_button{label="左";key="YH-Z";}:radio_button{label="右";key="YH-Y";}}:row{//其下为水平排列:button{width=5;label="编号";key="accept";alignment = centered;fixed_width = true;is_default = true;}//按钮: button {//自定义一个退出按钮width=5;key = "cancel";//退出与确定的区别:确定为key = "accept";label = "退出";//is_default = true; //缺省按钮,一个话框中必须也只能有一个缺省按钮 fixed_width = true;//使按钮外框的宽度收缩到恰好可以容纳其内部的文字alignment = centered;//使按钮居中放置}: button {//自定义一个按钮width=5;key = "SM-1";//退出与确定的区别:确定为key = "accept";label = "说明";//is_default = true; //缺省按钮,一个话框中必须也只能有一个缺省按钮 fixed_width = true;//使按钮外框的宽度收缩到恰好可以容纳其内部的文字alignment = centered;//使按钮居中放置}}}}}将以上代码复制并保存为A.DCL文件并放在AutoCAD安装文件夹内,即可调用练习参见图片:DCL代码的样子图中蓝色文字是程序自带的(你无法改写只管复制调用即可);黑色文字为程序名可任意定,粉红色文字是对话界中显示的文字及相应代号;更多具体文章详见作者博客查看下载程序调试界面与实际运用界面#1zhao123工程师精华0积分286帖子140水位286技术分参见图片:DCL代码的样子图中蓝色文字是程序自带的(你无法改写只管复制调用即可);黑色文字为程序名可任意定,粉红色文字是对话界中显示的文字及相应代号;2coolfox工程师精华积分313帖子155水位313技术分调入对话框的LISP代码;(defun C:A(/ ANFZ dcl_id );此处A 为自定命令名,可随意定(setvar "cmdecho" 0) ;防止命令执行过程的显示(setq dcl_id (load_dialog "A"));加载AutoCAD文件夹内的DCL文件A.DCL 此文件应放在CAD程序文件夹中以方便调试(new_dialog "AAA" dcl_id);激活DCL文件A.DCL 中的AAA 对话框画面;;;;;以下由点击激活各子程序:(action_tile "SM-1" "(LT-SM)"); 说明按钮;;;设置确定与取消按钮事件(action_tile "accept" "(done_dialog 1)");为确定按钮设置退出对话框(done_dialog) ,并赋值1(action_tile "cancel" "(done_dialog 2)");为取消按钮设置退出对话框(done_dialog) ,并赋值2(setq ANFZ (start_dialog));start_dialog用于初始对话框,将确定与取消的赋值传给ANFZ ,此行不能少,否则无法退出(unload_dialog dcl_id);卸载一个DCL 文件(if (= ANFZ 1);当点编号按钮时(prompt "\n 程序已可以正常执行!"))(if (= ANFZ 2);当点退出按钮时(prompt "\n 程序已退出!"))(princ);用于干净地结束序)(defun LT-SM();说明按钮子程序(alert "概要说明:1、文字高度一般为出图比例的2.5 ~3 倍;2、图中圆圈半径等于1.2 倍文字高度;3、起点编号: 可任意输入数字或大小写字母; 输入其它则按0 计算;4、插入点: 上表示编号写在插入点之上,其余类推;"))程序调试的方法:将编好的LISP代码,(存不存均可)即可在编辑器中通过:工具→界面工具→加载编辑器中的文字→回到AutoCAD界面中,输入自定的程序名称A,回车即可运行程序。

超经典CAD lisp程序集锦、CAD快捷键大全

超经典CAD lisp程序集锦、CAD快捷键大全

超经典CAD lisp程序集锦如果您使用 AutoCAD,下面的内容对您一定有帮助。

在某些方面能大大提高您的工作效率。

下面的程序均以源程序方式给出,您可以使用、参考、修改它。

bg.lsp --- 表格自动生成asc.lsp --- 将文本文件内容写入图中,字符是单个的wf.lsp --- 将图中字符写入磁盘exstr.lsp --- 将字符串分解成单字pgtxt.lsp --- 将字符合成字符串pb.lsp --- 通过给出长度将字符串分成两个串cht.lsp --- 直接修改文字内容或块属性ct.lsp --- 对数字串进行加减chh.lsp --- 直接修改文字高度chhw.lsp --- 直接修改文字高宽比(针对PKPM软件将字符定位点改为左下角) chst.lsp --- 直接修改文字字体txt.shx --- 修改后的标准txt.shx文件。

(kuozhan.sld为增强的内容幻灯片)tiao.lsp --- 配合修改过的标准字体文件,将中文字符调大tiao1.lsp --- 配合修改过的标准字体文件,将英文字符调小untiao.lsp --- 上两个程序的复原sht.lsp --- 在图中查找字符串zhuang.lsp --- 桩点及钎探号绘制(勘测图)dim.lsp --- 配合JT.DWG将尺寸标注调成适合建筑结构设计(1:1)dimm.lsp --- 配合JT.DWG将尺寸标注调成适合建筑结构设计(1:100)di1.lsp~di8.lsp --- 直接连续标注尺寸(用于1:1的图)di100.lsp~di800.lsp --- 直接连续标注尺寸(用于1:100的图)详细内容及附件下载请浏览北纬服务论坛/thread-2724-1-1.htmlCAD快捷键大全F1: 获取帮助F2: 实现作图窗和文本窗口的切换F3: 控制是否实现对象自动捕捉F4: 数字化仪控制F5: 等轴测平面切换F6: 控制状态行上坐标的显示方式F7: 栅格显示模式控制F8: 正交模式控制F9: 栅格捕捉模式控制F10: 极轴模式控制F11: 对象追踪式控制Ctrl+B: 栅格捕捉模式控制(F9)刚刚看了一下dra:半径标注ddi:直径标注dal:对齐标注dan:角度标注Ctrl+C: 将选择的对象复制到剪切板上Ctrl+F: 控制是否实现对象自动捕捉(f3) Ctrl+G: 栅格显示模式控制(F7)Ctrl+J: 重复执行上一步命令Ctrl+K: 超级链接Ctrl+N: 新建图形文件Ctrl+M: 打开选项对话框AA: 测量区域和周长(area)AL: 对齐(align)AR: 阵列(array)AP: 加载*lsp程系AV: 打开视图对话框(dsviewer) SE: 打开对相自动捕捉对话框ST: 打开字体设置对话框(style) SO: 绘制二围面( 2d solid) SP: 拼音的校核(spell)SC: 缩放比例 (scale)SN: 栅格捕捉模式设置(snap) DT: 文本的设置(dtext)DI: 测量两点间的距离OI:插入外部对相Ctrl+1: 打开特性对话框Ctrl+2: 打开图象资源管理器Ctrl+6: 打开图象数据原子Ctrl+O: 打开图象文件Ctrl+P: 打开打印对说框Ctrl+S: 保存文件Ctrl+U: 极轴模式控制(F10)Ctrl+v: 粘贴剪贴板上的内容Ctrl+W: 对象追踪式控制(F11) Ctrl+X: 剪切所选择的内容Ctrl+Y: 重做Ctrl+Z: 取消前一步的操作A: 绘圆弧B: 定义块C: 画圆D: 尺寸资源管理器E: 删除F: 倒圆角G: 对相组合H: 填充I: 插入S: 拉伸T: 文本输入W: 定义块并保存到硬盘中L: 直线M: 移动X: 炸开V: 设置当前坐标U: 恢复上一次操做O: 偏移P: 移动Z: 缩放显示降级适配(开关)【O】适应透视图格点【Shift】+【Ctrl】+【A】排列【Alt】+【A】角度捕捉(开关) 【A】动画模式 (开关) 【N】改变到后视图【K】背景锁定(开关) 【Alt】+【Ctrl】+【B】前一时间单位【.】下一时间单位【,】改变到上(Top)视图【T】改变到底(Bottom)视图【B】改变到相机(Camera)视图【C】改变到前(Front)视图【F】改变到等大的用户(User)视图【U】改变到右(Right)视图【R】改变到透视(Perspective)图【P】循环改变选择方式【Ctrl】+【F】默认灯光(开关) 【Ctrl】+【L】删除物体【DEL】当前视图暂时失效【D】是否显示几何体内框(开关) 【Ctrl】+【E】显示第一个工具条【Alt】+【1】专家模式&#0;全屏(开关) 【Ctrl】+【X】暂存(Hold)场景【Alt】+【Ctrl】+【H】取回(Fetch)场景【Alt】+【Ctrl】+【F】冻结所选物体【6】跳到最后一帧【END】跳到第一帧【HOME】显示/隐藏相机(Cameras)【Shift】+【C】显示/隐藏几何体(Geometry) 【Shift】+【O】显示/隐藏网格(Grids) 【G】显示/隐藏帮助(Helpers)物体【Shift】+【H】显示/隐藏光源(Lights) 【Shift】+【L】显示/隐藏粒子系统(Particle Systems) 【Shift】+【P】显示/隐藏空间扭曲(Space Warps)物体【Shift】+【W】锁定用户界面(开关) 【Alt】+【0】匹配到相机(Camera)视图【Ctrl】+【C】材质(Material)编辑器【M】最大化当前视图 (开关) 【W】脚本编辑器【F11】新的场景【Ctrl】+【N】法线(Normal)对齐【Alt】+【N】向下轻推网格小键盘【-】向上轻推网格小键盘【+】NURBS表面显示方式【Alt】+【L】或【Ctrl】+【4】NURBS调整方格1 【Ctrl】+【1】NURBS调整方格2 【Ctrl】+【2】NURBS调整方格3 【Ctrl】+【3】偏移捕捉【Alt】+【Ctrl】+【空格】打开一个MAX文件【Ctrl】+【O】平移视图【Ctrl】+【P】交互式平移视图【I】放置高光(Highlight) 【Ctrl】+【H】播放/停止动画【/】快速(Quick)渲染【Shift】+【Q】回到上一场景*作【Ctrl】+【A】回到上一视图*作【Shift】+【A】撤消场景*作【Ctrl】+【Z】撤消视图*作【Shift】+【Z】刷新所有视图【1】用前一次的参数进行渲染【Shift】+【E】或【F9】渲染配置【Shift】+【R】或【F10】在xy/yz/zx锁定中循环改变【F8】约束到X轴【F5】约束到Y轴【F6】约束到Z轴【F7】旋转(Rotate)视图模式【Ctrl】+【R】或【V】保存(Save)文件【Ctrl】+【S】透明显示所选物体(开关) 【Alt】+【X】选择父物体【PageUp】选择子物体【PageDown】根据名称选择物体【H】选择锁定(开关) 【空格】减淡所选物体的面(开关) 【F2】显示所有视图网格(Grids)(开关) 【Shift】+【G】显示/隐藏命令面板【3】显示/隐藏浮动工具条【4】显示最后一次渲染的图画【Ctrl】+【I】显示/隐藏主要工具栏【Alt】+【6】显示/隐藏安全框【Shift】+【F】*显示/隐藏所选物体的支架【J】显示/隐藏工具条【Y】/【2】百分比(Percent)捕捉(开关) 【Shift】+【Ctrl】+【P】打开/关闭捕捉(Snap) 【S】循环通过捕捉点【Alt】+【空格】声音(开关) 【\】间隔放置物体【Shift】+【I】改变到光线视图【Shift】+【4】循环改变子物体层级【Ins】子物体选择(开关) 【Ctrl】+【B】帖图材质(Texture)修正【Ctrl】+【T】加大动态坐标【+】减小动态坐标【-】激活动态坐标(开关) 【X】精确输入转变量【F12】全部解冻【7】根据名字显示隐藏的物体【5】刷新背景图像(Background) 【Alt】+【Shift】+【Ctrl】+【B】显示几何体外框(开关) 【F4】视图背景(Background) 【Alt】+【B】用方框(Box)快显几何体(开关) 【Shift】+【B】打开虚拟现实数字键盘【1】虚拟视图向下移动数字键盘【2】虚拟视图向左移动数字键盘【4】虚拟视图向右移动数字键盘【6】虚拟视图向中移动数字键盘【8】虚拟视图放大数字键盘【7】虚拟视图缩小数字键盘【9】实色显示场景中的几何体(开关) 【F3】全部视图显示所有物体【Shift】+【Ctrl】+【Z】*视窗缩放到选择物体范围(Extents)【E】缩放范围【Alt】+【Ctrl】+【Z】视窗放大两倍【Shift】+数字键盘【+】放大镜工具【Z】视窗缩小两倍【Shift】+数字键盘【-】根据框选进行放大【Ctrl】+【w】视窗交互式放大【[】视窗交互式缩小【]】轨迹视图加入(Add)关键帧【A】前一时间单位【<】下一时间单位【>】编辑(Edit)关键帧模式【E】编辑区域模式【F3】编辑时间模式【F2】展开对象(Object)切换【O】展开轨迹(Track)切换【T】函数(Function)曲线模式【F5】或【F】锁定所选物体【空格】向上移动高亮显示【↓】向下移动高亮显示【↑】向左轻移关键帧【←】向右轻移关键帧【→】位置区域模式【F4】回到上一场景*作【Ctrl】+【A】撤消场景*作【Ctrl】+【Z】用前一次的配置进行渲染【F9】渲染配置【F10】向下收拢【Ctrl】+【↓】向上收拢【Ctrl】+【↑】材质编辑器用前一次的配置进行渲染【F9】渲染配置【F10】撤消场景*作【Ctrl】+【Z】示意(Schematic)视图下一时间单位【>】前一时间单位【<】回到上一场景*作【Ctrl】+【A】撤消场景*作【Ctrl】+【Z】Active Shade绘制(Draw)区域【D】渲染(Render) 【R】锁定工具栏(泊坞窗) 【空格】视频编辑加入过滤器(Filter)项目【Ctrl】+【F】加入输入(Input)项目【Ctrl】+【I】加入图层(Layer)项目【Ctrl】+【L】加入输出(Output)项目【Ctrl】+【O】加入(Add)新的项目【Ctrl】+【A】加入场景(Scene)事件【Ctrl】+【s】编辑(Edit)当前事件【Ctrl】+【E】执行(Run)序列【Ctrl】+【R】新(New)的序列【Ctrl】+【N】撤消场景*作【Ctrl】+【Z】NURBS编辑CV 约束法线(Normal)移动【Alt】+【N】CV 约束到U向移动【Alt】+【U】CV 约束到V向移动【Alt】+【V】显示曲线(Curves) 【Shift】+【Ctrl】+【C】显示控制点(Dependents) 【Ctrl】+【D】显示格子(Lattices) 【Ctrl】+【L】NURBS面显示方式切换【Alt】+【L】显示表面(Surfaces) 【Shift】+【Ctrl】+【s】显示工具箱(Toolbox) 【Ctrl】+【T】显示表面整齐(Trims) 【Shift】+【Ctrl】+【T】根据名字选择本物体的子层级【Ctrl】+【H】锁定2D 所选物体【空格】选择U向的下一点【Ctrl】+【→】选择V向的下一点【Ctrl】+【↑】选择U向的前一点【Ctrl】+【←】选择V向的前一点【Ctrl】+【↓】根据名字选择子物体【H】柔软所选物体【Ctrl】+【s】转换到Curve CV 层级【Alt】+【Shift】+【Z】转换到Curve 层级【Alt】+【Shift】+【C】转换到Imports 层级【Alt】+【Shift】+【I】转换到Point 层级【Alt】+【Shift】+【P】转换到Surface CV 层级【Alt】+【Shift】+【V】转换到Surface 层级【Alt】+【Shift】+【S】转换到上一层级【Alt】+【Shift】+【T】转换降级【Ctrl】+【X】FFD转换到控制点(Control Point)层级【Alt】+【Shift】+【C】到格点(Lattice)层级【Alt】+【Shift】+【L】到设置体积(Volume)层级【Alt】+【Shift】+【S】转换到上层级【Alt】+【Shift】+【T】打开的UVW贴图进入编辑(Edit)UVW模式【Ctrl】+【E】调用*.uvw文件【Alt】+【Shift】+【Ctrl】+【L】保存UVW为*.uvw格式的文件【Alt】+【Shift】+【Ctrl】+【S】打断(Break)选择点【Ctrl】+【B】分离(Detach)边界点【Ctrl】+【D】过滤选择面【Ctrl】+【空格】水平翻转【Alt】+【Shift】+【Ctrl】+【B】垂直(Vertical)翻转【Alt】+【Shift】+【Ctrl】+【V】冻结(Freeze)所选材质点【Ctrl】+【F】隐藏(Hide)所选材质点【Ctrl】+【H】全部解冻(unFreeze) 【Alt】+【F】全部取消隐藏(unHide) 【Alt】+【H】从堆栈中获取面选集【Alt】+【Shift】+【Ctrl】+【F】从面获取选集【Alt】+【Shift】+【Ctrl】+【V】锁定所选顶点【空格】水平镜象【Alt】+【Shift】+【Ctrl】+【N】垂直镜象【Alt】+【Shift】+【Ctrl】+【M】水平移动【Alt】+【Shift】+【Ctrl】+【J】垂直移动【Alt】+【Shift】+【Ctrl】+【K】平移视图【Ctrl】+【P】象素捕捉【S】平面贴图面/重设UVW 【Alt】+【Shift】+【Ctrl】+【R】水平缩放【Alt】+【Shift】+【Ctrl】+【I】垂直缩放【Alt】+【Shift】+【Ctrl】+【O】移动材质点【Q】旋转材质点【W】等比例缩放材质点【E】焊接(Weld)所选的材质点【Alt】+【Ctrl】+【W】焊接(Weld)到目标材质点【Ctrl】+【W】Unwrap的选项(Options) 【Ctrl】+【O】更新贴图(Map) 【Alt】+【Shift】+【Ctrl】+【M】将Unwrap视图扩展到全部显示【Alt】+【Ctrl】+【Z】框选放大Unwrap视图【Ctrl】+【Z】将Unwrap视图扩展到所选材质点的大小【Alt】+【Shift】+【Ctrl】+【Z】缩放到Gizmo大小【Shift】+【空格】缩放(Zoom)工具【Z】反应堆(Reactor)建立(Create)反应(Reaction) 【Alt】+【Ctrl】+【C】删除(Delete)反应(Reaction) 【Alt】+【Ctrl】+【D】编辑状态(State)切换【Alt】+【Ctrl】+【s】设置最大影响(Influence) 【Ctrl】+【I】设置最小影响(Influence) 【Alt】+【I】设置影响值(Value) 【Alt】+【Ctrl】+【V】ActiveShade (Scanline)初始化【P】更新【U】宏编辑器累积计数器【Q】[color=#800080]AutoCAD快捷键快捷键执行命令命令说明3A 3DARRAY 三维阵列3DO 3DORBIT 三维动态观察器3F 3DFACE 三维表面3P 3DPOLY 三维多义线A ARC 圆弧ADC ADCENTER AutoCAD设计设计中心AA AREA 面积AL ALIGN 对齐(适用于二维和三维)AP APPLOAD 加载、卸载应用程序AR ARRAY 阵列*AR *ARRAY 命令式阵列ATT ATTDEF 块的属性*ATT *ATTDEF 命令式块的属性ATE ATTEDIT 编辑属性ATE *ATTEDIT 命令式编辑属性ATTE *ATTEDIT 命令式编辑属性B BLOCK 对话框式图块建立*B *BLOCK 命令式图块建立BH BHATCH 对话框式绘制图案填充BO BOUNDARY 对话框式封闭边界建立*BO *BOUNDARY 命令式封闭边界建立BR BREAK 打断C CIRCLE 圆CHA PROPERTIES 对话框式对象特情修改*CH CHANGE 命令式特性修改CHA CHAMFER 倒角COL COLCR 对话框式颜色设定COLOUR COLCR 对话框式颜色设定CO COPY 复制D DIMSTYLE 尺寸样式设定DAL DIMALIGNED 对齐式线性标注DAN DIMANGULAR 角度标注DBA DIMBASELINE 基线式标注DBC DBCONNECT 提供到外部数据库表的接口DCE DIMCENTER 圆心标记DCO DIMCONTINUE 连续式标注DDA DIMDISASSOCIATE 标注不关联DDI DIMDIAMETER 直径标注DED DIMEDIT 尺寸修改DI DIST 测量两点间距离DIV DIVIDE 等分布点DLI DIMLINEAR 线性标注DO DONUT 双圆DOR DIMORDIMATE 坐标式标注DOV DIMOVERRIDE 更新标注变量DR DRAWORDER 显示顺序DRA DIMRADIUS 半径标注DRE DIMREASSOCIATE 标注关联DS DSETTINGS 捕捉设定DST DIMSTYLE 尺寸样式设定DT DTEXT 写入文字DV DVIEW 定义平行投影或透视投影视图E ERASE 删除对象ED DDEDIT 单行文字修改EL ELLIPSE 椭圆EX EXTEND 延伸EXIT QUIT 退出EXP EXPORT 输出文件EXT EXTRUDE 将二维对象拉伸为三、维维实体F FILLET 倒圆角FI FILTER 过滤器G GROUP 对话框式选择集设定*G *GROUP 命令式选择集设定GR DDGRIPS 夹点控制设定H BHATCH 对话框式绘制图案填充*H HATCH 命令式绘制图案填充HE HATCHEDIT 编辑图案填充HI HIDE 消隐I INSERT 对话框式插入图块*I *INSERT 命令式插入图块IAD IMAGEADJUST 图像调整IAT IMAGEATTACH 并入图像ICL IMAGECLIP 截取图像IM IMAGE 对话框式附着图像*IM *IMAGE 命令式贴附图像IMP IMPORT 输入文件IN INTERSECT 将相交实体或面域部分创建INF IMTERFERE 由共同部分创建三维实体IO INSERTOBJ 插入对象L LINE 画线LA LAYER 对话框式图层控制*LA *LAYER 命令式图层控制LE QLEADER 引导线标注LRN LENGTHEN 长度LI LIST 查询对象文件LINEWEIGHT LWEIGHT 线宽LO *LAYOUT 配置设定LS LIST 查询对象文件LT LINETYPE 对话框式线型加载*LT *LINETYPE 命令式线型加载LTYPE LINETYPE 对话框式线型加载*LTYPE *LINETYPE 命令式线型加载LTS LTSCALE 设置线型比例因子LW LWEIGHT 线宽设定M MOVE 搬移对象MA MATCHPROP 对象特性复制ME MEASURE 量测等距布点MI MIRROR 镜像对象ML MLINE 绘制多线MO PROPERTIES 对象特性修改MS MSPACE 从图纸空间转换支模型空间MT MTEXT 多行文字写入MV MVIEW 浮动视口O OFFSET 偏移复制OP POPTIONS 选项ORBIT 3DORBIT 三维动态观察器OS OSNAP 对话框式对象捕捉设定*OS *OSNAP 命令式对象捕捉设定P PAN 即时平移*P *PAN 两点式平移控制PA PASTESPEC 选择性粘贴PARTIALOPEN *PASTESPEC 将指定的对象加载对新图形中PE PEDIT 编辑多义线PL PLINE 绘制多义线PO POINT 绘制点POL POLYGON 绘制正多边型PR OPTIONS 选项PRCLOSE PROPERTIESCLOSE 关闭对象特性修改对话框PROPS PROPERTIES 对象特性修改PRE PREVIEW 输出预览PRINT PLOT 打印输出PS PSPACE 图线空间PTW PUBLISHTIWEB 发送支网页PU PURGE 肃清无用对象*PU *PURGE 命令式肃清无用对象R REDRAW 重绘RA REDRAWALL 所有视口重绘RE REGEN 重新生成REA REGENALL 所有视口重新生成REC RECTANGLE 绘制矩形REG REGION 三维面域REN REBAME 对话框式重命名*REN *REBAME 命令式重命名REV REVOLVE 利用绕轴旋转二维对象创建三维体RM DDRMODES 打印辅助设定RO ROTATE 旋转RPR RPREF 设置渲染参考RR RENDER 渲染S STRETCH 拉伸SC SCALE 比例缩放SCR SCRIPT 调入剧本文件SE DSETTINGS 捕捉设定SEC DECTION 通过使平面与实体相交创建面域SET SETVAR 设定变量值SHA SHADE 着色SL SLICE 用平面剖切实体SN SNAP 捕捉控制SO SOLID 填实的三边形或四边形SP SEELL 拼字SPL SPLINE 样条曲线SPE SPLINEDIT 编辑样条曲线ST STYLE 字型设定SU SUBTRACT 差集运算T MTEXT 对话框式多行文字写入*T *MTEXT 命令式多行文字写入TA TABLET 数字化仪规划TH THICKNESS 厚度TI TILEMODE 图线空间和模型空间设定切换TO TOOLBAR 工具栏设定TOL TOLERANCE 公差符号标注TOR TORUS 圆环TR TRIM 修剪UC DDUCS 用户坐标系UCP DDUCSP 设置正交窗口UN UNITS 对话框式单位设定*UN *UNITS 命令式单位设定UNI UNION 并集运算V VIEW 对话框式视图控制*V *VIEW 视图控制VP DDVPOPINT 视点*VP WPOINT 命令式视点W WBLOCK 对话框式图块写出*W *WBLOCK 命令式图块写出WE WEDGE 三维楔体X EXPLODE 分解XA XATTACH 贴附外部参考XB XBIND 并入外部参考*XB *XBIND 命令式并入外部参考XC XCLIP 截取外部参考XL XLINE 构造线XR XREF 对话框式外部参考控制*XR *XREF 命令式外部参考控制Z ZOOM 视口缩入控制CTRL+A 编组CTRL+B 捕捉CTRL+C 复制CTRL+D 坐标CTRL+E 等轴测平面CTRL+F 对象捕捉CTRL+G 删格CTRL+J CTRL+SHIFT+S 图形另存为CTRL+K 超级链接LCTRL+L 正交CTRL+M 帮助CTRL+N 新建CTRL+O 打开CTRL+P 打印CTRL+Q 退出CTRL+S 保存CTRL+T 数字化仪CTRL+U CTRL+F10 极轴CTRL+V 粘贴CTRL+W 对象跟踪CTRL+X 剪切CTRL+z 退回CTRL+1 对象特性CTRL+2 CAD设计中心CTRL+6 数据源CTRL+F6 切换当前窗口CTRL+F8 运行部件CTRL+SHIFT+C 带基点复制快捷键执行命令命令说明3A 3DARRAY 三维阵列3DO 3DORBIT 三维动态观察器3F 3DFACE 三维表面3P 3DPOLY 三维多义线A ARC 圆弧ADC ADCENTER AutoCAD设计设计中心AA AREA 面积AL ALIGN 对齐(适用于二维和三维)AP APPLOAD 加载、卸载应用程序AR ARRAY 阵列*AR *ARRAY 命令式阵列ATT ATTDEF 块的属性*ATT *ATTDEF 命令式块的属性ATE ATTEDIT 编辑属性ATE *ATTEDIT 命令式编辑属性ATTE *ATTEDIT 命令式编辑属性B BLOCK 对话框式图块建立*B *BLOCK 命令式图块建立BH BHATCH 对话框式绘制图案填充BO BOUNDARY 对话框式封闭边界建立*BO *BOUNDARY 命令式封闭边界建立BR BREAK 打断C CIRCLE 圆CHA PROPERTIES 对话框式对象特情修改*CH CHANGE 命令式特性修改CHA CHAMFER 倒角COL COLCR 对话框式颜色设定COLOUR COLCR 对话框式颜色设定CO COPY 复制D DIMSTYLE 尺寸样式设定DAL DIMALIGNED 对齐式线性标注DAN DIMANGULAR 角度标注DBA DIMBASELINE 基线式标注DBC DBCONNECT 提供到外部数据库表的接口DCE DIMCENTER 圆心标记DCO DIMCONTINUE 连续式标注DDA DIMDISASSOCIATE 标注不关联DDI DIMDIAMETER 直径标注DED DIMEDIT 尺寸修改DI DIST 测量两点间距离DIV DIVIDE 等分布点DLI DIMLINEAR 线性标注DO DONUT 双圆DOR DIMORDIMATE 坐标式标注DOV DIMOVERRIDE 更新标注变量DR DRAWORDER 显示顺序DRA DIMRADIUS 半径标注DRE DIMREASSOCIATE 标注关联DS DSETTINGS 捕捉设定DST DIMSTYLE 尺寸样式设定DT DTEXT 写入文字DV DVIEW 定义平行投影或透视投影视图E ERASE 删除对象ED DDEDIT 单行文字修改EL ELLIPSE 椭圆EX EXTEND 延伸EXIT QUIT 退出EXP EXPORT 输出文件EXT EXTRUDE 将二维对象拉伸为三、维F FILLET 倒圆角FI FILTER 过滤器G GROUP 对话框式选择集设定*G *GROUP 命令式选择集设定GR DDGRIPS 夹点控制设定H BHATCH 对话框式绘制图案填充*H HATCH 命令式绘制图案填充HE HATCHEDIT 编辑图案填充HI HIDE 消隐I INSERT 对话框式插入图块*I *INSERT 命令式插入图块IAD IMAGEADJUST 图像调整IAT IMAGEATTACH 并入图像ICL IMAGECLIP 截取图像IM IMAGE 对话框式附着图像*IM *IMAGE 命令式贴附图像IMP IMPORT 输入文件IN INTERSECT 将相交实体或面域部分创建INF IMTERFERE 由共同部分创建三维实体IO INSERTOBJ 插入对象L LINE 画线LA LAYER 对话框式图层控制*LA *LAYER 命令式图层控制LE QLEADER 引导线标注LRN LENGTHEN 长度LI LIST 查询对象文件LINEWEIGHT LWEIGHT 线宽LO *LAYOUT 配置设定LS LIST 查询对象文件LT LINETYPE 对话框式线型加载*LT *LINETYPE 命令式线型加载LTYPE LINETYPE 对话框式线型加载*LTYPE *LINETYPE 命令式线型加载LTS LTSCALE 设置线型比例因子LW LWEIGHT 线宽设定M MOVE 搬移对象MA MATCHPROP 对象特性复制ME MEASURE 量测等距布点MI MIRROR 镜像对象ML MLINE 绘制多线MO PROPERTIES 对象特性修改MS MSPACE 从图纸空间转换支模型空间MT MTEXT 多行文字写入MV MVIEW 浮动视口O OFFSET 偏移复制OP POPTIONS 选项ORBIT 3DORBIT 三维动态观察器OS OSNAP 对话框式对象捕捉设定*OS *OSNAP 命令式对象捕捉设定P PAN 即时平移*P *PAN 两点式平移控制PA PASTESPEC 选择性粘贴PARTIALOPEN *PASTESPEC 将指定的对象加载对新图形中PE PEDIT 编辑多义线PL PLINE 绘制多义线PO POINT 绘制点POL POLYGON 绘制正多边型PR OPTIONS 选项PRCLOSE PROPERTIESCLOSE 关闭对象特性修改对话框PROPS PROPERTIES 对象特性修改PRE PREVIEW 输出预览PRINT PLOT 打印输出PS PSPACE 图线空间PTW PUBLISHTIWEB 发送支网页PU PURGE 肃清无用对象*PU *PURGE 命令式肃清无用对象R REDRAW 重绘RA REDRAWALL 所有视口重绘RE REGEN 重新生成REA REGENALL 所有视口重新生成REC RECTANGLE 绘制矩形REG REGION 三维面域REN REBAME 对话框式重命名*REN *REBAME 命令式重命名REV REVOLVE 利用绕轴旋转二维对象创建三维体RM DDRMODES 打印辅助设定RO ROTATE 旋转RPR RPREF 设置渲染参考RR RENDER 渲染S STRETCH 拉伸SC SCALE 比例缩放SCR SCRIPT 调入剧本文件SE DSETTINGS 捕捉设定SEC DECTION 通过使平面与实体相交创建面域SET SETVAR 设定变量值SHA SHADE 着色SL SLICE 用平面剖切实体SN SNAP 捕捉控制SO SOLID 填实的三边形或四边形SP SEELL 拼字SPL SPLINE 样条曲线SPE SPLINEDIT 编辑样条曲线ST STYLE 字型设定SU SUBTRACT 差集运算T MTEXT 对话框式多行文字写入*T *MTEXT 命令式多行文字写入TA TABLET 数字化仪规划TH THICKNESS 厚度TI TILEMODE 图线空间和模型空间设定切换TO TOOLBAR 工具栏设定TOL TOLERANCE 公差符号标注TOR TORUS 圆环TR TRIM 修剪UC DDUCS 用户坐标系UCP DDUCSP 设置正交窗口UN UNITS 对话框式单位设定*UN *UNITS 命令式单位设定UNI UNION 并集运算V VIEW 对话框式视图控制*V *VIEW 视图控制VP DDVPOPINT 视点*VP WPOINT 命令式视点W WBLOCK 对话框式图块写出*W *WBLOCK 命令式图块写出WE WEDGE 三维楔体X EXPLODE 分解XA XATTACH 贴附外部参考XB XBIND 并入外部参考*XB *XBIND 命令式并入外部参考XC XCLIP 截取外部参考XL XLINE 构造线XR XREF 对话框式外部参考控制*XR *XREF 命令式外部参考控制Z ZOOM 视口缩入控制CTRL+A 编组CTRL+B 捕捉CTRL+C 复制CTRL+D 坐标CTRL+E 等轴测平面CTRL+F 对象捕捉CTRL+G 删格CTRL+J CTRL+SHIFT+S 图形另存为CTRL+K 超级链接LCTRL+L 正交CTRL+M 帮助CTRL+N 新建CTRL+O 打开CTRL+P 打印CTRL+Q 退出CTRL+S 保存CTRL+T 数字化仪CTRL+U CTRL+F10 极轴CTRL+V 粘贴CTRL+W 对象跟踪CTRL+X 剪切CTRL+z 退回CTRL+1 对象特性CTRL+2 CAD设计中心CTRL+6 数据源CTRL+F6 切换当前窗口CTRL+F8 运行部件CTRL+SHIFT+C c 带基点复制。

超经典CAD lisp程序集锦、CAD快捷键大全

超经典CAD lisp程序集锦、CAD快捷键大全

超经典CAD lisp程序集锦如果您使用 AutoCAD,下面的内容对您一定有帮助。

在某些方面能大大提高您的工作效率。

下面的程序均以源程序方式给出,您可以使用、参考、修改它。

bg.lsp --- 表格自动生成asc.lsp --- 将文本文件内容写入图中,字符是单个的wf.lsp --- 将图中字符写入磁盘exstr.lsp --- 将字符串分解成单字pgtxt.lsp --- 将字符合成字符串pb.lsp --- 通过给出长度将字符串分成两个串cht.lsp --- 直接修改文字内容或块属性ct.lsp --- 对数字串进行加减chh.lsp --- 直接修改文字高度chhw.lsp --- 直接修改文字高宽比(针对PKPM软件将字符定位点改为左下角) chst.lsp --- 直接修改文字字体txt.shx --- 修改后的标准txt.shx文件。

(kuozhan.sld为增强的内容幻灯片)tiao.lsp --- 配合修改过的标准字体文件,将中文字符调大tiao1.lsp --- 配合修改过的标准字体文件,将英文字符调小untiao.lsp --- 上两个程序的复原sht.lsp --- 在图中查找字符串zhuang.lsp --- 桩点及钎探号绘制(勘测图)dim.lsp --- 配合JT.DWG将尺寸标注调成适合建筑结构设计(1:1)dimm.lsp --- 配合JT.DWG将尺寸标注调成适合建筑结构设计(1:100)di1.lsp~di8.lsp --- 直接连续标注尺寸(用于1:1的图)di100.lsp~di800.lsp --- 直接连续标注尺寸(用于1:100的图)详细内容及附件下载请浏览北纬服务论坛/thread-2724-1-1.htmlCAD快捷键大全F1: 获取帮助F2: 实现作图窗和文本窗口的切换F3: 控制是否实现对象自动捕捉F4: 数字化仪控制F5: 等轴测平面切换F6: 控制状态行上坐标的显示方式F7: 栅格显示模式控制F8: 正交模式控制F9: 栅格捕捉模式控制F10: 极轴模式控制F11: 对象追踪式控制Ctrl+B: 栅格捕捉模式控制(F9)刚刚看了一下dra:半径标注ddi:直径标注dal:对齐标注dan:角度标注Ctrl+C: 将选择的对象复制到剪切板上Ctrl+F: 控制是否实现对象自动捕捉(f3) Ctrl+G: 栅格显示模式控制(F7)Ctrl+J: 重复执行上一步命令Ctrl+K: 超级链接Ctrl+N: 新建图形文件Ctrl+M: 打开选项对话框AA: 测量区域和周长(area)AL: 对齐(align)AR: 阵列(array)AP: 加载*lsp程系AV: 打开视图对话框(dsviewer) SE: 打开对相自动捕捉对话框ST: 打开字体设置对话框(style) SO: 绘制二围面( 2d solid) SP: 拼音的校核(spell)SC: 缩放比例 (scale)SN: 栅格捕捉模式设置(snap) DT: 文本的设置(dtext)DI: 测量两点间的距离OI:插入外部对相Ctrl+1: 打开特性对话框Ctrl+2: 打开图象资源管理器Ctrl+6: 打开图象数据原子Ctrl+O: 打开图象文件Ctrl+P: 打开打印对说框Ctrl+S: 保存文件Ctrl+U: 极轴模式控制(F10)Ctrl+v: 粘贴剪贴板上的内容Ctrl+W: 对象追踪式控制(F11) Ctrl+X: 剪切所选择的内容Ctrl+Y: 重做Ctrl+Z: 取消前一步的操作A: 绘圆弧B: 定义块C: 画圆D: 尺寸资源管理器E: 删除F: 倒圆角G: 对相组合H: 填充I: 插入S: 拉伸T: 文本输入W: 定义块并保存到硬盘中L: 直线M: 移动X: 炸开V: 设置当前坐标U: 恢复上一次操做O: 偏移P: 移动Z: 缩放显示降级适配(开关)【O】适应透视图格点【Shift】+【Ctrl】+【A】排列【Alt】+【A】角度捕捉(开关) 【A】动画模式 (开关) 【N】改变到后视图【K】背景锁定(开关) 【Alt】+【Ctrl】+【B】前一时间单位【.】下一时间单位【,】改变到上(Top)视图【T】改变到底(Bottom)视图【B】改变到相机(Camera)视图【C】改变到前(Front)视图【F】改变到等大的用户(User)视图【U】改变到右(Right)视图【R】改变到透视(Perspective)图【P】循环改变选择方式【Ctrl】+【F】默认灯光(开关) 【Ctrl】+【L】删除物体【DEL】当前视图暂时失效【D】是否显示几何体内框(开关) 【Ctrl】+【E】显示第一个工具条【Alt】+【1】专家模式&#0;全屏(开关) 【Ctrl】+【X】暂存(Hold)场景【Alt】+【Ctrl】+【H】取回(Fetch)场景【Alt】+【Ctrl】+【F】冻结所选物体【6】跳到最后一帧【END】跳到第一帧【HOME】显示/隐藏相机(Cameras)【Shift】+【C】显示/隐藏几何体(Geometry) 【Shift】+【O】显示/隐藏网格(Grids) 【G】显示/隐藏帮助(Helpers)物体【Shift】+【H】显示/隐藏光源(Lights) 【Shift】+【L】显示/隐藏粒子系统(Particle Systems) 【Shift】+【P】显示/隐藏空间扭曲(Space Warps)物体【Shift】+【W】锁定用户界面(开关) 【Alt】+【0】匹配到相机(Camera)视图【Ctrl】+【C】材质(Material)编辑器【M】最大化当前视图 (开关) 【W】脚本编辑器【F11】新的场景【Ctrl】+【N】法线(Normal)对齐【Alt】+【N】向下轻推网格小键盘【-】向上轻推网格小键盘【+】NURBS表面显示方式【Alt】+【L】或【Ctrl】+【4】NURBS调整方格1 【Ctrl】+【1】NURBS调整方格2 【Ctrl】+【2】NURBS调整方格3 【Ctrl】+【3】偏移捕捉【Alt】+【Ctrl】+【空格】打开一个MAX文件【Ctrl】+【O】平移视图【Ctrl】+【P】交互式平移视图【I】放置高光(Highlight) 【Ctrl】+【H】播放/停止动画【/】快速(Quick)渲染【Shift】+【Q】回到上一场景*作【Ctrl】+【A】回到上一视图*作【Shift】+【A】撤消场景*作【Ctrl】+【Z】撤消视图*作【Shift】+【Z】刷新所有视图【1】用前一次的参数进行渲染【Shift】+【E】或【F9】渲染配置【Shift】+【R】或【F10】在xy/yz/zx锁定中循环改变【F8】约束到X轴【F5】约束到Y轴【F6】约束到Z轴【F7】旋转(Rotate)视图模式【Ctrl】+【R】或【V】保存(Save)文件【Ctrl】+【S】透明显示所选物体(开关) 【Alt】+【X】选择父物体【PageUp】选择子物体【PageDown】根据名称选择物体【H】选择锁定(开关) 【空格】减淡所选物体的面(开关) 【F2】显示所有视图网格(Grids)(开关) 【Shift】+【G】显示/隐藏命令面板【3】显示/隐藏浮动工具条【4】显示最后一次渲染的图画【Ctrl】+【I】显示/隐藏主要工具栏【Alt】+【6】显示/隐藏安全框【Shift】+【F】*显示/隐藏所选物体的支架【J】显示/隐藏工具条【Y】/【2】百分比(Percent)捕捉(开关) 【Shift】+【Ctrl】+【P】打开/关闭捕捉(Snap) 【S】循环通过捕捉点【Alt】+【空格】声音(开关) 【\】间隔放置物体【Shift】+【I】改变到光线视图【Shift】+【4】循环改变子物体层级【Ins】子物体选择(开关) 【Ctrl】+【B】帖图材质(Texture)修正【Ctrl】+【T】加大动态坐标【+】减小动态坐标【-】激活动态坐标(开关) 【X】精确输入转变量【F12】全部解冻【7】根据名字显示隐藏的物体【5】刷新背景图像(Background) 【Alt】+【Shift】+【Ctrl】+【B】显示几何体外框(开关) 【F4】视图背景(Background) 【Alt】+【B】用方框(Box)快显几何体(开关) 【Shift】+【B】打开虚拟现实数字键盘【1】虚拟视图向下移动数字键盘【2】虚拟视图向左移动数字键盘【4】虚拟视图向右移动数字键盘【6】虚拟视图向中移动数字键盘【8】虚拟视图放大数字键盘【7】虚拟视图缩小数字键盘【9】实色显示场景中的几何体(开关) 【F3】全部视图显示所有物体【Shift】+【Ctrl】+【Z】*视窗缩放到选择物体范围(Extents)【E】缩放范围【Alt】+【Ctrl】+【Z】视窗放大两倍【Shift】+数字键盘【+】放大镜工具【Z】视窗缩小两倍【Shift】+数字键盘【-】根据框选进行放大【Ctrl】+【w】视窗交互式放大【[】视窗交互式缩小【]】轨迹视图加入(Add)关键帧【A】前一时间单位【<】下一时间单位【>】编辑(Edit)关键帧模式【E】编辑区域模式【F3】编辑时间模式【F2】展开对象(Object)切换【O】展开轨迹(Track)切换【T】函数(Function)曲线模式【F5】或【F】锁定所选物体【空格】向上移动高亮显示【↓】向下移动高亮显示【↑】向左轻移关键帧【←】向右轻移关键帧【→】位置区域模式【F4】回到上一场景*作【Ctrl】+【A】撤消场景*作【Ctrl】+【Z】用前一次的配置进行渲染【F9】渲染配置【F10】向下收拢【Ctrl】+【↓】向上收拢【Ctrl】+【↑】材质编辑器用前一次的配置进行渲染【F9】渲染配置【F10】撤消场景*作【Ctrl】+【Z】示意(Schematic)视图下一时间单位【>】前一时间单位【<】回到上一场景*作【Ctrl】+【A】撤消场景*作【Ctrl】+【Z】Active Shade绘制(Draw)区域【D】渲染(Render) 【R】锁定工具栏(泊坞窗) 【空格】视频编辑加入过滤器(Filter)项目【Ctrl】+【F】加入输入(Input)项目【Ctrl】+【I】加入图层(Layer)项目【Ctrl】+【L】加入输出(Output)项目【Ctrl】+【O】加入(Add)新的项目【Ctrl】+【A】加入场景(Scene)事件【Ctrl】+【s】编辑(Edit)当前事件【Ctrl】+【E】执行(Run)序列【Ctrl】+【R】新(New)的序列【Ctrl】+【N】撤消场景*作【Ctrl】+【Z】NURBS编辑CV 约束法线(Normal)移动【Alt】+【N】CV 约束到U向移动【Alt】+【U】CV 约束到V向移动【Alt】+【V】显示曲线(Curves) 【Shift】+【Ctrl】+【C】显示控制点(Dependents) 【Ctrl】+【D】显示格子(Lattices) 【Ctrl】+【L】NURBS面显示方式切换【Alt】+【L】显示表面(Surfaces) 【Shift】+【Ctrl】+【s】显示工具箱(Toolbox) 【Ctrl】+【T】显示表面整齐(Trims) 【Shift】+【Ctrl】+【T】根据名字选择本物体的子层级【Ctrl】+【H】锁定2D 所选物体【空格】选择U向的下一点【Ctrl】+【→】选择V向的下一点【Ctrl】+【↑】选择U向的前一点【Ctrl】+【←】选择V向的前一点【Ctrl】+【↓】根据名字选择子物体【H】柔软所选物体【Ctrl】+【s】转换到Curve CV 层级【Alt】+【Shift】+【Z】转换到Curve 层级【Alt】+【Shift】+【C】转换到Imports 层级【Alt】+【Shift】+【I】转换到Point 层级【Alt】+【Shift】+【P】转换到Surface CV 层级【Alt】+【Shift】+【V】转换到Surface 层级【Alt】+【Shift】+【S】转换到上一层级【Alt】+【Shift】+【T】转换降级【Ctrl】+【X】FFD转换到控制点(Control Point)层级【Alt】+【Shift】+【C】到格点(Lattice)层级【Alt】+【Shift】+【L】到设置体积(Volume)层级【Alt】+【Shift】+【S】转换到上层级【Alt】+【Shift】+【T】打开的UVW贴图进入编辑(Edit)UVW模式【Ctrl】+【E】调用*.uvw文件【Alt】+【Shift】+【Ctrl】+【L】保存UVW为*.uvw格式的文件【Alt】+【Shift】+【Ctrl】+【S】打断(Break)选择点【Ctrl】+【B】分离(Detach)边界点【Ctrl】+【D】过滤选择面【Ctrl】+【空格】水平翻转【Alt】+【Shift】+【Ctrl】+【B】垂直(Vertical)翻转【Alt】+【Shift】+【Ctrl】+【V】冻结(Freeze)所选材质点【Ctrl】+【F】隐藏(Hide)所选材质点【Ctrl】+【H】全部解冻(unFreeze) 【Alt】+【F】全部取消隐藏(unHide) 【Alt】+【H】从堆栈中获取面选集【Alt】+【Shift】+【Ctrl】+【F】从面获取选集【Alt】+【Shift】+【Ctrl】+【V】锁定所选顶点【空格】水平镜象【Alt】+【Shift】+【Ctrl】+【N】垂直镜象【Alt】+【Shift】+【Ctrl】+【M】水平移动【Alt】+【Shift】+【Ctrl】+【J】垂直移动【Alt】+【Shift】+【Ctrl】+【K】平移视图【Ctrl】+【P】象素捕捉【S】平面贴图面/重设UVW 【Alt】+【Shift】+【Ctrl】+【R】水平缩放【Alt】+【Shift】+【Ctrl】+【I】垂直缩放【Alt】+【Shift】+【Ctrl】+【O】移动材质点【Q】旋转材质点【W】等比例缩放材质点【E】焊接(Weld)所选的材质点【Alt】+【Ctrl】+【W】焊接(Weld)到目标材质点【Ctrl】+【W】Unwrap的选项(Options) 【Ctrl】+【O】更新贴图(Map) 【Alt】+【Shift】+【Ctrl】+【M】将Unwrap视图扩展到全部显示【Alt】+【Ctrl】+【Z】框选放大Unwrap视图【Ctrl】+【Z】将Unwrap视图扩展到所选材质点的大小【Alt】+【Shift】+【Ctrl】+【Z】缩放到Gizmo大小【Shift】+【空格】缩放(Zoom)工具【Z】反应堆(Reactor)建立(Create)反应(Reaction) 【Alt】+【Ctrl】+【C】删除(Delete)反应(Reaction) 【Alt】+【Ctrl】+【D】编辑状态(State)切换【Alt】+【Ctrl】+【s】设置最大影响(Influence) 【Ctrl】+【I】设置最小影响(Influence) 【Alt】+【I】设置影响值(Value) 【Alt】+【Ctrl】+【V】ActiveShade (Scanline)初始化【P】更新【U】宏编辑器累积计数器【Q】[color=#800080]AutoCAD快捷键快捷键执行命令命令说明3A 3DARRAY 三维阵列3DO 3DORBIT 三维动态观察器3F 3DFACE 三维表面3P 3DPOLY 三维多义线A ARC 圆弧ADC ADCENTER AutoCAD设计设计中心AA AREA 面积AL ALIGN 对齐(适用于二维和三维)AP APPLOAD 加载、卸载应用程序AR ARRAY 阵列*AR *ARRAY 命令式阵列ATT ATTDEF 块的属性*ATT *ATTDEF 命令式块的属性ATE ATTEDIT 编辑属性ATE *ATTEDIT 命令式编辑属性ATTE *ATTEDIT 命令式编辑属性B BLOCK 对话框式图块建立*B *BLOCK 命令式图块建立BH BHATCH 对话框式绘制图案填充BO BOUNDARY 对话框式封闭边界建立*BO *BOUNDARY 命令式封闭边界建立BR BREAK 打断C CIRCLE 圆CHA PROPERTIES 对话框式对象特情修改*CH CHANGE 命令式特性修改CHA CHAMFER 倒角COL COLCR 对话框式颜色设定COLOUR COLCR 对话框式颜色设定CO COPY 复制D DIMSTYLE 尺寸样式设定DAL DIMALIGNED 对齐式线性标注DAN DIMANGULAR 角度标注DBA DIMBASELINE 基线式标注DBC DBCONNECT 提供到外部数据库表的接口DCE DIMCENTER 圆心标记DCO DIMCONTINUE 连续式标注DDA DIMDISASSOCIATE 标注不关联DDI DIMDIAMETER 直径标注DED DIMEDIT 尺寸修改DI DIST 测量两点间距离DIV DIVIDE 等分布点DLI DIMLINEAR 线性标注DO DONUT 双圆DOR DIMORDIMATE 坐标式标注DOV DIMOVERRIDE 更新标注变量DR DRAWORDER 显示顺序DRA DIMRADIUS 半径标注DRE DIMREASSOCIATE 标注关联DS DSETTINGS 捕捉设定DST DIMSTYLE 尺寸样式设定DT DTEXT 写入文字DV DVIEW 定义平行投影或透视投影视图E ERASE 删除对象ED DDEDIT 单行文字修改EL ELLIPSE 椭圆EX EXTEND 延伸EXIT QUIT 退出EXP EXPORT 输出文件EXT EXTRUDE 将二维对象拉伸为三、维维实体F FILLET 倒圆角FI FILTER 过滤器G GROUP 对话框式选择集设定*G *GROUP 命令式选择集设定GR DDGRIPS 夹点控制设定H BHATCH 对话框式绘制图案填充*H HATCH 命令式绘制图案填充HE HATCHEDIT 编辑图案填充HI HIDE 消隐I INSERT 对话框式插入图块*I *INSERT 命令式插入图块IAD IMAGEADJUST 图像调整IAT IMAGEATTACH 并入图像ICL IMAGECLIP 截取图像IM IMAGE 对话框式附着图像*IM *IMAGE 命令式贴附图像IMP IMPORT 输入文件IN INTERSECT 将相交实体或面域部分创建INF IMTERFERE 由共同部分创建三维实体IO INSERTOBJ 插入对象L LINE 画线LA LAYER 对话框式图层控制*LA *LAYER 命令式图层控制LE QLEADER 引导线标注LRN LENGTHEN 长度LI LIST 查询对象文件LINEWEIGHT LWEIGHT 线宽LO *LAYOUT 配置设定LS LIST 查询对象文件LT LINETYPE 对话框式线型加载*LT *LINETYPE 命令式线型加载LTYPE LINETYPE 对话框式线型加载*LTYPE *LINETYPE 命令式线型加载LTS LTSCALE 设置线型比例因子LW LWEIGHT 线宽设定M MOVE 搬移对象MA MATCHPROP 对象特性复制ME MEASURE 量测等距布点MI MIRROR 镜像对象ML MLINE 绘制多线MO PROPERTIES 对象特性修改MS MSPACE 从图纸空间转换支模型空间MT MTEXT 多行文字写入MV MVIEW 浮动视口O OFFSET 偏移复制OP POPTIONS 选项ORBIT 3DORBIT 三维动态观察器OS OSNAP 对话框式对象捕捉设定*OS *OSNAP 命令式对象捕捉设定P PAN 即时平移*P *PAN 两点式平移控制PA PASTESPEC 选择性粘贴PARTIALOPEN *PASTESPEC 将指定的对象加载对新图形中PE PEDIT 编辑多义线PL PLINE 绘制多义线PO POINT 绘制点POL POLYGON 绘制正多边型PR OPTIONS 选项PRCLOSE PROPERTIESCLOSE 关闭对象特性修改对话框PROPS PROPERTIES 对象特性修改PRE PREVIEW 输出预览PRINT PLOT 打印输出PS PSPACE 图线空间PTW PUBLISHTIWEB 发送支网页PU PURGE 肃清无用对象*PU *PURGE 命令式肃清无用对象R REDRAW 重绘RA REDRAWALL 所有视口重绘RE REGEN 重新生成REA REGENALL 所有视口重新生成REC RECTANGLE 绘制矩形REG REGION 三维面域REN REBAME 对话框式重命名*REN *REBAME 命令式重命名REV REVOLVE 利用绕轴旋转二维对象创建三维体RM DDRMODES 打印辅助设定RO ROTATE 旋转RPR RPREF 设置渲染参考RR RENDER 渲染S STRETCH 拉伸SC SCALE 比例缩放SCR SCRIPT 调入剧本文件SE DSETTINGS 捕捉设定SEC DECTION 通过使平面与实体相交创建面域SET SETVAR 设定变量值SHA SHADE 着色SL SLICE 用平面剖切实体SN SNAP 捕捉控制SO SOLID 填实的三边形或四边形SP SEELL 拼字SPL SPLINE 样条曲线SPE SPLINEDIT 编辑样条曲线ST STYLE 字型设定SU SUBTRACT 差集运算T MTEXT 对话框式多行文字写入*T *MTEXT 命令式多行文字写入TA TABLET 数字化仪规划TH THICKNESS 厚度TI TILEMODE 图线空间和模型空间设定切换TO TOOLBAR 工具栏设定TOL TOLERANCE 公差符号标注TOR TORUS 圆环TR TRIM 修剪UC DDUCS 用户坐标系UCP DDUCSP 设置正交窗口UN UNITS 对话框式单位设定*UN *UNITS 命令式单位设定UNI UNION 并集运算V VIEW 对话框式视图控制*V *VIEW 视图控制VP DDVPOPINT 视点*VP WPOINT 命令式视点W WBLOCK 对话框式图块写出*W *WBLOCK 命令式图块写出WE WEDGE 三维楔体X EXPLODE 分解XA XATTACH 贴附外部参考XB XBIND 并入外部参考*XB *XBIND 命令式并入外部参考XC XCLIP 截取外部参考XL XLINE 构造线XR XREF 对话框式外部参考控制*XR *XREF 命令式外部参考控制Z ZOOM 视口缩入控制CTRL+A 编组CTRL+B 捕捉CTRL+C 复制CTRL+D 坐标CTRL+E 等轴测平面CTRL+F 对象捕捉CTRL+G 删格CTRL+J CTRL+SHIFT+S 图形另存为CTRL+K 超级链接LCTRL+L 正交CTRL+M 帮助CTRL+N 新建CTRL+O 打开CTRL+P 打印CTRL+Q 退出CTRL+S 保存CTRL+T 数字化仪CTRL+U CTRL+F10 极轴CTRL+V 粘贴CTRL+W 对象跟踪CTRL+X 剪切CTRL+z 退回CTRL+1 对象特性CTRL+2 CAD设计中心CTRL+6 数据源CTRL+F6 切换当前窗口CTRL+F8 运行部件CTRL+SHIFT+C 带基点复制快捷键执行命令命令说明3A 3DARRAY 三维阵列3DO 3DORBIT 三维动态观察器3F 3DFACE 三维表面3P 3DPOLY 三维多义线A ARC 圆弧ADC ADCENTER AutoCAD设计设计中心AA AREA 面积AL ALIGN 对齐(适用于二维和三维)AP APPLOAD 加载、卸载应用程序AR ARRAY 阵列*AR *ARRAY 命令式阵列ATT ATTDEF 块的属性*ATT *ATTDEF 命令式块的属性ATE ATTEDIT 编辑属性ATE *ATTEDIT 命令式编辑属性ATTE *ATTEDIT 命令式编辑属性B BLOCK 对话框式图块建立*B *BLOCK 命令式图块建立BH BHATCH 对话框式绘制图案填充BO BOUNDARY 对话框式封闭边界建立*BO *BOUNDARY 命令式封闭边界建立BR BREAK 打断C CIRCLE 圆CHA PROPERTIES 对话框式对象特情修改*CH CHANGE 命令式特性修改CHA CHAMFER 倒角COL COLCR 对话框式颜色设定COLOUR COLCR 对话框式颜色设定CO COPY 复制D DIMSTYLE 尺寸样式设定DAL DIMALIGNED 对齐式线性标注DAN DIMANGULAR 角度标注DBA DIMBASELINE 基线式标注DBC DBCONNECT 提供到外部数据库表的接口DCE DIMCENTER 圆心标记DCO DIMCONTINUE 连续式标注DDA DIMDISASSOCIATE 标注不关联DDI DIMDIAMETER 直径标注DED DIMEDIT 尺寸修改DI DIST 测量两点间距离DIV DIVIDE 等分布点DLI DIMLINEAR 线性标注DO DONUT 双圆DOR DIMORDIMATE 坐标式标注DOV DIMOVERRIDE 更新标注变量DR DRAWORDER 显示顺序DRA DIMRADIUS 半径标注DRE DIMREASSOCIATE 标注关联DS DSETTINGS 捕捉设定DST DIMSTYLE 尺寸样式设定DT DTEXT 写入文字DV DVIEW 定义平行投影或透视投影视图E ERASE 删除对象ED DDEDIT 单行文字修改EL ELLIPSE 椭圆EX EXTEND 延伸EXIT QUIT 退出EXP EXPORT 输出文件EXT EXTRUDE 将二维对象拉伸为三、维F FILLET 倒圆角FI FILTER 过滤器G GROUP 对话框式选择集设定*G *GROUP 命令式选择集设定GR DDGRIPS 夹点控制设定H BHATCH 对话框式绘制图案填充*H HATCH 命令式绘制图案填充HE HATCHEDIT 编辑图案填充HI HIDE 消隐I INSERT 对话框式插入图块*I *INSERT 命令式插入图块IAD IMAGEADJUST 图像调整IAT IMAGEATTACH 并入图像ICL IMAGECLIP 截取图像IM IMAGE 对话框式附着图像*IM *IMAGE 命令式贴附图像IMP IMPORT 输入文件IN INTERSECT 将相交实体或面域部分创建INF IMTERFERE 由共同部分创建三维实体IO INSERTOBJ 插入对象L LINE 画线LA LAYER 对话框式图层控制*LA *LAYER 命令式图层控制LE QLEADER 引导线标注LRN LENGTHEN 长度LI LIST 查询对象文件LINEWEIGHT LWEIGHT 线宽LO *LAYOUT 配置设定LS LIST 查询对象文件LT LINETYPE 对话框式线型加载*LT *LINETYPE 命令式线型加载LTYPE LINETYPE 对话框式线型加载*LTYPE *LINETYPE 命令式线型加载LTS LTSCALE 设置线型比例因子LW LWEIGHT 线宽设定M MOVE 搬移对象MA MATCHPROP 对象特性复制ME MEASURE 量测等距布点MI MIRROR 镜像对象ML MLINE 绘制多线MO PROPERTIES 对象特性修改MS MSPACE 从图纸空间转换支模型空间MT MTEXT 多行文字写入MV MVIEW 浮动视口O OFFSET 偏移复制OP POPTIONS 选项ORBIT 3DORBIT 三维动态观察器OS OSNAP 对话框式对象捕捉设定*OS *OSNAP 命令式对象捕捉设定P PAN 即时平移*P *PAN 两点式平移控制PA PASTESPEC 选择性粘贴PARTIALOPEN *PASTESPEC 将指定的对象加载对新图形中PE PEDIT 编辑多义线PL PLINE 绘制多义线PO POINT 绘制点POL POLYGON 绘制正多边型PR OPTIONS 选项PRCLOSE PROPERTIESCLOSE 关闭对象特性修改对话框PROPS PROPERTIES 对象特性修改PRE PREVIEW 输出预览PRINT PLOT 打印输出PS PSPACE 图线空间PTW PUBLISHTIWEB 发送支网页PU PURGE 肃清无用对象*PU *PURGE 命令式肃清无用对象R REDRAW 重绘RA REDRAWALL 所有视口重绘RE REGEN 重新生成REA REGENALL 所有视口重新生成REC RECTANGLE 绘制矩形REG REGION 三维面域REN REBAME 对话框式重命名*REN *REBAME 命令式重命名REV REVOLVE 利用绕轴旋转二维对象创建三维体RM DDRMODES 打印辅助设定RO ROTATE 旋转RPR RPREF 设置渲染参考RR RENDER 渲染S STRETCH 拉伸SC SCALE 比例缩放SCR SCRIPT 调入剧本文件SE DSETTINGS 捕捉设定SEC DECTION 通过使平面与实体相交创建面域SET SETVAR 设定变量值SHA SHADE 着色SL SLICE 用平面剖切实体SN SNAP 捕捉控制SO SOLID 填实的三边形或四边形SP SEELL 拼字SPL SPLINE 样条曲线SPE SPLINEDIT 编辑样条曲线ST STYLE 字型设定SU SUBTRACT 差集运算T MTEXT 对话框式多行文字写入*T *MTEXT 命令式多行文字写入TA TABLET 数字化仪规划TH THICKNESS 厚度TI TILEMODE 图线空间和模型空间设定切换TO TOOLBAR 工具栏设定TOL TOLERANCE 公差符号标注TOR TORUS 圆环TR TRIM 修剪UC DDUCS 用户坐标系UCP DDUCSP 设置正交窗口UN UNITS 对话框式单位设定*UN *UNITS 命令式单位设定UNI UNION 并集运算V VIEW 对话框式视图控制*V *VIEW 视图控制VP DDVPOPINT 视点*VP WPOINT 命令式视点W WBLOCK 对话框式图块写出*W *WBLOCK 命令式图块写出WE WEDGE 三维楔体X EXPLODE 分解XA XATTACH 贴附外部参考XB XBIND 并入外部参考*XB *XBIND 命令式并入外部参考XC XCLIP 截取外部参考XL XLINE 构造线XR XREF 对话框式外部参考控制*XR *XREF 命令式外部参考控制Z ZOOM 视口缩入控制CTRL+A 编组CTRL+B 捕捉CTRL+C 复制CTRL+D 坐标CTRL+E 等轴测平面CTRL+F 对象捕捉CTRL+G 删格CTRL+J CTRL+SHIFT+S 图形另存为CTRL+K 超级链接LCTRL+L 正交CTRL+M 帮助CTRL+N 新建CTRL+O 打开CTRL+P 打印CTRL+Q 退出CTRL+S 保存CTRL+T 数字化仪CTRL+U CTRL+F10 极轴CTRL+V 粘贴CTRL+W 对象跟踪CTRL+X 剪切CTRL+z 退回CTRL+1 对象特性CTRL+2 CAD设计中心CTRL+6 数据源CTRL+F6 切换当前窗口CTRL+F8 运行部件CTRL+SHIFT+C c 带基点复制。

autolisp对话框实例-齿轮

autolisp对话框实例-齿轮

:boxed_column{label="定位点";//加框列,有两个编辑框和一个按钮
:edit_box{label = “定位点&x坐标:”;//定位点x编辑框
key = "p_x";
edit_width =8; value="150";}
:edit_box{label = “定位点&y坐标:”;//定位点y编辑框
图13-2确定螺钉参数对话框
(4)确定螺钉的几何参数 通过“螺钉大径d”的列表选择螺钉 的大径d。 通过“螺钉长度L”的列表选择螺钉 的的长度L。 如果需要绘制非标准尺寸的螺钉, 打开“自定义尺寸”切换开关。“螺 钉大径d”和“螺钉长度L”列表从可用 改变为禁用的状态,“自定义大径d” 和“自定义长度L”编辑框从禁用改变 为可用的状态。通过“自定义大径d” 和“自定义长度L”编辑框输入自定义 的螺钉尺寸。 螺钉的定位点和旋转角既可以在相 应的编辑框输入数值,也可以单击 “光标拾取<”按钮,用鼠标在屏幕上 确定。
列表处于禁用状态,此时在自定义尺寸的编辑框输入数据,即可绘制出非标 准的螺钉。 实例二是定义范成法加工齿轮的命令。调用该命令即可仿真演示范成法加 工齿轮的过程,逼真地演示了生成渐开线齿形的原理。该实例利用图元名作 为选择图形对象的手段,利用面域作为加工的刀具和对象,利用布尔差运算 完成了齿轮的加工。在调用命令的过程中,被加工齿轮的模数、压力角从下 拉列表中选择,齿数、变位系利用具有互动关系的编辑框和滑动条输入,通 过互鎻按钮确定齿廓精度。齿轮加工完毕,显示其几何参数,并可以将其参 数输入到指定的文件。
第13章 综合应用实例
本章介绍两个以对话框设计为主的两个综合应用实例。

lisp编程实例

lisp编程实例

lisp编程实例Visual LISP 编程应用实例集一、计算类程序1.计算阶剩值n! (注意:采用了递归方式)(defun jsen (n)(if (= n 0) 1 (* n (jsen (1- n)))));3) 2.迭代计算(x,x,1,0(defun ddai (x)(setq x1 0 x2 x e 1.0e-5 i 0)(while (> (abs (- x2 x1)) e) (setq x1 x2) (setq x2 (expt (+ x1 1) (/ 1 3.0))) (setq i (1+ i)));while(print "x=") (princ x2) (print "i=") (princ i)(princ));end23.一元二次方程求解() ax,bx,c,0(defun px2 (a b c)(setq d (- (expt b 2.0) (* 4 a c)))(cond ((< d 0) (prompt "\nNo root!"))((= d 0) (progn (setq x (/ b (* -2.0 a))) (prompt "\nOne root! x=") (princ x)))((> d 0) (progn (setq x1 (/ (- (sqrt d) b) (* 2.0 a)) x2 (/ (+ (sqrt d) b) (* -2.0 a)))(prompt "\nTwo root! x1=") (princ x1) (prompt " x2=") (princx2))));cond (princ));end4.成绩分析统计注意:使用该程序前须将全班成绩输入一个数据文件中保存,格式为(78 8967 ….)(defun sjfx (fname)(setq f (open fname "r")) (setq lb nil) (while (setq sd (read-line f)) (setq lb (append lb (read sd))))(close f) (setq xsum 0) (foreach x lb (setq xsum (+ x xsum))) (setqn (length lb) xb 0) (setq xbar (/ xsum (* 1.0 n))) (foreach x lb (setqxb (+ xb (* (- x xbar) (- x xbar))))) (setq xbzc (sqrt (/ xb (* 1.0 n)))) (repeat 18 (terpri))(prompt "************ 统计结果 ******************") (terpri)(prompt (strcat " 全班总平均分数 X=" (rtos xbar 2 3))) (terpri)(prompt (strcat " 标准差δ=" (rtos xbzc 2 3))) (terpri)(prompt (strcat " Total number: N=" (rtos n 2 0))) (terpri) (prompt "****************************************") (terpri) (princ));end二、数据检索类1.根据计算模数检索标准模数值(假定mc为1~10之间的任意值,以实参代入)(defun jsm (mc)(setq ml '(1 1.25 1.5 2 2.5 3 4 5 6 8 10)) (setq m 0 n 0)(while (< m mc) (setq m (nth n ml) n (1+ n)));while(prompt (strcat "\nm=" (rtos m 2 1)))(princ));end2.检索一类数据文件(一类数据文件必须存在,且数据格式必须统一)(defun js1 (fname kd / ft nt j x)1(setq f (open fname "r")) (setq ft (read (read-line f)) nt (read (read-line f)))(while (/= kd (car nt)) (setq nt (read (read-line f)))) ;while (setq j -1) (repeat (length nt) (setq j (1+ j) x (nth j ft)) (set x (nth j nt)));reapeat(close f) nt);end3.检索二类数据文件(二类数据文件必须存在,且数据格式必须统一)(defun js2 (fname kd / ft nt j x)(setq f (open fname "r")) (setq ft (read (read-line f)) nt (read (read-line f)))(while (or (<= kd (car nt)) (> kd (cadr nt))) (setq nt (read (read-line f))));while(setq j -1) (repeat (length nt) (setq j (1+ j) x (nth j ft)) (set x (nth j nt)));repeat(close f) nt);end三、参数化绘图类1.绘制正弦曲线函数y=sinx (注意:计算数据存放在表变量lpt中)(Defun C:Dsin(/ x n z s dx cm bl x0 y0)(SetQ x 0P (GetPoint "\n基点:") x0 (Car p) y0 (Cadr p)n (GetInt "\n精度(全线上直线片段数):")z (GetReal "\n周期数:")s (GetReal "\n波高系数:")dx (/ (* z 2 Pi) n))(SetQ cm (GetVar "cmdecho") bl (GetVar "blipmode")os (GetVar "osmode"))(SetVar "cmdecho" 0) (SetVar "blipmode" 0) (SetVar "osmode" 0)(Command "pline" p)(Repeat n(SetQ x (+ x dx))(Command (List (+ x0 x) (+ y0 (* s (Sin x))))))(Command "")(SetVar "cmdecho" cm)(setvar "blipmode" bl)(setvar "osmode" os)(PrinC))2.装有键的轴或孔的图形绘制(注:平键数据存于二类数据文件jc.dat中)(defun jcz (d flag / x1 x2 x cp pt1 pt2 pt3 pt4 t1)(if (not js2) (load "d:/cad_1/js2")) (js2 "d:/cad_1/jc.dat" d) (initget 6) (setq cp (getpoint "\nCenter point:")) (command "ucs" "o" cp) (setq x1 (expt (* 0.5 d) 2.0) x2 (expt (* 0.5 b) 2.0)) (setq x (sqrt (- x1 x2)))(if (= flag 1) (setq t1 tz) (setq t1 (* -1 tk)))(setq pt1 (list x (* 0.5 b)) pt2 (list (- (* 0.5 d) t1) (* 0.5 b)) pt3 (polar pt2 (* 1.5 pi) b) pt4 (polar pt1 (* 1.5 pi) b))2(command "pline" pt1 "a" "ce" "0,0" pt4 "l" pt3 pt2 pt1 "")(if (= flag 1) (command "hatch" "u" 45 4 "" "l" "")) (command "layer" "s" "center" "" "" "") (command "line" (polar '(0 0) pi (+ 3 (* 0.5 d))) (polar '(0 0) 0 (+ 3 (* 0.5 d))) "") (command "line" (polar '(0 0) (* 0.5 pi) (+ 3 (* 0.5 d))) (polar '(0 0) (* 1.5 pi) (+ 3 (* 0.5 d))) "")(command "layer" "s" 0 "" "" "") (princ));end3.绘制阴阳图形(defun yinyang (r)(setq bp (getpoint "\nEnter center point:")) (command "color" 2) (command "circle" bp r)(command "pline" (polar bp (* 0.5 pi) r) "a" bp (polar bp (* 1.5 pi) r) "")(command "bhatch" "p" "s" (polar bp (* 0.5 pi) (* 0.5 r)) "") (command "color" 1)(command "bhatch" "p" "s" (polar bp (* 1.5 pi) (* 0.5 r)) ""));end4.绘制一个五角星图案(defun star_5 (r)(command "color" 1) (setq cp (getpoint "\nCenter point:"))(setq pt1 (polar cp (* 0.017453 18) r) pt2 (polar cp (* 0.017453 54) r) p2 (polar cp (* 0.5 pi) r)) (setq p1 (inters cp pt2 pt1 (polar pt1 pi r)) p3 (polar cp (* 0.017453 126) (distance cp p1))) (command "pline" cpp1 p2 p3 cp p2 "") (setq s (ssadd (entlast)))(command "bhatch" "p" "s" (polar cp (* 0.017453 70) (* 0.2 r)) "") (setq s (ssadd (entlast) s)) (command "color" 2) (command "bhatch" "p" "s" (polar cp (* 0.017453 95) (* 0.2 r)) "") (setq s (ssadd (entlast) s)) (command "array" s "" "p" cp 5 "" "")(princ));end5.绘制图框(n=0,1~5)(defun tk (n)(setq lpt '(1189 841 594 420 297 210 148))(setq l (nth n lpt) b (nth (+ n 1) lpt))(if (< n 3) (setq c 10) (setq c 5))(command "rectangle" '(0 0) (list l b))(command "rectangle" (list 25 c) (list (- l c) (- b c))));end6.绘制参数曲线x=sin2a, y=sin5a [0~2pi](注意:采用了递归方式)(defun draw_xy ()(setq bp (getpoint "\nEnter base point:"))(command "ucs" "o" bp)(command "pline" (draw_xy_aux 0)));main;--------------------------------------------------(defun draw_xy_aux (a)(cond ((> a (* 2 pi)) (command "0,0" "" "ucs" "w"))(t (command (list (sin (* 2.0 a)) (sin (* 5.0 a))))(draw_xy_aux (+ a 0.05))));cond);end37.绘制参数曲线x=sin5a.cosa, y=sin5a.sin4a(注意:采用了数据文件读、写方式) (defun qx_xy ()(setq f (open "qx.dat" "w")) (setq a 0) (while (< a (* 2 pi)) (setqx (* (sin (* 5 a)) (cos a)) y (* (sin (* 5 a)) (sin (* 4 a)))) (princ x f) (princ "," f) (princ y f) (princ "\n" f) (setq a (+ a0.05)));while(princ "0,0" f) (close f)(draw_qx) (princ));main;------------------------------------------------- (defun draw_qx () (setq bp (getpoint "\nEnter base point:")) (command "ucs" "o" bp "pline")(setq f (open "qx.dat" "r"))(while (setq pt (read-line f)) (command pt)) (close f)(command "" "ucs" "w")(princ));end8.绘制由方程y=cos(0.9x)产生的图形(注:计算数据存放于表变量lpt中) (defun c:spr (/ cp lpt x)(setq cp (getpoint "\nCenter point:")) (setq x 0 lpt nil)(repeat (fix (1+ (/ (* 20 pi) 0.2))) (setq lpt (append lpt (list (polar cp x (cos (* 0.9 x))))))(setq x (+ x 0.2)));repeat(setq lpt (append lpt (list (polar cp (* 20 pi) 1) "")))(command "pline")(foreach pt lpt (command pt))(princ));end四、对话框编程实例1(定制对话框zdbx:dialog{label="带圆正多边形";:row{:boxed_column{:edit_box{label="边数";key="number";value=6;}:edit_box{label="半径";key="rad";value=20;}}:boxed_column{4:radio_button{label="内接圆";key="nq";}:radio_button{label="外切圆";key="wq";value=1;}}}ok_cancel;}2(程序驱动(defun dbx ()(setq id (load_dialog "e:/jscad/zdbx")) (if (< id 0) (exit))(if (not (new_dialog "zdbx" id)) (exit))(action_tile "number" "(set_tile $key $value)")(action_tile "rad" "(set_tile $key $value)")(action_tile "nq" "(setq fg 1)")(action_tile "wq" "(setq fg 0)")(action_tile "accept" "(qsj) (done_dialog)")(action_tile "cancel" "(setq what -1) (done_dialog)") (start_dialog) (unload_dialog id)(if (> what 0) (draw_zdbx n r flag)) );end;----------------------------(defun draw_zdbx (n r flag)(setq bp (getpoint "\nBase point:"))(command "circle" bp r)(command "polygon" n bp flag r));---------------------------(defun qsj ()(setq n (atoi (get_tile "number")))(setq r (atof (get_tile "rad")))(if (= fg 1) (setq flag "i") (setq flag "c")) (setq what 1));end五(局部菜单设计编程实例//***MENUGROUP=用户菜单***POP1[用户菜单][--][->平键联接][圆头平键]^c^c(if (not aj) (load "d:/cad_1/aj")) (aj) [半圆头键]^c^c(if (not bj) (load "d:/cad_1/bj")) (bj) [方型平键]^c^c(if (not cj) (load "d:/cad_1/cj")) (cj) [键槽轴面]^c^c(if (not jcz) (load"d:/cad_1/jcz")) (jcz 1) [<-键槽孔面]^c^c(if (not jcz) (load"d:/cad_1/jcz")) (jcz 0)5[~--][->图纸幅面][A0幅面]^c^crectangle 0,0 1189,841 rectangle 25,10 1179,831 [A1幅面]^c^crectangle 0,0 841,594 rectangle 25,10 831,584 [A2幅面]^c^crectangle 0,0 594,420 rectangle 25,10 584,410 [A3幅面]^c^crectangle 0,0 420,297 rectangle 25,10 410,287 [A4幅面]^c^crectangle 0,0 297,210 rectangle 25,5 287,205 [<-A5幅面]^c^crectangle 0,0 210,147 rectangle 25,5 200,142 [~--] [标题栏]^C^C(command "insert" "d:/cad_1/btl" pause "" "" pause) [粗糙度]^C^C(command "insert" "d:/cad_1/czd1" pause "" "" pause) [基准符号]^c^c(command "insert" "d:/cad_1/jzfh" pause "" "" pause) [清屏幕]^c^c(if (not cls) (load "d:/cad_1/cls")) cls; [--][圆多边形]^C^C(if (not dbx) (load "e:/jscad/zdbx")) (dbx) [--] ----------------------------------------------------------------------------------------------------------------(说明:该程序仅用于《CAD软件二次开发》课程学习参考和上机训练,不得随意传抄)梯形, (defun dytx (sd xd gd), (setq bp (getpoint "\nEnter base point:")), (command "ucs" "o" bp), (setq p1 (list (* 0.5 (- xd sd)) gd), p2 (polar p1 0 sd), p3 (list xd 0)), (command "pline" "0,0" p1 p2 p3 "c"), (command "ucs" "w"));endW五角星(defun wjx (r)(setq cp (getpoint "\n指定中心点:"))(setq p1 (polar cp (* 0.5 pi) r)p2 (polar cp (* 0.017453 162) r)p3 (polar cp (* 0.017453 234) r)p4 (polar cp (* 0.017453 306) r)p5 (polar cp (* 0.017453 18) r))(setq p12 (inters p1 p3 p2 p5)p23 (inters p1 p3 p2 p4)p34 (inters p2 p4 p3 p5)p45 (inters p1 p4 p3 p5)p15 (inters p1 p4 p2 p5))6(command "pline" p1 p12 p2 p23 p3 p34 p4 p45 p5 p15 "c")(command "circle" cp r))鼓形(defun c:gx ()(setq c (getpoint "input a point:")) (command "ucs" "o" c)(setq h (getreal "input h"))(setq r (getreal "input r"))(setq p1 (list (sqrt (- (* r r) (* h h)) )h)) (setq p2 (list (- 0 (sqrt (- (* r r) (* h h)) ))h))(setq p3 (list (- 0 (sqrt (- (* r r) (* h h)) ))(- 0 h)))(setq p4 (list (sqrt (- (* r r) (* h h)) )(- 0 h)))(command "arc" p4 "en" p1 "r" r)(command "arc" p2 "en" p3 "r" r)(command "line" p1 p2"")(command "line" p4 p3""))例子编程如下:4F (defun bolt (F b) d,1,[,] (setq d1min (sqrt (/ (* 4 f) (* pi b))))(princ “\n松螺栓最小直径d1=”) (princ d1min) (princ));endCommand:(bolt 5800 180)返回:松螺栓最小直径d1=6.4052, 复选框:(Toggle/CheckBox), 单选按钮(Radio_Button), 选择按钮(Button), 编辑框(Edit_Box), 列表框(List_Box), 下拉式列表框(Popup_List), 滑块(Slider), 图像(Image)或图像按钮(image_button), 说明文字(Text):retirement_button{7label = "设计计算";key = "accept";is_default = true;}, dxan:dialog{, label="确定图纸幅面";, :boxed_radio_row{label="幅面规格";, :radio_button{label="A0"; key="a0"; }, :radio_button{label="A1"; key="a1"; }, :radio_button{label="A2"; key="a2"; }, :radio_button{label="A3"; key="a3"; }, :radio_button{label="A4"; key="a4"; }, :radio_button{label="A5"; key="a5"; value=1;} , }, ok_cancel;, }zcl:dialog{label="渐开线直齿圆柱齿轮设计";:row{:list_box{label = "模数(mm)";key="m_number";list="1.25\n1.5\n2\n2.5\n3\n4\n5\n6\n8\n10\n12\n16\n20\n25\n32\n40\n50"; value=2;height=5;}:spacer{width=2;}:boxed_column{:edit_box{label=" 齿数&z";key="z_number";}8:edit_box{label="变位系数x";key="x_number";value=0;} :edit_box{label="顶高系数ha*";key="ha*";value=1.0;} :edit_box{label="顶隙系数c*";key="c*";value=0.25;}}}ok_cancel;}9绘制操场本文列举一个简单的AutoLISP程序,每行附解释,让大家看看AutoLISP程序的样子。

lisp教程

一.Lisp基础知识二.对话框基础一.基本知识第1节--------------------------------------------------------------------------------基本知识AutoLISP是一种针对扩充及自订AutoCAD函数机能而产生,以LISP为基础的程序设计语言.LISP本身于50年代末期出现,是一种擅于处理串行文字(List of Processing),属第四代「人工智能(Artificial Intelligence)」的计算机语言.目的是令使用者充份利用AutoCAD进行开发,直接增加及修改AutoCAD指令.AutoLisp语言建基于普通的LISP语言上,并扩充了许多适用于CAD的特殊功能而形成.是一种能以直译方式(不须先行编译)亦可于AutoCAD内部执行的直译性程序语言.程序容易学习及撰写,程序即使出错亦不会对操作系统(如DOS,WINDOWS)有不良影响.数据及程序均统一以串行 (List)结构表示.可直接调用几乎全部的AutoCAD命令.既具备一般高级语言的基本结构和功能,亦有一般高级语言没有的强大图形处理能力.内建于AutoCAD应用程序,不须另行购买;亦不须使用特定的编辑器或开发环境.可配合AutoCAD提供的PDB,建立DCL(Dialog Control Language)文件创建对话框.缺点 : 执行速度较ObjectArx(旧称ARX,以C或C++程序开发,取代以前的ADS)程序慢;原程序不易保护;对低阶的硬件数据不易存取.第2节--------------------------------------------------------------------------------函数 (Function)在AutoLISP程序语言中所有的成份都是以函数的形式出现,AutoLISP程序就是顺序执行连串的函数.函数的运行过程就是对函数的求值(结果)过程;函数的基本语法如下:(函数名称参数1 参数2....)e.g. (PRINC "AutoLISP Programming")每一个完整的函数必须包在一对小括号( )内,左边为开括号,右边为关括号;如有若干数量的开括号,则一定有同等数量的关括号对应.左边开括号后紧随函数名称.函数名称与参数之间,或参数与参数之间须最少留一个空格.第3节--------------------------------------------------------------------------------数据型态 (Data Type)整数 (INT)没有小数字的数值,32位有号数,范围从+2,147,483,647到-2,147,483,648实数 (REAL)带小数字的数值,以倍精度浮点格式储存(最少14位小数) e.g. 12.5当数值在1与-1之间时,必须加上前导零 e.g. 0.05可以科学记号表示 : 在E或e后加上次方值 e.g. 4.1e-6字符串 (STR)一般文字,其前后必须加上双引号" e.g. "AutoCAD"控制字符或脱逸码必须为小写,且须在字符前加上反斜线 \ e.g. "\AutoCAD"像素名称 (ENAME)是指定给图文件内对象的指针(Pointer,为16进位的数字卷标)e.g. <Entity name:14e5180>像素名称在图文件内是唯一的,不会重复对象的像素名称只在目前作业中有效,再开启图档时,会指定新的像素名称予该对象档案 (FILE)以OPEN函数所开启档案的指针,作为其它函数(读写该档案)的自变量选集 (PICKSET)用SSGET等函数建立的一个或多个对象的集合或群组转化 (V ARIANT)可将像素名称转换为可与ActiveX配搭使用的VLA-Object对象符号 (SYM)用以储存静态数据的名称;例如内建或使用者定义的函数符号名称不分大小写,可由任意长度的可打印字符组成;但下列的字符除外:左括号( 右括号 ) 句点 . 单引号' 双引号 " 分号 ;表 (LIST)亦称为串行,是放在一对小括号 ( ) 内,一个或多个元素的有序集合e.g. (1.0 "Lisp" ( ) (5.6 7))元素可以是字符串,符号,整数或实数;也可以是另一个表元素与元素之间要用空格隔开,但元素与小括号之间则可以不隔空格为便于存取表内各元素,每个元素均有其序号;从表的左边开始,第一个元素序号为0,依此类推表的大小即为其顶层元素的数量(内层嵌套式的表,视为单一元素)点对(Dotted Pair)亦是表的一种;表内有2个元素,中间以一圆点分隔,且元素与圆点之间亦须以空格分开若表内没有任何元素,称为空串行或空表;以 ( ) 或 (NIL) 表示第4节--------------------------------------------------------------------------------变数 (Variable)为程序执行中动态储存数据的符号名称;主要分为2类:变量名称与符号的限制相同,使用时宜采用有意义及易于辨别的名称变量在赋值或使用前无须先行设定相同的变量可以储存不同型态的数据(但同一时间内只可储存一种型态)在指定新的数据之前,变量储存的内容会保持不变赋值将数据给予指定的变量储存以内建函数SETQ进行(可用于绘图模式的指令行或AutoLISP程序),其语法如下:(SETQ 变量名称1 资料1 [变量名称2 资料2 ....] )e.g. (SETQ NAME "David" AGE 37 WEIGHT 72.5 POINT (LIST 10 20))在函数名称之后,各参数以两个一组,每组左边为变量名称,右边为存入变量的数据亦可将变量名称赋以空值(NIL) :e.g. (SETQ OCCUPATION NIL)要显示变量所储存的数据,可以使用内建函数PRINC(可用于绘图模式的指令行或AutoLISP程序),其语法如下 : (PRINC 变量名称 )e.g. COMMAND : (PRINC NAME) Result : David"David"在绘图模式中,亦可于指令行中使用感叹号 ! 来显示变量内容,或作为指令选项的输入值;语法如下 : !变量名称e.g. COMMAND : !NAME Result : "David"在Visual LISP的主控台窗口中,于提示符号 _$ 后键入要显示的变量名称_$变量名称e.g. _$NAME要检查变量所储存的数据型态,可使用内建函数TYPE;语法如下:(TYPE 变量名称)e.g. COMMAND : (TYPE NAME) Result : STR若检查的变量没有储存数据,则会传回NIL第5节--------------------------------------------------------------------------------练习 (Exercises)将四个坐标分别存入四个变量中,并以LINE或PLINE指令,配合四个坐标变量,画出正四边形.COMMAND : (SETQ POINT1 (LIST 0 0) POINT2 (LIST 0 10) POINT3 (LIST 10 10) POINT4 (LIST 10 0)) COMMAND : LINE ;直线段指令COMMAND : !POINT1 ;第一点(左下角起点)COMMAND : !POINT2 ;第二点(左上角)COMMAND : !POINT3 ;第三点(右上角)COMMAND : !POINT4 ;第四点(右下角)COMMAND : C ;自动联机至起点以关闭四边形画圆 : 将圆心坐标及半径长度分别存入两个变量中(变量名称及数据型态自订)COMMAND : (SETQ CEN (LIST 0 0) RAD 20) ;将圆心点设为坐标0,0;半径为20COMMAND : CIRCLE ;执行划圆指令Specify center.... : !CEN ;在提示后以变量CEN响应输入Specify radius.... : !RAD ;在提示后以变量RAD响应输入将不同型态的数据,分多次存入相同的变数内;每次均以PRINC及TYPE函数显示变量内容及其数据型态COMMAND : (SETQ TEMP 1.2) ;将实数1.2存入变数TEMPCOMMAND : !TEMP Result : 1.2COMMAND : (TYPE TEMP) Result : REALCOMMAND : (TYPE TEMP) Result : STR二数值资料第1节--------------------------------------------------------------------------------基本运算加函数(+ [数值参数1 数值参数2 ....] )e.g. (+ 2.5 4 6) Result : 12.5函数的结果为各参数之总和若仅提供一个参数,则以0加上此参数的结果为返回值若没有提供任何参数则传回0;各参数须为整数或实数型态若所有参数均为整数,结果亦为整数;若其中一个参数为实数型态,结果会转换为实数减函数(- [数值参数1 数值参数2 ....] )e.g. (- 10 2 3) Result : 5结果为第一个(最左边)参数减去其右边各参数的总和若只提供一个参数,返回值为0减去该参数的结果若没有提供任何参数则传回0;各参数须为整数或实数型态若所有参数均为整数,结果亦为整数;若其中一个参数为实数型态,结果会转换为实数乘函数(* [数值参数1 数值参数2 ....] )e.g. (* 2 3 4) Result : 24结果为所有参数的乘积若只提供一个参数,则返回值为该参数乘以1的结果若没有提供任何参数则传回0;各参数须为整数或实数型态若所有参数均为整数,结果亦为整数;若其中一个参数为实数型态,结果会转换为实数除函数(/ [数值参数1 数值参数2 ....] )e.g. (/ 24 2 3) Result : 4结果为第一个(最左边)参数除以其右边各参数的乘积若仅提供一个参数,则返回值为该参数除以1的结果若没有提供任何参数则传回0;各参数须为整数或实数型态若所有参数均为整数,结果亦为整数;若其中一个参数为实数型态,结果会转换为实数注意 : 在本篇教程中,各函数的数值参数,均可以变量(储存值只可以是整数或实数,且不可以是空值 nil)取代第2节--------------------------------------------------------------------------------练习 (Exercises)计算式 (2+4)*3COMMAND : (* 3 (+ 2 4)) Result : 18计算式 (50-8*5)/4COMMAND : (/ (- 50 (* 8 5)) 4) Result : 2注意 : 上式的正确答案应是2.5,因为函数中的各参数均为整数,所以传回的结果亦为整数递增及递减递增(1+ 数值参数 )e.g. (1+ 2) Result : 3递减三角函数 (Trinagular Function)正弦值(SIN 弧度参数)e.g. (SIN 1) Result : 0.841471余弦值(COS 弧度参数)e.g. (COS 1) Result : 0.540302反正切值(ATAN 弧度参数)e.g. (ATAN 1) Result : 0.785398第3节--------------------------------------------------------------------------------其它数值处理次方值(EXPT 数值参数次方值 )e.g. (EXPT 2 4) Result : 16若参数及次方值两个均为整数,返回值亦是整数;若其中一个为实数,结果为实数开方根(SQRT 数值参数 )e.g. (SQRT 30) Result : 5.47723绝对值(ABS 数值参数 )e.g. (ABS -123) Result : 123余数(REM [数值参数1 数值参数2 ....] )e.g. (REM 50 26 5) = (REM (REM 50 26) 5) Result : 4将参数1整除参数2的余数若参数多于2个时,则会将余数再整除下一个参数,再得出余数;依此类推若其中一个参数为实数时,则结果为实数;否则为整数最大公约数(GCD 数值参数1 数值参数2 )e.g. (GCD 81 57) Result : 3两个参数均必须为整数值型态自然对数(LOG 数值参数 )e.g. (LOG 3.5) Result : 1.25276是EXP函数的反函数;传回值为实数型态自然反对数(EXP 数值参数 )e.g. (EXP 1.25276) Result : 3.49999是LOG函数的反函数;传回值为实数型态第4节--------------------------------------------------------------------------------数值资料转型实数转整数只会截去小数部份(小数字不会4舍5入)整数转实数(FLOAT 数值参数 )e.g. (FLOAT 12) Result : 12.0整数转字符串(ITOA 数值参数 )e.g. (ITOA -17) Result : "-17"数值转字符串(RTOS 数值参数[模式[小数字] ] )e.g. (RTOS 17.23333 2 3) Result : 12.266若不设定模式,则依系统变量 LUNITS 的设定值转换数值为字符串若不设定小数字,则依系统变量 LUPREC 的设定值转换模式设定值可以是下列数值之一 :1 = 科学记号2 = 十进制3 = 英呎及十进制英吋4 = 英呎及分数位英吋5 = 分数当选用的模式为3,4或5,则传回的字符串受系统变量UNITMODE影响弪度转字符串(ANGTOS 角度参数[模式[小数字] ] )e.g. (ANGTOS 0.785398 0) Result : "45"e.g. (ANGTOS 0.785398 4) Result : "N 45d E"若不设定模式,则依系统变量AUNITS的设定值转换数值为字符串若不设定小数字,则依系统变量AUPREC的设定值转换模式设定值可以是下列数值之一 :0 = 度1 = 度/分/秒2 = 分度量3 = 弪度4 = 土地测量单位当选用的模式为4,则传回的字符串受系统变量UNITMODE影响反函数为ANGTOF;参阅第5篇教程第5节--------------------------------------------------------------------------------数值资料检查数值(NUMBERP 数值参数 )e.g. (NUMBERP -3.45) Result : Te.g. (NUMBERP "AutoLISP") Result : nil注意 : 在范例的传回值中,T表示函数的结果为真(成立),nil表示结果为假(不成立) 负数值(MINUSP 数值参数 )e.g. (MINUSP -3.45) Result : Te.g. (MINUSP 0) Result : nile.g. (MINUSP 3.45) Result : nil零值e.g. (ZEROP 3.45) Result : nil其它应用最大值(MAX [数值参数1 数值参数2 ....] )e.g. (MAX -88 5 2) Result : 5若没有提供任何参数,则传回值为0最小值(MIN [数值参数1 数值参数2 ....] )e.g. (MIN -88 5 2) Result : -88若没有提供任何参数,则传回值为0第6节--------------------------------------------------------------------------------练习 (Exercises)计算下列算式 :(+ 1234567890 1234567890) Result : -1825831516上式中两个数值参数均为整数,而结果值大于整数型态所能容许之范围;固导致发生溢位问题,产生无效的结果.修正算式如下 : 只要将其中一个参数改为实数型态即可.(+ 1234567890.0 1234567890) Result : 2.46914e+009计算下列算式 :(+ 9876543210 1234567890) Result : 1.11111e+010上式中两个数值参数均为整数,但其中一个(第一个)参数巳大于整数型态所能容许之范围;系统会自动将此参数先行转为实数型态才计算.计算下列算式 :(FIX (SQRT (+ 1 (MAX 20 10 40 30)))) Result : 6---- 最先执行的是最内层的算式(MAX 20 10 40 30) ,求出最大值为40---- 其次执行加函数,将MAX函数所得的最大值加1,结果为41---- 再利函数SQRT,将41开方根,结果为6.4031---- 最后使用FIX函数,截去其小数字,得到最后的结果为6三程序设计第1节--------------------------------------------------------------------------------使用者定义函数是将一群表示式组合成一个函数或指令可应用于绘图模式的指令行提示,Visual LISP主控台,或供其它自定义函数内的表示式呼叫使用AutoLISP原始程序代码均以纯文字格式存盘,扩展名为LSP(2000版可编译成扩展名为FAS的档案可以一般文字编辑器进行开发,如DOS的EDIT,WINDOWS的WORD或WORDPAD等一个自定函数内最少要有一个表达式在原程序文件(LSP)里,自定义函数以DEFUN函数开始;其语法如下 :(DEFUN [C:] 函数名称 ( [自变量串行 ...] [/ 局部变数串行 ...] ) 表达式 ...)在呼叫带有自变量的自定函数时,必须同时提供与定义函数时,同等数量的参数,使各参数传入自定函数的各自变量中自变量被视为一种特殊类型的局部变量,无法用于该自定函数以外的其它函数若自定函数中无须设定任何自变量,亦必须以空串行 ( )加在函数名称之后若有提供局部变量,必须以斜线 / 加在局部变量的开头(即使前面没有自变量串行)各自变量,斜线,局部变量之间要以空格分隔;但与左右小括号之间则不须以空格分开若自变量串行中有相同名称的自变量出现,则会忽略第一个以后的相同自变量;变数亦是一样若在函数名称前没有加上C:,在指令行提示下,必须将函数名称包在一对小括号中才可执行不可以在执行一自定函数时,以通透方式执行另一自定函数第2节--------------------------------------------------------------------------------加载程序自定函数在使用前,都要将其所在的程序文件(扩展名为LSP)加载才可执行ACAD.LSP程序文件(预设在SUPPORT子目录内)会在启动AutoCAD时自动加载(LOAD "程序文件名称" [加载失败] )e.g. (LOAD "TEST")若程序文件之文件名为LSP,则在程序文件名称之后,可以不加上扩展名若有需要,系统会顺序尝试其它的扩展名 : VLX FAS LSP若程序文件不在系统的支持目录下,则需在文件名前加上目录路径注意 : 必须以正斜线 / 或两个反斜线 \\ 作为目录的分隔符可以在加载失败的参数中提供字符串,以供加载失败时显示;亦可提供有效的自定函数,该函数在加载程序文件失败时会被执行e.g. (LOAD "TEST" "Load Fail") 或 (LOAD "TEST" (DOERROR))注意 :在程序文件加载后,在提示行显示的返回值,一般是该程序文件中,最后被定义的函数名称或是在程序文件内没有包含在自定函数中,最后一个表达式的执行结果第3节--------------------------------------------------------------------------------练习 (Exercises)启动文字编辑器,编写一AutoLISP程序作两个同心圆(第1个圆半径为50,第2个圆半径为80),程序代码如下所示 : (DEFUN C: 2CIRCLE () (SETQ CEN (LIST 0 0) RAD 50)(COMMAND CIRCLE CEN RAD)(COMMAND CIRCLE CEN (+ RAD 30)))---- 输入后以纯文字格式存盘(C:\TEST.LSP)---- 在AutoCAD绘图模式的指令行提示后,用LOAD函数将程序文件加载COMMAND : (LOAD "C:/TEST")---- 在指令行提示后,输入程序(函数)名称执行COMMAND : 2CIRCLE程序说明1 使用DEFUN建立自定函数的名称,并用SETQ函数将中心点(LIST 0 0)存入变数CEN,半径(50)存入变数RAD中2 使用COMMAND函数执行AutoCAD内建指令CIRCLE,并以变量CEN(圆的中心点)及变数RAD(圆的半径)回应3 与第2行大致相同,但在指定其半径时,先将储存半径的变量加30,使划出半径为80的圆;注意最右边的关括号,与第1行DEFUN左边的开括号是一对的启动文字编辑器,开启TEST.LSP程序文件,复制2CIRCLE至新程序2C,并改为传入自变量方式执行;程序代码如下 : (DEFUN 2C (CEN RAD) (COMMAND CIRCLE CEN RAD)(COMMAND CIRCLE CEN (+ RAD 30)))---- 输入后以纯文字格式存盘---- 在AutoCAD绘图模式的指令行提示后,用LOAD函数将程序文件重新加载---- 在指令行提示后,输入程序(函数)名称执行COMMAND : (2C (LIST 0 0) 50)第4节--------------------------------------------------------------------------------表示在分号右边(同一行)的字符均为批注,程序执行时会将其忽略多行批注;| |;表示在两个批注符号中间所有字符皆为批注,即使字符跨越多行关系运算在各个关系运算中,都会传回一逻辑值;若关系成立,传回 T,否则会传回 nil各参数可以是字符串,整数或实数型态;若以字符串进行比较,则会以字符串的ASCII码为准若函数中只有一个参数,传回值恒为 T等于函数(= 参数1 [参数2 ....] )会将参数1与其后各个参数比较,若全部相等则传回 T,否则传回 nil e.g. (= 2 2.0) Result : Te.g. (= "A" CHR(65)) Result : T不等于函数(/= 参数1 [参数2 ....] )若参数1不等于其后任何一个参数,即传回T e.g. (/= 1 2.0) Result : Te.g. (/= "a" CHR(65)) Result : Te.g. (/= 10 30 40 10 20) Result : T小于函数(< 参数1 [参数2 ....] )各参数顺序以2个为一组比较,若各组左边的参数均小于右边的参数,即传回 Te.g. (< 1 2) Result : Te.g. (< "a" CHR(65)) Result : T大于函数(> 参数1 [参数2 ....] )各参数顺序以2个为一组比较,若各组左边的参数均大于右边的参数,即传回 Te.g. (> 1 2) Result : nile.g. (> "a" CHR(65)) Result : nil小于或等于函数(<= 参数1 [参数2 ....] )各参数顺序以2个为一组比较,若各组左边的参数均小于或等于右边的参数,即传回 Te.g. (<= 1 2) Result : Te.g. (<= 2 2) Result : Te.g. (<= "a" CHR(65)) Result : T大于或等于函数(>= 参数1 [参数2 ....] )各参数顺序以2个为一组比较,若各组左边的参数均大于或等于右边的参数,即传回 Te.g. (>= 1 2) Result : nile.g. (>= 2 2) Result : Te.g. (>= "a" CHR(65)) Result : nil第5节--------------------------------------------------------------------------------逻辑运算且运算(AND [表达式 ....] )若各表达式的传回值均为 T,函数即返回 T 值;若其中一个传回值为 nil,函数传回 nil(OR [表达式 ....] )若各表达式的传回值均为 nil,函数即返回 nil 值;若其中一个传回值为 T,函数传回 Te.g. (OR (> 1 2) (> 8 5)) Result : T否定运算(NOT 表达式 )若表达式的传回值为 T,函数即返回 nil 值;相反若表达式传回值为 nil,函数传回 T可用于检查传回值是否为 nil另有一NULL函数与NOT函数功能相似e.g. (NOT (< 1 2)) Result : nil练习 (Exercises)试求出50减25,与625的开方根值是否相等COMMAND : (= (- 50 25) (SQRT 625)) Result : T设计一简单程序(名称为AIR),在呼叫程序时,检查传入的数值自变量(为空气污染指数)是否大于200(即严重空气污染)---- 启动文字编辑器,开启TEST.LSP程序文件,输入下列程序代码 :(DEFUN AIR (NUM) (> NUM 200))---- 输入后存盘(纯文字格式)---- 在AutoCAD绘图模式的指令行提示符号后,使用LOAD函数重新加载程序文件COMMAND : (LOAD "C:/TEST")---- 在AutoCAD绘图模式的指令行提示符号后,输入自定函数名称及参数执行COMMAND : (AIR 175) Result : nilCOMMAND : (AIR 215) Result : T四流程控制第1节--------------------------------------------------------------------------------条件判断是利用条件函数,配合关系及逻辑运算所设定的一些准则,令程序自行分析,因应情况作出适当行动.单一条件(IF 条件表达式是表达式[否表达式] )函数先检查条件表达式,若其传回值为 T,便会执行其后的是表达式若有提供否表达式,且条件表达式的传回值为 nil,函数将不会执行(跳过)是表达式而执行否表达式若没有提供否表达式,且条件表达式的传回值为 nil时,函数将不作任何事情IF函数可以巢状方式嵌套,即在是或否的表达式中加入另一个IF函数练习 (Exercises)判断空气污染指数 : 大于100 = Very High, 51至100 = High, 26至50 = Medium, 25或以下 = Low---- 启动编辑器,开启C:/TEST.LSP程序文件;新增AIR-1自定函数,程序代码如下 :(DEFUN AIR-1 (NUM) (IF (> NUM 100) (PRINC "Very High"))(IF (AND (> NUM 50) (<= NUM 100)) (PRINC "High"))(IF (AND (> NUM 25) (<= NUM 50)) (PRINC "Medium"))(IF (<= NUM 25)) (PRINC "Low"))程序说明1 设定函数名称,并将数据存入自变量NUM内;用IF函数判断变量NUM是否大于100;若是则显示字符串Very High 响应2 用IF函数判断变量NUM是否大于50且(AND)小于或等于100;若是则显示High响应3 用IF函数判断变量NUM是否大于25且(AND)小于或等于50;若是则显示Medium4 用IF函数判断变量NUM是否小于或等于25;若是则显示Low5 是一个没有提供任何自变量的PRINC函数;用以抑制显示答案时尾部符加的 nil 或重复的传回值;而最右一个关括号,是用以对应第1行最左边的开括号IF函数的巢状练习 : 修改上一课的程序练习,将多个IF函数合并成巢状嵌套---- 启动文字编辑器,开启C:/TEST.LSP程序文件---- 新增程序AIR-2,其程序代码如下 :(DEFUN AIR-2 (NUM) (IF (> NUM 50) (PRINC (IF (> NUM 100) "Very high" "High"))(PRINC (IF (> NUM 25) "Medium" "Low")))(PRINC))程序说明1 设定函数名称,并将数据存入自变量NUM内;用IF函数判断变量NUM是否大于50;若条件成立(变量NUM大于50)时,再用另一个IF函数判断变量是否大于100;若条件成立(变量NUM大于100)时,使用PRINC函数显示字符串Very High,否则显示High2 若在第1个IF函数判断中,条件不成立(变量NUM不大于50)时;再用另一个IF函数判断变量是否大于25;若条件成立(NUM大于25)时,显示字符串Medium,否则显示字符串Low3 是一个没有提供任何自变量的PRINC函数;用以抑制显示答案时尾部符加的 nil 或重复的传回值;而最右一个关括号,是用以对应第1行最左边的开括号注意 :第1行最后一个关括号是对应前面的PRINC函数,尾2的关括号则是对应IF函数(判断NUM是否大于100) 第2行最后一个关括号是对应第1行的IF函数(判断NUM是否大于50),尾2的关括号则是对应PRINC函数,尾3的关括号则是对应IF函数(判断NUM是否大于25)最右边的关括号是对应第1行最左边的开括号PROGN 函数在以上各范例中,执行的表达式均为单一的函数运算;若要在表达式中顺序执行一连串的函数,便要将各函数包含在一个PROGN函数内;函数的传回值会是该PROGN函数中,最后一个表达式的运算结果---- 修改TEST.LSP程序文件的AIR-1程序,第1个IF函数如下,其余的IF函数请自行修改e.g. (IF (> NUM 100) (PROGN (SETQ DISP "Very High") (PRINC DISP)))注意 : 最后一个关括号是对应前面的IF函数(判断变量NUM是否大于100)尾2的关括号是对应PROGN函数(用以包含SETQ及PRINC函数)尾3的关括号是对应PRINC函数的第2节--------------------------------------------------------------------------------条件判断多重条件(COND [ (条件表达式是表达式) ....] )函数会顺序检查各条件表达式;直到其中一个条件成立(传回 T),即执行该条件式所对应的是表达式每个条件表达式只对应一个是表达式,而没有否表达式若条件式成立且执行对应的是表达式后,则不会再对余下的其它条件表达式进行检查若只有条件表达式而没有对应之是表达式,则只会传回条件表达式的逻辑值若没有提供任何条件表达式及是表达式,函数传回值恒为 nil练习 (Exercises)新增程序AIR-3,以改善上一课AIR-1程序;用一个COND函数判断多个条件表达式DEFUN AIR-3 (NUM) (COND((> NUM 200) (PRINC "Severe"))((> NUM 100) (PRINC "Very High"))((> NUM 50) (PRINC "High"))((> NUM 25) (PRINC "Medium"))((> NUM 0) (PRINC "Low"))(T (PRINC "Cannot Check")))(PRINC))程序说明1 设定函数名称,并将数据存入自变量NUM内;用COND函数进行多重判断2 判断变量NUM是否大于200,若条件成立,则显示 Severe 讯息;第3至6行依此类推7 注意条件式为一个 T 字母,表示条件式恒为真(成立),显示讯息 Cannot Check作用是当以上各条件式均不成立时(变量小于或等于0),即执行此一表达式第3节--------------------------------------------------------------------------------循环 (Loop)配合条件判断,关系及逻辑运算,令程序不断重复一些动作,以提高效率及减少重复动作时的人为错误可以多个循环形成巢状(嵌套式)循环,即在一个循环内嵌套另一个(或多个)循环指定的重复次数必须为正整数,亦可以是储存正整数的变量名称重复指定次数(REPEAT 重复次数[表达式 ....] )e.g. (REPEAT 10 (PRINC "David")) ;重复显示David字符串10次重复(WHILE 条件表达式[是表达式 ....] )若条件表达式的传回值为 T,即会顺序执行函数内各表达式各表达式顺序执行完后,程序会返回函数的开头,重新检查条件表达式的传回值若条件表达式的传回值为 nil,函数内各表达式将不会被执行e.g. (SETQ COUNT 1) ;将1存入变数COUNT(WHILE (<= COUNT 10) ;WHILE函数并检查变量COUNT是否<=10(PRINC "David") ;若条件成立则以PRINC函数显示David字符串(SETQ COUNT (1+ COUNT))) ;变量COUNT递增1,并将新值重新存入变量COUNT中取代原值注意 : 第4行最右边的关括号,是对应第2行WHILE函数的开括号无限循环又称为死循环,即循环的条件判断式传回值恒为 T,令循环不断重复而无法结束;在上例中 :---- 若WHILE函数的条件表达式设定为 (T) ;即条件永远成立---- 不作SETQ函数,或不将变量COUNT递增;变量COUNT储存值恒久不变,导致条件式永远成立第4节--------------------------------------------------------------------------------练习 (Exercises)编写一程序SUM并将自变量存在NUM变量内,计算1+2+3+4 ....至变数NUM的总和(DEFUN SUM (NUM) (SETQ COUNT 1 TOTAL 0)(WHILE (<= COUNT NUM)(SETQ TOTAL (+ TOTAL COUNT)COUNT (1+ COUNT)))(PRINC TOTAL) (PRINC))程序说明1 设定函数SUM并将自变量存入变量NUM,设定变量COUNT以将数目由1开始递增,变量TOTAL(储存总和)初始值为02 WHILE循环函数,并设定进入循环的条件式(变量COUNT小于或等于变量NUM)3 若条件成立即进入循环内部,先将变量TOTAL加上变量COUNT,再用SETQ函数存回变量TOTAL中,覆盖原值4 将变量COUNT递增1,存回变数COUNT并覆盖原值5 关括号与第2行的WHILE函数左边的开括号对应6 循环结束后,用PRINC函数显示变量TOTAL(总和)的内容程序流程假设执行程序时传入变量NUM的数值为10---- 变数初始值 COUNT = 1 TOTAL = 0---- 判断变量COUNT是否<=变量NUM COUNT = 1 TOTAL = 0---- 变量COUNT(现值1)小于NUM,进入循环;将TOTAL(现值0)加上COUNT,存回变数TOTAL COUNT = 1 TOTAL = 1---- 变数COUNT(现值1)递增1变为2,存回变数COUNT COUNT = 2 TOTAL = 1---- 返回WHILE函数的开头,重新判断条件式---- 变量COUNT(现值2)小于NUM,进入循环;将TOTAL(现值1)加上COUNT,存回变数TOTAL COUNT = 2 TOTAL = 3---- 变数COUNT(现值2)递增1变为3,存回变数COUNT COUNT = 3 TOTAL = 3---- 返回WHILE函数的开头,重新判断条件式---- 变量COUNT(现值3)小于NUM,进入循环;将TOTAL(现值3)加上COUNT,存回变数TOTAL COUNT = 3 TOTAL = 6部份过程省略---- 返回WHILE函数的开头,重新判断条件式---- 变量COUNT(现值10)仍等于NUM,进入循环;将TOTAL(现值45)加上COUNT,存回变数TOTAL COUNT = 10 TOTAL = 55---- 变数COUNT(现值10)递增1变为11,存回变数COUNT COUNT = 11 TOTAL = 55---- 返回WHILE函数的开头,重新判断条件式---- 变量COUNT(现值11)巳大于NUM(本范例假设为10),条件判断不成立,循环结束 COUNT = 11 TOTAL = 55---- 显示变量TOTAL的现存值,程序结束尝试用IF函数检查输入的自变量是否小于或等于0;若条件成立则不执行余下的程序(DEFUN SUM (NUM) (IF (<= NIM 0) (PRINC "Input Error")(PROGN略过 WHILE 及 PRINC 函数))(PRINC))程序说明。

lisp对话框

目录第一篇.基本知识 (2)第1节基本知识 (2)第2节定义档 (2)第3节批注 (3)第4节对话框定义文件的内容模式 (3)第5节练习 (4)第二篇开启对话框 (5)第1节AutoLISP函数加载DCL定义文件函数 (5)第2节对话框开启方式 (6)第3节编辑框组件(edit_box) (6)第4节练习 (7)第三篇设定及取得对话框组件内的值 (8)第1节AutoLISP函数设定组件的值 (8)第2节练习 (9)第3节练习 (9)第4节AutoLISP函数组件指定动作 (10)第四篇按钮及核取框(切换钮) (11)第1节按钮组件(button) (11)第2节核取框(切换钮)组件(toggle) (12)第3节练习 (12)第五篇横列、直行、空白及文字组件 (15)第1节横列(row)及直行(column)组件 (15)第2节空白(spacer)组件 (15)第3节字符串组件(text) (17)第4节文字段落组件(paragraph) (17)第六篇滑杆(滚动条)组件 (18)第1节滑杆(滚动条)组件(slider) (18)第2节练习 (19)第七篇按钮及影像按钮组件 (21)第1节自订按钮 (21)第2节练习 (22)第八篇清单选框 (25)第1节清单选框组件(list_box) (25)第2节AutoLISP函数开始处理清单选框或弹出式选框 (25)第3节练习 (26)第九篇下拉(弹出)式清单选框 (29)第1节下拉式(弹出式)清单选框组件(popup_list) (29)第2节练习 (30)第十篇选台钮组件 (32)第1节选台钮组件(radio_button) (32)第2节练习 (33)第十一篇影像及影像框(影像区块)组件 (35)第1节影像(image)及影像框(影像区块,image_block)组件 (35)第2节AutoLISP函数 (35)第3节建立新的对话框IMG1.DCL,存于C盘的根目录中,在对话框中只会显示两个影像及一个确定钮,其定义如下: (36)第十一篇影像及影像框(影像区块)组件 (38)第1节影像(image)及影像框(影像区块,image_block)组件 (38)第2节AutoLISP函数 (38)第3节练习 (39)第一篇.基本知识第1节基本知识对话框是现今最流行的人机互动面接口;在早期的AutoCAD版本中巳经使用,但只有在R12版本开始,才提供给使用者自行编程的对话框开发功能。

超经典CAD lisp程序集锦、CAD快捷键大全

超经典CAD lisp程序集锦如果您使用 AutoCAD,下面的内容对您一定有帮助。

在某些方面能大大提高您的工作效率。

下面的程序均以源程序方式给出,您可以使用、参考、修改它。

bg.lsp --- 表格自动生成asc.lsp --- 将文本文件内容写入图中,字符是单个的wf.lsp --- 将图中字符写入磁盘exstr.lsp --- 将字符串分解成单字pgtxt.lsp --- 将字符合成字符串pb.lsp --- 通过给出长度将字符串分成两个串cht.lsp --- 直接修改文字内容或块属性ct.lsp --- 对数字串进行加减chh.lsp --- 直接修改文字高度chhw.lsp --- 直接修改文字高宽比(针对PKPM软件将字符定位点改为左下角) chst.lsp --- 直接修改文字字体txt.shx --- 修改后的标准txt.shx文件。

(kuozhan.sld为增强的内容幻灯片)tiao.lsp --- 配合修改过的标准字体文件,将中文字符调大tiao1.lsp --- 配合修改过的标准字体文件,将英文字符调小untiao.lsp --- 上两个程序的复原sht.lsp --- 在图中查找字符串zhuang.lsp --- 桩点及钎探号绘制(勘测图)dim.lsp --- 配合JT.DWG将尺寸标注调成适合建筑结构设计(1:1)dimm.lsp --- 配合JT.DWG将尺寸标注调成适合建筑结构设计(1:100)di1.lsp~di8.lsp --- 直接连续标注尺寸(用于1:1的图)di100.lsp~di800.lsp --- 直接连续标注尺寸(用于1:100的图)详细内容及附件下载请浏览北纬服务论坛/thread-2724-1-1.htmlCAD快捷键大全F1: 获取帮助F2: 实现作图窗和文本窗口的切换F3: 控制是否实现对象自动捕捉F4: 数字化仪控制F5: 等轴测平面切换F6: 控制状态行上坐标的显示方式F7: 栅格显示模式控制F8: 正交模式控制F9: 栅格捕捉模式控制F10: 极轴模式控制F11: 对象追踪式控制Ctrl+B: 栅格捕捉模式控制(F9)刚刚看了一下dra:半径标注ddi:直径标注dal:对齐标注dan:角度标注Ctrl+C: 将选择的对象复制到剪切板上Ctrl+F: 控制是否实现对象自动捕捉(f3) Ctrl+G: 栅格显示模式控制(F7)Ctrl+J: 重复执行上一步命令Ctrl+K: 超级链接Ctrl+N: 新建图形文件Ctrl+M: 打开选项对话框AA: 测量区域和周长(area)AL: 对齐(align)AR: 阵列(array)AP: 加载*lsp程系AV: 打开视图对话框(dsviewer) SE: 打开对相自动捕捉对话框ST: 打开字体设置对话框(style) SO: 绘制二围面( 2d solid) SP: 拼音的校核(spell)SC: 缩放比例 (scale)SN: 栅格捕捉模式设置(snap) DT: 文本的设置(dtext)DI: 测量两点间的距离OI:插入外部对相Ctrl+1: 打开特性对话框Ctrl+2: 打开图象资源管理器Ctrl+6: 打开图象数据原子Ctrl+O: 打开图象文件Ctrl+P: 打开打印对说框Ctrl+S: 保存文件Ctrl+U: 极轴模式控制(F10)Ctrl+v: 粘贴剪贴板上的内容Ctrl+W: 对象追踪式控制(F11) Ctrl+X: 剪切所选择的内容Ctrl+Y: 重做Ctrl+Z: 取消前一步的操作A: 绘圆弧B: 定义块C: 画圆D: 尺寸资源管理器E: 删除F: 倒圆角G: 对相组合H: 填充I: 插入S: 拉伸T: 文本输入W: 定义块并保存到硬盘中L: 直线M: 移动X: 炸开V: 设置当前坐标U: 恢复上一次操做O: 偏移P: 移动Z: 缩放显示降级适配(开关)【O】适应透视图格点【Shift】+【Ctrl】+【A】排列【Alt】+【A】角度捕捉(开关) 【A】动画模式 (开关) 【N】改变到后视图【K】背景锁定(开关) 【Alt】+【Ctrl】+【B】前一时间单位【.】下一时间单位【,】改变到上(Top)视图【T】改变到底(Bottom)视图【B】改变到相机(Camera)视图【C】改变到前(Front)视图【F】改变到等大的用户(User)视图【U】改变到右(Right)视图【R】改变到透视(Perspective)图【P】循环改变选择方式【Ctrl】+【F】默认灯光(开关) 【Ctrl】+【L】删除物体【DEL】当前视图暂时失效【D】是否显示几何体内框(开关) 【Ctrl】+【E】显示第一个工具条【Alt】+【1】专家模式&#0;全屏(开关) 【Ctrl】+【X】暂存(Hold)场景【Alt】+【Ctrl】+【H】取回(Fetch)场景【Alt】+【Ctrl】+【F】冻结所选物体【6】跳到最后一帧【END】跳到第一帧【HOME】显示/隐藏相机(Cameras)【Shift】+【C】显示/隐藏几何体(Geometry) 【Shift】+【O】显示/隐藏网格(Grids) 【G】显示/隐藏帮助(Helpers)物体【Shift】+【H】显示/隐藏光源(Lights) 【Shift】+【L】显示/隐藏粒子系统(Particle Systems) 【Shift】+【P】显示/隐藏空间扭曲(Space Warps)物体【Shift】+【W】锁定用户界面(开关) 【Alt】+【0】匹配到相机(Camera)视图【Ctrl】+【C】材质(Material)编辑器【M】最大化当前视图 (开关) 【W】脚本编辑器【F11】新的场景【Ctrl】+【N】法线(Normal)对齐【Alt】+【N】向下轻推网格小键盘【-】向上轻推网格小键盘【+】NURBS表面显示方式【Alt】+【L】或【Ctrl】+【4】NURBS调整方格1 【Ctrl】+【1】NURBS调整方格2 【Ctrl】+【2】NURBS调整方格3 【Ctrl】+【3】偏移捕捉【Alt】+【Ctrl】+【空格】打开一个MAX文件【Ctrl】+【O】平移视图【Ctrl】+【P】交互式平移视图【I】放置高光(Highlight) 【Ctrl】+【H】播放/停止动画【/】快速(Quick)渲染【Shift】+【Q】回到上一场景*作【Ctrl】+【A】回到上一视图*作【Shift】+【A】撤消场景*作【Ctrl】+【Z】撤消视图*作【Shift】+【Z】刷新所有视图【1】用前一次的参数进行渲染【Shift】+【E】或【F9】渲染配置【Shift】+【R】或【F10】在xy/yz/zx锁定中循环改变【F8】约束到X轴【F5】约束到Y轴【F6】约束到Z轴【F7】旋转(Rotate)视图模式【Ctrl】+【R】或【V】保存(Save)文件【Ctrl】+【S】透明显示所选物体(开关) 【Alt】+【X】选择父物体【PageUp】选择子物体【PageDown】根据名称选择物体【H】选择锁定(开关) 【空格】减淡所选物体的面(开关) 【F2】显示所有视图网格(Grids)(开关) 【Shift】+【G】显示/隐藏命令面板【3】显示/隐藏浮动工具条【4】显示最后一次渲染的图画【Ctrl】+【I】显示/隐藏主要工具栏【Alt】+【6】显示/隐藏安全框【Shift】+【F】*显示/隐藏所选物体的支架【J】显示/隐藏工具条【Y】/【2】百分比(Percent)捕捉(开关) 【Shift】+【Ctrl】+【P】打开/关闭捕捉(Snap) 【S】循环通过捕捉点【Alt】+【空格】声音(开关) 【\】间隔放置物体【Shift】+【I】改变到光线视图【Shift】+【4】循环改变子物体层级【Ins】子物体选择(开关) 【Ctrl】+【B】帖图材质(Texture)修正【Ctrl】+【T】加大动态坐标【+】减小动态坐标【-】激活动态坐标(开关) 【X】精确输入转变量【F12】全部解冻【7】根据名字显示隐藏的物体【5】刷新背景图像(Background) 【Alt】+【Shift】+【Ctrl】+【B】显示几何体外框(开关) 【F4】视图背景(Background) 【Alt】+【B】用方框(Box)快显几何体(开关) 【Shift】+【B】打开虚拟现实数字键盘【1】虚拟视图向下移动数字键盘【2】虚拟视图向左移动数字键盘【4】虚拟视图向右移动数字键盘【6】虚拟视图向中移动数字键盘【8】虚拟视图放大数字键盘【7】虚拟视图缩小数字键盘【9】实色显示场景中的几何体(开关) 【F3】全部视图显示所有物体【Shift】+【Ctrl】+【Z】*视窗缩放到选择物体范围(Extents)【E】缩放范围【Alt】+【Ctrl】+【Z】视窗放大两倍【Shift】+数字键盘【+】放大镜工具【Z】视窗缩小两倍【Shift】+数字键盘【-】根据框选进行放大【Ctrl】+【w】视窗交互式放大【[】视窗交互式缩小【]】轨迹视图加入(Add)关键帧【A】前一时间单位【<】下一时间单位【>】编辑(Edit)关键帧模式【E】编辑区域模式【F3】编辑时间模式【F2】展开对象(Object)切换【O】展开轨迹(Track)切换【T】函数(Function)曲线模式【F5】或【F】锁定所选物体【空格】向上移动高亮显示【↓】向下移动高亮显示【↑】向左轻移关键帧【←】向右轻移关键帧【→】位置区域模式【F4】回到上一场景*作【Ctrl】+【A】撤消场景*作【Ctrl】+【Z】用前一次的配置进行渲染【F9】渲染配置【F10】向下收拢【Ctrl】+【↓】向上收拢【Ctrl】+【↑】材质编辑器用前一次的配置进行渲染【F9】渲染配置【F10】撤消场景*作【Ctrl】+【Z】示意(Schematic)视图下一时间单位【>】前一时间单位【<】回到上一场景*作【Ctrl】+【A】撤消场景*作【Ctrl】+【Z】Active Shade绘制(Draw)区域【D】渲染(Render) 【R】锁定工具栏(泊坞窗) 【空格】视频编辑加入过滤器(Filter)项目【Ctrl】+【F】加入输入(Input)项目【Ctrl】+【I】加入图层(Layer)项目【Ctrl】+【L】加入输出(Output)项目【Ctrl】+【O】加入(Add)新的项目【Ctrl】+【A】加入场景(Scene)事件【Ctrl】+【s】编辑(Edit)当前事件【Ctrl】+【E】执行(Run)序列【Ctrl】+【R】新(New)的序列【Ctrl】+【N】撤消场景*作【Ctrl】+【Z】NURBS编辑CV 约束法线(Normal)移动【Alt】+【N】CV 约束到U向移动【Alt】+【U】CV 约束到V向移动【Alt】+【V】显示曲线(Curves) 【Shift】+【Ctrl】+【C】显示控制点(Dependents) 【Ctrl】+【D】显示格子(Lattices) 【Ctrl】+【L】NURBS面显示方式切换【Alt】+【L】显示表面(Surfaces) 【Shift】+【Ctrl】+【s】显示工具箱(Toolbox) 【Ctrl】+【T】显示表面整齐(Trims) 【Shift】+【Ctrl】+【T】根据名字选择本物体的子层级【Ctrl】+【H】锁定2D 所选物体【空格】选择U向的下一点【Ctrl】+【→】选择V向的下一点【Ctrl】+【↑】选择U向的前一点【Ctrl】+【←】选择V向的前一点【Ctrl】+【↓】根据名字选择子物体【H】柔软所选物体【Ctrl】+【s】转换到Curve CV 层级【Alt】+【Shift】+【Z】转换到Curve 层级【Alt】+【Shift】+【C】转换到Imports 层级【Alt】+【Shift】+【I】转换到Point 层级【Alt】+【Shift】+【P】转换到Surface CV 层级【Alt】+【Shift】+【V】转换到Surface 层级【Alt】+【Shift】+【S】转换到上一层级【Alt】+【Shift】+【T】转换降级【Ctrl】+【X】FFD转换到控制点(Control Point)层级【Alt】+【Shift】+【C】到格点(Lattice)层级【Alt】+【Shift】+【L】到设置体积(Volume)层级【Alt】+【Shift】+【S】转换到上层级【Alt】+【Shift】+【T】打开的UVW贴图进入编辑(Edit)UVW模式【Ctrl】+【E】调用*.uvw文件【Alt】+【Shift】+【Ctrl】+【L】保存UVW为*.uvw格式的文件【Alt】+【Shift】+【Ctrl】+【S】打断(Break)选择点【Ctrl】+【B】分离(Detach)边界点【Ctrl】+【D】过滤选择面【Ctrl】+【空格】水平翻转【Alt】+【Shift】+【Ctrl】+【B】垂直(Vertical)翻转【Alt】+【Shift】+【Ctrl】+【V】冻结(Freeze)所选材质点【Ctrl】+【F】隐藏(Hide)所选材质点【Ctrl】+【H】全部解冻(unFreeze) 【Alt】+【F】全部取消隐藏(unHide) 【Alt】+【H】从堆栈中获取面选集【Alt】+【Shift】+【Ctrl】+【F】从面获取选集【Alt】+【Shift】+【Ctrl】+【V】锁定所选顶点【空格】水平镜象【Alt】+【Shift】+【Ctrl】+【N】垂直镜象【Alt】+【Shift】+【Ctrl】+【M】水平移动【Alt】+【Shift】+【Ctrl】+【J】垂直移动【Alt】+【Shift】+【Ctrl】+【K】平移视图【Ctrl】+【P】象素捕捉【S】平面贴图面/重设UVW 【Alt】+【Shift】+【Ctrl】+【R】水平缩放【Alt】+【Shift】+【Ctrl】+【I】垂直缩放【Alt】+【Shift】+【Ctrl】+【O】移动材质点【Q】旋转材质点【W】等比例缩放材质点【E】焊接(Weld)所选的材质点【Alt】+【Ctrl】+【W】焊接(Weld)到目标材质点【Ctrl】+【W】Unwrap的选项(Options) 【Ctrl】+【O】更新贴图(Map) 【Alt】+【Shift】+【Ctrl】+【M】将Unwrap视图扩展到全部显示【Alt】+【Ctrl】+【Z】框选放大Unwrap视图【Ctrl】+【Z】将Unwrap视图扩展到所选材质点的大小【Alt】+【Shift】+【Ctrl】+【Z】缩放到Gizmo大小【Shift】+【空格】缩放(Zoom)工具【Z】反应堆(Reactor)建立(Create)反应(Reaction) 【Alt】+【Ctrl】+【C】删除(Delete)反应(Reaction) 【Alt】+【Ctrl】+【D】编辑状态(State)切换【Alt】+【Ctrl】+【s】设置最大影响(Influence) 【Ctrl】+【I】设置最小影响(Influence) 【Alt】+【I】设置影响值(Value) 【Alt】+【Ctrl】+【V】ActiveShade (Scanline)初始化【P】更新【U】宏编辑器累积计数器【Q】[color=#800080]AutoCAD快捷键快捷键执行命令命令说明3A 3DARRAY 三维阵列3DO 3DORBIT 三维动态观察器3F 3DFACE 三维表面3P 3DPOLY 三维多义线A ARC 圆弧ADC ADCENTER AutoCAD设计设计中心AA AREA 面积AL ALIGN 对齐(适用于二维和三维)AP APPLOAD 加载、卸载应用程序AR ARRAY 阵列*AR *ARRAY 命令式阵列ATT ATTDEF 块的属性*ATT *ATTDEF 命令式块的属性ATE ATTEDIT 编辑属性ATE *ATTEDIT 命令式编辑属性ATTE *ATTEDIT 命令式编辑属性B BLOCK 对话框式图块建立*B *BLOCK 命令式图块建立BH BHATCH 对话框式绘制图案填充BO BOUNDARY 对话框式封闭边界建立*BO *BOUNDARY 命令式封闭边界建立BR BREAK 打断C CIRCLE 圆CHA PROPERTIES 对话框式对象特情修改*CH CHANGE 命令式特性修改CHA CHAMFER 倒角COL COLCR 对话框式颜色设定COLOUR COLCR 对话框式颜色设定CO COPY 复制D DIMSTYLE 尺寸样式设定DAL DIMALIGNED 对齐式线性标注DAN DIMANGULAR 角度标注DBA DIMBASELINE 基线式标注DBC DBCONNECT 提供到外部数据库表的接口DCE DIMCENTER 圆心标记DCO DIMCONTINUE 连续式标注DDA DIMDISASSOCIATE 标注不关联DDI DIMDIAMETER 直径标注DED DIMEDIT 尺寸修改DI DIST 测量两点间距离DIV DIVIDE 等分布点DLI DIMLINEAR 线性标注DO DONUT 双圆DOR DIMORDIMATE 坐标式标注DOV DIMOVERRIDE 更新标注变量DR DRAWORDER 显示顺序DRA DIMRADIUS 半径标注DRE DIMREASSOCIATE 标注关联DS DSETTINGS 捕捉设定DST DIMSTYLE 尺寸样式设定DT DTEXT 写入文字DV DVIEW 定义平行投影或透视投影视图E ERASE 删除对象ED DDEDIT 单行文字修改EL ELLIPSE 椭圆EX EXTEND 延伸EXIT QUIT 退出EXP EXPORT 输出文件EXT EXTRUDE 将二维对象拉伸为三、维维实体F FILLET 倒圆角FI FILTER 过滤器G GROUP 对话框式选择集设定*G *GROUP 命令式选择集设定GR DDGRIPS 夹点控制设定H BHATCH 对话框式绘制图案填充*H HATCH 命令式绘制图案填充HE HATCHEDIT 编辑图案填充HI HIDE 消隐I INSERT 对话框式插入图块*I *INSERT 命令式插入图块IAD IMAGEADJUST 图像调整IAT IMAGEATTACH 并入图像ICL IMAGECLIP 截取图像IM IMAGE 对话框式附着图像*IM *IMAGE 命令式贴附图像IMP IMPORT 输入文件IN INTERSECT 将相交实体或面域部分创建INF IMTERFERE 由共同部分创建三维实体IO INSERTOBJ 插入对象L LINE 画线LA LAYER 对话框式图层控制*LA *LAYER 命令式图层控制LE QLEADER 引导线标注LRN LENGTHEN 长度LI LIST 查询对象文件LINEWEIGHT LWEIGHT 线宽LO *LAYOUT 配置设定LS LIST 查询对象文件LT LINETYPE 对话框式线型加载*LT *LINETYPE 命令式线型加载LTYPE LINETYPE 对话框式线型加载*LTYPE *LINETYPE 命令式线型加载LTS LTSCALE 设置线型比例因子LW LWEIGHT 线宽设定M MOVE 搬移对象MA MATCHPROP 对象特性复制ME MEASURE 量测等距布点MI MIRROR 镜像对象ML MLINE 绘制多线MO PROPERTIES 对象特性修改MS MSPACE 从图纸空间转换支模型空间MT MTEXT 多行文字写入MV MVIEW 浮动视口O OFFSET 偏移复制OP POPTIONS 选项ORBIT 3DORBIT 三维动态观察器OS OSNAP 对话框式对象捕捉设定*OS *OSNAP 命令式对象捕捉设定P PAN 即时平移*P *PAN 两点式平移控制PA PASTESPEC 选择性粘贴PARTIALOPEN *PASTESPEC 将指定的对象加载对新图形中PE PEDIT 编辑多义线PL PLINE 绘制多义线PO POINT 绘制点POL POLYGON 绘制正多边型PR OPTIONS 选项PRCLOSE PROPERTIESCLOSE 关闭对象特性修改对话框PROPS PROPERTIES 对象特性修改PRE PREVIEW 输出预览PRINT PLOT 打印输出PS PSPACE 图线空间PTW PUBLISHTIWEB 发送支网页PU PURGE 肃清无用对象*PU *PURGE 命令式肃清无用对象R REDRAW 重绘RA REDRAWALL 所有视口重绘RE REGEN 重新生成REA REGENALL 所有视口重新生成REC RECTANGLE 绘制矩形REG REGION 三维面域REN REBAME 对话框式重命名*REN *REBAME 命令式重命名REV REVOLVE 利用绕轴旋转二维对象创建三维体RM DDRMODES 打印辅助设定RO ROTATE 旋转RPR RPREF 设置渲染参考RR RENDER 渲染S STRETCH 拉伸SC SCALE 比例缩放SCR SCRIPT 调入剧本文件SE DSETTINGS 捕捉设定SEC DECTION 通过使平面与实体相交创建面域SET SETVAR 设定变量值SHA SHADE 着色SL SLICE 用平面剖切实体SN SNAP 捕捉控制SO SOLID 填实的三边形或四边形SP SEELL 拼字SPL SPLINE 样条曲线SPE SPLINEDIT 编辑样条曲线ST STYLE 字型设定SU SUBTRACT 差集运算T MTEXT 对话框式多行文字写入*T *MTEXT 命令式多行文字写入TA TABLET 数字化仪规划TH THICKNESS 厚度TI TILEMODE 图线空间和模型空间设定切换TO TOOLBAR 工具栏设定TOL TOLERANCE 公差符号标注TOR TORUS 圆环TR TRIM 修剪UC DDUCS 用户坐标系UCP DDUCSP 设置正交窗口UN UNITS 对话框式单位设定*UN *UNITS 命令式单位设定UNI UNION 并集运算V VIEW 对话框式视图控制*V *VIEW 视图控制VP DDVPOPINT 视点*VP WPOINT 命令式视点W WBLOCK 对话框式图块写出*W *WBLOCK 命令式图块写出WE WEDGE 三维楔体X EXPLODE 分解XA XATTACH 贴附外部参考XB XBIND 并入外部参考*XB *XBIND 命令式并入外部参考XC XCLIP 截取外部参考XL XLINE 构造线XR XREF 对话框式外部参考控制*XR *XREF 命令式外部参考控制Z ZOOM 视口缩入控制CTRL+A 编组CTRL+B 捕捉CTRL+C 复制CTRL+D 坐标CTRL+E 等轴测平面CTRL+F 对象捕捉CTRL+G 删格CTRL+J CTRL+SHIFT+S 图形另存为CTRL+K 超级链接LCTRL+L 正交CTRL+M 帮助CTRL+N 新建CTRL+O 打开CTRL+P 打印CTRL+Q 退出CTRL+S 保存CTRL+T 数字化仪CTRL+U CTRL+F10 极轴CTRL+V 粘贴CTRL+W 对象跟踪CTRL+X 剪切CTRL+z 退回CTRL+1 对象特性CTRL+2 CAD设计中心CTRL+6 数据源CTRL+F6 切换当前窗口CTRL+F8 运行部件CTRL+SHIFT+C 带基点复制快捷键执行命令命令说明3A 3DARRAY 三维阵列3DO 3DORBIT 三维动态观察器3F 3DFACE 三维表面3P 3DPOLY 三维多义线A ARC 圆弧ADC ADCENTER AutoCAD设计设计中心AA AREA 面积AL ALIGN 对齐(适用于二维和三维)AP APPLOAD 加载、卸载应用程序AR ARRAY 阵列*AR *ARRAY 命令式阵列ATT ATTDEF 块的属性*ATT *ATTDEF 命令式块的属性ATE ATTEDIT 编辑属性ATE *ATTEDIT 命令式编辑属性ATTE *ATTEDIT 命令式编辑属性B BLOCK 对话框式图块建立*B *BLOCK 命令式图块建立BH BHATCH 对话框式绘制图案填充BO BOUNDARY 对话框式封闭边界建立*BO *BOUNDARY 命令式封闭边界建立BR BREAK 打断C CIRCLE 圆CHA PROPERTIES 对话框式对象特情修改*CH CHANGE 命令式特性修改CHA CHAMFER 倒角COL COLCR 对话框式颜色设定COLOUR COLCR 对话框式颜色设定CO COPY 复制D DIMSTYLE 尺寸样式设定DAL DIMALIGNED 对齐式线性标注DAN DIMANGULAR 角度标注DBA DIMBASELINE 基线式标注DBC DBCONNECT 提供到外部数据库表的接口DCE DIMCENTER 圆心标记DCO DIMCONTINUE 连续式标注DDA DIMDISASSOCIATE 标注不关联DDI DIMDIAMETER 直径标注DED DIMEDIT 尺寸修改DI DIST 测量两点间距离DIV DIVIDE 等分布点DLI DIMLINEAR 线性标注DO DONUT 双圆DOR DIMORDIMATE 坐标式标注DOV DIMOVERRIDE 更新标注变量DR DRAWORDER 显示顺序DRA DIMRADIUS 半径标注DRE DIMREASSOCIATE 标注关联DS DSETTINGS 捕捉设定DST DIMSTYLE 尺寸样式设定DT DTEXT 写入文字DV DVIEW 定义平行投影或透视投影视图E ERASE 删除对象ED DDEDIT 单行文字修改EL ELLIPSE 椭圆EX EXTEND 延伸EXIT QUIT 退出EXP EXPORT 输出文件EXT EXTRUDE 将二维对象拉伸为三、维F FILLET 倒圆角FI FILTER 过滤器G GROUP 对话框式选择集设定*G *GROUP 命令式选择集设定GR DDGRIPS 夹点控制设定H BHATCH 对话框式绘制图案填充*H HATCH 命令式绘制图案填充HE HATCHEDIT 编辑图案填充HI HIDE 消隐I INSERT 对话框式插入图块*I *INSERT 命令式插入图块IAD IMAGEADJUST 图像调整IAT IMAGEATTACH 并入图像ICL IMAGECLIP 截取图像IM IMAGE 对话框式附着图像*IM *IMAGE 命令式贴附图像IMP IMPORT 输入文件IN INTERSECT 将相交实体或面域部分创建INF IMTERFERE 由共同部分创建三维实体IO INSERTOBJ 插入对象L LINE 画线LA LAYER 对话框式图层控制*LA *LAYER 命令式图层控制LE QLEADER 引导线标注LRN LENGTHEN 长度LI LIST 查询对象文件LINEWEIGHT LWEIGHT 线宽LO *LAYOUT 配置设定LS LIST 查询对象文件LT LINETYPE 对话框式线型加载*LT *LINETYPE 命令式线型加载LTYPE LINETYPE 对话框式线型加载*LTYPE *LINETYPE 命令式线型加载LTS LTSCALE 设置线型比例因子LW LWEIGHT 线宽设定M MOVE 搬移对象MA MATCHPROP 对象特性复制ME MEASURE 量测等距布点MI MIRROR 镜像对象ML MLINE 绘制多线MO PROPERTIES 对象特性修改MS MSPACE 从图纸空间转换支模型空间MT MTEXT 多行文字写入MV MVIEW 浮动视口O OFFSET 偏移复制OP POPTIONS 选项ORBIT 3DORBIT 三维动态观察器OS OSNAP 对话框式对象捕捉设定*OS *OSNAP 命令式对象捕捉设定P PAN 即时平移*P *PAN 两点式平移控制PA PASTESPEC 选择性粘贴PARTIALOPEN *PASTESPEC 将指定的对象加载对新图形中PE PEDIT 编辑多义线PL PLINE 绘制多义线PO POINT 绘制点POL POLYGON 绘制正多边型PR OPTIONS 选项PRCLOSE PROPERTIESCLOSE 关闭对象特性修改对话框PROPS PROPERTIES 对象特性修改PRE PREVIEW 输出预览PRINT PLOT 打印输出PS PSPACE 图线空间PTW PUBLISHTIWEB 发送支网页PU PURGE 肃清无用对象*PU *PURGE 命令式肃清无用对象R REDRAW 重绘RA REDRAWALL 所有视口重绘RE REGEN 重新生成REA REGENALL 所有视口重新生成REC RECTANGLE 绘制矩形REG REGION 三维面域REN REBAME 对话框式重命名*REN *REBAME 命令式重命名REV REVOLVE 利用绕轴旋转二维对象创建三维体RM DDRMODES 打印辅助设定RO ROTATE 旋转RPR RPREF 设置渲染参考RR RENDER 渲染S STRETCH 拉伸SC SCALE 比例缩放SCR SCRIPT 调入剧本文件SE DSETTINGS 捕捉设定SEC DECTION 通过使平面与实体相交创建面域SET SETVAR 设定变量值SHA SHADE 着色SL SLICE 用平面剖切实体SN SNAP 捕捉控制SO SOLID 填实的三边形或四边形SP SEELL 拼字SPL SPLINE 样条曲线SPE SPLINEDIT 编辑样条曲线ST STYLE 字型设定SU SUBTRACT 差集运算T MTEXT 对话框式多行文字写入*T *MTEXT 命令式多行文字写入TA TABLET 数字化仪规划TH THICKNESS 厚度TI TILEMODE 图线空间和模型空间设定切换TO TOOLBAR 工具栏设定TOL TOLERANCE 公差符号标注TOR TORUS 圆环TR TRIM 修剪UC DDUCS 用户坐标系UCP DDUCSP 设置正交窗口UN UNITS 对话框式单位设定*UN *UNITS 命令式单位设定UNI UNION 并集运算V VIEW 对话框式视图控制*V *VIEW 视图控制VP DDVPOPINT 视点*VP WPOINT 命令式视点W WBLOCK 对话框式图块写出*W *WBLOCK 命令式图块写出WE WEDGE 三维楔体X EXPLODE 分解XA XATTACH 贴附外部参考XB XBIND 并入外部参考*XB *XBIND 命令式并入外部参考XC XCLIP 截取外部参考XL XLINE 构造线XR XREF 对话框式外部参考控制*XR *XREF 命令式外部参考控制Z ZOOM 视口缩入控制CTRL+A 编组CTRL+B 捕捉CTRL+C 复制CTRL+D 坐标CTRL+E 等轴测平面CTRL+F 对象捕捉CTRL+G 删格CTRL+J CTRL+SHIFT+S 图形另存为CTRL+K 超级链接LCTRL+L 正交CTRL+M 帮助CTRL+N 新建CTRL+O 打开CTRL+P 打印CTRL+Q 退出CTRL+S 保存CTRL+T 数字化仪CTRL+U CTRL+F10 极轴CTRL+V 粘贴CTRL+W 对象跟踪CTRL+X 剪切CTRL+z 退回CTRL+1 对象特性CTRL+2 CAD设计中心CTRL+6 数据源CTRL+F6 切换当前窗口CTRL+F8 运行部件CTRL+SHIFT+C c 带基点复制。

LISP程序中强制显示Autocad某个功能的对话框

LISP程序中强制显示Autocad某个功能的对话框
本日志的起因是回答某位朋友的一个问题:
该朋友反映:定义了如下一个命令:
(defun C:bb()
(princ "创建块")
(command "block")
)
当加载到autocad中,在命令行输入bb后不会弹出“块定义”的对话框,在命令行显示相关信息,而直接输入block则可以弹出。

希望可以找到解决方案。

我研究了一下,找到解决方案:诀窍在于:(initdia)
通常而言,在lisp中调用块,阵列,图层等。

通常不会显示对话框,除非通过在调用命令的语句前加上:(initdia) 这样才能强制显示对话框。

我对这位朋友的程序作修改后如下,能解决他的问题。

(defun C:bb()
(princ "创建块")
(initdia)
(command "block")
)。

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

函数返回值一定是 NIL。
第2节
对话框开启方式
(DEFUN C:函数名称( ) (SETQ 变量 (LOAD_DIALOG "对话框定义档"))
(NEW_DIALOG "对话框名称" 变量)
(START_DIALOG) (UNLOAD_DIALOG 变数)
)
程序说明:
1 以 DEFUN 函数定义程序的名称,使用 LOAD_DIALOG 函数加载指定的对话框定义档,
开启并显示对话框
(NEW_DIALOG "对话框名称" 档案处理码 ["预设动作" [对话框位置]])
例如 (NEW_DIALOG "RECT" DCL_ID)
对话框名称为字符串,要在前后加双引号。注意,在一个定义档中,可包含多个对话框名
称及其定义。
档案处理码是经由 LOAD_DIALOG 函数取得。
中,以方便其它函数使用。
2 使用 NEW_DIALOG,开启及显示定义文件中(档案处理码)名称为 RECT 的对话框。
3 使用 START_DIALOG 函数,使对话框开始作用并接受使用者输入(在本例中只有确定
钮可按),使用 UNLOAD_DIALOG 函数以结束对话框。
4 关括号是对应第 1 行 DEFUN 函数左边的开括号,结束整个程序。
等)
第4节
对话框定义文件的内容模式
对话框名称:dialog
{ label="对话框标题" ;
:组件名称
{ 属性名称=属性值;
}
//组件定义结束
}
//对话框结束
定义说明:

1 对话框名称就是由 AutoLISP 程序启动对话框时所呼叫的名称。可以自行设定,要区分
大小写字母。dialog 为对话框中最外层的组件(即整个对话框),其它的组件均包含在其中。
3 text 为字符串组件,其作用是在对话框中显示文字,组件名称前要加冒号。
4 最左边为 text 组件的开大括号,接着是其属性 label,并以等号设定其属性值为"Rectangle
width",最后以分号结束此行叙述。
5 关大括号是对应第 4 行的开大括号,这对大括号同属于第 3 行的 text 组件。
若返回值为 1,表示使用者按下确定钮结束对话框;0 表示按下取消钮;-1 表示全部对话
框都以 TERM_DIALOG 函数终止;大于 1 的整数,其意义由应用程序决定。
释放(卸载)对话框
(UNLOAD_DIALOG "档案处理码")
例如
(UNLOAD_DIALOG DCL_ID)
从内存释放档案处理码(经由 LOAD_DIALOG 函数取得)指定的对话框定义档。
注意:
虽然定义档巳经完成,但仍要待学习完第 2 篇的课程后,才能开启及显示该对话框。
第二篇 开启对话框
第1节
AutoLISP 函数
加载 DCL 定义文件函数
(LOAD_DIALOG "对话框定义档名称")
例如
(LOAD_DIALOG "C:/RECT.DCL")
自变量是要加载的对话框定义文件名称字符串(所以要在前后加双引号);若不设定扩展
只会在指定的目录内寻找。
不可以参考 ACAD.DCL 所定义的对话框,即不可以使用@include "acad.dcl"
预视对话框
若在 Visual LISP 中开启一对话框定义文件,即可使用:
工具 -- 接口工具 -- 预览编辑器 DCL
在下拉式列示框中,选取该定义文件中所设定的对话框名称,即可预视对话框
key 其属性值即为使用该组件的关键词,以便在 AutoLISP 程序中操控此组件。在同一个
对话框定义中,不能有相同名称的关键词定义。
edit_limit 指定在编辑框中可输入字符串的最大字符长度。
edit_width 指定编辑框显示时的宽度(通常与 fixed_width 属性一拼使用)。
value 指定编辑框显示时的默认值(注意,显示数值数据时,要先用 AutoLISP 函数将数
dcl_settings : default_dcl_settings {audit_level = 3;}
等级 0 不检查:只有在该定义档巳被检核,且不再作修改时使用。
等级 1 错误:找出可能造成 AutoCAD 终止的错误,此等级为默认值。
等级 2 警告:找出配置或行为模式的错误,所有定义在修改后,最少应执行此等级的检查
:text //文字组件 { label="Rectangle width :" ; //组件的属性 } ok_only;
}
定义说明:
1 设定对话框的名称为 RECT,紧接一个以冒号开始的组件 dialog
2 最左边为 dialog 组件的开大括号,接着是其属性 label,并以等号设定其属性值为
"Rectangle",以分号结束此行叙述。
的错误。
第2节
定义档
BASE.DCL 预设在 SUPPORT 的目录中,它包含了各组件的原型定义及各类型巳定义的
其它基本组件。而所有自行开发的对话框定义文件,都可以使用在 BASE.DCL 定义文件中
的各个组件。
ACAD.DCL 预设在 SUPPORT 的目录中,它包含了 AutoCAD 中所有标准对话框的定义
言)所建立。
在 AutoLISP 程序中,配合可编程对话框(Porgrammable Dialog Box,简称 PDB)函数,
激活及操控对话框。
可以在一个定义档(扩展名 DCL)中定义多个对话框。
对话框由方块本身,及包含于其内的组件(或称为控件、构件)所组成。
每个组件的属性定义均包含在一对大括号{ }中。
第一篇 基本知识
第1节
基本知识
对话框是现今最流行的人机互动面接口;在早期的 AutoCAD 版本中巳经使用,但只有在 R12
版本开始,才提供给使用者自行编程的对话框开发功能。
对话框的描述定义在一纯文字文件(扩展名为 DCL)内,无须特别的开发环境。
定义文件中的对话框描述,均以对话控制语言(Dialog Control Language,简称 DCL 语
第3节
编辑框组件(edit_box)
供使用者直接输入字符串的矩形方框。注意,在编辑框中所显示及输入的数据均为字符串型
态,而数字则要在取得编辑框的字符串内容后(在下一篇中介绍),使用 AutoLISP 函数将其
转为数值型数据。
:edit_box //组件名称
{
属性="属性值" ;
}
属性 label 显示在编辑框前面(左边)的提示文字。
开始接受使用者输入
(START_DIALOG)
函数不须提供任何自变量。
使前一个用 NEW_DIALOG 函数开启的对话框开始作用,直至动作表示式或回复函数呼
叫 DONE_DIALOG 函数为止。
一般 DONE_DIALOG 与关键词 accept(一般是按下确定按钮)或关键词 cancel(一般
是按下取消按钮)相关。
(NEW_DIALOG "RECT" DCL_ID)
(START_DIALOG) (UNLOAD_DIALOG DCL_ID)
)
程序说明:
1 以 DEFUN 函数定义程序的名称为 RECT,使用 LOAD_DIALOG 函数将对话框定义文件
RECT.DCL 载入,使用 SETQ 函数,将 LOAD_DIALOG 返回的档案处理码存入变量 DCL_ID
4 关括号是对应第 1 行 DEFUN 函数左边的开括号,结束整个程序。
练习
编写一 AutoLISP 程序,以开启上一课所定义的对话框,并将该程序命名为 RECT.LSP,存
于 C 盘的根目录中,程序代码如下:
(DEFUN C:RECT() (SETQ DCL_ID (LOAD_DIALOG "C:/RECT.DCL"))
4 开大括号{紧随组件名称之后,以包含组件的属性或其它组件。
包含在组件中的属性,要以等号=赋以其右边的属性值,最后以分号;结束该行叙述。
5 关大括号}与第 4 行的开大括号}对应,以结束该组件(第 3 行)之定义。
双除号//右边的文字即为批注。
6 关大括号}与第 2 行的开大括号}对应,以结束该组件之定义(在本例中为整个对话框的
6 ok_only 为一“按钮组件”,它的作用是在对话框中显示一个“确定(OK)”按钮。在
一个对话框中,最少必需提供一个“确定”按钮,或一个“取消”按钮(组件名称为
cancel_button),以作为结束对话框之用。本例中不设定按钮之属性,固不需以冒号放在
组件名称的前面,但却需要以分号结束。
7 关大括号是对应第 2 行的开大括号,这对大括号同属于第 1 行的 dialog 组件。
一般组件要以冒号:开始,并为小写字母,因为不是属性,所以不须使用分号;结束。
2 开大括号{紧随组件名称之后,以包含该组件的属性或其它组件。label 为属性名称,并
以等号=赋以其右边的属性值,最后以分号;结束该行叙述。
3 包含在对话框中的其它组件。
组件要以冒号:开始,并为小写字母,因为不是属性,所以不须使用分号;结束。
据转为字符型)。
fixed_width 通常与 width 属性一拼使用,以固定编辑框显示时的宽度(其属性值可设定为 true 或 false)。
is_enable 可设定编辑框是否可以使用(其属性值可设定为 true 或 false,默认值为 true)。
预设动作为字符串表示式。函数可以不加预设动作,或以空字符串""表示。
相关文档
最新文档