DNA图谱 / 问答 / 问答详情

怎么用autolisp写一个插入块的程序,插入后这个块的比例随标注比例变化,谢谢!!

2023-07-15 13:21:18
TAG: lisp
共1条回复
苏州马小云
和CAD一样 可以 自定义的
CAD快捷键一览
创建三维阵列 3A
创建三维面 3F
在三维空间创建由直线段组成的多段线 3P
在二维和三维空间中将某对象与其他对象对齐 AL
加载 AutoLISP、ADS 和 ARX 应用程序 AP
创建圆弧 A
计算对象或定义区域的面积和周长 AA
创建按指定方式排列的多重对象拷贝 AR
执行外部数据库命令的管理功能 AAD
输出选择对象的链接信息 AEX
管理对象和外部数据库之间的链接 ALI
显示并编辑表数据并创建链接和选择集 ARO
从链接到文字选择集和图形选择集的行中创建选择集 ASE
执行结构查询语言 (SQL) 语句 ASQ
创建属性定义 -AT
改变不依赖于块定义的属性信息 -ATE
用图案填充封闭区域 H或BH
根据选定对象创建块定义 -B
用对话框定义块 B
用封闭区域创建面域或多段线 BO
(使用命令行)用封闭区域创建面域或多段线 -BO
部分删除对象或把对象分解为两部分 BR
给对象加倒角 CHA
修改现有对象的特性 -CH
根据圆心和直径或半径绘制圆 C
复制对象 CO或CP
创建属性定义 AT
编辑单个块的可变属性 ATE
修改对象的颜色、图层、线型和厚度 CH
设置新对象的颜色 COL
编辑文字和属性定义 ED
显示夹点并设置颜色 GR
创建并修改标注样式 D
插入块或另一图形 I
控制现有对象的特性 MO
修改对象名称 REN
设置绘图辅助工具 RM
设置对象选择模式 SE
管理已定义的用户坐标系 UC
选择预置用户坐标系 UCP
控制坐标和角度的显示格式及精度 UN
创建和恢复视图 V
设置三维观察方向 VP
创建对齐线性标注 DAL或DIMALI
创建角度标注 DAN或DIMANG
从前一个或选择的标注的第一尺寸界线处连续标注 DBA或DIMBASE
创建圆和圆弧的圆心标记或中心线 DCE
从前一个或选择的标注的第二尺寸界线处连续标注 DCO或DIMCONT
创建圆和圆弧的直径标注 DDI或 DIMDIA
编辑标注 DED或DIMED
创建线性尺寸标注 DLI或DIMLIN
创建坐标点标注 DOR或DIMORD
替换标注系统变量 DOV或DIMOVER
创建圆和圆弧的半径尺寸标注 DRA或DIMRAD
在命令行创建和修改标注样式 DST或DIMSTY
移动和旋转标注文字 DIMTED
测量两点之间的距离和角度 DI
将点对象或块沿对象的长度或周长等间隔排列 DIV
绘制填充的圆和环 DO
修改图像和其他对象的显示顺序 DR
打开鸟瞰视图窗口 AV
输入文字时在屏幕上显示 DT
定义平行投影或透视视图 DV
创建椭圆或椭圆弧 EL
从图形删除对象 E
将组合对象分解为对象组件 X
以其他文件格式保存对象 EXP
延伸对象到另一对象 EX
通过拉伸现有二维对象来创建三维实体 EXT
给对象加圆角 F
创建根据特性选择有关对象时用到的过滤器列表 FI
创建对象的命名选择集 G
使用命令行创建选择集 -G
用图案填充一块指定边界的区域 -H
修改现有的图案填充对象 HE
重生成三维模型时不显示隐藏线 HI
以多种格式向 AutoCAD 图形文件中插入图像 IM
使用命令行插入图像 -IM
控制选定图像的亮度、对比度和褪色度 IAD
向当前图形中定义并附着新的图像对象 IAT
为单个图像对象创建新剪切边界 ICL
向 AutoCAD 输入3DS/DXF/EPS /SAT/WMF等文件 IMP
将命名块或图形插入到当前图形中 -I
插入链接或嵌入对象 IO
找出两个或多个三维实体的干涉区并用公用部分创建三维组合实体 INF
从两个或多个实体或面域的交集创建组合实体或面域 IN
管理图层 LA
在命令行上执行 LAYER 命令 -LA
创建一条引出线将注释与一个几何特征相连 LE或LEAD
拉长对象 L
创建、加载和设置线型 LT
使用命令行创建、加载和设置线型 -LT
显示选定对象的数据库信息 LI或LS
设置线型比例因子 LTS
把某一对象的特性复制到其他若干对象 MA
将点对象或块按指定的间距放置 ME
创建对象的镜像副本 MI
创建多线 ML
在指定方向上按指定距离移动对象 M
从图纸空间切换到模型空间视口 MS
创建多行文字 T或MT
使用命令行创建多行文字 -T
创建浮动视口和打开现有的浮动视口 MV
创建对象的等距线,如同心圆、平行线和平行曲线 O
设置运行对象捕捉模式并修改靶框大小 OS
使用命令行设置运行对象捕捉模式并修改靶框大小 -OS
移动显示在当前视口的图形 P
使用命令行移动视口 -P
插入剪贴板数据并控制数据格式 PA
编辑多段线和三维多边形网格 PE
创建二维多段线 PL
将图形打印到绘图仪、打印机或文件 PLOT
创建点对象 PO
创建用多段线表示的正多边形 POL
自定义 AutoCAD 系统参数的设置 PR
显示打印图形的效果 PRE
从模型空间视口切换到图纸空间 PS
删除数据库中未用的命名对象,例如块或图层 PU
退出 AutoCAD EXIT
绘制矩形多段线 REC
刷新显示当前视口 R
刷新显示所有视口 RA
重生成图形并刷新显示当前视口 RE
重新生成图形并刷新所有视口 REA
从选择的一组现有对象中创建面域对象 REG
修改对象名 -REN
创建三维线框或实体模型的具有真实感的渲染图像 RR
沿轴旋转二维对象以创建实体 REV
绕基点旋转对象 RO
设置渲染系统配置 RPR
在 X、Y 和 Z 方向等比例放大或缩小对象 SC
从脚本文件执行一系列命令 SCR
用剖切平面和实体截交创建面域 SEC
列出系统变量并修改变量值 SET
显示当前视口图形的着色图像 SHA
用平面剖切一组实体 SL
规定光标按指定的间距移动 SN
创建二维填充多边形 SO
检查图形中文字的拼写 SP
创建二次或三次样条曲线 SPL
编辑样条曲线对象 SPE
移动或拉伸对象 S
创建命名样式 ST
用差集创建组合面域或实体 SU
校准、配置、打开和关闭已安装的数字化仪 TA
设置当前三维实体的厚度 TH
控制对图纸空间的访问以及控制视口的行为 TI
创建形位公差标注 TOL
显示、隐藏和自定义工具栏 TO
创建圆环形实体 TOR
用其他对象定义的剪切边修剪对象 TR
通过并运算创建组合面域或实体 UNI
设置坐标和角度的显示格式和精度 -UN
保存和恢复已命名的视图 -V
设置图形的三维直观图的查看方向 -VP
将块对象写入新图形文件 W
创建三维实体使其倾斜面尖端沿 X 轴正向 WE
将一个外部参照附加到当前图形中 XA
将外部参照依赖符号绑定到图形 XB
使用命令行执行XBINDW命令 -XB
定义外部参照或块剪裁边界,并且设置前剪裁面和后剪裁面 XC
创建无限长的直线,称为参照线 XL
控制图形中的外部参照 XR
使用命令行执行XREF命令 -XR
放大或缩小当前视口对象的外观尺寸 Z

