AutoLISP在工程制图中对命令的简化应用

合集下载

第四章 Auto LISP的绘图功能.

第四章 Auto LISP的绘图功能.
第四章 Auto LISP的绘图功能
如前所述, Auto LISP 语言体现了人工智能语言 lisp 的特点和Auto CAD强大的图形编辑功能,可以说它是集 设计与绘图为一体的人工智能语言,因此,它是开发实 用工程计算机辅助设计和绘图软件的强有力工具。Auto LISP 具有强大的绘图编辑功能,主要是由于它提供了与 Auto CAD相互通讯的简单透明的接口功能,即提供了一 个 系 统 内 部 函 数 command,AutoLISP 程 序 中 利 用 command 函数可以非常简单而方便地调用几乎全部 Auto CAD命令,以完成所要求的各种工程图形的绘制任务, 本章将重点介绍 command 函数的功能、编程技巧及应用 实例。
6. command可以不带任何参数,即(command),
它等效于在键盘上按CTRL—C键,即取消了Auto CAD 命令。 例如: (command “dim” “hor” /(4 4) /(6 4) /(5 4) 10) (command) 相当于取消DIM命令并返回到命令提示。 (command)也可以用“∧”代替,如上式可写成: (command “dim” “hor” /(4 4) /(6 4) /(5 4) 10∧)
1. Auto CAD的命令、子命令和选择项要用字符串 表示,大小写均可。 例如: (command “DIM” “hor” /(2.0 3.0) /(5.0 3.0) /(5.0 5.0) 8) “DIM”为命令,“hor”为子命令,均用字符串 表示。 2.数字常量(整型数或实型数)可写成本身亦可 写成字符串形式。如上例中数字8亦可写成“8”。 3.点常量有两种表示法:一是Auto LISP表的形 式,如上例中/(2.0 3.0),/(5.0 3.0)。二是用字符 串表示,字符串中数据要符合Auto CAD的规定。 如写成“2.0,3.0”,“5.0,10.0”。

第2讲利用AutoLisp语言绘图

第2讲利用AutoLisp语言绘图

第2讲利⽤AutoLisp语⾔绘图第2讲利⽤AutoLisp语⾔绘图在AuotCAD绘制简单图形时,有三种主要⽅式:(1)图标菜单(2)下拉式菜单(3)命令⾏。

事实上还有另外⼀种绘图⽅式,即通过lisp语⾔实现绘制图形。

利⽤Lisp语⾔绘图的最⼤优点是可以实现批处理,降低劳动强度。

⼩知识:Lisp语⾔最⼤优势是和AutoCAD绘图结合的很好,这也是该语⾔⾄今仍未被淘汰的最主要原因。

1、简单的绘图语句⼏乎AuotCAD中所有的绘图及环境设置命令都可以通过程序调⽤!,利⽤Lisp语⾔编写绘图命令的窍门是⾸先在命令⾏下把绘图命令和对应的参数记住,然后⽤Lisp语⾔的格式书写出即可。

1.1 绘制直线(command "line" "0,0" "1,1" "")1.2 绘制圆(command "circle" "0,0" 5)1.3 绘制正多边形(command "polygon" 5 "0,0" "i" 5)(command "polygon" "5" "0,0" "i" "5")都正确1.4 新建图层(command "la yer" "m" "道路" "c" 2 "" "")请同学⾃⼰编写⾼度为2,起点位置在“0,0”,⽂字内容是“理⼯⼤”的程序2、⽤多条绘图语句表⽰复杂图形正常情况下图形都⽐较复杂,需要⽤多条语句编写,例如测绘中的下⽔井、路灯等符号。

例1、下⽔井的绘制(defun c:xsj()(command "circle" "0,0" 0.5)(command "line" "-0.5,0" "0.5,0" "")(command "line" "0,-0.5" "0,0.5" ""))3、循环控制语句例2、绘制同⼼圆例3、绘制可多次插⼊的下⽔井符号例4、绘制y=sinx 曲线4、课后练习题4.1 编写lisp 程序,绘制路灯图案,参照下⽔井程序,改写成可以多次插⼊的程序。

AUTOLISP程序设计技巧

AUTOLISP程序设计技巧

AUTOLISP程序设计技巧AUTOLISP(即AutoCAD Lisp)是一种用于AutoCAD软件的编程语言。

它基于Lisp语言,可以用于创建自定义命令和功能,以自动执行一系列任务。

在编写AUTOLISP程序时,可以采用一些技巧来提高代码的可读性和性能。

下面将介绍一些常用的AUTOLISP程序设计技巧。

1.变量命名:为了增加代码的可读性,应该选择具有描述性的变量名。

避免使用单个字母或简写的名称,而应使用有意义的名称来描述变量的用途或含义。

2.注释:在代码中使用适当的注释是非常有帮助的,可以解释代码的目的、逻辑和特定部分的功能。

注释应该清晰明了,不冗余,并使用大写字母或其他方法来突出显示。

3.函数:使用函数来分割代码段,以便在需要时可以多次调用相同的代码块。

函数的使用可以提高代码的可读性,并使其更容易维护。

4.错误处理:在代码中加入适当的错误处理机制非常重要,可以避免程序崩溃或产生不期望的结果。

使用条件语句和错误处理函数来检测和处理可能发生的错误。

5.循环:使用循环语句来处理重复性任务,并减少代码的冗余。

根据任务的特点选择合适的循环类型(例如FOR循环、REPEAT循环等)。

6.嵌套:在必要时使用嵌套结构,将代码组织成逻辑结构清晰的块。

使用适当的缩进和代码布局来增加代码的可读性。

7.字符串处理:AUTOLISP中的字符串处理功能非常强大,可以使用字符串函数来处理、操作和格式化字符串。

了解并熟练使用字符串函数可以提高代码的灵活性和功能。

8.数组和列表:使用数组和列表可以存储和处理多个值。

熟练使用与数组和列表相关的函数(如CAR、CDR、CONS、LIST等)可以简化代码并提高性能。

9. 命令行交互:通过与用户进行命令行交互,可以提高程序的交互性。

使用getstring、princ等函数来获取用户输入,并使用条件语句来根据输入执行相应的操作。

10.优化:编写高效的代码可以提高程序的性能。

使用较少的迭代步骤、减少不必要的计算、选择合适的数据结构等都可以提高程序的效率。

使用CAD进行程序化绘图的方法与示例

使用CAD进行程序化绘图的方法与示例

使用CAD进行程序化绘图的方法与示例CAD(计算机辅助设计)软件是现代工程设计中不可或缺的工具之一。

它可以大幅提高工作效率,提供精确的设计模型和绘图输出。

在CAD中,程序化绘图技术可以进一步提高设计工作的效率和准确性。

本文将介绍使用CAD进行程序化绘图的方法与示例。

在CAD中,我们可以通过编写脚本或使用宏来实现程序化绘图。

