autolisp实例(cad中autolisp编程中实现“指定基点或 [位移(D)/模式(O)/多个(M)] <位移>: ”)
本文目录
- cad中autolisp编程中实现“指定基点或 [位移(D)/模式(O)/多个(M)] <位移>: ”
- AutoCAD在水利工程制图方面的应用
- AutoCAD、全站仪和编程计算器在工程测量中的应用
- 请求帮忙用autolisp或者vlisp写一句代码
- cadlisp二次开发实例
- autolisp 怎么得到text类型文字的长度呢 然后想通过这个计算鼠标点击文字,计算点到
- AUTOCAD命令表的代码举例
- 求一个简单的AutoLISP程序实例
- text函数的用法
cad中autolisp编程中实现“指定基点或 [位移(D)/模式(O)/多个(M)] <位移>: ”
用initget函数可实现,下面实例就是在获取距离的时候,还可以键盘输入S来运行SE程序。
(initget "S")
(setq ds(getdist "\n输入距离或 : "))
(cond
((= ds "S") (se)) ;选择参照实体并处理
((= ds nil) (end)) ;空输入退出,可在前面initget中禁止
(t nil) ;正常输入,向下继续
)
AutoCAD在水利工程制图方面的应用
AutoCAD在水利工程制图方面的应用
随着水利工程图的复杂性越来越强,CAD技术在水利工程制图方面的应用便越来越重要,它有着手工绘图无可比拟的优越性。AutoCAD的辅助设计功能和二次开发功能在水利工程制图和设计方面有着广泛用途和优势。下面一起来看看!
利用AutoCAD可以实现交互方式绘图,也可以实现自动绘图,还可以通过标准的或专用的数据式与其他的CAD系统或CAM系统进行数据交换。近年来,水利水电工程领域利用AutoCAD的辅助设计和其平台进行二次开发也取得了一系列成果,本文着重对AutoCAD以及AutoCAD的辅助设计和二次开发在水利工程设计上的应用进行介绍。
一、AutoCAD的简介
AutoCAD具有良好的用户界面,通过交互菜单或命令行方式便可以进行各种操作。它的多文档设计环境,让非计算机专业人员也能很快地学会使用。AutoCAD软件具有如下特点:(1)具有完善的图形绘制功能。(2)有强大的图形功能。(3)可以采用多种方式进行二次开发或用户制定。(4)可以进行多种图形的转换,具有较强的数据交换能力。(5)支持多种硬件设备,支持多种操作平台。(6)具有通用性、易用性,适用于各类用户此外。AutoCAD具有以下功能:(1)能以多种方式创建直线,圆,椭圆,多边形,样条曲线等基本图形对象。同时提供了正交,对象捕捉、极轴追踪、捕捉追踪等绘图辅助工具。(2)AutoCAD具有强大的功能.(3)可创建**实体及表面模型,能对实体本身进行,也可将图形在网络上发布,或是通过网络访问AutoCAD资源。
二、AutoCAD辅助设计在水利工程设计上的应用
总的来说,AutoCAD在水利工程设计上的应用主要包括两个方面:一是制图;而是计算。而通过这两个方面的应用,能实现的功能主要体现在以下几个方面:主图精美;辅助设计;辅助学习,提高工作效率;便于资料管理。
自动求积模块提高水利工程制图的快捷性。水利工程设计中存在很多图形的计算,所以在绘制水利工程图时,就必须利用自动求积模块对图形进行计算。一般说来,应用AutoCAD画出的每一个物体的特性都能很方便而准确地显示出来,设定了比例和精度后,还能很容易地标注出来。
图解计算功能提高水利工程制图的准确性。由于水利工程的复杂性和特殊性在水利工程计算中,常常在精确度能满足工程要求的情况下对很多计算方法进行了简化,图解法就是其中应用比较广泛的一种方法。当采用相应的方法利用AutoCAD绘制出计算图后,只要在相应的地方裁取,就能很方便快捷地得到相应数据,这大大提高准确性,减少误差,确保实际建筑物体与设计人员的初始意图相同,达到建筑效果.
AutoCAD与Office的充分融合提高水利工程制图的有效性。AutoCAD通常在进行坝基底、闸门等压力计算时,在Word文档制作中,往往需要各种插图,Word绘图功能有限,特别是复杂的图形,该缺点更加明显。AutoCAD是专业绘图软件,制好图形,然后插入Word制作复合文档是解决问题的好办法,可以用AutoCAD提供的EXYOR功能先将AutoCAD图形以BMP或等格式输出,然后插入Word文档,也可以先将AutoCAD图形拷贝到剪贴板上,再在Word文档中粘贴。
在word文档中插入AutoCAD图形。通常在进行坝基底、闸门等压力计算时,在Word文档制作中,往往需要各种插图,Word绘图功能有限,特别是复杂的图形,该缺点更加明显。AutoCAD是专业绘图软件,功能强大,很适合绘制比较复杂的图形,用AutoCAD绘制好图形,然后插人Word制作复合文档是解决问题的好办法,可以用AutoCAD提供的EX―PORT功能先将AutoCAD图形以BMP或WMF等格式输出,然后插入Word文档,也可以先将AutoCAD图形拷贝到剪贴板上,再在Word文档中粘贴。
三、AutoCAD二次开发在水利工程设计上的应用
基于高级语言的开发为水利工程设计提供多样性。AutoCAD为用户提供的高级语言编程环境主要有嵌套在Auto LISP、Visual LISP和VBA等,面向对象特征的c++编程环境ObiectARS以及其他通过动态数据交换(DDE)完成与AutoCAD之间的通信的高级语言应用程序net等等。Auto LISP成为开发AutoCAD软件最方便、最直接、最简单的一种高级程序设计语言,与VBA和c++相比,采用AutoLIS**~AutoCAD进行工程专业领域的应用程序或CAD系统的开发有许多明显的优势。VBA虽然在对话框的设计能力上比Auto Lisp强许多,由于它使用ActiveX与Au%OCAD交互,运行效率不如Auto LISP,且代码保密性差。在Windows环境下,Auto LISP的增强级Visual LISP功能十分强大,足以领略现代化设计的各种风格与方法。水利工程中有许多相似的结构,但各种形式的尺寸都是与转轮直径D=Imp成一定比例的,所以在制图时可将所选形式的流道尺寸、尾水管尺寸编写程序实现参数化绘图。
专用开发内容为水利工程设计提供了便利性。针对水利水电工程设计的CAD开发的内容很多。在线型二次开发方面,水利水电工程中的专用线型有岩石地基线、夯实土地基线、天然土壤、全风化带下限等等。CAD的线型是由aced,1ine文件定义的,每种线型有一个名字,一个文件可存放多种线型,用户既可以根据自己的需要往aced,line中添加相应的线型定义,也可以定义自己的线型文件还可以加入形文件,从而使线型复杂多变,适应各种不同的.要求。在图案填充方面,图案指填充符号或剖面符号,由一组或多组不同线型的直线组成。在水利水电工程中有许多专用填充,可以建立专用填充图案,添加到aced,pat和audios,pate或创建自己的填充图案文件,来满足专业制图的需要。
四、AutoCAD在水里方向的应用前景
AutoCAD在水利工程设计中的应用十分广泛,本文涉及的几个实例已经在实际工作中发挥了很大作用。在水利工程设计中。灵活的使用AutoCAD命令、脚本文件及开发应用Lisp程序,可有效的减少设计人员的劳动强度,节省时间,提高工作效率。
AutoCAD是一个功能极其强大的计算机辅助绘图和设计软件包,随着IT 事业的发展和社会科技的进步,AutoCAD的应用已经普及到几乎所有的设计单位,对AutoCAD的应用也必将成为工程设计人员的基本要求之一。
熟练应用AutoCAD绘图软件应该是每个新时期水利工程师所必备的基本技能之一。它大大减少了水利工程制图的复杂性,提高水利工程师的工作效率,同时也提高了水利工程图的准确性,为水利建筑方面做出了巨大的贡献。随着水利的不断发展,AutoCAD软件在水利工程制图方面将有着更广阔的前景。
;AutoCAD、全站仪和编程计算器在工程测量中的应用
一、引言
在工程测量中,内业资料计算占有很重要的比重,内业资料计算的准确无误与速度直接决定了测量工作是否能够快速、顺利地完成。而内业资料的计算方法及其所需达到的精度,则又直接取决于外业所用仪器及具体的放样目标和内业计算所用到的办公软件和计算方法。计算机辅助设计(Computer Aid Design 简写CAD,常称AutoCAD)是20世纪80年代初发展起来的一门新兴技术型应用软件。如今在各个领域均得到了普遍的应用。它大大提高了工程技术人员的工作效率。AutoCAD配合AutoLisp语言,还可以编制一些常用的计算程序,得到计算结果。AutoCAD的特性提供了测量内业资料计算的另外一种全新直观明了的图形计算方法。
结合我们现正使用的徕卡全站仪的情况,其可以很方便地进行三维坐标的测量,通过AutoCAD的内业计算,①、在放样的过程中,可以用编程计算器结合全站仪,非常方便地、快速地进行作业;②、运用AutoCAD进行计算结果的验证;③、随着全站仪的推广和普及,极坐标的放样越来越成为众多放样方法中备受测量人员青睐的一种,而坐标计算又是极坐标放样中的重点和难点,由于一般的红线放样,工程放样中的元素多为点、直线(段)、圆(弧)等,故可以充分利用AutoCAD的设定坐标系、绘图和取点的功能,以及结合我们外业所用计算器的功能,从而大大减轻我们外业的工作强度及内业的工作量。以下以冶勒电站厂区枢纽工程的一些实例来说明三者在工程测量中的应用。
二、测区概况
冶勒电站厂址位于石棉县李子坪乡南桠村,距坝址11KM,距石棉县城40KM。厂区枢纽工程主要包括通风洞、交通洞、出线洞、尾水洞及尾水明渠、主厂房、副厂房、安装间及压力管道、母线道、变电站等分部工程,地下洞长近1600米,涉及到两台(单机为12万kw)机组的安装定位。测量区域高程在海拔1990~2200米之间,高差起伏大,夜晚及洞内外作业温差较大,给测量作业带来了一定的困难。
三、AutoCAD的典型内业资料计算及管理
在测区内加密控制点,经常使用测角交会或测距交会或两者相结合的方法,如果我们运用数学公式来计算,则非常繁琐,而且不易检查错误,例如在后方交会中的危险圆上。相反,如果我们利用AutoCAD来绘图计算,就简单多了。现针对测角和测距两种方法分别作如下说明:
1、前方测角交会:
如图一所示,A、B为坐标已知的控制点,P为待求点,在A、B两点已观测了角度a和b。
我们就可以利用AutoCAD系统软件,根据A、B两点坐标在桌面绘制出A、B两个点,连接AB点得到AB线段,然后分别以A点和B点为基点旋转AB线段a,b角(从图上可直观地分辩方向)。使用ID命令选择交点P,就可以得出P点坐标了。如果图形有检校条件,仍然可以进行坐标差的计算。如果在近似平差的情况下能满足需要,则可以在图形上进行平均计算并作出标记。
2、前方距离交会:
如图二所示,A、B为坐标已知的控制点,P为待求点,在A、B两点已分别利用全站仪测了距离Sa和Sb。
我们就同样可以利用AutoCAD系统软件,根据A、B两点坐标绘制出A、B两个点,连接AB点得到AB线段,然后分别以A点和B点为圆心,以Sa和Sb为半径作圆,则得到P点和P’点(对照现场的方位情况,从图上可直观地分辩出其中一点P为所求,而另一点P’则是虚点,是我们不需要的)。使用ID命令选择交点P,就可以得出P点坐标了。在实际工作过程中,我们通常会将前方测角交会与前方距离交会进行组合应用,当然那就不一定要将所有条件都完成测量了。另外对于以上几项对坐标的应用,应该注意的就是AutoCAD中的坐标顺序与我们测量中的大地坐标系是有区别的,也就是要注意X坐标和Y坐标的对应关系。
3、对作业资料的管理:
AutoCAD在工程中除对测量内业资料计算有其优势一面,在外业资料的管理方面,同样有着非常广泛的应用。AutoCAD作为有名的工程系列应用软件平台,已经为广大工程技术人员所熟悉并掌握。在测量外业资料中,主要是控制点网略图及其计算资料的管理,另一方面是各种开挖横断面、纵断面图的绘制,以及横断面面积的计算,以及其它一些需要的图纸的绘制。由于AutoCAD已经有很强的数学计算功能和很高的数学精度,其有效位数已完全能够满足我们在工程测量中的需要了。在冶勒电站工作期间,我们就将所有图纸、所有工程量表格及文档进行分类,其重点是对图纸文件利用AutoCAD进行总图的绘制,在以后的工作中,就可以在总图上进行查找了。
4、应用实例:
现结合我们工作实际,作一些实际应用上的说明:我们承担了冶勒水电站厂区枢纽工程的施工测量工作,进场之际我们就建立了一级导线闭合环,观测资料经平差后,将坐标点的大地坐标输入AutoCAD平台,得到图三所示,以后随着工程的进行,我们陆续加密了一些支导线点,同样将坐标成果录入,这样从真正意义上,实现了坐标资料的数字化管理,这也方便了以后的坐标管理,同时也方便了以后在一些特殊情况下的图形应用。具体地讲就是,依据设计提供的结构关系,在图中设立足够的施工坐标系(以我们在外业放样中设站所需为准)并保存之。在以后的工程应用中,我们只需打开对应坐标系,利用ID命令点取我们需要的点,其对应坐标也就出来了。
下面举例给予说明:在尾水洞、尾闸室交叉段工程中,存在一个三直段夹两弧段的情形,如图四所示:
当时设计代表提供了如图示的图形尺寸关系,以及C点大地坐标和其以外段的大地方位角,尾闸室以内段的一些结构关系。如果单凭以往的经验和仪器条件,需要建立圆的方程,求解二元二次方程,才能求出圆弧对应圆心的大地坐标,之后才可进行下面的计算并结合仪器考虑放样方法。但是,我们将这个问题放到AutoCAD软件平台上来看,就变得非常简单了。具体操作如下:
先在AutoCAD软件平台上,依据C点大地坐标将C点录入,并依据过C点的直段洞轴线方位角及其长度绘出过C点的洞轴线,依据设代提供的尺寸关系,得到P1、P2点,然后利用AutoCAD绘制圆弧,使其分别过P1、C点和P2、C点,使之满足R=28.00米,并符合图形方向。再利用AutoCAD的标注功能,分别进行两段圆弧的圆心的标注O1、O2点,利用AutoCAD的ID命令就可以得到O1、O2点的大地坐标了。将之分别与P1、P2用直线段连接。考虑洞室的方向,再分别过P1、P2点作P1O1、P2O2的垂线P1X1、P2X2,利用AutoCAD方便的坐标系设置功能,分别建立以P1点、P2点为坐标系原点,P1X1、P2X2为X轴的测量施工坐标系然后再将其坐标系移到(0,-N)处并分别命名保存。到此,则我们的两个辅助施工坐标系建立完成,这两个坐标系保证了X轴与过P1(或P2)的圆弧相切(这一点将非常有利于我们下一步的全站仪与编程计算器的应用)。将我们测得的控制点的大地坐标输入图形中,直接就可以得到该控制点的相应的施工坐标和施工坐标方位角了。
四、全站仪和编程计算器在外业中的应用
我们目前使用的全站仪为瑞士产徕卡605L型全站仪,其本身已具备利用坐标进行工作的能力。对我们实际工作中的一些三维坐标的放样,就可以利用AutoCAD建立数字化模型,先用编程计算器在计算机AutoCAD平台上进行模拟检验,经检验程序正确后,再将之用于外业放样。对于露天点线,我们就可以尽量直接利用全站仪的坐标放样功能,将所需放样点的施工坐标输入全站仪,正确操作就可以得到正确的所需点位了。现在讨论的重点是针对地下工程中一些特殊情况下的点位放样。例如:地下厂房的开挖红线放样和有关结构点的放样,地下洞室的开挖红线放样,又特别是地下转弯段的开挖红线及其相关的一些结构点的放样。对地下厂房而言,其顶拱跨度大,主厂房达24.36m,其顶拱半径也有17m。在施工过程中,业主、监理、设代及施工四方均提出明确要求,要严格控制超挖,禁止欠挖,这就从放样方法上对我们测量人员提出了更高的要求。经过我们的反复比较,最后决定利用全站仪结合编程计算器,在现场进行三维的施工坐标的测量,再进行相关的计算,从而放出所需的红线点,事实证明,我们的方法是得当的、合理的,取得的效果也是较为理想的。下面分分两个方面来说明。
***隐藏网址***
请求帮忙用autolisp或者vlisp写一句代码
(defun c:QS (/ DICEN)
(setq DICEN (namedobjdict))
(if (dictsearch DICEN "AcadDim")
(dictremove DICEN "AcadDim")
)
(dictadd DICEN
"AcadDim"
(entmakex ’((0 . "XRECORD")
(100 . "AcDbXrecord")
(280 . 1)
(90 . 990106)
(3 . "");;-----引线和箭头-〉箭头
(60 . 2);;-----注释-〉注释类型
(61 . 0);;-----注释-〉重复使用注释
(62 . 1);;-----附着-〉文字在右边
(63 . 1);;-----附着-〉文字在左边
(64 . 0);;-----附着-〉最后一行加下划线
(65 . 0);;-----引线和箭头-〉引线
(66 . 0);;-----引线和箭头-〉点数-〉无限制
(67 . 3);;-----引线和箭头-〉点数
(68 . 1);;-----注释-〉多行文字选项-〉提示输入宽度
(69 . 0);;-----注释-〉多行文字选项-〉始终左对齐
(70 . 0);;-----引线和箭头-〉角度约束-》第一段
(71 . 0);;-----引线和箭头-〉角度约束-》第二段
(72 . 0);;-----注释-〉多行文字选项-〉文字边框
(40 . 0.0)
(170 . 2);;----控制“引线设置”对话框的缺省选项卡
;; (340 . 图元名)
;;-----当DXF组码60的值为3,且已经设定了块参照的块名,则340组码才会出现
;;-----格式为(340 . 上次使用块参照作为注释对象,实际插入的块实例的图元名)
)
)
)
(command "Qleader")
)
设置一次之后,以后使用Qleader都不用再设置了。你也可以每次都使用QS命令。
cadlisp二次开发实例
AutoCAD的二次开发主要涉及以下内容:(1)编写各种用户自定义函数并形成若干LISP、ARX、VLX或ADS文件,以及一些DCL文件。(2)建立符合自己要求的菜单文件,一般可在AutoCAD原菜单文件内添加自己的内容,对于AutoCAD2000版本还可增加部分菜单文件,然后经交互方式加入到系统中去。(3)在系统的ACAD.LSP或类似文件中加入某些内容以便进行各种初始化操作,如在启动时立即装入一些文件等。(4)通过系统对话框设置某些路径。这些操作在程序开发成功后向其它AutoCAD系统上安装应用,特别是需要大批安装时,需要进行很多文件检索、内容增删、子目录创建、文件拷贝、系统设置等繁琐工作,如能令上述工作全部自动进行,使整个二次开发程序在无人干预的情况下嵌入系统,将大大提高工作效率。
AutoCAD荣登全球绘图软件的龙头宝座,主要是因为它具有开放的体系结构。它允许用户和开发者采用高级编程语言对其进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求。AutoCAD第一版于1982年11月由AutoDESK公司推出,目前大家广泛使用的是AutoCAD2000或2002,最新版本是AutoCAD2004,其二次开发语言及工具也在不断地涌现
1AutoLISP
AutoLISP的全名是LISTProcessingLanguage,她出现于1985年推出的AutoCADR2.18中,是一种嵌入在AutoCAD内部的编程语言,是LISP原版的一个子集,她一直是低版本AutoCAD的首选编程语言。它是一种表处理语言,是被解释执行的,任何一个语句键入后就能马上执行,它对于交互式的程序开发非常方便。其缺点是继承了LISP语言的编程规则而导致繁多的括号。
3ADS
ADS的全名是AutoCADDevelopmentSystem,它是AutoCAD的C语言开发系统,ADS本质上是一组可以用C语言编写AutoCAD应用程序的头文件和目标库,它直接利用用户熟悉的各种流行的C语言编译器,将应用程序编译成可执行的文件在AutoCAD环境下运行,这种可以在AutoCAD环境中直接运行的可执行文件叫做ADS应用程序。ADS由于其速度快,又采用结构化的编程体系,因而很适合于高强度的数据处理,如二次开发的机械设计CAD、工程分析CAD、建筑结构CAD、土木工程CAD、化学工程CAD、电气工程CAD等。
4ObjectARX
ObjectARX是一种崭新的开发AutoCAD应用程序的工具,她以C++为编程语言,采用先进的面向对象的编程原理,提供可与AutoCAD直接交互的开发环境,能使用户方便快捷地开发出高效简洁的AutoCAD应用程序。ObjectARX并没有包含在AutoCAD中,可在AutoDESK公司网站中去下载,其最新版本是ObjectARXforAutoCAD2000,它能够对AutoCAD的所有事务进行完整的、先进的、面向对象的设计与开发,并且开发的应用程序速度更快、集成度更高、稳定性更强。ObjectARX从本质上讲,是一种特定的C++编程环境,她包括一组动态链接库(DLL),这些库与AutoCAD在同一地址空间运行并能直接利用AutoCAD核心数据结构和代码,库中包含一组通用工具,使得二次开发者可以充分利用AutoCAD的开放结构,直接访问AutoCAD数据库结构、图形系统以及CAD几何造型核心,以便能在运行期间实时扩展AutoCAD的功能,创建能全面享受AutoCAD固有命令的新命令。ObjectARX的核心是两组关键的API,即AcDb(AutoCAD数据库)和AcEd(AutoCAD编译器),另外还有其它的一些重要库组件,如AcRX(AutoCAD实时扩展)、AcGi(AutoCAD图形接口)、AcGe(AutoCAD几何库)、ADSRX(AutoCAD开发系统实时扩展)。ObjectARX还可以按需要加载应用程序;使用ObjectARX进行应用开发还可以在同一水平上与Windows系统集成,并与其它Windows应用程序实现交互操作。
5VisualLISP
VisualLISP已经被完整地集成到AutoCAD2000中,她为开发者提供了崭新的、增强的集成开发环境,一改过去在AutoCAD中内嵌AtuoLISP运行引擎的机制,这样开发者可以直接使用AutoCAD中的对象和反应器,进行更底层的开发。其特点为自身是AutoCAD2000中默认的代码工具;用它开发AutoLISP程序的时间被大大地缩短,原始代码能被保密,以防盗版和被更改;能帮助大家使用ActiveX对象及其事件;使用了流行的有色代码器和完善的调试工具,使大家很容易创建和分析LISP程序的运行情况。在VisualLISP中新增了一些函数:如基于AutoLISP的ActiveX/COM自动化操作接口;用于执行基于AutoCAD内部事件的LISP程序的对象反应器;新增了能够对操作系统文件进行操作的函数。
6VBA
VBA即Mcrosoftoffice中的VisualBasicforApplicati***,它被集成到AutoCAD2000中。VBA为开发者提供了一种新的选择,也为用户访问AutoCAD2000中丰富的技术框架打开一条新的通道。VBA和AutoCAD2000中强大的ActiveX自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式构架。通过VBA,我们可以操作AutoCAD,控制ActiveX和其它一些应用程序,使之相互之间发生互易活动。
autolisp 怎么得到text类型文字的长度呢 然后想通过这个计算鼠标点击文字,计算点到
(defun changdu (#k / #k %k1 %k2 %k3 %k4 %k5 %k6 L);输入文字属性列表得到文字长度
(setq %k1 (assoc 0 #k) ;文字
%k2 (assoc 1 #k) ;文字内容
%k3 (assoc 40 #k);文字高度
%k4 (assoc 41 #k);文字倾斜度
%k5 (assoc 7 #k) ;文字样式
%k6 (assoc 51 #k);文字角度
L (caadr (textbox (list %k1 %k2 %k3 %k4 %k5 %k6)));文字长度
)
L
);这个是一个子程序,输入文字属性列表就可以得到文字长度;
;;;;实例;;;;
(defun c:sx9 ( / &k1 #k L)
(setq &k1 (entsel "\n请选择文字"));选择文字
(setq #k (entget (car &k1))) ;得到文字属性列表
(setq L (changdu #k)) ;得到文字长度
(princ L) ;命令行显示长度
(prin1)
)
AUTOCAD命令表的代码举例
下面列出了在标准 acad.pgp 文件中提供的命令别名。
# #
命令 别名
** 创建三维表面对象
**ARRAY 创建三维阵列 **ARRAY 3a
**FACE 创建三维面 **FACE 3f
**MESH 创建自由式多边形网格
**POLY 在三维空间创建由直线段组成的多段线 **POLY 3p
**SIN 输入 ** Studio 文件
**SOUT 输出 ** Studio 文件
A A
命令 别名
ABOUT 显示关于 AutoCAD 的信息
ACISIN 输入 ACIS 文件
ACISOUT 将 AutoCAD 实体对象输出到 ACIS 文件中
ALIGN 在二维和三维空间中将某对象与其他对象对齐 ALIGN al
AMECONVERT 将 AME 实体模型转换为 AutoCAD 实体对象
APERTURE 控制对象捕捉靶框大小
APPLOAD 加载 AutoLISP、ADS 和 ARX 应用程序APPLOAD ap
ARC 创建圆弧 ARC a
AREA 计算对象或定义区域的面积和周长 AREA aa
ARRAY 创建按指定方式排列的多重对象拷贝 ARRAY ar
ARX 加载、卸载和提供关于 ARX 应用程序的信息
ASEADMIN 执行外部数据库命令的管理功能 ASEADMIN aad
ASEEXPORT 输出选择对象的链接信息 ASEEXPORT aex
ASELINKS 管理对象和外部数据库之间的链接 ASELINKS ali
ASEROWS 显示并表数据并创建链接和选择集 ASEROWS aro
ASESELECT 从链接到文字选择集和图形选择集的行中创建选择集 ASESELECT ase
ASE**LED 执行结构查询语言 (**L) 语句 ASE**LED asq
ATTDEF 创建属性定义 ATTDEF -at
ATTDISP 全局控制属性的可见性
ATTEDIT 改变不依赖于块定义的属性信息 ATTEDIT -ate
ATTEXT 提取属性数据
ATTREDEF 重定义块并更新关联属性
AUDIT 检查图形的完整性
B B
命令 别名
BACKGROUND 设置渲染背景
BASE 设置当前图形的插入基点
BHATCH 用图案填充封闭区域 BHATCH h
BHATCH bh
BLIPMODE 控制点标记的显示
BLOCK 根据选定对象创建块定义 BLOCK -b
BMAKE 使用对话框用对话框定义块 BMAKE b
BMPOUT 以与设备无关的位图格式将选定的对象保存到文件
BOUNDARY 用封闭区域创建面域或多段线 BOUNDARY bo
BOX 创建长方体
BREAK 部分删除对象或把对象分解为两部分 BREAK br
BROWSER 启动系统注册表中设置的缺省 Web 浏览器
C C
命令 别名
CAL 计算算术表达式和几何表达式
CHAMFER 给对象加倒角 CHAMFER cha
CHANGE 修改现有对象的特性 CHANGE -ch
CHPROP 修改对象的颜色、图层、线型、线型比例因子和厚度
CIRCLE 创建圆 CIRCLE c
COLOR 设置新对象的颜色
COMPILE 编译形文件和 PostScript 字体文件
CONE 创建三维实体圆锥体
CONVERT 将二维多段线和关联填充转换为优化的 R14 格式
COPY 复制对象 COPY co
COPY cp
COPYCLIP 复制对象到剪贴板
COPYHIST 将命令行中的历史记录文字复制到剪贴板
COPYLINK 将当前视口复制到剪贴板中,以使其可被链接到其他 OLE 应用程序
CUTCLIP 复制对象到剪贴板并从图形删除对象
CYLINDER 创建三维实体圆柱体
D D
命令 别名
DBLIST 列出图形中每个对象的数据库信息
DDATTDEF 创建属性定义 DDATTDEF at
DDATTE 单个块的可变属性 DDATTE ate
DDATTEXT 提取属性数据
DDCHPROP 修改对象的颜色、图层、线型和厚度 DDCHPROP ch
DDCOLOR 设置新对象的颜色 DDCOLOR col
DDEDIT 文字和属性定义 DDEDIT ed
DDGRIPS 显示夹点并设置颜色 DDGRIPS gr
DDIM 创建并修改标注样式 DDIM d
DDINSERT 插入块或另一图形 DDINSERT i
DDMODIFY 控制现有对象的特性 DDMODIFY mo
DDPTYPE 指定点对象的显示模式及大小
DDRENAME 修改对象名称 DDRENAME ren
DDRMODES 设置绘图辅助工具DDRMODES rm
DDSELECT 设置对象选择模式 DDSELECT se
DDUCS 管理已定义的用户坐标系 DDUCS uc
DDUCSP 选择预置用户坐标系 DDUCSP ucp
DDUNITS 控制坐标和角度的显示格式及精度 DDUNITS un
DDVIEW 创建和恢复视图 DDVIEW v
DDVPOINT 设置三维观察方向 DDVPOINT vp
DELAY 在脚本文件中提供指定时间的暂停
DIM 进入标注模式
DIMALIGNED 创建对齐线性标注 DIMALIGNED dal, dimali
DIMANGULAR 创建角度标注 DIMANGULAR dan, dimang
DIMBASELINE 从前一个或选择的标注的第一尺寸界线处连续标注 DIMBASELINE dba
DIMBASELINE dimbase
DIMCENTER 创建圆和圆弧的圆心标记或中心线 DIMCENTER dce
DIMCONTINUE 从前一个或选择的标注的第二尺寸界线处连续标注 DIMCONTINUE dco, dimcont
DIMDIAMETER 创建圆和圆弧的直径标注 DIMDIAMETER ddi, dimdia
DIMEDIT 标注 DIMEDIT ded
DIMEDIT dimed
DIMLINEAR 创建线性尺寸标注 DIMLINEAR dli, dimlin
DIMORDINATE 创建坐标点标注 DIMORDINATE dor, dimord
DIMOVERRIDE 替换标注系统变量DIMOVERRIDE dov, dimover
DIMRADIUS 创建圆和圆弧的半径尺寸标注 DIMRADIUS dra, dimrad
DIMSTYLE 在命令行创建和修改标注样式 DIMSTYLE dst, dimsty
DIMTEDIT 移动和旋转标注文字 DIMTEDIT dimted
DIST 测量两点之间的距离和角度 DIST di
DIVIDE 将点对象或块沿对象的长度或周长等间隔排列 DIVIDE div
DONUT 绘制填充的圆和环 DONUT do
DRAGMODE 控制拖动对象的显示方式 DRAWORDER dr
DRAWORDER 修改图像和其他对象的显示顺序
DSVIEWER 打开鸟瞰视图窗口 DSVIEWER av
DTEXT 输入文字时在屏幕上显示 DTEXT dt
DVIEW 定义平行投影或透视视图 DVIEW dv
DWFOUT 输出 web 图形格式文件
DXBIN 输入二进制格式图形转换文件
DXFIN 输入图形转换文件
DXFOUT 创建当前图形的图形转换文件
E E
命令 别名
EDGE 修改三维面的边缘可见性
EDGESURF 创建由三维多边形网格构成的边界曲面
ELEV 设置新对象的拉伸厚度和标高特性
ELLIPSE 创建椭圆或椭圆弧 ELLIPSE el
ERASE 从图形删除对象 ERASE e
EXPLODE 将组合对象分解为对象组件 EXPLODE x
EXPORT 以其他文件格式保存对象 EXPORT exp
EXTEND 延伸对象到另一对象 EXTEND ex
EXTRUDE 通过拉伸现有二维对象来创建三维实体 EXTRUDE ext
F F
命令 别名
FILL 控制多线、宽线、二维填充、所有图案填充和宽多段线的填充
FILLET 给对象加圆角 FILLET f
FILTER 创建根据特性选择有关对象时用到的过滤器列表 FILTER fi
FOG 控制渲染雾化
G G
命令 别名
GRAPHSCR 从文本窗口切换到图形窗口
GRID 在当前视口中显示点栅格
GROUP 创建对象的命名选择集 GROUP g
H H
命令 别名
HATCH 用图案填充一块指定边界的区域 HATCH -h
HATCHEDIT 修改现有的图案填充对象 HATCHEDIT he
HELP () 显示联机帮助
HIDE 重生成三维模型时不显示隐藏线 HIDE hi
I I
命令 别名
ID 显示位置坐标
IMAGE 以多种格式向 AutoCAD 图形文件中插入图像 IMAGE im
IMAGEADJUST 控制选定图像的亮度、对比度和褪色度 IMAGEADJUST iad
IMAGEATTACH 向当前图形中定义并附着新的图像对象 IMAGEATTACH iat
IMAGECLIP 为单个图像对象创建新剪切边界 IMAGECLIP icl
IMAGEFRAME 控制图像边框是否显示在屏幕上或在视图中隐藏
IMAGEQUALITY 控制图像显示质量
IMPORT 向 AutoCAD 输入文件 IMPORT imp
INSERT 将命名块或图形插入到当前图形中 INSERT -i
INSERTOBJ 插入链接或嵌入对象 INSERTOBJ io
INTERFERE 找出两个或多个三维实体的干涉区并用公用部分创建三维组合实体 INTERFERE inf
INTERSECT 从两个或多个实体或面域的交集创建组合实体或面域 INTERSECT in
ISOPLANE 指定当前等轴测平面
L L
命令 别名
LAYER 管理图层 LAYER la
LEADER 创建一条引出线将注释与一个几何特征相连 LEADER le, lead
LENGTHEN 拉长对象 LENGTHEN len
LIGHT 处理光源和光照效果
LIMITS 设置并控制图形边界和栅格显示
LINE 创建直线段 LINE l
LINETYPE 创建、加载和设置线型 LINETYPE lt
LIST 显示选定对象的数据库信息 LIST li, ls
LOAD 加载形文件,为 SHAPE 命令加载可调用的形
LOGFILEOFF 关闭 LOGFILEON 命令打开的日志文件
LOGFILEON 将文本窗口中的内容写入文件
LSEDIT 配景对象
LSLIB 管理配景对象库
LSNEW 在图形上添加具有真实感的配景对象,例如树和灌木丛
LTSCALE 设置线型比例因子 LTSCALE lts
M M
命令 别名
MASSPROP 计算并显示面域或实体的质量特性
MATCHPROP 把某一对象的特性复制到其他若干对象 MATCHPROP ma
MATLIB 材质库输入输出
MEASURE 将点对象或块按指定的间距放置 MEASURE me
MENU 加载菜单文件
MENULOAD 加载部分菜单文件
MENUUNLOAD 卸载部分菜单文件
MINSERT 在矩形阵列中插入一个块的多个实例
MIRROR 创建对象的镜像副本 MIRROR mi
MIRROR** 创建对象关于平面的镜像 MLINE ml
MLEDIT 多重平行线
MLINE 创建多线
MLSTYLE 管理多线样式
MOVE 在指定方向上按指定距离移动对象 MOVE m
MSLIDE 创建当前视口的幻灯文件
MSPACE 从图纸空间切换到模型空间视口 MSPACE ms
MTEXT 创建多行文字 MTEXT t, mt
MULTIPLE 重复下一条命令直到被取消
MVIEW 创建浮动视口和打开现有的浮动视口 MVIEW mv
MVSETUP 设置图形规格
N
NEW 创建新的图形文件
O O
命令 别名
OFFSET 创建对象的等距线,如同心圆、平行线和平行曲线OFFSET o
OLELINKS 更新、修改和取消现有的 OLE 链接
OOPS 恢复删除的对象
OPEN 打开现有的图形文件
ORTHO 约束光标的移动
OSNAP 设置运行对象捕捉模式并修改靶框大小 OSNAP os
P P
命令 别名
PAN 移动显示在当前视口的图形 PAN p
PASTECLIP 插入剪贴板数据
PASTESPEC 插入剪贴板数据并控制数据格式 PASTESPEC pa
PEDIT 多段线和三维多边形网格 PEDIT pe
PFACE 逐点创建三维多面网格
PLAN 显示用户坐标系平面视图
PLINE 创建二维多段线 PLINE pl
PLOT 将图形打印到绘图仪、打印机或文件 PLOT print
POINT 创建点对象 POINT po
POLYGON 创建用多段线表示的正多边形 POLYGON pol
PREFERENCES 自定义 AutoCAD 系统参数的设置 PREFERENCES pr
PREVIEW 显示打印图形的效果 PREVIEW pre
PSDRAG 控制用 PSIN 输入 PostScript 图像时拖动的显示方式
PSFILL 用 PostScript 图案填充二维多段线的轮廓
PSIN 输入 PostScript 文件
PSOUT 创建封装 PostScript 文件
PSPACE 从模型空间视口切换到图纸空间 PSPACE ps
PURGE 删除数据库中未用的命名对象,例如块或图层 PURGE pu
Q Q
命令 别名
QS**E 保存当前图形
QTEXT 控制文字和属性对象的显示和打印
QUIT 退出 AutoCAD QUIT exit
R R
命令 别名
RAY 创建单向无限长直线,称为射线
RECOVER 修复毁坏的图形
RECTANG 绘制矩形多段线 RECTANG rec
REDEFINE 恢复被 UNDEFINE 替代的 AutoCAD 内部命令
REDO 重做前一个 UNDO 或 U 命令所放弃的执行效果
REDRAW 刷新显示当前视口 REDRAW r
REDRAWALL 刷新显示所有视口 REDRAWALL ra
REGEN 重生成图形并刷新显示当前视口 REGEN re
REGENALL 重新生成图形并刷新所有视口 REGENALL rea
REGENAUTO 控制自动重新生成图形
REGION 从选择的一组现有对象中创建面域对象 REGION reg
REINIT 重新初始化数字化仪、数字化仪的输入/输出端口和程序参数文件
RENAME 修改对象名 RENAME -ren
RENDER 创建三维线框或实体模型的具有真实感的渲染图像 RENDER rr
RENDSCR 重新显示由 RENDER 命令执行的最后一次渲染
REPLAY 显示 BMP、TGA 或 TIFF 图像
RESUME 继续执行一个被中断的脚本文件
REVOLVE 沿轴旋转二维对象以创建实体 REVOLVE rev
REVSURF 创建围绕选定轴旋转而成的旋转曲面
RFILEOPT 设置渲染到文件选项
RMAT 管理渲染材质
ROTATE 绕基点旋转对象 ROTATE ro
ROTATE** 绕三维轴移动对象
RPREF 设置渲染系统配置RPREF rpr
RSCRIPT 创建不断重复的脚本
RULESURF 在两条曲线间创建直纹曲面
S S
命令 别名
S**E 用当前或指定文件名保存图形
S**EAS 取名保存未命名的图形或重命名当前图形
S**EIMG 用文件保存渲染图像
SCALE 在 X、Y 和 Z 方向等比例放大或缩小对象 SCALE sc
SCENE 处理模型空间的场景
SCRIPT 从脚本文件执行一系列命令 SCRIPT scr
SECTION 用剖切平面和实体截交创建面域 SECTION sec
SELECT 将选定对象置于前一选择集中
SETUV 将材质贴图到对象表面
SETVAR 列出系统变量并修改变量值 SETVAR set
SHADE 显示当前视口图形的着色图像 SHADE sha
SHAPE 插入形
SHELL 访问操作系统命令
SHOWMAT 列出选定对象的材质类型和附着方法
SKETCH 创建一系列徒手画线段
SLICE 用平面剖切一组实体 SLICE sl
SNAP 规定光标按指定的间距移动 SNAP sn
SOLDRAW 在用 SOLVIEW 命令创建的视口中生成轮廓图和剖视图
SOLID 创建二维填充多边形 SOLID so
SOLPROF 创建三维实体图像的轮廓图
SOLVIEW 创建浮动视口来使用正投影法生成三维实体及体对象的多面视图与剖视图
SPELL 检查图形中文字的拼写 SPELL sp
SPHERE 创建三维实体球体
SPLINE 创建二次或三次样条曲线SPLINE spl
SPLINEDIT 样条曲线对象 SPLINEDIT spe
STATS 显示渲染统计信息
STATUS 显示图形统计信息、模式及范围
STLOUT 将实体保存到 ASCII 或二进制文件中
STRETCH 移动或拉伸对象 STRETCH s
STYLE 创建命名样式 STYLE st
SUBTRACT 用差集创建组合面域或实体 SUBTRACT su
SYSWINDOWS 排列窗口
T T
命令 别名
TABLET 校准、配置、打开和关闭已安装的数字化仪 TABLET ta
TABSURF 沿方向矢量和路径曲线创建平移曲面
TEXT 创建单行文字
TEXTSCR 打开 AutoCAD 文本窗口
TIME 显示图形的日期及时间统计信息
THICKNESS th
TILEMODE ti
TOLERANCE 创建形位公差标注 TOLERANCE tol
TOOLBAR 显示、隐藏和自定义工具栏TOOLBAR to
TORUS 创建圆环形实体 TORUS tor
TRACE 创建宽直线
TRANSPARENCY 控制图像的背景像素是否透明
TREESTAT 显示关于图形当前空间索引的信息
TRIM 用其他对象定义的剪切边修剪对象 TRIM tr
U U
命令 别名
U 放弃上一次操作
UCS 处理用户坐标系
UCSICON 控制视口 UCS 图标的可见性和位置
UNDEFINE 允许应用程序定义的命令替代 AutoCAD 内部命令
UNDO 放弃命令的效果
UNION 通过并运算创建组合面域或实体 UNION uni
UNITS 设置坐标和角度的显示格式和精度 UNITS -un
V V
命令 别名
VIEW 保存和恢复已命名的视图 VIEW -v
VIEWRES 设置在当前视口中生成的对象的分辨率
VPLAYER 设置视口中图层的可见性
VPOINT 设置图形的三维直观图的查看方向 VPOINT -vp
VPORTS 将图形区域拆分为多个平铺的视口
VSLIDE 在当前视口中显示一个光栅图像幻灯文件
W W
命令 别名
WBLOCK 将块对象写入新图形文件 WBLOCK w
WEDGE 创建三维实体使其倾斜面尖端沿 X 轴正向 WEDGE we
WMFIN 输入 Windows 图元文件
WMFOPTS 设置 WMFIN 选项
WMFOUT 以 Windows 图元文件格式保存对象
X X
命令 别名
XATTACH 将一个外部参照附加到当前图形中 XATTACH xa
XBIND 将外部参照依赖符号绑定到图形 XBIND xb
XCLIP 定义外部参照或块剪裁边界,并且设置前剪裁面和后剪裁面 XCLIP xc
XLINE 创建无限长的直线,称为参照线 XLINE xl
XPLODE 将组合对象分解为对象部件
XREF 控制图形中的外部参照 XREF xr
Z Z
命令 别名
ZOOM 放大或缩小当前视口对象的外观尺寸 ZOOM z
常用快捷键
1、对象特性
ADC, *ADCENTER(设计中心“Ctrl+2”)
CH, MO *PROPERTIES(修改特性“Ctrl+1”)
MA, *MATCHPROP(属性匹配)
ST, *STYLE(文字样式)
COL, *COLOR(设置颜色)
LA, *LAYER(图层操作)
LT, *LINETYPE(线形)
LTS, *LTSCALE(线形比例)
LW, *LWEIGHT (线宽)
UN, *UNITS(图形单位)
ATT, *ATTDEF(属性定义)
ATE, *ATTEDIT(属性)
BO, *BOUNDARY(边界创建,包括创建闭合多段线和面域)
AL, *ALIGN(对齐)
EXIT, *QUIT(退出)
EXP, *EXPORT(输出其它格式文件)
IMP, *IMPORT(输入文件)
OP,PR *OPTIONS(自定义CAD设置)
PRINT, *PLOT(打印)
PU, *PURGE(清除垃圾)
R, *RE(重新生成)
REN, *RENAME(重命名)
SN, *SNAP(捕捉栅格)
DS, *DSETTINGS(设置极轴追踪)
OS, *OSNAP(设置捕捉模式)
PRE, *PREVIEW(打印预览)
TO, *TOOLBAR(工具栏)
V, *VIEW(命名视图)
AA, *AREA(面积)
DI, *DIST(距离)
LI, *LIST(显示图形数据信息)
2、绘图命令:
PO, *POINT(点)
L, *LINE(直线)
XL, *XLINE(射线)
PL, *PLINE(多段线)
ML, *MLINE(多线)
SPL, *SPLINE(样条曲线)
POL, *POLYGON(正多边形)
REC, *RECTANGLE(矩形)
C, *CIRCLE(圆)
A, *ARC(圆弧)
DO, *DONUT(圆环)
EL, *ELLIPSE(椭圆)
REG, *REGION(面域)
DT, *DTEXT(单行文本)
MT, *MTEXT(多行文本)
B, *BLOCK(块定义)
I, *INSERT(插入块)
W, *WBLOCK(定义块文件)
DIV, *DIVIDE(等分)
H, *BHATCH(填充)
3、修改命令:
CO, *COPY(复制)
MI, *MIRROR(镜像)
AR, *ARRAY(阵列)
O, *OFFSET(偏移)
RO, *ROTATE(旋转)
M, *MOVE(移动)
E, DEL键 *ERASE(删除)
X, *EXPLODE(分解)
TR, *TRIM(修剪)
EX, *EXTEND(延伸)
S, *STRETCH(拉伸)
LEN, *LENGTHEN(直线拉长)
SC, *SCALE(比例缩放)
BR, *BREAK(打断)
CHA, *CHAMFER(倒角)
F, *FILLET(倒圆角)
PE, *PEDIT(多段线)
ED, *DDEDIT(修改文本)
4、视窗缩放:
P, *PAN(平移)
Z+空格+空格, 实时缩放 1
Z, *局部放大
Z+P, *返回上一视图
Z+E, *显示全图
1
5、尺寸标注:
DLI, *DIMLINEAR(直线标注)
DAL, *DIMALIGNED(对齐标注)
DRA, *DIMRADIUS(半径标注)
DDI, *DIMDIAMETER(直径标注)
DAN, *DIMANGULAR(角度标注)
DCE, *DIMCENTER(中心标注)
DOR, *DIMORDINATE(点标注)
TOL, *TOLERANCE(标注形位公差)
LE, *QLEADER(快速引出标注)
DBA, *DIMBASELINE(基线标注)
DCO, *DIMCONTINUE(连续标注)
D, *DIMSTYLE(标注样式)
DED, *DIMEDIT(标注)
DOV, *DIMOVERRIDE(替换标注系统变量)
6. 常用CTRL快捷键
【CTRL】+1 *PROPERTIES(修改特性)
【CTRL】+2 *ADCENTER(设计中心)
【CTRL】+O *OPEN(打开文件)
【CTRL】+N、M *NEW(新建文件)
【CTRL】+P *PRINT(打印文件)
【CTRL】+S *S**E(保存文件)
【CTRL】+Z *UNDO(放弃)
【CTRL】+X *CUTCLIP(剪切)
【CTRL】+C *COPYCLIP(复制)
【CTRL】+V *PASTECLIP(粘贴)
【CTRL】+B *SNAP(栅格捕捉)
【CTRL】+F *OSNAP(对象捕捉)
【CTRL】+G *GRID(栅格)
【CTRL】+L *ORTHO(正交)
【CTRL】+W *(对象追踪)
【CTRL】+U *(极轴)
7.常用功能键
【F1】 *HELP(帮助)
【F2】 *(文本窗口)
【F3】 *OSNAP(对象捕捉)
【F4】 *数字化仪(关)
【F5】 *等轴测平面调换
【F6】 *坐标开关
【F7】 *GRIP(栅格)
【F8】 *ORTHO(正交)
【F9】 *捕捉开关
【F10】 *极轴开关
【F11】 *对象追踪开关
【F12】 *DNY开关
求一个简单的AutoLISP程序实例
初来乍到,向各位奉上本人自编的一些实用的AutoLisp程序,希望对大家有用。
其中命令包括:
c:/ ;格式刷
c:0 ;自定义坐标系
c:00 ;世界坐标系
c:csh ;图层及标注样式初始化
c:cx ;x方向复制
c:cy ;y方向复制
c:j ;水平标注
c:k ;绘制圆引线序号球
c:kk ;绘制方引线序号球
c:kkk ;绘制连续序号球
c:kkkk ;填充连续序号
c:lf ; 关闭选中对象图层
c:lg ; 关闭选中对象图层外的其他图层
c:ln ; 设置选中对象图层为当前图层
c:mx ;x方向移动
c:my ;y方向移动
以下是程序,欢迎大家指正:
;;; 图层管理程序==》
(defun c:csh () ; 初始化图层和标注样式
(setvar ’cmdecho 0)
(sztc1)
(szbz1)
(setvar ’cmdecho 1)
)
(defun c:ln () ; 设置选中对象图层为当前图层
(setq e1 (entget (car (entsel "\n选择一个对象:"))))
; (entget (entlast))
(setq layer1 (assoc 8 e1))
(setq layername (cdr layer1))
(command "-layer" "s" layername "")
(prin1 layername)
)
(defun c:lf () ; 关闭选中对象图层
(setq e1 (entget (car (entsel "\n选择一个对象:"))))
; (entget (entlast))
(setq layer1 (assoc 8 e1))
(setq layername (cdr layer1))
(command "-layer" "off" layername "")
(princ)
)
(defun c:lg () ; 关闭选中对象图层外的其他图层
(setq e1 (entget (car (entsel "\n选择一个对象,其余图层将被关闭:"))))
;
(setq layer1 (assoc 8 e1))
(setq layername (cdr layer1))
(command "-layer" "off" "*" "y" "on" layername "s" layername "")
(princ)
)
;;; 《==图层管理程序
;;; 作图/标注程序==》
(defun c:a3 () ; 插入a3图框
(setq p1 (getpoint "\n放置点:"))
(command
"-insert"
"*C:\\Program Files\\AutoCAD 2007\\Support\\A3.dwg"
p1 ""
""
)
(princ)
)
(defun c:a4 () ; 插入a4图框
(setq p1 (getpoint "\n放置点:"))
(command
"-insert"
"*C:\\Program Files\\AutoCAD 2007\\Support\\A4.dwg"
p1 ""
""
)
(princ)
)
(defun c:00 () ; 自定义坐标
(command "ucs")
(princ)
)
(defun c:0 () ; 设置系统坐标
(command "ucs" "")
(princ)
)
(defun c:/ () ; 格式刷
(command "’_matchprop")
(princ)
)
(defun c:j () ; 直线标注
(command "-layer" "s" "6标注" "")
(command "_dimlinear")
(princ)
)
(defun c:jj () ; 圆或圆弧标注
(command "-layer" "s" "6标注" "")
(setq e1 (entget (car (entsel "选择圆或圆弧:"))))
(if (= (cdr (assoc 0 e1)) "ARC")
(command "_dimradius")
(command "_dimdiameter")
)
(princ)
)
;;; 序号球==》
(defun drawline (pt1 zh)
(if (= zh "h")
(progn (command "rectang"
(list (+ (car pt1) 8) (cadr pt1) (caddr pt1))
"@8,8"
)
(command "-array" "last" "" "r" "1" "10" "8")
)
(progn (command "rectang"
(list (car pt1) (- (cadr pt1) 8) (caddr pt1))
"@8,-8"
)
(command "-array" "last" "" "r" "10" "1" "-8")
)
)
)
(defun deleteline (pt1 zh)
(if (= zh "h")
(ssget "_w"
pt1
(list (+ (car pt1) 88) (+ (cadr pt1) 8) (caddr pt1))
’((0 . "LWPOLYLINE"))
)
(ssget "_w"
pt1
(list (+ (car pt1) 8) (- (cadr pt1) 88) (caddr pt1))
’((0 . "LWPOLYLINE"))
)
)
(command "erase" "p" "")
)
(defun c:k () ; 画引线序号球
(command "-layer" "s" "6标注" "")
(setq old_os (getvar ’o**ode))
(setq zh (getstring "\n横向《h》?纵向《z》? 《h》:"))
(if (= zh "")
(setq zh "h")
)
(setq p1 (getpoint "\n基点:"))
(setq p2 (getpoint "\n第二点:"))
(setq pt1 p2)
(drawline pt1 zh)
(while p1
(setq s (getstring "\n输入注释文字:"))
(setq dis (distance p1 p2))
(setq ang (angle p1 p2))
(setq p3 (polar p1 ang (- dis 3.5)))
(setvar ’o**ode 0)
(command "line" p1 p3 "")
(command "circle" p2 "3.5")
(setq th (getvar ’dimtxt))
(command "text" "j" "mc" p2 th "" s "")
(setvar ’o**ode old_os)
(setq p1 (getpoint "\n基点:"))
(if (= p1 nil)
(progn
(deleteline pt1 zh)
(princ
"\n命令《k》画圆引线序号球 《kk》画方引线序号球 《kkk》画序号球 《kkkk》填写序号"
)
(exit)
(princ)
)
)
(setq p2 (getpoint "\n第二点:"))
)
)
(defun c:kk () ; 画方引线序号球
(command "-layer" "s" "6标注" "")
(setq old_os (getvar ’o**ode))
(setq zh (getstring "\n横向《h》?纵向《z》? 《h》:"))
(if (= zh "")
(setq zh "h")
)
(setq p1 (getpoint "\n基点:"))
(setq p2 (getpoint "\n第二点:"))
(setq pt1 p2)
(drawline pt1 zh)
(while p1
(setvar ’o**ode 0)
(setq s (getstring "\n输入注释文字:"))
(if (》 (car p2) (car p1))
(if (》 (cadr p2) (cadr p1))
(progn (setq p3 (list (- (car p2) 3.5) (- (cadr p2) 3.5) (caddr p2)))
(command "rectang" p3 "@7,7")
)
(progn (setq p3 (list (- (car p2) 3.5) (+ (cadr p2) 3.5) (caddr p2)))
(command "rectang" p3 "@7,-7")
)
)
(if (》 (cadr p2) (cadr p1))
(progn (setq p3 (list (+ (car p2) 3.5) (- (cadr p2) 3.5) (caddr p2)))
(command "rectang" p3 "@-7,7")
)
(progn (setq p3 (list (+ (car p2) 3.5) (+ (cadr p2) 3.5) (caddr p2)))
(command "rectang" p3 "@-7,-7")
)
)
)
(command "line" p1 p3 "")
(setq th (getvar ’dimtxt))
(command "text" "j" "mc" p2 th "" s "")
(setvar ’o**ode old_os)
(setq p1 (getpoint "\n基点:"))
(if (= p1 nil)
(progn
(deleteline pt1 zh)
(princ
"\n命令《k》画圆引线序号球 《kk》画方引线序号球 《kkk》画序号球 《kkkk》填写序号"
)
(exit)
(princ)
)
(setq p2 (getpoint "\n第二点:"))
)
)
)
(defun c:kkk () ; 画序号球
(command "-layer" "s" "6标注" "")
(setq old_os (getvar ’o**ode))
(setq n (getint "\n设置起始值《1》"))
(if (= n nil)
(setq n 1)
)
(setvar ’o**ode 32)
(setq p1 (getpoint "\n基点:"))
(while p1
(setq p2 (list (- (car p1) 5) (- (cadr p1) 5) (caddr p1)))
(setvar ’o**ode 0)
(command "circle" p2 "3.5")
(command "text" "j" "mc" p2 "" "" n "")
(setq n (1+ n))
(setvar ’o**ode 32)
(setq p1 (getpoint "\n下一基点:"))
)
(setvar ’o**ode old_os)
(princ
"\n命令《k》画圆引线序号球 《kk》画方引线序号球 《kkk》画序号球 《kkkk》填写序号"
)
(princ)
)
(defun c:kkkk () ; 填写序号
(command "-layer" "s" "6标注" "")
(setq old_os (getvar ’o**ode))
(setq n1 (getint "\n设置起始值《1》"))
(if (= n1 nil)
(setq n1 1)
)
(setq n2 (getint "\n设置结束值《10》"))
(if (= n2 nil)
(setq n2 10)
)
(setvar ’o**ode 32)
(setq p1 (getpoint "\n基点:"))
(setq p2 (getpoint "\n下一点:"))
(setq p3 (list (/ (+ (car p1) (car p2)) 2)
(/ (+ (cadr p1) (cadr p2)) 2)
(caddr p1)
)
)
(setvar ’o**ode 0)
(while (《 n1 (1+ n2))
(command "text" "j" "mc" p3 "" "" n1 "")
(setq p3 (list (car p3)
(+ (cadr p3) (- (cadr p2) (cadr p1)))
(caddr p1)
)
)
(setq n1 (1+ n1))
)
(setvar ’o**ode old_os)
(princ
"\n命令《k》画圆引线序号球 《kk》画方引线序号球 《kkk》画序号球 《kkkk》填写序号"
)
(princ)
)
;;; 《==作图/标注程序
;;; 移动复制程序==》
(defun c:mx ()
(setq ss (ssget))
(setq p1 (getpoint "\n基点:"))
(setq p2 (getpoint "\n第二点:"))
(setq p3 (list (car p2) (cadr p1) (caddr p1)))
(command "move" ss "" p1 p3)
(princ)
)
(defun c:my ()
(setq ss (ssget))
(setq p1 (getpoint "\n基点:"))
(setq p2 (getpoint "\n第二点:"))
(setq p3 (list (car p1) (cadr p2) (caddr p1)))
(command "move" ss "" p1 p3)
(princ)
)
(defun c:cx ()
(setq ss (ssget))
(setq p1 (getpoint "\n基点:"))
(setq p2 (getpoint "\n第二点:"))
(setq p3 (list (car p2) (cadr p1) (caddr p1)))
(command "copy" ss "" p1 p3)
(princ)
)
(defun c:cy ()
(setq ss (ssget))
(setq p1 (getpoint "\n基点:"))
(setq p2 (getpoint "\n第二点:"))
(setq p3 (list (car p1) (cadr p2) (caddr p1)))
(command "copy" ss "" p1 p3)
(princ)
)
;;; 《==移动复制程序
;;;以下为自定义函数:
;;;_____________________________________________________________________________
;;; ((setvar ’measurement 1))
(defun sztc1 () ; 自动设置图层函数==》》
(setq l1 "0"
l2 "1中心线"
l3 "2粗实线"
l4 "3细实线"
l5 "4剖面线"
l6 "5虚线"
l7 "6标注"
l8 "7轮廓线"
) ; 设置图层名称
(setq c1 33
c2 1
c3 7
c4 6
c5 2
c6 4
c7 40
c8 5
) ; 设置图层颜色
(setq lt1 "Continuous"
lt2 "CENTER2"
lt3 "Continuous"
lt4 "Continuous"
lt5 "Continuous"
lt6 "DASHED2"
lt7 "Continuous"
lt8 "Dividex2"
) ; 设置图层线形
(setq lw1 0.13
lw2 0.13
lw3 0.30
lw4 0.13
lw5 0.13
lw6 0.13
lw7 0.13
lw8 0.13
) ; 设置图层线宽
; (command "-linetype" "l" "center2"
; "")
; (command "-linetype" "l" "dashed2"
; "")
; (command "-linetype" "l"
; "acad_is005w100" "")
(command "-layer" "n" l1 "c" c1 l1 "l" lt1 l1 "lw" lw1 l1 "")
(command "-layer" "n" l2 "c" c2 l2 "l" lt2 l2 "lw" lw2 l2 "")
(command "-layer" "n" l3 "c" c3 l3 "l" lt3 l3 "lw" lw3 l3 "")
(command "-layer" "n" l4 "c" c4 l4 "l" lt4 l4 "lw" lw4 l4 "")
(command "-layer" "n" l5 "c" c5 l5 "l" lt5 l5 "lw" lw5 l5 "")
(command "-layer" "n" l6 "c" c6 l6 "l" lt6 l6 "lw" lw6 l6 "")
(command "-layer" "n" l7 "c" c7 l7 "l" lt7 l7 "lw" lw7 l7 "")
(command "-layer" "n" l8 "c" c8 l8 "l" lt8 l8 "lw" lw8 l8 "")
(princ "\n图层设置完毕!")
(princ)
)
;;; 《《==自动设置图层函数
(defun szbz1 () ; 设置标注样式
(setvar ’dimadec 0) ; 角度小数位数
(setvar ’dimalt 0) ; 选定的换算单位
(setvar ’dimaltd 3) ; 换算单位小数位数
(setvar ’dimaltf 0.0394) ; 换算单位比例因子
(setvar ’dimaltrnd 0) ; 换算单位舍入值
(setvar ’dimalttd 3) ; 换算公差小数位数
(setvar ’dimalttz 0) ; 换算公差消零
(setvar ’dimaltu 2) ; 换算单位
(setvar ’dimaltz 0) ; 换算单位消零
(setvar ’dimapost "") ; 替换文字的前缀和后缀
(setvar ’dimarcsym 0) ; 弧长符号
(setvar ’dimasz 2.5) ; 箭头大小
(setvar ’dimatfit 3) ; 箭头和文字调整
(setvar ’dimaunit 0) ; 角度单位格式
(setvar ’dimazin 2) ; 角度消零
(setvar ’dimblk "") ; 箭头块名
(setvar ’dimblk1 "") ; 第一个箭头块名
(setvar ’dimblk2 "") ; 第二个箭头块名
(setvar ’dimcen 3) ; 圆心标记大小
(setvar ’dimclrd 0) ; 尺寸线和引线颜色
(setvar ’dimclre 0) ; 尺寸界线颜色
(setvar ’dimclrt 0) ; 标注文字颜色
(setvar ’dimdec 2) ; 小数位数
(setvar ’dimdle 0) ; 尺寸线
(setvar ’dimdli 3.75) ; 尺寸线间距
(setvar ’dimdsep ".") ; 小数分隔符
(setvar ’dimexe 1.25) ; 尺寸界线在尺寸线上
(setvar ’dimexo 0) ; 尺寸界线原点偏移
(setvar ’dimfrac 0) ; 分数格式
(setvar ’dimfxl 1) ; 固定的尺寸界线
(setvar ’dimfxlon 0) ; 启用固定的尺寸界线
(setvar ’dimgap 0.625) ; 尺寸线和文字的间距
; (setvar ’dimjogang 46)
; 半径标注折弯角度
(setvar ’dimjust 0) ; 尺寸线上的文字对正
(setvar ’dimldrblk "") ; 引线块名
(setvar ’dimlim 0) ; 生成标注界限
(setvar ’dimltex1 ".") ; 线型尺寸界线 1
(setvar ’dimltex2 ".") ; 线型尺寸界线 2
(setvar ’dimltype ".") ; 标注线型
(setvar ’dimlunit 2) ; 线性单位格式
(setvar ’dimlwd -2) ; 尺寸线和引线线宽
(setvar ’dimlwe -2) ; 尺寸界线线宽
(setvar ’dimpost "") ; 标注文字的前缀和后缀
(setvar ’dimrnd 0) ; 舍入值
(setvar ’dimsah 0) ; 独立的箭头块
(setvar ’dimscale 1) ; 全局比例因子
(setvar ’dimsd1 0) ; 隐藏第一条尺寸线
(setvar ’dimsd2 0) ; 隐藏第二条尺寸线
(setvar ’dimse1 0) ; 隐藏第一条尺寸界线
(setvar ’dimse2 0) ; 隐藏第二条尺寸界线
(setvar ’dimsoxd 0) ; 隐藏外侧尺寸线
(setvar ’dimtad 1) ; 文字位于尺寸线上方
(setvar ’dimtdec 2) ; 公差小数位数
(setvar ’dimtfac 1) ; 公差文字高度比例因子
(setvar ’dimtfill 0) ; 文字背景已启用
(setvar ’dimtfillclr 0) ; 文字背景颜色
(setvar ’dimtih 0) ; 尺寸界线内侧的文字水平放置
(setvar ’dimtix 0) ; 将文字放置于尺寸界线内侧
(setvar ’dimtm 0) ; 下偏差
(setvar ’dimtmove 0) ; 文字移动
(setvar ’dimtofl 1) ; 强制在尺寸界线内侧画尺寸线
(setvar ’dimtoh 1) ; 外侧文字水平放置
(setvar ’dimtol 0) ; 公差标注
(setvar ’dimtolj 0) ; 公差垂直对齐
(setvar ’dimtp 0) ; 上偏差
(setvar ’dimtsz 0) ; 标记大小
(setvar ’dimtvp 0) ; 文字垂直位置
(setvar ’dimtxt 3.5) ; 文字高度
(setvar ’dimtzin 8) ; 公差消零
(setvar ’dimupt 0) ; 用户定位的文字
(setvar ’dimzin 8) ; 消零
(command "-style" "1 长仿宋体" "gbeitc.shx,gbcbig.shx"
"" "0.7" "" ""
""
)
(setvar ’dimtxsty "1 长仿宋体") ; 标注文字样式
(setq n (getreal "\n尺寸比例?《1》"))
(if (= n nil)
(setvar ’dimlfac 1)
(setvar ’dimlfac n)
) ; 线性单位比例因子
(command "-dimstyle" "s" "1 长仿宋体标注")
(princ)
)
text函数的用法
TEXT。
将数值转换为按指定数字格式表示的文本。
语法
TEXT(value,format_text)
Value
为数值、计算结果为数字值的公式,或对包含数字值的单元格的引用。
Format_text
为“单元格格式”对话框中“数字”选项卡上“分类”框中的文本形式的数字格式。
Text函数表示将数值转化为自己想要的文本格式。
text函数的语法格=text(value,format_text)Value为数字值。Format_text为设置单元格格式中自己所要选用的文本格式。
如图,使用text函数把时间转化为自己想要的格式。
如图,求加班时间,然后把时间转化为自己想要的格式。
更多文章:
bigdecimal 除法(java中 BigDecimal的类型的除法)
2026年3月27日 17:40
length函数c(C语言自定义一个函数int length(char *s),函数返回字符串s的长度)
2026年3月27日 17:20
pictureselector(图片选择器:PictureSelector)
2026年3月27日 17:00
自学python经历(零基础零经验自学Python,到精通Python要多久啊)
2026年3月27日 16:40
null**rawl荒野乱斗下载(哪个软件可以下载荒野乱斗破解版)
2026年3月27日 16:20