相关推荐

autocad快速加载 autolisp文件是什么

AutoLISP不需要弄掉,是文件程序。autolisp文件的具体解释:AutoLISP是由Autodesk公司开发的一种LISP程序语言,LISP是List Processor的缩写。通过autolisp编程。可以节省工程师很多时间。AutoLISP语言作为嵌入在AutoCAD内部的具有智能特点的编程语言,是开发应用AutoCAD不可缺少的工具。扩展资料:AutoLISP此函数(+)计算加号(+)右边所有数字的和(+ num1 num2 num3...)。这些数字可以是整数或实数。如果均为整数,则和为整数;如果均为实数,则和为实数。但是如果既有整数又有实数,则和为实数。如下所示,在前两个例子中,所有数字均为整数,所以结果是整数。在第三个例子中,一个是实数(50.0),故结果为实数。
2023-07-15 11:39:323

AutoLisp入门基础教程(3)

这是AutoLisp入门教程的第三部分,在教程的第二部分,我们编写了一个绘制瓦楞板多段线的小程序。这个Autolisp小程序涉及了一些重要常见的函数,例如 polar , repeat 和 while 等(其语法和返回值可以参考: 常见函数1 , 常见函数2 , 常见函数3 )。 再来回忆一下我们使用这个程序的时候是如何操作的:1)加载这个程序,并输入 wlb 调用这个程序;2)按照提示选取起始点,然后选取终点,屏幕上画出一条多段线;3)继续拾取起始点和终点,再次划出一条多段线线;4)若想终止程序,按 ESC 或 Enter 即可。 也许你已经想到了,这个程序的操作能不能改成这个样子:选取一条直线,根据这个直线的两个端点,自动生产一条多段线。这样就涉及了对AutoCAD对象属性的读取。 重点来了!!! 在入门教程的第三部分,我们将使用AutoLisp中相关函数对AutoCAD对象的属性进行选择、获取、修改和更新。常用的对象属性函数如下表: 对AutoCAD对象属性的修改实际上就是对AutoCAD对象属性列表的修改。 获得对象联合属性列表 编写一个chgrad.lsp程序,用来修改半径。 在原来的基础上画一个瓦楞板程序,要求选择一条线段,以此为轴线画一个瓦楞板。
2023-07-15 11:39:451