常见的CAD软件如AutoCAD、SolidWorks和CATIA等都提供了编程接口和相关的编程语言,如AutoLISP、VBA和C#等。

下面我们将以AutoCAD为例,介绍使用AutoLISP进行程序化绘图的方法与示例。

AutoLISP是AutoCAD的内置编程语言,它与AutoCAD的各种功能紧密结合,可以实现从基本绘图操作到自定义功能的自动化。

以下是使用AutoLISP进行程序化绘图的几个示例:1. 绘制矩形:我们可以使用AutoLISP编写一个简单的程序来绘制矩形。

下面是一个示例程序:```(defun c:draw-rectangle (/ p1 p2)(setq p1 (getpoint "\nEnter the first corner point: "))(setq p2 (getcorner p1 "\nEnter the opposite corner point: "))(command "RECTANG" p1 p2)```在AutoCAD中,我们可以运行该程序的命令`draw-rectangle`,然后按照提示,输入第一个和第二个角点,即可绘制一个矩形。

2. 绘制圆形:类似地,我们可以使用AutoLISP编写一个程序来绘制圆形。

下面是一个示例程序:```(defun c:draw-circle (/ center radius)(setq center (getpoint "\nEnter the center point: "))(setq radius (getdist "\nEnter the radius: "))(command "CIRCLE" center radius))```在AutoCAD中,我们可以运行该程序的命令`draw-circle`,然后按照提示,输入圆心和半径,即可绘制一个圆形。

AutoLISP开发用命令

AutoLISP开发用命令

命令修饰符命令.....COLOR 定义新对象的颜色COMPILE 编译形文件和PostScript字体文件CONE 创建三维实体圆锥CONVERT 优化AutoCAD R13或更早版本创建的二维多段线和关联填充CONVERTCTB 将颜色相关打印样式表(CTB)转换为命名打印样式表(STB) 2002版新增CONVERTPSTYLES 将当前图形的颜色模式由命名打印样式转换为颜色相关打印样式 2002版新增COPY 复制对象COPYBASE 带指定基点复制对象COPYCLIP 将对象复制到剪贴板 Ctrl+C键COPYHIST 将命令行历史记录文字复制到剪贴板COPYLINK 将当前视图复制到剪贴板中CUSTOMIZE 自定义工具栏、按钮和快捷键 2000i版新增CUTCLIP 将对象复制到剪贴板并从图形中删除对象 Ctrl+X键CYLINDER 创建三维实体圆柱DBCCLOSE 关闭“数据库连接”管理器DBLCLKEDIT 控制双击对象时是否显示对话框 2000i版新增DBCONNECT 为外部数据库表提供AutoCAD接口 Ctrl+6键DBLIST 列出图形中每个对象的数据库信息DDEDIT 编辑文字和属性定义DDPTYPE 指定点对象的显示模式及大小可透明使用DDVPOINT 设置三维观察方向DELAY 在脚本文件中提供指定时间的暂停可透明使用DIM(或DIM1)进入标注模式DIMALIGNED 创建对齐线性标注DIMANGULAR 创建角度标注DIMBASELINE 创建基线标注DIMCENTER 创建圆和圆弧的圆心标记或中心线DIMCONTINUE 创建连续标注DIMDIAMETER 创建圆和圆弧的直径标注DIMDISASSOCIATE 删除指定标注的关联性 2002版新增DIMEDIT 编辑标注DIMLINEAR 创建线性尺寸标注DIMORDINATE 创建坐标点标注DIMOVERRIDE 替换标注系统变量DIMRADIUS 创建圆和圆弧的半径标注DIMREASSOCIATE 使指定的标注与几何对象关联 2002版新增DIMREGEN 更新关联标注 2002版新增DIMSTYLE 创建或修改标注样式DIMTEDIT 移动和旋转标注文字DIST 测量两点之间的距离和角度可透明使用DIVIDE 定距等分DONUT 绘制填充的圆和环DRAGMODE 控制AutoCAD显示拖动对象的方式可透明使用DRAWORDER 修改图像和其他对象的显示顺序DSETTINGS 草图设置DSVIEWER 打开“鸟瞰视图”窗口DVIEW 定义平行投影或透视视图DWGPROPS 设置和显示当前图形的特性DXBIN 输入特殊编码的二进制文件EATTEDIT 增强的属性编辑 2002版新增EATTEXT 增强的属性提取 2002版新增EDGE 修改三维面的边缘可见性EDGESURF 创建三维多边形网格ELEV 设置新对象的拉伸厚度和标高特性可透明使用ELLIPSE 创建椭圆或椭圆弧ENDTODAY 关闭“Today(今日)”窗口 2000i版新增ERASE 从图形中删除对象 Del键ETRANSMIT 创建一个图形及其相关文件的传递集 2000i版新增EXPLODE 将组合对象分解为对象组件RMAT 管理渲染材质RMLIN 从RML文件将插入图形 2000i版新增ROTATE 绕基点移动对象ROTATE3D 绕三维轴移动对象RPREF 设置渲染系统配置RSCRIPT 创建不断重复的脚本RULESURF 在两条曲线间创建直纹曲面SAVE 用当前或指定文件名保存图形 Ctrl+S键SAVEAS 指定名称保存未命名的图形或重命名当前图形SAVEIMG 用文件保存渲染图像SCALE 在X、Y和Z方向等比例放大或缩小对象SCALETEXT 改变指定文字的大小并保持其位置不变 2002版新增SCENE 管理模型空间的场景SCRIPT 用脚本文件执行一系列命令可透明使用SECTION 用剖切平面和实体截交创建面域SELECT 将选定对象置于“上一个”选择集中SETUV 将材质贴图到对象表面SETVAR 列出系统变量或修改变量值SHADEMODE 在当前视口中着色对象SHAPE 插入形SHELL 访问操作系统命令SHOWMAT 列出选定对象的材质类型和附着方法SKETCH 创建一系列徒手画线段SLICE 用平面剖切一组实体SNAP 规定光标按指定的间距移动可透明使用SOLDRAW 在用SOLVIEW命令创建的视口中生成轮廓图和剖视图SOLID 创建二维填充多边形SOLIDEDIT 编辑三维实体对象的面和边SOLPROF 创建三维实体图像的剖视图SOLVIEW 在布局中使用正投影法创建浮动视口来生成三维实体及体对象的多面视图与剖视图SPACETRANS 在模型空间和图纸空间之间转换长度值 2002版新增SPELL 检查图形中文字的拼写可透明使用SPHERE 创建三维实体球体SPLINE 创建二次或三次(NURBS)样条曲线SPLINEDIT 编辑样条曲线对象STANDARDS 管理图形文件与标准文件之间的关联性 2002版新增STATS 显示渲染统计信息STATUS 显示图形统计信息、模式及范围可透明使用STLOUT 将实体保存到ASCII或二进制文件中STRETCH 移动或拉伸对象STYLE 设置文字样式可透明使用STYLESMANAGER 显示“打印样式管理器”SUBTRACT 用差集创建组合面域或实体SYSWINDOWS 排列窗口TABLET 校准、配置、打开和关闭数字化仪TABSURF 沿方向矢量和路径曲线创建平移曲面TEXT 创建单行文字TEXTSCR 打开AutoCAD文本窗口可透明使用TIME 显示图形的日期及时间统计信息可透明使用TODAY 打开“今日”窗口 2000i版新增TOLERANCE 创建形位公差标注TOOLBAR 显示、隐藏和自定义工具栏TORUS 创建圆环形实体TRACE 创建实线TRANSPARENCY 控制图像的背景像素是否透明TREESTAT 显示关于图形当前空间索引的信息可透明使用TRIM 用其他对象定义的剪切边修剪对象U 放弃上一次操作UCS 管理用户坐标系UCSICON 控制视口UCS图标的可见性和位置。