autolisp如何把几个命令串起来

打开AutoCAD2021,命令行输入“VLISP”-“空格”。会弹出AutoLISP的编辑环境,依次点击“文件”-“新建文件”。会出现新建的文本窗口。我们在文本窗口中输入“()”。2.这里为什么输入括号呢?因为AutoLISP的格式就是这样子的,所有代码都必须在括号里面。注意,在这个窗口里面输入的字符必须是英文字符,包括所有的符号,输入中文字符会报错。3.在括号里面,我们输入(defun C:gg())。defun的意思就是定义一个函数的意思。C:代表这里定义的是AutoCAD的命令。gg()是命令的快捷键,这个可以随意设置,注意,gg后的括号不能省。4.我们继续输入(command "move")command的意思是调用AutoCAD命令;“move”就是调用AutoCAD的移动命令,引号不能省。这里要注意,在这句下面的右边括号不能省,最后这个括号是和defun前的括号对应的。5.以上,我们就完成了一个自定义快捷键,就是把gg定义为AutoCAD的移动命令,然后我们选择“工具”-“加载编辑器中的文字”,退回到AutoCAD中,就可以使用gg来进行移动操作了。
2023-07-15 11:40:011

CAD中的AutoLISP是什么?

AutoLISP是由Autodesk公司开发的一种LISP程序语言(LISP是List Processor的缩写)http://www.88ve.cn/jixiesoft/cad/200705/jixiesoft_3126.html 在众多的AutoCAD开发工具中,AutoLISP是使用最简单、应用最广泛、使用者最多的一种开发工具,因此一直受到AutoCAD开发人员的喜爱。 http://tag.csdn.net/tag/autolisp/3.html
2023-07-15 11:40:181

CAD自动画杆路插件Autolisp该怎么使用

autolisp程序可以用记事本打开,在里面【(defun c:命令 ()】,这个命令可以修改,也就是运行程序命令。打开cad,输入命令【appload】加载程序,并加入【启动组】,这样以后打开cad就可以使用,不用重复加载。由于插件编写的习惯不同,功能也略有不同。输入插件命令后,一般命令行会有提示,按提示操作。
2023-07-15 11:40:271

autolispfile可以删除吗

可以autolisp是AutoCAD内嵌的语言,还没发现有病毒是用这种语言写的。出现这种情况一般是杀毒软件误判,最好不要删。有些cad的软件是用autolisp编写的,删除后就不能用了。该病毒利用CAD的读取机制,在用户第一次打开从网上下载的带有病毒的图纸后,该病毒即悄悄运行,并感染每一张新打开的图纸,将病毒文件到处复制,并生成很多名为acad.lsp的程序。所以即便是重装CAD甚至重装系统都不能解决问题。
2023-07-15 11:40:361

autolisp文件怎么加载到autocad中?

建立一个(acaddoc.lsp)文件,这个文件是空白的,打开记事本,点击保存,然后用这个命名,(由于很多设计院用了这个,不小心保存到文件里面,就会形成cad病毒,所以cad病毒扫描的时候,会认为这个是病毒,你要注意一下)打开(acaddoc),在里面输入:(load "(lisp文件名)");lisp文件名就是你编辑的autolisp文件名,如文件名是(文字wz),那么在里面输入:(load "文字wz");这些文件要放在同一个文件夹,方便电脑搜索。打开cad,右键,选项;里面有个菜单:文件,在这个里面,有一个选项(支持文件搜索路径),一般在第一个位置,点开,(添加)搜索(acaddoc)所在的文件,点击保存。然后另外一个(有效的支持文件搜索路径),也要添加路径。保存好关闭。然后关闭autocad,重新打开autocad,你就会在命令行看到加载autolisp的信息了。这个表示你成功的加载了autolisp。在autocad2014版本里面,添加了一个功能,(受信任位置),这个功能保证autolisp不会自动加载,所以这个里面也要添加路径。另外autocad里面有帮助说明,按(F1)键,程序帮助对话框,输入(acaddoc)搜索,就可以找到如何加载autolisp的说明。
2023-07-15 11:40:463

AUTOLISP问题

(SSGET "X") 那里换成 (ssget "x" (list (cons 0 "ATTDEF")))就可以过滤出所有的att。(SSGET "X") 是所有的实体。所以会选中不是att的东西。(ssget "x" (list (cons 0 "ATTDEF")))还可以再加条件。比如(ssget "x" (list (cons 0 "ATTDEF") (cons 8 "abc")))就是把abc层的att都选出来。自己根据需要扩展吧。
2023-07-15 11:41:052

opendcl与autolisp是什么关系

前者是后者的扩展,后者是前者准备实现的后台语言。autolisp,AutoCAD二次开发语言。opendcl,高级对话框,是采用C++对原autolisp语言中的dcl对话框进行了扩展,原dcl对话框界面简陋,类型较少,采用加载opendcl后即可采用其提供的接口实现更为美观,人性话的交互设计。不过,个人认为,opendcl界面效果真心不怎么样,跟采用ObjectARX开发的差太多了,执行效率也较慢,当然,针对一些简单的功能,还是可以用一用的,毕竟,ObjectARX要有C++基础才行。
2023-07-15 11:41:262

autolisp与VBA的区别

AUTOLISP是本身CAD自带的编译器,可以直接调动CAD的命令,比较方便。如果你本身不懂编程,那么学LISP会很快。如果你本身熟悉编程那么用VBA会比较快。因为我搞2次开发自己制作了些了一些小程序,全都是用LISP的,感觉比较方便,至于VBA,没尝试过。具体选择哪种还是要看你个人的情况。例如建立一个复杂的包括许多对话框的应用,AutoLISP支持对话框,但是不如VBA支持的程度强,同时,在AutoCAD中一个任务的情况下,VBA提供在对象级别上访问AutoCAD系统,但它对AutoCAD的一些基本命令的支持性并不是很好,而AutoLISP在这一点上却做的很好.总而言之各有千秋吧。
2023-07-15 11:41:341

autolisp中的画线命令

使用autolisp程序绘制图形,必须是写好正确的程序后,检查无误后加载成功后才可以运行,再根据cad的命令行的提示操作,才可以生产正确的图形。你这个程序是画一个三角形,最后的(command “line” p1 p2 p3 “C”)意思是执行autocad的绘图命令:line,然后从P1到P2,P2到P3各画一条直线。最后的“C”意思是“close”,并不是楼上说的画圆的命令。我给你修改一下你的程序清单吧,你再试试。;this program will prompt you to enter three points ;of a triangle from the keyboard ,or select three points;by using the screen cursor .P1,P2,P3 are triangle corners(defun: C:triang1() (setq p1(getPoint“\n Enter first Point of triangle:”)) (setq p2(getPoint“\n Enter second Point of triangle:”)) (setq p3(getPoint“\n Enter third Point of triangle:”)) (Command“line” p1 p2 p3“C”))以上是我运行成功的程序。你一定输入正确,正确加载后,根据命令行的提示分别先后选取三个点后就可以生成三角形了。注意三角形的形成条件是:两边之和大于第三边,两边之和小于第三边的哦。不要乱选三个点。注意保存是一定要目录正确,还有lsp这个扩展名不能省略掉啊!! 祝你成功!
2023-07-15 11:41:442

求教一个关于autolisp 定义块的问题

在创建块的时候:(1)块名(2)选择组成块的对象(3)指定基点。这三个操作还是要做的。至于用程序在“原地”生成块,应该是很简单的事情。(vl-cmdf "-BLOCK" "块名" "基点" 选择集 "")事实上,这样创建块,用程序多操作一步,用户在实际使用时是看不出来的,跟你想要的结果是完全一样的。
2023-07-15 11:41:511

请教Autolisp高手:关于entsel函数

关于entsel函数我讲例子:选择一个圆后,如何输出圆心坐标的同时,输出entsel选取点的坐标?输出圆心坐标:(entget (car (entsel)))输入选取点坐标:(cadr (entsel))(setq tem (entsel)) ;这里把entsel做成一个变量,下面分别提取。(setq edata (entget (car tem)))(setq tempt (cadr tem))
2023-07-15 11:42:002

autolisp文件怎么加载到autocad中?

(1) 运行AutoCAD 系统,单击“工具”按钮,在其下拉菜单中选AutoLisp下Visual Lisp编辑器; (2)在文件下拉菜单中选“新建”,新建一个LISP文件;(3)建好后保存; (4)重复(1)在其下拉菜单中选AutoLisp下 加载应用程序,选择保存的LISP程序,加载运行~
2023-07-15 11:42:151

CAD自动画杆路插件Autolisp该怎么使用

使用autolisp插件的话,打开cad,命令【appload】加载程序,按提示操作就可以。
2023-07-15 11:42:241

autolisp随层问题?

第一个P指的是“上一个”选择集,第二个P指的是“特性”,也就是说,你执行这段LISP代码之前,你应该先选中一些图元,比如你可以先选中一条多段线,然后这段程序就会把它的COLOR,变为BYLAYER(随层)
2023-07-15 11:42:311

AutoLISP 图层切换

lisp切换图层语言,0为你所设图层名称,操作为:为选中对象0/1回车。记得将txt文件后序名改为.lisp(defun c:0() (SETVAR "CMDECHO" 0) (PRINC "YFworkroom 将图层改成 0图层: ") (setq ss (ssget)) (command "change" ss "" "p" "la" "0" ""))(defun c:1() (SETVAR "CMDECHO" 0) (PRINC "YFworkroom 将图层改成 1图层: ") (setq ss (ssget)) (command "change" ss "" "p" "la" "1" ""))
2023-07-15 11:42:403

autolisp 求一个选中一个矩形 生成一个外接圆的代码

下面是获得多段线(矩形)点坐标程序。知道坐标了,生成外接圆就容易多了,你先试试弄弄。;-------------------------------------------------------------------------------;LWPOLYLINE获得点列表子程序。;-------------------------------------------------------------------------------(defun lwpolyline_get_pt_list ( );/ sub_list ent_list) (setq pt_list nil) (setq ent_list (entget ent_name)) (while (setq ent_list (cdr ent_list)) (setq sub_list ent_list) (setq sub_list (car sub_list)) (if (= (car sub_list) 10) (progn (setq pt (cdr sub_list)) (if (member pt pt_list) ;过滤掉重复点。 (setq pt_list pt_list) (setq pt_list (cons pt pt_list)) ) ) ) ) (setq len (length pt_list)));-------------------------------------------------------------------------------;POLYLINE获得点列表子程序。;-------------------------------------------------------------------------------(defun polyline_get_pt_list () (setq pt_list nil) (setq sub_ent_name ent_name) (setq sub_ent_name (entnext sub_ent_name)) (while (and (/= sub_ent_name nil) (/= (cdr (assoc 0 (entget sub_ent_name))) "SEQEND")) (setq pt (cdr (assoc 10 (entget sub_ent_name)))) (if (member pt pt_list) ;过滤掉重复点。 (setq pt_list pt_list) (setq pt_list (cons pt pt_list)) ) (setq sub_ent_name (entnext sub_ent_name)) ));-------------------------------------------------------------------------------
2023-07-15 11:42:471