LISP语言在CAD工程制图中的应用_谢威

LISP语言在CAD工程制图中的应用_谢威

C/C++ 的 ObjectARX。这里推荐使用 LISP 语言是因为在 AutoCAD 中集
成了两种语言的开发环境,并且有详细的帮助文件。LISP 语言是人工智
能学科领域中广泛采用的一种程序设计符号语言。这种语言在参数化
绘图中有很大的灵活性,并且可以实现一定的人工智能。LISP 开发出的
程序可以像运行 CAD 普通命令一样在命令行中直接键入自己定义的命令运行,保Fra bibliotek了用户的绘图习惯。
工程制图人员采用 LISP 语言编写出适合工作需要的工具,使工程制
图人员如虎添翼,大大提高了工作效率,在更加广阔的天地里施展才华。
参考文献 [1]《AutoLISP 程序员参考手册》 [2]《AUTOCAD 使用手册 》 [3]《南方 CASS 使用手册》
— 627 —
科技信息
计算机与网络
LIS P 语言在 CAD 工程制图中的应用
辽宁省第六地质大队 谢 威 辽宁省第二水文地质工程地质大队 杨 娇
[摘 要]针对 CAD 技术在测量制图工作中的重要性,而 LISP 程序是 CAD 技术的重要拓展,结合自已的工作体会,提出一种工具 程序设计,并用 LISP 语言编程,实现计算机的自动设计、计算、制图功能,使工程制图工作更有效的顺利进行。 [关键词]LISP 工程制图 CAD 技术
一、引言 LISP(List Processor)程序语言是由 Autodesk 公司开发的一种程序 语言。AutoCAD 软件包中包含大多数用于产生图形、处理图形的命令, 但仍有某些命令末被提供。通过 AutoLISP,可以使用 AutoLISP 程序语 言编制能够在图形文本对象内编写工具或作全局选择性改变程序。 在工程测量中,内业资料计算占有很重要的比重,内业资料计算的 速度直接决定了测量工作的快速、顺利地完成。计算机辅助设计 (Computer Aid Design 简写 CAD,常称 AutoCAD)是 20 世纪 80 年代初 发展起来的一门新兴技术型应用软件。如今在各个领域均得到了普遍 的应用。而 AutoCAD 配合 AutoLISP 语言编制出的程序,使测量内业资 料整理更加有效的顺利进行,从而大大减少内业工作量。以下通过编写 “图块过滤”的 LISP 程序工具来说明程序在制图中的应用。 二、工程制图 LISP 实用程序 1、主程序 (defun c:gltk () (princ "** 使用此程序时必须全图显示 **") (setvar "cmdecho" 0) (SETVAR "pickstyle" 0) (setq B (assoc 2 (entget (car (entsel "< 请选择需要过滤图块:>"))))) (setq xisijl

实现CAD绘图与LISP编程的自动化技巧

实现CAD绘图与LISP编程的自动化技巧

实现CAD绘图与LISP编程的自动化技巧CAD(计算机辅助设计)是一种广泛应用于工程和建筑行业的软件工具,而LISP(LISt Processing)则是一种编程语言,经常用于CAD 软件中进行自动化任务和定制。

在CAD绘图中,使用LISP编程可以极大提高工作效率,加快绘图速度并减少出错概率。

下面,我们将介绍一些实现CAD绘图与LISP编程的自动化技巧。

1. 使用LISP编写简单命令LISP语言在CAD软件中被广泛应用,因其简洁、灵活和强大的功能而备受赞誉。

可以利用LISP编写一些简单的命令,以自动完成一些常见的绘图任务。

例如,我们可以编写一段LISP代码,用于创建一个特定大小和形状的矩形或圆形,并将其放置在指定位置。

2. 利用LISP实现参数化绘图参数化绘图是CAD绘图中常见的需求,它可以根据一组参数值自动生成特定形状和尺寸的图形。

利用LISP编程可以方便地实现参数化绘图。

通过定义参数,并使用LISP代码控制参数值,可以在绘图过程中灵活地调整形状和尺寸,提高工作效率。

3. 利用LISP编写循环和逻辑语句LISP编程强大之处在于其循环和逻辑语句的灵活性。

通过编写循环和逻辑语句,可以实现复杂的绘图任务,如图形的重复、数组的生成等。

例如,我们可以使用循环语句自动生成一系列具有相同属性但位置不同的图形。

4. 利用LISP批处理CAD命令CAD软件中的批处理命令可以用于自动执行一系列CAD操作,如创建图层、更改对象属性等。

利用LISP编程可以轻松地实现批处理CAD命令。

通过编写LISP代码,将多个CAD命令组合在一起,可以以一次性的方式自动执行这些命令,从而减少人为干预。

5. 利用LISP创建自定义CAD函数和命令除了使用CAD软件中已有的命令,我们还可以通过LISP编程自定义CAD函数和命令,以满足特定的需求。

通过编写LISP代码,可以根据自己的需要定义函数和命令,从而实现更高级和复杂的CAD绘图操作。

autolisp语言

autolisp语言




(strcat <字符串1> <字符串2>…) 将<字符串1>、< 字符串2>…按顺序连结成一个新字符串,返回该新字 符串。 (substr <字符串> <开始> <长度>) 将<字符串>从< 开始>位置截取长为<长度>值的字符串,返回字符串 。 (strcase <字符串> <模式>)根据<模式>将<字符串>全 部转换成大写或小写,返回转换后的字符串。<模式> 为任意表达式,若省略<模式>或其值为nil,字符串各 字符全部转换成大写,若<模式>值为非nil,字符串各 字符全部转换成小写。 (strlen <字符串>) 求字符号串<字符串>中的字符个数 (包括空格), 返回数值。
补充
取得xyz分量 Getpoint和getcorner函数返回坐标,是一 个有三个实数组成的序列(x y z)。若 要取得其中xyz坐标的分量,可以使用car 、cadr、caddr函数,其语法格式为: (car list) (cadr list) (caddr list)

还可以自组坐标序列


(+ <数> <数>…) 返回所有<数>的和。其中,<数> 可以是整型数,也可以是实型数。 (- <数> <数>…)返回第一个<数>与后面所有数的差。 (* <数> <数>…) 返回所有<数>的乘积。 (/ <数1> <数2> … )返回<数1>除以<数2>后的商。 (1+ <数>) 返回<数>加1后的值。 (注意:1与+号之间不能有空格) (1- <数>) 返回<数>减1后的值。 (注意:1与-号之间不能有空格) (abs <数>) 返回<数>的绝对值。 (sin <角度>) 返回<角度>的正弦值,<角度>单位为弧度

cad中al命令的用法 -回复

cad中al命令的用法 -回复

cad中al命令的用法-回复CAD中AL命令的用法CAD(Computer-Aided Design,计算机辅助设计)是一种应用于工程设计领域的技术,它可以帮助设计师创建、修改和分析各种复杂的设计图纸。

在CAD软件中,AL命令是一个非常有用的工具,它可以实现自动化的对齐和布局操作。

本文将详细介绍AL命令的使用方法,希望能对CAD 软件的初学者提供帮助。

一、什么是AL命令?AL命令是AutoLISP(自动LISP)程序语言中的一个命令,LISP是一种广泛应用于CAD软件中的编程语言。

AL命令的全称是Alignment,它可以自动对齐和布局CAD图形中的各个元素。

二、如何使用AL命令?1. 准备工作在使用AL命令之前,首先需要确保已经加载了AutoLISP程序库。

在CAD 软件的命令行窗口输入(command "load" "acad.lsp"),即可加载该程序库。

2. 打开对齐工具栏在CAD软件中,可以通过点击“视图”菜单,然后选择“工具栏”,再勾选“对齐”工具栏,打开对齐工具栏。

对齐工具栏中包含了AL命令的各种对齐和布局选项。

3. 对齐元素在打开的对齐工具栏中,可以看到一系列的对齐选项,比如对齐到对象、对齐到点、对齐到网格等。

以“对齐到对象”为例,使用AL命令进行元素对齐的步骤如下:a. 点击“对齐到对象”按钮,激活对齐到对象功能。

b. 在CAD绘图区域中选择需要对齐的元素。

可以通过鼠标拖拽形成一个框选范围,或者逐个选择需要对齐的元素。

c. 根据需要选择对齐的基准点,可以选择元素的端点、中点等进行对齐。

在CAD绘图区域中点击选定基准点。

d. 移动鼠标,选择对齐的目标点。

可以选择其他元素的端点、中点等作为目标点。

e. 按下回车键完成对齐操作。

4. 布局元素除了对齐元素,AL命令还可以用于布局元素。

以“等距离布局”为例,使用AL命令进行元素布局的步骤如下:a. 点击“等距离布局”按钮,激活等距离布局功能。

AutoLISP调用AutoCAD绘图命令

AutoLISP调用AutoCAD绘图命令

AutoLISP调用AutoCAD绘图命令画直线段(command “line”p1 p2 p3 “”)(command “line”p1 p2 p3 “C”)画圆(command “circle”p0 R)(command “circle”p0 “D”D)(command “pline”p1 p2 “A”p3 “L”p4 “A”p5 “L”p6 “”)(弧沿逆时针方向绘制,且自动与直线相切。

)画边数为sides的正多边形(command “polygon”sides “E”p1 p2)(已知多边形某边所在两点)(command “polygon”sides p0 “I”p)(多边形内接于P点所在的圆)(command “polygon”sides p0 “C”p)(多边形外切于P点所在的圆)(command “donut”D1 D2 p0 “”)画椭圆(command “ellipse”p1 p2 p3)(command “ellipse”“c”p0 p1 p2)画弧(command “arc”p1 p2 p3)(三点画弧)(command “arc”ps “c”p0 pe)(默认沿逆时针方向画弧)(command “arc”ps “c”p0 “A”A)(角度A以逆时针方向为正)书写文字(command “text”p H A “技术要求” )(左对齐)(command “text”“c”p H 0 “技术要求” )(居中对齐,字高为H)(command “text”“A”p1 p2 “技术要求” )(两边对齐,字高为默认值)目标选择“L”: 选择最后一个实体对象(Last选择)“W”p1 p2 : 选择以p1和p2为角点的矩形内的实体对象(Window选择)p : 选择p点所在的实体对象(point选择)打剖面线(command “hatch”“u” A dist “N”“w”p1 p2 “”)(command "bhatch" p "p" "u" A dist "" "") (此行中p是区域内一点) 镜像实体对象(command “mirror”目标选择“”p1 p2 “”)阵列(command “array”目标选择“”“R” 3 4 x y)(复制3行4列)(command “array”目标选择“”“p”p0 N 360 “”)(阵列份数为N)。

LISP语言在CAD工程制图中的应用

LISP语言在CAD工程制图中的应用


2、 函数说 明 ()tr 1s v 函数用于给 A tC D系统变量赋值。系统变量名必须置 ea uo A
于双 引号 中 。
st r函数 格 式 为 :sta r be n m a e ev a (e r ai l- a e l ) v v a vu
二 、 程 制 图 LS 工 IP实 用 程 序
其 中 vr ln m …………Auo A ai e a e b a t D系统变量 C v u … …………………赋予系统变量 的值 ae l ( )m eh 系统变量 : 制 Auo IP的 cmmad函数运行时 A — 2 c dc o 控 t S L o n u tC o AD是否 回显提示 和输入。 ()t 3 s q函数用 于给变量赋值 , e 其格式如下 : (e a evle N me a e … ) st m au[ a l ] qn vu 其中N e m a …………………变量名 v u … … … … … … …赋 予 变 量 的值 l ae ( )eds 函数 暂停程 序的运行 , 4 gti t 等候用户输 人距 离 , 随后 以实数 形式返 回该距 离。gti 函数格 式为 : e s dt (e i[ o t r pj g d t i 儿Po t) tsP n m 其中 Pit on…………………距离 的第一点坐标 Po p………………须在屏幕上显示的提示信息 r t m ( )r 函数用于与 i 5po n g f 函数搭配 , 以求解 多个表达式 。其格式为 : (rg 表 达 式 ) po n 当 测 试 条 件 返 回“ ” , 函数 只 能求 解 一个 表 达式 。 po 函数 真 时 证 rg n 可用于与 i函数搭配以求解 多个表达式 。 f 3 程 序使用方法 、 假设 有一片果 园 , 充符号过密 , 填 通过使用本程 序实现 以 3 O米间 距 填充 。 () 1 打开基于 C D基础开发 的 C S A A S软 件 , 绘制一片果 园, 1所 图

用LISP语言自定义AutoCAD命令

用LISP语言自定义AutoCAD命令

用LISP语言自定义AutoCAD命令LISPAutoCADAutoLISP语言作为AutoCAD的二次开发工具,虽然在功能、运行速度和保密性等方面比起ARX等工具要逊色一些,但由于它易学易用,交互性好,灵活性强,对于那些经常使用AutoCAD进行绘图的普通用户来说,不失为一种理想的开发工具。

下面就介绍用AutoLISP语言自定义的几个AutoCAD绘图命令,可以起到简化操作、提高作图效率的作用。

一、键槽尺寸视图的绘制命令“jct”在绘制轴、齿轮或带轮等零件图时,经常需要画轴上键槽处的剖视图或轮毂键槽的端面视图,比较麻烦;由于键槽的尺寸随轴径的变化而变化,所以我们可以用LISP程序来实现自动绘图。

加载下面的程序,在命令行中键入”jct”并回车,通过人机交互的形式输入有关参数,可自动完成轴上键槽的剖视图和轮毂键槽的端面视图的绘制。

代码示例如下所示。

(defun C:jct ()(setq pt0 (getpoint "\n 请输入视图的中心位置点:"))(initget 7)(setq loop T)(while loop(setq d (getreal "\n 请输入键槽处的轴径(12<d<130)(mm):"))(if(or (< d 12) (> d 130))(alert "轴径数据输入错误!\n\n请重新输入!")(setq loop nil));if);while(cond;根据轴径检索键槽尺寸((and (> d 12) (<= d 17)) (setq b 5 t1 3.0 t2 2.3));b表示键槽的宽度((and (> d 17) (<= d 22)) (setq b 6 t1 3.5 t2 2.8));t1表示轴上键槽的深度((and (> d 22) (<= d 30)) (setq b 8 t1 4.0 t2 3.3));t2表示轮毂上键槽的高度((and (> d 30) (<= d 38)) (setq b 10 t1 5.0 t2 3.3))((and (> d 38) (<= d 44)) (setq b 12 t1 5.0 t2 3.3))((and (> d 44) (<= d 50)) (setq b 14 t1 5.5 t2 3.8))((and (> d 50) (<= d 58)) (setq b 16 t1 6.0 t2 4.3))((and (> d 58) (<= d 65)) (setq b 18 t1 7.0 t2 4.4))((and (> d 65) (<= d 75)) (setq b 20 t1 7.5 t2 4.9))((and (> d 75) (<= d 85)) (setq b 22 t1 9.0 t2 5.4))((and (> d 85) (<= d 95)) (setq b 25 t1 9.0 t2 5.4))((and (> d 95) (<= d 110)) (setq b 28 t1 10.0 t2 6.4))((and (> d 110) (<= d 130)) (setq b 32 t1 11.0 t2 7.4)))(command "circle" pt0 "d" d)(command "zoom" "a")(setq s1 (ssget "l" ))(setq di (-(* (/ d 2.0) (/ d 2.0)) (* (/ b 2.0) (/ b 2.0)))dx (sqrt di)dy (/ b 2.0)pt1 (list (+ (car pt0) dx) (+ (cadr pt0) dy)))(initget "Zc Lc");Zc表示画轴键槽的剖视图,Lc表示画轮毂键槽的端面视图(setq zrl (getkword "\n 画轴键槽的剖视图还是轮毂键槽的端面视图(Z/L)?"))(if (= zrl "Zc")(progn;计算轴键槽上点的坐标(setq pt2 (list (+ (car pt0) (-(/ d 2.0) t1)) (+ (cadr pt0) dy)) pt3 (polar pt2 (- (/ pi 2.0)) b)pt4 (polar pt3 0 (- dx (- (/ d 2.0) t1)))));progn);if(if (= zrl "Lc")(progn;计算轮毂键槽上点的坐标(setq pt2 (list (+ (car pt0) (+(/ d 2.0) t2)) (+ (cadr pt0) dy)) pt3 (polar pt2 (- (/ pi 2.0)) b)pt4 (polar pt3 (- pi) (- (+ (/ d 2.0) t2) dx))));progn);if(command "pline" pt1 pt2 pt3 pt4 "");画键槽(setq s2 (ssget "l"))(command "layer" "m" 5 "l" "center" 5 "c" 1 5 "")(command "ltscale" 8)(command "line" (polar pt0 (- pi) (+ (/ d 2.0) 10));画中心线(polar pt0 0 (+ (/ d 2.0) 10)) "")(command "line" (polar pt0 (-(/ pi 2.0)) (+ (/ d 2.0) 10))(polar pt0 (/ pi 2.0) (+ (/ d 2.0) 10)) "")(command "layer" "s" 0 "")(if (= zrl "Zc")(progn(setq s3 (entsel "\n 请选择修剪的目标:"))(command "trim" s2 "" s3 "");修剪形成键槽(command "hatch" "U" "45" "2" "n" s1 s2 ""));画轴上键槽处剖视图的剖面线);if(if (= zrl "Lc")(progn(setq s4 (entsel "\n 请选择修剪的目标:"))(command "trim" s2 "" s4 "");修剪形成键槽(command "rotate" s1 s2 "" pt0 90));将轮毂键槽的端面视图旋转90度);if);end defun二、螺纹孔剖视图的绘制命令“lwk”在绘制机械零件图时,经常要画螺纹孔的剖视图,同样由于螺纹孔的有关尺寸都随螺纹的公称直径而变化,我们可以用下面的程序自动完成其剖视图的绘制。

AutoLISP开发用命令

AutoLISP开发用命令

命令修饰符坐标过滤器结合不同点的 X、Y 和 Z 值指定单个点?命令条目:输入 .x、.y、.xy、.xz或 .yz在任意定位点的提示下,可以输入点过滤器以通过提取几个点的 X、Y 和 Z 值来指定单个坐标。

在下例中,直线的起点具有从第一个选定对象的中点的 X 值以及第二个选定对象的中点的 Y 和 Z 值构造的坐标。

命令: line指定第一个点: .x中点选择对象(需要 YZ)中点选择另一个对象下一点: 指定点直接距离输入将下一个点沿光标所指方向定位到指定的距离?命令条目:在定位点的提示下,输入一个数字值使用直接距离输入,可以相对于输入的最后一点快速指定一点。

在任意点位置提示下,首先移动光标以指定方向,然后输入数值距离。

下例中直线的第二点将沿光标方向定位 5 个单位。

输入的直接距离将沿从最后一点到光标当前位置的路径进行测量。

此功能通常在正交或捕捉模式打开的状态下使用。

命令: line指定第一个点: 指定点指定下一个点: 沿所需的方向移动光标并输入 5注意当使用正交、对象捕捉追踪或极轴追踪的临时替代值键时,直接距离输入方法不可用。

FROM在命令中定位某个点相对于参照点的偏移。

?工具栏:对象捕捉?命令条目:在定位点的提示下,输入 from基点: 指定一个点用作基点<偏移>: 输入相对偏移在定位点提示下,输入 from,然后输入临时参照或基点(可以指定自该基点的偏移以定位下一点)。

输入自该基点的偏移位置作为相对坐标,或使用直接距离输入。

注意在命令(如 MOVE 和 COPY)中进行拖动时不能使用此方法。

通过键盘输入或使用定点设备指定绝对坐标值,可取消FROM 命令。

MTP定位两点间的中点。

?命令条目:在定位点的提示下,输入 mtp两点的中点 (MTP) 命令修饰符可以在执行对象捕捉或对象捕捉替代时使用。

(OSNAP 命令)在定位点的任何命令提示下,输入 mtp 或 m2p。

第一个中点: 指定点第二个中点: 指定第二点TRACKING通过一系列临时点定位点。

AutoLISP程序在AutoCAD中的应用实例1

AutoLISP程序在AutoCAD中的应用实例1

AutoLISP程序在建筑设计中的应用实例孙煜广东机电职业技术学院广州510515摘要:笔者在AutoCAD平台上,用LISP语言编写了一系列程序,提高了出图效率和设计的准确性。

关键词:计算机,计算机绘图,程序,lisp,建筑制图,结构设计1.程序设计目的目前,各建筑设计院一般都配备了建筑设计方面的专业软件,如“天正”,“探索者”等,在一定程度上提高了设计人员的效率,但各软件在使用上都有不便之处。

如各设计院的标准不同、设计人员的习惯不同,同时还存在地区差异等,因此设计人员在设计图时只能采用CAD“硬”画,效率低,质量也很难保证。

针对上述问题,笔者用AutoLISP编制了一系列辅助的小程序,这些程序的编制思路是按照传统的绘制方式,灵活运用于各个设计程序段,作为专业软件的有益补充。

2.主要程序介绍本程序组中主要包括的程序有:dc.lsp;200,250,300宽梁平面绘制a.lsp:从pkpm转化为初步设计文字s.lsp:将梁高度标注降低30mmvv.lsp:测量板净宽度w.lsp:排列梁编号工具fd.lsp:改变梁编号中数字aa.lsp:通过输入截面面积自动配钢筋3.使用方法本程序组是根据建筑结构设计中的各步骤来进行编制的,笔者将结构设计分为初步设计图,梁模板图,板钢筋图,梁钢筋图四个阶段。

设计人员在进行初步设计时,利用dc.lsp可以直接绘制双线作为梁截面线,利用a.lsp 将pkpm文字转化为初步设计标注,完成初步设计。

在梁模板图阶段,利用s.lsp将走廊地面或平台地面的梁高度统一降低30mm。

利用w.lsp进行梁编号绘制,用fd.lsp进行梁编号修改,完成梁模板图设计。

在板钢筋阶段,利用vv.lsp测量板宽,绘制板钢筋。

在梁钢筋阶段,用aa.lsp根据pkpm计算出的截面面积,输入截面面积直接配筋。

完成梁钢筋图设计。

4.程序举例下面以vv.lsp为例,介绍其程序内容。

vv.lsp程序通过输入AutoCAD已绘制的板内任意一点,自动对围成板的线条进行分析,排除不需要图层,自动测量出板两条线的净宽度值,然后标记在图上。

应用AutoLISP程序图解AutoCAD在工程中的应用

应用AutoLISP程序图解AutoCAD在工程中的应用
行于 1)2 环境 ! 是 1)2 提供的用户功能应用开 发手段中最 常 用 , 最 有 实 效 的 一 种 ! 是 我 们 在
1)2 应用开发中最主要的工具 ) 它与人工智能程
序语言 1,<<,=-./0 有许多相同的语法和约定 ! 但它又带有为 1)2 服务的 , 独特的一些功能函 数 !这在 1)2 应用上具有其它语言无法相比的优 秀功能 ) -./0 又是符号7函数式语言 !数据和函数 都用符号表达 !就连函数也可是一种数据 !这使得 程序设计极其灵活 !程序进程也很容易把握 )
指定一个独一无二的名字 ! 实体名是 )23 的一 种独立数据类型 ! 它是用十六进制表示的八位阿 拉伯数字 ! 其内部结构和所指代的实体对用户来 说是完全透明的 0 用户可以通过各种不同的预定 义函数访问指定数据库中的实体名 % 而与每个实体名相关的信息都是在屏幕上 或绘图机上产生实体所需的 ()23 使用的一种联 结表来提取信息 ! 一个联结表是由其它更小的表
! ቤተ መጻሕፍቲ ባይዱ#$ 实体联结表
)23 把所有的实体存放在一个特定的 实 体
数据库中 ! 应用 %&’( 函数 ! 用户可以直接存取和 修改 )23 的实体数据库 ! 处理用户的数据 % 或选 择其中的元素进行个别修改或成组修改 ! 减少花 在选择实体上的时间 ! 加快用户的工作 %
%!&
实体名和联结表 在绘图过程中 !)23 为数据库中的每个实体
议在 3E2I 子菜单中 $% 在 2)23 启动后 ! 自动 装入本程序 ! 在需应用时点击菜单中 3EFAB 命 令即可 % )! $运行过程 * 启动 2)23 ! 调入图形文件后 ! 可按 上 述 执 行方式运行本程序 !程序运行过程如下 *