从别人电脑拷贝过来的CAD文件出现Autolisp应用程序源代码怎么处理丶都说是病毒怎么杀不掉的。

那是个病毒,要杀的。 该病毒利用CAD的读取机制,在用户第一次打开从网上下载的带有病毒的图纸后,该病毒即悄悄运行,并感染每一张新打开的图纸,将病毒文件到处复制,并生成很多名为acad.lsp的程序。所以即便是重装CAD甚至重装系统都不能解决问题。 杀毒时候要在安全模式下杀,清除方法: ①、关闭CAD(一定要先关闭正在运行的CAD程序) ②、按F3键打开XP系统的文件搜索窗口,分别搜索并删除acad.lsp、acad.fas、acaddoc.lsp、acadapq.lsp、acadappp.lsp、acadapp.lsp和lcm.fas文件 注意: ①、“搜索范围”一定要选择“本机硬盘驱动器 (如C:;D:;E:;F:)”。 ②、一定要先勾选“搜索选项”中的“高级选项”,将其下的“搜索系统文件夹”、“搜索隐藏的文件和文件夹”“搜索子文件夹”项勾选上,否则不能将病毒文件全部搜索清除干净。
2023-07-15 11:43:073

如何取消AutoCAD 快速加载 AutoLISP 文件

1、首先在计算机中任意磁盘设置一个存放自编程序的文件夹。2、打开CAD。3、右键单击绘图区空白处,点击选项。4、在弹出的对话框中点击文件,再点击支持文件搜索路径。5、再点击添加。6、在空白位置填入之前保存文件夹的路径。7、点击应用,再点击关闭,就加载完成了。
2023-07-15 11:43:222

在CAD中怎么执行autolisp的程序

1,用 AP 命令调入Autolisp.2,在cad命令行运行所调入的lisp命令
2023-07-15 11:44:121

autolisp如何绘制水平矩形图形?

(defun c:tt() (setq p1 (getpoint " 选取矩形第一点:>")) (setq p2 (getpoint " 选取矩形第二点:>")) (command "_rectang" p1 p2) (prin1))这是最简单的画矩形的程序
2023-07-15 11:44:212

如何让CAD不出现(autolisp应用程序源代码)

那是个病毒,要杀的。具体方法引用如下:近期很多CAD用户都出现了同一问题,即打开了一些从网上下载的或从其他地方拷贝过来的图纸后,CAD开始变的非常慢,通常打开一张图纸要等待几分钟的时间,并且一些运行于CAD上的二次开发软件的命令变的不可用。即使重新安装CAD甚至重新安装系统,只要再次打开以前打开过的图纸,问题重现,这个问题对许多CAD设计人员都造成相当大的困扰。 该病毒利用CAD的读取机制,在用户第一次打开从网上下载的带有病毒的图纸后,该病毒即悄悄运行,并感染每一张新打开的图纸,将病毒文件到处复制,并生成很多名为acad.lsp的程序。所以即便是重装CAD甚至重装系统都不能解决问题。 对此我们制作了该病毒的专杀工具,希望对广大设计人员有所帮助。 借此我们也建议广大设计人员:对于网上的一些未知图纸,在下载、打开之前,一定要慎重。 下载http://www.haochenc.com/download/soft/soft.asp?ID=145
2023-07-15 11:44:291

用autolisp编写绘制的命令

源程序如下:(defun c:box (/ p p1 p2 a) (setq p (getpoint "Left & Bottom point: ") a (getdist p "A=") ) (command "PLINE" p (setq p1 (polar p 0 a)) (setq p2 (polar p1 (/ pi 2) a)) (polar p2 (- pi) a) "C"))
2023-07-15 11:44:361

在autolisp中,遇到这样的提示“错误: 参数类型错误: 二维/三维点: nil”

可以设断点追踪各参数的数,看看是不是你要的结果,以下这3行很明显格式都不一样啊:(setqpb(polarpa(/pi3)pm))(setqpc(polarpb(/pi3)pm))(setqpd(polarpb(pi)pm))
2023-07-15 11:45:042

autolisp程序计算坐标点与点命令画出的不一致。

你的程序中要有关闭捕捉的语句,执行完再还原捕捉.
2023-07-15 11:45:251

autolisp问题,求大侠相助

程序如下,调试OK:(defun c:hello2077() (setq os (getvar "osmode")) (setvar "osmode" 0) (setq offsetx (getreal "请输入偏移距离:")) (command "layer" "n" "newlayer" "") (prompt " <<框选要偏移的矩形>>") (setq ss (ssget)) (setq n 0 k 0) (repeat (sslength ss) (setq en (ssname ss n)) (setq endata (entget en)) (if (and (= (cdr (assoc 8 endata)) "xlayer") (= (cdr (assoc 0 endata)) "LWPOLYLINE")) (progn (command "offset" offsetx en (getvar "vsmax") "") (command "chprop" (entlast) "" "la" "newlayer" "") (setq k (1+ k)) ) ) (setq n (1+ n)) ) (princ (strcat " 共有<"(itoa k)">个矩形偏移="(rtos offsetx))) (setvar "osmode" os) (alert "偏移完成") (princ))备注:1.必须通过框选区域的方式选择你要偏移的矩形;2.原矩形偏移后扔被保留,未删除。
2023-07-15 11:45:321

autolisp提示错误 参数太少

元素之间缺少分隔符。
2023-07-15 11:45:401

什么是FAS?

FAS是火灾报警系统。火灾报警系统,一般由火灾探测器、区域报警器和集中报警器组成;也可以根据工程的要求同各种灭火设施和通讯装置联动,以形成中心控制系统。火灾报警系统(FAS)具有自己的网络结构和布线系统,以实现在任何情况下,该系统都可以独立的操作、运行和管理。FAS系统由主控(控制中心)和分控(车站、车场、车辆段)两级管理。在控制中心设防灾监控中心,负责监视全线防灾设备的运行状态、接收报警信号、发布救灾指令等。车站防灾监控负责接收车站的灾害报警,及时与指挥中心联络,并接收中心防灾指令,控制设备。扩展资料:火灾自动报警系统,贯穿整个消防系统的关键流程,包括火灾预警系统、火灾探测报警及联动控制系统,其中联动控制系统包括了消火栓按钮、火灾警报器、各类输入输出模块、消防电气控制装置、消防广播系统、消防电话系统、图形显示装置、应急照明疏散指示系统等。火灾预警系统的目的是消除火灾隐患,一旦发生火灾,就需要火灾探测报警系统和消防联动控制系统来发挥作用。火灾探测报警及联动控制系统,是实现火灾探测报警、向各类消防设备发出控制信号并接收设备反馈信号,进而实现预定消防功能的自动消防设施。参考资料来源:百度百科-FAS
2023-07-15 11:45:516

Autolisp 程序 参数类型错误

(setq pt10 (car (assoc 10 (entget en))))car改cdrcar取第一个值,就是10,后面distance函数要求输入两个点,要求的数据格式是二维点表,或三维点表,输入10就发生了数据类型错误。
2023-07-15 11:46:361

autolisp参数类型错误 怎么破

按一下程序停在哪一句,然后重点分析。应该是返回数据空之类的错误。
2023-07-15 11:46:431

如何用autolisp获取cad图形文件中直线和多义线的图层名

(setq ly (cdr (assoc 8 (entget (car(entsel" 选择对象:"))))))
2023-07-15 11:46:531

【AutoLISP】请教:(getdist str_rr))是什么意思?

(getdist [pt] [prompt]) 这是getdist函数语法,如果后面有个pt那么只需用户选取一点就行了(或输入值),后面的[prompt]是提示语,这个是字符串,你的str_rr(setq str_rr (strcat " 新直径<"(rtos (* old_rr 2) 2)">:")) 这句返回的是"新直径<100>:"后面一句是:(setq rr (getdist str_rr))那么运行的结果是:命令: 新直径<100>:这里getdist后面没有带PT,那么要求用户输选两点或直接输入值,后面的str_rr是提示多看看语法就行了
2023-07-15 11:47:002

autolisp 尖括号

尖括号代表必选。方括号代表可选。AutoLISP是由Autodesk公司开发的一种LISP程序语言,LISP是List Processor的缩写。通过autolisp编程,可以节省工程师很多时间。AutoLISP语言作为嵌入在AutoCAD内部的具有智能特点的编程语言,是开发应用AutoCAD不可缺少的工具。
2023-07-15 11:47:181

Autolisp是一个什么程序啊?

AutoLISP是由Autodesk公司开发的一种LISP程序语言(LISP是List Processor的缩写)http://www.88ve.cn/jixiesoft/cad/200705/jixiesoft_3126.html在众多的AutoCAD开发工具中,AutoLISP是使用最简单、应用最广泛、使用者最多的一种开发工具,因此一直受到AutoCAD开发人员的喜爱。http://tag.csdn.net/tag/autolisp/3.html
2023-07-15 11:47:271