AutoLISP在工程设计中的应用

AutoLISP在工程设计中的应用

f1 动 Auo 1启 tCAD。
() A tC 2在 uo AD菜 单 中选择 “ 具” “ uo IP 一 “ i a 工 一 A tL S ” Vs l u LS I P编 辑器” ,或在 命令 提示 处输 入 如下命 令 :v s 。 l p i 在 任 意时刻 都 可用 菜单 或 vi l p命令 返 回到 V IP D 中。 s LS E I 注 意 ,也可 以用 vi 命 令启 动或 返 V s a L S 。V i 表 示 le d i l IP l e u d VsaLS i l IP集成 交互 式 开发环 境( E 。 u C D 发 出 v d 命 令 u I )At A D o le i 调 用 V IP L S ,所 以有 时您 可能会 看 到 A t A 命令 窗 口中显 示 uo D C vLI DE命 令 。
a dq ai . o e e , t a t e o f D e i n t e ew i b a g f r wi g t ed a . ft ee i a l t h n et etm e n u l y H w v r a ls p r d o d sg , h r t i 3 l eal eo d a n ob e 1 I h r s i l c a g h i l r te
} 募号Q㈠u玛;维 献识]D轴悃 中分 l Ao 三设文标码A‘钡 图鹦 t 类T L £ A
£ -01(1_5 ( 编]76011 文 082)0. 章  ̄ -51o22 1 l 0 O - -
Ap l aino uoi rjc s n pi t f tl pi P o t i c o A s n e De g
He ajn Xi u o
fin s iaNu la d s yHu i n iern sg n sac .Ld, nig2 0 1 , hn ) Ja g uChn cer n u t aWe gn eigDe i adReerhCo, t.Najn 1 0 9 C ia I r E n