autolisp语言怎么插入到cad中,怎么在cad中运用这个代码命令???

1、手动加载:在命令行输入“AP”并按回车键(或空格键),打开应用程序加载对话框,找到你这个程序文件,选中后点击加载,加载完成后直接在命令行输入命令“SA”就可运行你的程序了。2、自动加载:可以进入CAD安装目录下的Support目录,打开acad****.lsp文件(注:****为为版本号,假如你安装的是CAD2012的话,就是acad2012.lsp)在底部输入下面两行并保存即可:(load"盘符:\文件路径\sa.lsp")(princ)注:1、手动加载时,每个文档中都要分别加载后才能使用,加载时也可用鼠标点击命令“加载应用程序”,该使命在旧版本CAD经典界面时位于“工具”菜单下,新版本Ribbon界面时位于“管理”功能区下面。2、自动加载时文件路径的输入方法,例如你的代码文件sa.lsp的完整路径为“E:abcsa.lsp”的话,就应输入“E:\abc\sa.lsp”或“E:/abc/sa.lsp”。
2023-07-15 11:47:501

如何取消AutoCAD 快速加载 AutoLISP 文件

1、首先在计算机中任意磁盘设置一个存放自编程序的文件夹。2、打开CAD。3、右键单击绘图区空白处,点击选项。4、在弹出的对话框中点击文件,再点击支持文件搜索路径。5、再点击添加。6、在空白位置填入之前保存文件夹的路径。7、点击应用,再点击关闭,就加载完成了。
2023-07-15 11:47:582

使用autolisp语言程序统计线的步骤

;------------------------------------------------------------------------------------------------;统计AutoCAD图中线段的条数和线段的总长度。;*********************** Write By zhenglin ***************Edit By in_city************************(defun c:tj1(/ p n e e1 e2 l s x1 x2 y1 y2 xx yy ll lll) (setvar "cmdecho" 0) (setq ln 0 lll 0) (princ " >>>>>>>>>> ") (setq p (ssget)) ; Select objects (if p (progn ; If any objects selected (setq l 0 n (sslength p)) (while (< l n) ; For each selected object... (if (= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l)))))) (progn (setq e1 (assoc 10 e) e2 (assoc 11 e)) (setq x1 (cadr e1) y1 (caddr e1)) (setq x2 (cadr e2) y2 (caddr e2)) (setq xx (abs (- x2 x1)) yy (abs (- y2 y1))) (setq ll (sqrt (+ (* xx xx) (* yy yy)))) (setq lll (+ lll ll)) (setq ln (+ ln 1)) ) ) (setq l (1+ l)) ) ) ) (setq po (getpoint " >>>>>>>>>> input point:")) (setvar "osmode" 0) (setq pt (polar po (/ pi 2) 5)) (princ " >>>>>>>>>> total line number= ") (princ ln) (princ " >>>>>>>>>> total line length= ") (princ lll) (command "_.text" pt "3" "0" (strcat "total line number= " (rtos ln 2 4))) (command) (command "_.text" po "3" "0" (strcat "total line length= " (rtos lll 2 4))) (command) (princ " ************** Write By zhenglin *************") (princ " ************* Complete By In_city ************") (princ));------------------------------------------------------------------------------------------------
2023-07-15 11:48:441

cad中autolisp病毒怎么才能杀尽啊

您好:CAD中毒的话建议您使用腾讯电脑管家的杀毒功能杀毒吧,腾讯电脑管家是采用“4+1”核“芯”杀毒引擎的专业杀毒软件,是完全可以帮助您彻底查杀autolisp病毒的,您可以点击这里下载最新版的腾讯电脑管家:最新版腾讯电脑管家下载腾讯电脑管家企业平台:http://zhidao.baidu.com/c/guanjia/
2023-07-15 11:48:542

AutoLisp,怎么实现重复执行命令

不知道你具体想做什么,就编了一小段,大概可以实现你说的功能,在Vlisp控制台运行。提示选择一点后,判断是否有效,有效则作为标注的第一点,否则退出循环。(setq a 0)(while (/= a nil)(progn(setq a (getpoint "选择标注的第一点:"))(if (/= a nil)(command "_dimlinear" a pause pause))))
2023-07-15 11:49:182

autolisp 加载时 ; 错误: 参数类型错误: stringp nil

((draw))感觉这个地方错了。外层括号应该褪去。
2023-07-15 11:49:262

AUTOLISP怎么将(# #)转化为表(1 34)

(vl-load-com)(setq a (vlax-make-variant 1 5)) ;创建变体a,类型双精度浮点数(setq b (vlax-make-variant 34 5));创建变体b,类型双精度浮点数(mapcar "vlax-variant-value (list a b)) ;返回(1.0 34.0)如果要转为整数请用下面一句:(mapcar "fix (mapcar "vlax-variant-value (list a b))) ;返回 "(1 34)
2023-07-15 11:49:321

autolisp 怎么查询一个图层是否存在呢?用IF条件语句!

其实不用if的。直接 (command "layer" "m" "new_layer" "c" 1 "" "")如果不存在,建立图层new_layer,并且置为当前图层。
2023-07-15 11:50:152

用autolisp怎么调用修剪伸缩等需要先选中对象的命令啊

(defun c:tm ( ) (command "_.line" (list -10 0) (list 10 0) "") (setq l1 (entlast)) (command "_.line" (list 0 10) (list 0 -10) "") (setq l2 (entlast)) (command "_.trim" l1 "" (list l2 (list 0 2)) ""))这是依照你追问一楼的基础写的,你看下吧.
2023-07-15 11:50:242

AUTOLISP难学吗?

不难学,LISP的特点就是解释性语言,输入一句,运行一句,调试一句。是可以现学现用的好东西。就是网上的资料不太多,相关书籍也不多,推荐两个网站分别是明经社区和晓东CAD,绝非广告,这两个网站让我受益匪浅。网址自己百度吧。
2023-07-15 11:50:414

autolisp程序调试问题! 如何调试一个带有用户输入的autolisp程序呢?

cad自带的visual lisp编辑器中,就有参数监视的功能,还能加入断点,你想在哪一行代码停下来都可以,界面上就有图标的,你自己找一下吧,我好久没用了
2023-07-15 11:51:003

autolisp程序加载时显示:“错误: 输入的列表有缺陷”

(defun c:draw ( / ) (setq delta (/ (* 2 pi) 50));;3.14用pi表示即可 (setq j1 (/ 30 50 )) (setq a 0) (setq jj 0) (setq ii 0) (command "3dpoly" (list 100 0 0)) (repeat 3 (repeat 50 (setq jj (+ jj 1));;这个地方少了一个挂号,所以有缺陷。 ( setq a ( + delta a ) ) (setq x (* 100 (cos a))) (setq y (* 100 (sin a))) (setq z (* j1 jj)) (setq p2 (list x y z)) (command p2) ) (setq ii (+ ii 1)) (setq z (* t1 ii)) ) (command "") )
2023-07-15 11:51:301

autolisp多个点连线后怎么在最后一个店终止

在循环结束后,输入命令:(command "");结束命令;(command "C");多段线封闭结束
2023-07-15 11:51:551

请问autolisp里面哪一个函数可以进行四舍五入的?例如我量一条直线的实际长度为1003,我想他输出到excle

EXCEL里面四舍五入函数是ROUND
2023-07-15 11:52:091

Auto cad中的LISP语言是什么?有怎样的用途?

AutoLISP语言是在普通的LISP语言基础上,又扩充了许多适用于CAD应用的功能而形成的一种程序设计语言。它是一种解释性求值语言,速度较慢,难以保密,可用任何文字编辑软件编辑,用纯文本的格式保存。例如:(setqi1);就是代码i值是1(command"CIRCLE""(00)100);命令在坐标原点绘制半径100的圆。AutoLISP语言中的一切成分都是以函数形式给出的,它没有语句概念或其他语法结构。执行AutoLISP程序就是执行一些函数,再调用其它函数。例如:(setqpt1(getpoint" 请选择圆心插入点"))(command"CIRCLE"pt1100);命令这个插入点绘制圆,半径为100AutoLISP把数据和程序统一表达为表结构,故可把程序当作数据来处理,也可把数据当作程序来执行。例如:一条直线,起点坐标"(00),端点坐标"(1000 0),图层为0层,颜色为1【红色】这个是一条直线的一些数据,怎么执行变为程序代码如下:(entmake(list"(0."LINE")"(8."0")"(62.1)"(1000)"(1110000)))以上可以直观的看数据,也可以粘贴到AutoCAD的命令行,就绘制出以上要求的直线。AutoLISP语言中程序运行过程就是对函数求值的过程,是在对函数求值的过程中实现函数的功能。在AutoCAD里面,所有的对象可以看成是由无数的点构成,每个点都有自己的坐标,函数的运行就是计算出这些点的数值,根据得到的数值进行判断。AutoLISP语言的主要控制结构是采用递归方式。递归方式的使用,使得程序设计简单易懂。例如:(setq&k1(entsel));选择对象(setq&k1(car&k1));提取图元(setq#g1(entget&k1));取得属性列表(setqc0(cdr(assoc0#g1)));取得图元名称以上是一个个的写下来,可以写成以下: (setqc0(cdr(assoc0(entget(car(entsel))))));简单易懂由于autolisp简单,容易,所以上手很快。编写程序后,可以大大的提高绘图效率,有名的【天正】插件,就是绘图的好帮手。autolisp程序也有不足的地方,如提取坐标,这个只能在图元属性里面提取,这样的话会有局限性,法向坐标1与-1的坐标值相同,但是图形的位置不同,造成计算坐标的困难,所以提取坐标值,最好使用VLAX函数来提取。
2023-07-15 11:52:551