浅谈AutoLISP语言在CAD软件中的应用

浅谈AutoLISP语言在CAD软件中的应用
( rn s 2p 2 p i cs s t)
( i ( jz s 2 wh l <bs l s ) e s (e p e t(s mes 1 jz) s t n l na s b s 1 s )
(e q e l n g t n 1 s t d ( t e t ) e e )
( et S ( S t ”c ”Po nt S q S1S ge i l
种 LS 语 言 ,是 Auo C 内 嵌 的 IP t AD
p it ( .”p it”) ) on 2 ( 0 on ) ) (e q s 2s ln t s) s t s s (se g h s 1 ) ( rn s 2 p i ts s )
S E IN/, S R O // 念文 /
8 o r ia eD t i c ust nh u o I PL n u u nC o dn t a aFl A q ii o yA t LS a u o e e i
浅 谈A t I 语 言在 CAD 件 中的应 用 uoLSP 软
以写 的方 式 打 开 文 件 。
想要生 成其他 的数 据格式 ,只需 对源程 序作稍 微 的
改动 即可 。
4 应 用 实例
在对 武 鸣高 中进行地 形 图修 测时 ,利 用 1 8 年 96 1 月 自治区测绘 局二大 队施测 的 1: 0 0 形 图进 0 10 地 行扫描 、矢 量化 ,采用 上述程 序 ,把 可利用 的矢量 化 图形 上 的展点转 换成坐 标数据 文件 ,将其 添加到 野外 采集 的数据 文件 中加 以利 用 ,从 而增加 了测 点
( rn (a d (s 0 1 e 1p 2 p itc d ra s c O d) t ) ) ( rn (a d (s o l e 1p 2 p itc d ra s c O d) t ) )

在测量绘图中Autolisp的应用

在测量绘图中Autolisp的应用

在测量绘图中Autolisp的应用摘要:所谓的autolisp是由autodesk公司所开发出来的一种程序语言,属于lisp的一种,lisp是list processor的缩写。

工程师通过对autolisp编程的使用能够节省大量的时间。

本文主要通过编程开发的实例来对autolisp在测量绘图当中的应用方式以及应用思路进行介绍。

关键词:autolisp 二次开发程序加载中图分类号: p202 文献标识码: a 文章编号:一、autolisp简介与基本计算方法1、简介在auto cad内部当中,autolisps是对计算机表处理的一种编程语言。

它本身是和common lisp语法约定比较相近的,但也只是包含了common lisp当中的一个子集而已,在此基础上面还增加了专门针对于auto cad特点的多种函数,这些特点都让autolisp成为了cad当中最为主要的基础开发工具之一,同时也让auto cad能够具备有良好的开放性。

程序和数据都采用符号表达式是lisp语言的特点之一,也就是说,lisp程序的数据处理还包括另一个lisp程序,所以对于lisp 语言的编程是十分灵活的,从本质上来说也就是对不同的函数进行调用而已。

一系列的符号表达式,组成了autolisp程序,该程序编程的灵活体现在另一个方面就是既可以把一个符号表达式分别写在不同的行列当中,又能够将多个不同的表达式写在同一行列上面。

2、基本计算方法autolisp本身的语言结构和其他的高级语言是有所区别的,而当中比较常见的有basic、pascal以及c语言等等,这些语言采用的是“中缀表示法”。

而autolisp语言结构使用的却是“前缀表示法”,这种表示法是把运用符摆在了第一个元素的位置上面,后面的是其它的窜书。

例如我们将变量x赋值为3那么用其他的高级语言表示也就是x=3,但是autolisp的表示却是(setq×3),两者的差别显而易见。

AutoCAD绘图中实用的AutoLisp程序共4页文档

AutoCAD绘图中实用的AutoLisp程序共4页文档

AutoCAD绘图中实用的AutoLisp程序一、引言计算机辅助设计(CAD)[1]是指利用计算机及图形设备辅助设计人员完成设计工作。

作为设计人员,不仅需要对非标件自动化设备整体布局与规化,还要在规定的时间内完成总装图和零件图的输出。

因此,整个项目对时间进度的管控显得尤为重要。

基于这样的背景下,依托公司现有的一些资源,结合实际工作的需求,开发AutoCAD的二次开发命令尤其重要。

这样不仅可以有效减轻设计人员工作负荷,而且可以大大提高工作效率。

由简单快捷的AutoCAD二次开发命令就可以取代原来人工大量重复性的工作,使AutoCAD的二次开发必要性凸显出来。

图1 拆分组立图流程图二、AutoLisp语言AutoLISP[2]是专门为二次开发AutoCAD而设计的编程语言,它继承了LISP语言的特点,并内置在AutoCAD软体中,是LISP语言和AutoCAD 有机结合的产物。

使用AutoLISP语言可以完成各种工程分析与计算、绘制复杂的图形,还可以新增的AutoCAD快捷命令、驱动对话框和命令菜单。

同时能够使AutoCAD具有一定智能化、参数化的功能,还可以有助于设计人员将精力和时间用于产品的创新设计上,实现计算机辅助设计的目的。

三、AutoCAD二次命令开发在非标件自动化设备设计中,当完成设计总图后需要将每个零件图拆分出来,这就是重复性高,步骤繁琐,价值低的工作对于非标件自动化设备,我们通常是先完成组立图。

一般来说,组立图包含众多图层,每个图层上有一个零件的三视图。

下面我们的工作是将每一个零件提取、拆分出来。

这样可以逐一将零件图提取出来,但是这工作耗时耗力。

我们希望改进、完善程序,最终达到一键完成自动拆分目标。

下面我们通过流程图分析作业步骤,如图1所示。

Fig 1 Split Assembly Flowchart Of FIG.经流程图的规划后,我们有了明确的思路,并过程并复杂。

所需要注意的是同一图层中的实体集合,在复制移动后,还需要将它们从集合中逐一删除。

LISP语言在CAD方面的运用

LISP语言在CAD方面的运用
3.2 文字的特性 下面再来看看文本的一些特性:
(8 . " DLSS" )表 说 明 所 选 则 的 实 体 在 DLSS 层 。 (6 . " X2 " )则 表 示 此 线 条 的 线 型 为 X2 , X2 为 用 户 定 义 的 线 型 。 (90 . 4 )说 明 此 线 有 4 个 端 点 。 (70 . 128 )表 明 此 线 没 有 封 闭 。 如 为 129 则 表 示 多 义 线 首 尾 相 连, 是严格闭合。 (43 . 0 .1 )显 示 此 线 的 宽 度 为 0 .1 米 。 (10 41 .3308 23 .3799 )则 给 出 了 端 点 的 坐 标 值 。依 次 下 去 分 别 为 各端点的坐标。 (- 3 (" SOUTH" (1000 . " 164100 " ))))表 示 此 实 体 的 扩 展 特 性 , 一 般为编程者的意图。 针对所提的第一个问题, 对比下面的等外公路特性。
(SETQ XR1 (RTOS(FIX(* (getvar " tdusrtimer" ) 10000000000)))) 用 getvar 函 数 读 取 内 部 数 字 变 量 tdusrtimer 的 值 , 扩 大 后 用 数 字 计 算 函 数 FIX 取 整 , 用 数 据 类 型 转 换 函 数 RTOS 把 数 字 常 量 转 换 为 字 符 常 量 , 再 赋 予 给 变 量 XR1 。
(0 . " LWPOLYLINE" )表 说 明 所 选 则 的 实 体 为 LWPOLYLINE 线 。 (下 转 63 页 )
- 57 -
科技论坛
中国高新技术企业
立数学模型, 有时即使建立了数学模型, 也难于获得数值解。这时, 模拟法则成为一种有效的工具。模拟法十分灵活, 且不受系统规模 限 制 , 它 可 以 详 细 模 拟 事 故 前 的 备 件 、发 电 和 输 电 停 运 及 运 行 中 的 实 际 问 题 , 但 耗 时 多 而 且 精 度 不 高 , 这 种 方 法 主 要 用 于 发 、输 电 组 合 系统及变电站的可靠性评估中。
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Science & Technology Vision
科技视界
AutoLISP 在工程制图中对命令的简化应用
刘承权 刘昌文 王 艳 渊 中 国 十 九 冶 集 团 有 限 公 司 工 安 分 公 司 袁 四 川 成 都 611730 冤
揖 摘 要 铱 AutoCAD 工 程 制 图 中 袁 使 用 AutoLISP 进 行 一 些 适 应 需 要 的 简 单 编 程 袁 实 现 一 个 命 令 替 代 多 个 命 令 或命令多步执行袁从而简化操作袁使工程制图变得更快捷遥
0 引言
AutoCAD 工 程 制 图 中 袁 常 常 会 遇 到 需 要 不 断 重 复 使 用某个命令的情况袁而命令使用时袁通常还需要继续输入数 个选项袁 这样的命令使用起来枯燥而繁琐遥 一些 AutoCAD 插件虽然能提供一些功能袁但未必符合自己的应用场景遥 使 用 AutoLISP 对命令进行一些适应需要的简单编程袁 就能简 化命令操作袁 从而提高制图效率遥 AutoLisp 可以直接调用 AutoCAD 中的全部命令袁 因此我们在使用 AutoCAD 命令完 成的一系列操作都可以用 AutoLisp 来完成 遥
( defun c : jn ( )
( setq pet ( getvar " PEDITACCEPT " ) )
( setvar " PEDITACCEPT " 1 )
( setq ss ( ssget ' ( ( 0 . " ARC , *LINE " ) ) ) )
( if ( and ss )
( command " ZOOM " " d " ) ; ; ; command 函 数 是 本 文 的 主 角 袁 用 于 执 行 AutoCAD 中 的 命 令 袁 其 后 跟 随 的 野 " ZOOM " 冶 就 是 视 图 缩 放 命 令 袁 野 " d " 冶 是 执 行 野 ZOOM 冶 命 令后出现的选项字段曰
( defun c : pt ( )
) ;;;括号注意配对曰 从上面的例子可以看出袁 就是定义一个函数的名称袁 然后调用 AutoCAD 的命令袁就简单的完了需要的 功 能 遥
2 应用场景实践
2.1 动态缩放院 ( defun c : n ( ) ( command " ZOOM " " d " ) ( princ ) ) 在某些比面积较大的项目图纸中袁比如市政工程袁
我们需要放大视图检查多个细节袁 我们可以不断的滚 动 鼠 标 中 间 来 放 大 缩 小 袁 也 可 以 输 入 命 令 野 zoom 冶 然 后
选择字段野d冶来查看袁在多个细节上检查来回放大缩 小袁确实感觉操作繁琐袁这个例子看似很简单袁但却能 解决这个问题遥使用时袁先加载程序袁输入命令 n袁鼠标 变成一个矩形框袁 将矩形框移动到需要查看的细节位 置袁 点击空格键即可放大该区域袁 可以用空格重复该 命令而不用再输入中间选项遥 2.2 合并多段线
( command " _pedit " " m " ss " " " j " " " " " )
)
( setvar " PEDITACCEPT " pet )
( princ )
) 当我们需要合并线段尧圆弧尧多段线时袁尤其是在钢 箱桥梁展开图中袁曲线是由小段的线段组成袁线段数量 大 袁 需 要 合 并 为 一 条 多 段 线 遥 通 常 做 法 是 袁 输 入 野 PEDIT 冶 命令袁根据提示依次输入野M冶袁选择线段袁输入野J冶袁输入 野 模 糊 距 离 冶 噎噎 步 骤 多 袁 并 且 必 须 是 先 输 入 命 令 再 选 择袁有时候常常忘记顺序袁先选择了线段对象袁再输入命 令袁这是发现之前的选择无效必须重新选择遥 这个例子 实现了可以在命令之前或之后选择都可以袁 中间的选 项都不用再输入袁输入一次命令即可完成遥 2.3 定制打印
揖 关 键 词 铱 AutoLisp 曰 编 程 曰 工 程 制 图 曰 AutoCAD
中 图 分 类 号 院 G434
文献标识码院 A
DOI 院 10 . 19694 / j . cnki . issn2095 - 2院 2095 - 2457 渊2018冤23-0084-002
1 基本原理
下 面 的 例 子 定 义 了 一 个 函 数 野 n 冶 袁 在 AutoCAD 中 加 载这个例子后袁输入命令野n冶袁即可执行遥 野;冶符号后面 的描述是注释袁程序执行时会忽略这些内容遥
( defun c : n ( ) ; ; ; 定 义 名 为 n 函 数 袁 也 就 是 在 AutoCAD 中 输 入 的 命 令 n 袁 可 以 根 据 需 要 定 义 袁 不 要 与 已 有 AutoCAD 命 令 相 同 曰
Simplified Application of AutoLISP to Command in Engineering Drawing LIU Cheng - quan LIU Chang - wen WANG Yan
( China 19th Metallurgical Corporation , Sichuan Chengdu 611730 , China ) 揖Abstract铱In AutoCAD engineering drawing , AutoLISP is used to carry out some simple programming to meet the needs , and a single command is implemented instead of multiple commands or multi - step execution , which simplifies operation and makes engineering drawing more rapid . 揖Key words铱AutoLisp ; Programming ; Engineering drawing ; AutoCAD
相关文档
最新文档