CAD中LISP程序使用方法

CAD中LISP程序使用方法2007-08-06 19:13:32| 分类:学习园地 |字号订阅1. 对于提供附件下载的,把附件下载就可以了2. 对于提供的源LISP代码,把代码拷贝、粘贴到一个文件,自己起个名或者若程序里面注释推荐了文件名,就用推荐的,然后保存成扩展名是LSP的文件即可了。

LISP程序使用方法:加载LISP1. 可以使用APPLOAD命令,然后去找到要加载的LISP文件,加载即可。

2. 可以自己从文件管理器把LISP文件拖动到ACAD的图形窗口,也可以加载3. 在命令行后用,(load "c:\\temp\\xxx.lsp")也可以加载,路径名请输入实际的路径。

另:对于一个LSP程序,(defun 后面的既是命令或者函数,一般程序应该有提示,若没有,标志符c:后面的单词是可以在ACAD下使用的命令,既可以在COMMAND:后面直接输入,即可执行。

CAD快速切换图层LISP代码(方法2)给楼主发一个图层更改的lisp程序,按对应数字键就可以切换到相应的图层。

很方便。

0————01————OBJ2————6t3————SCETR。

8————BORDER如果这些不是你想要的图层,将lisp用笔记本打开,把里边的OBJ,6t等图层名改为你想要的就可以了。

以后要切换图层时,按相应的数字键即可。

(defun YH_chlayer (YH_layer / YH_S)(if (null (tblsearch "LAYER" YH_layer))(entmake (list'(0 . "LAYER")'(100 . "AcDbSymbolTableRecord")'(100 . "AcDbLayerTableRecord")(cons 2 YH_layer) ;图层名称'(70 . 0) ;图层状态'(62 . 7) ;图层颜色'(6 . "bylayer") ;图层线型)))(setq YH_S (cadr (ssgetfirst)))(if YH_S(command "CHPROP" YH_S "" "la" YH_layer "c" "bylayer" "")(setvar "clayer" YH_layer))(princ))(defun c:0 ()(YH_chlayer "0"))(defun c:1 ()(YH_chlayer "OBJ"))(defun c:2 ()(YH_chlayer "6t"))(defun c:3 ()(YH_chlayer "SCETR"))(defun c:4 ()(YH_chlayer "HIDD"))(defun c:5 ()(YH_chlayer "DIM"))(defun c:6 ()(YH_chlayer "DASH"))(defun c:7 ()(YH_chlayer "TEXT"))(defun c:8 ()(YH_chlayer "BORDER"))#Cad到上面一行为址,保存为lsp格式。

LISP 小程序,改变对象颜色;;数字1(defun C:1 ( / gp)(setvar "cmdecho" 0)(princ "\n★改变对象颜色为红色★")(setq gp (ssget))(if (/= gp nil) (command ".change" gp "" "p" "c" "1" "")) (princ "\nOK")(princ));end defun C:1;;数字2(defun C:2 ( / gp)(setvar "cmdecho" 0)(princ "\n★改变对象颜色为黄色★")(setq gp (ssget))(if (/= gp nil) (command ".change" gp "" "p" "c" "2" "")) (princ "\nOK")(princ));end defun C:2;;数字3(defun C:3 ( / gp)(setvar "cmdecho" 0)(princ "\n★改变对象颜色为绿色★")(setq gp (ssget))(if (/= gp nil) (command ".change" gp "" "p" "c" "3" "")) (princ "\nOK")(princ));end defun C:3;;数字4(defun C:4 ( / gp)(setvar "cmdecho" 0)(princ "\n★改变对象颜色为青色★")(setq gp (ssget))(if (/= gp nil) (command ".change" gp "" "p" "c" "4" "")) (princ "\nOK")(princ));end defun C:4;;数字5(defun C:5 ( / gp)(setvar "cmdecho" 0)(princ "\n★改变对象颜色为蓝色★")(setq gp (ssget))(if (/= gp nil) (command ".change" gp "" "p" "c" "5" "")) (princ "\nOK")(princ));end defun C:5;;数字6(defun C:6 ( / gp)(setvar "cmdecho" 0)(princ "\n★改变对象颜色为紫色★")(setq gp (ssget))(if (/= gp nil) (command ".change" gp "" "p" "c" "6" "")) (princ "\nOK")(princ));end defun C:6;;数字7(defun C:7 ( / gp)(setvar "cmdecho" 0)(princ "\n★改变对象颜色为白色★")(setq gp (ssget))(if (/= gp nil) (command ".change" gp "" "p" "c" "7" "")) (princ "\nOK")(princ));end defun C:7;;数字8(defun C:8 ( / gp)(setvar "cmdecho" 0)(princ "\n★改变对象颜色为深灰色★")(setq gp (ssget))(if (/= gp nil) (command ".change" gp "" "p" "c" "8" "")) (princ "\nOK")(princ));end defun C:8;;数字9(defun C:9 ( / gp)(setvar "cmdecho" 0)(princ "\n★改变对象颜色为灰色★")(setq gp (ssget))(if (/= gp nil) (command ".change" gp "" "p" "c" "9" "")) (princ "\nOK")(princ));end defun C:9。

合集下载

CAD定制命令和脚本方法讲解

CAD定制命令和脚本方法讲解

CAD定制命令和脚本方法讲解CAD(Computer-Aided Design)是一款非常强大的绘图软件,广泛应用于建筑设计、土木工程、机械制图等领域。

为了更高效地使用CAD,定制命令和脚本方法成为了许多用户的首选。

在本文中,我们将介绍CAD的定制命令和脚本方法,并提供一些实用的技巧和示例。

一、定制命令定制命令是指根据用户的需求,在CAD中创建自定义的命令,以便更快捷地完成某些特定的操作。

在CAD中,我们可以使用Lisp语言来编写自定义命令。

1. 创建Lisp文件首先,打开任意文本编辑器,如记事本,然后创建一个新的Lisp文件。

保存文件时,将文件扩展名设置为.lsp,以便CAD能够正确地识别它。

2. 编写Lisp代码在Lisp文件中,我们可以编写自定义命令的代码。

例如,我们可以创建一个名为"Rectangle"的命令,用于绘制矩形。

以下是一个简单的例子:(defun c:Rectangle () ;定义命令名称为Rectangle(command "RECTANG" pause) ;调用CAD内置命令RECTANG)在上述代码中,defun c:Rectangle ()表示定义一个名为Rectangle的命令。

command "RECTANG" pause表示调用CAD内置命令RECTANG,并在每次绘制矩形后暂停。

3. 加载并运行命令将保存好的Lisp文件加载到CAD中,有两种方式可以实现:a. 使用APPLOAD命令:在CAD的命令行中输入APPLOAD,然后选择加载Lisp文件。

b. 使用加载项管理器:在CAD界面中,选择"工具"-"加载项"打开加载项管理器,然后点击"添加"按钮选择加载Lisp文件。

加载完成后,我们可以通过在CAD命令行中输入Rectangle命令来执行自定义命令。

cad中剖切符号的使用

cad中剖切符号的使用

cad中剖切符号的使用
在CAD中,剖切符号主要用于表示一个物体被另一个物体切割的部分。

以下是使用剖切符号的步骤:
1. 确定需要剖切的物体。

2. 在命令行中输入“LISP”命令并回车,打开AutoLISP程序。

3. 在AutoLISP程序中,找到并加载已经编写好的剖切符号程序。

4. 执行剖切符号程序,根据提示输入需要的信息,例如剖切角度、方向等。

5. 按下回车键,程序会自动在CAD图形中绘制出剖切符号。

需要注意的是,剖切符号的绘制需要一定的AutoLISP编程技能和对CAD 软件的熟悉程度。

如果对编程不太熟悉,可以寻求专业人士的帮助。

另外,不同的CAD软件可能具有不同的剖切符号绘制方法,需要根据所使用的软件进行相应的学习和操作。

CAD LISP 程序教学内容

CAD LISP 程序教学内容

C AD L I S P程序1.计算所有线段总长度(加载后只需框选所有线段便可得出这些线段的总长度) (defun c:LL ()(setvar "cmdecho" 1)(setq en (ssget (list '(0 . "spline,arc,line,ellipse,LWPOLYLINE"))))(setq i 0)(setq ll 0)(repeat (sslength en)(setq ss (ssname en i))(setq endata (entget ss))(command "lengthen" ss "")(setq dd (getvar "perimeter"))(setq ll (+ dd ll))(setq i (1+ i)))(princ "所选线条总长为:")(princ ll)(princ))2.标注所有线段(加载后只需框选所有线段便可得标注这些线段)(defun c:LLL ()(COMMAND "UCS" "")(setvar "cmdecho" 1)(SETVAR "OSMODE" 0)(setq AcadObject (vlax-get-acad-object)AcadDocument (vla-get-ActiveDocument Acadobject)mSpace (vla-get-ModelSpace Acaddocument));;选取需要测量的样条曲线、圆弧、直线、椭圆(setq en (ssget (list '(0 . "spline,arc,line,ellipse,LWPOLYLINE")))) (setq i 0);;获取系统参数textsize(setq shh (getvar "textsize"))(setq str_hh (strcat "\n文字高度<" (rtos shh 2) ">: "))(setq hh (getdist str_hh))(while hh(setvar "textsize" hh)(setq hh nil));;输入标注文字高度;;循环开始(repeat (sslength en)(setq ss (ssname en i))(setq endata (entget ss))(command "lengthen" ss "")(setq dd (getvar "perimeter"))(princ (strcat "\n长度=" (rtos dd 2)));;寻找代表图层的字符串(setq aa (assoc 0 endata));;获取图层名称(setq aa1 (cdr aa));;判断线条种类(cond((= aa1 "SPLINE");;如果是spline(progn(setq arcObj (VLAX-ENAME->VLA-OBJECT ss)) (setq startPnt1 (vla-get-ControlPoints arcObj))(setq p1(vlax-safearray->list (vlax-variant-value startPnt1)) )(setq x1 (car p1))(setq y1 (cadr p1))(setq z1 (caddr p1))(setq pp1 (list x1 y1 z1))(repeat (- (/ (length p1) 3) 1);;循环,寻找最后一个控制点(setq p1 (cdddr p1))(setq x2 (car p1))(setq y2 (cadr p1))(setq z2 (caddr p1)))(setq pp2 (list x2 y2 z2))))((= aa1 "LWPOLYLINE");;如果是LWPOLYLINE(progn(setq arcObj (VLAX-ENAME->VLA-OBJECT ss)) (setq startPnt1 (vla-get-Coordinates arcObj))(setq p1(vlax-safearray->list (vlax-variant-value startPnt1)) )(setq x1 (car p1))(setq y1 (cadr p1))(setq z1 (caddr p1))(setq pp1 (list x1 y1 z1))(repeat (- (/ (length p1) 3) 1);;循环,寻找最后一个控制点(setq p1 (cdddr p1))(setq x2 (car p1))(setq y2 (cadr p1))(setq z2 (caddr p1)))(setq pp2 (list x2 y2 z2))))(t;;如果是其他种类线条(progn(setq arcObj (VLAX-ENAME->VLA-OBJECT ss))(setq startPnt1 (vla-get-StartPoint arcObj));;获取起点(setq endPnt1 (vla-get-EndPoint arcObj));;获取终点(setq pp1(vlax-safearray->list (vlax-variant-value startPnt1)))(setqpp2 (vlax-safearray->list (vlax-variant-value endPnt1)) ))))(setq x1 (car pp1))(setq y1 (cadr pp1))(setq z1 (caddr pp1))(setq x2 (car pp2))(setq y2 (cadr pp2))(setq z2 (caddr pp2))(setq x (/ (+ x1 x2) 2))(setq y (/ (+ y1 y2) 2))(setq z (/ (+ z1 z2) 2))(setq pt (list x y z));;取得线段两端的中点(setq ang (angle pp1 pp2));;获取角度(if (> (* (/ ang pi) 180) 180) (setq ang (+ ang pi)))(command "text""j""bc"pt""(* (/ ang pi) 180)(strcat "" (rtos dd 2))"")(setq i (1+ i)))(prin1))(prompt "\n <>在图中直接写出长度") (prin1)3.连续打断程序(defun c:br1 ()(command "break" pause "f" pause "@") )4.将CAD文字导入Excel表格(defun c:Q2()(setq ffn (getfiled "写出文件" "" "xls" 1))(princ "\n选取文字...")(setq ss (ssget))(setq ff (open ffn "w"))(setq i 0)(repeat (sslength ss)(setq ssn (ssname ss i))(setq ssdata (entget ssn))(setq sstyp (cdr (assoc 0 ssdata)))(if (or (= sstyp "TEXT") (= sstyp "MTEXT")) (progn(setq txt (cdr (assoc 1 ssdata)))(princ txt ff)(princ "\n" ff)))(setq i (1+ i)))(close ff)(princ (strcat "\n写出文件: " ffn))(prin1))5删除带颜色图元以下程序在别人的贴子里贴过.为了说明问题,今天再贴一次. 改颜色的LISP程序(defun c:c1()(ssget)(command "chprop" "p" "" "c" "1" "") (princ)) (defun c:c2()(ssget)(command "chprop" "p" "" "c" "2" "") (princ)) (defun c:c3()(ssget)(command "chprop" "p" "" "c" "3" "") (princ)) (defun c:c4()(ssget)(command "chprop" "p" "" "c" "4" "") (princ)) (defun c:c5()(ssget)(command "chprop" "p" "" "c" "5" "") (princ)) (defun c:c6()(ssget)(command "chprop" "p" "" "c" "6" "") (princ)) (defun c:c7()(ssget)(command "chprop" "p" "" "c" "7" "") (princ)) (defun c:c8()(ssget)(command "chprop" "p" "" "c" "8" "") (princ))你用C1 命令就可以将图元改为红色了.其余类似.删除红色图元(defun C:D1 (/ m A M)(setq m:err *error* *error* *merr*)(setvar "cmdecho" 0)(command "UNDO" "G")(prompt "选择图形")(setq A (ssget '((62 . 1)) ))(if (/= A nil)(progn(setq M (sslength A))(command "erase" A "")(princ "\n共删除红色图元<")(princ M)(princ ">个") ))(command "UNDO" "E")(princ) )这样,键入 D1 命令,就可以删除红色的图元了.。

CAD二次开发Visual_LISP指南

CAD二次开发Visual_LISP指南

CAD二次开发Visual_LISP指南CAD二次开发是指在CAD软件平台上进行个性化开发和定制化编程,以满足用户特定需求Visual LISP是AutoCAD软件的一种编程语言,通过使用Visual LISP语言可以对AutoCAD进行二次开发。

下面是CAD二次开发Visual LISP的指南,希望对开发人员有所帮助。

一、入门准备1.学习基础知识在开始进行CAD二次开发前,需要充分了解AutoCAD软件的基本功能和特点,熟悉CAD软件的界面、命令、对象模型以及常用API(应用程序接口)等。

2.掌握Visual LISP语言Visual LISP是CAD软件平台上的一种编程语言,与AutoLISP类似。

学习和掌握Visual LISP语言是进行CAD二次开发的基础。

可以通过学习书籍、在线教程和参考文档等途径来提高自己的编程能力。

3.安装开发工具需要安装CAD软件的开发工具,例如AutoCAD自带的AutoCAD Developer Tools或者Visual LISP IDE等。

这些工具提供了编写、调试和管理二次开发项目的必要环境。

二、开始二次开发1.确定需求在进行CAD二次开发前,需要明确开发的具体需求和目的。

这可以包括添加自定义命令、修改现有功能、创建用户界面等等。

确保清晰地定义需求和目标,以便更好地进行开发工作。

2.编写代码通过Visual LISP语言编写代码来实现二次开发的需求。

VisualLISP提供了一系列的函数和命令,可以对AutoCAD的对象模型进行访问和操作。

根据需求,编写相应的函数、宏和命令,实现具体的功能。

3.调试和测试在编写代码后,进行调试和测试是不可或缺的步骤。

通过运行调试器、打印日志、进行单元测试等方式来验证代码的正确性和稳定性。

及时修复和调整代码中的问题,确保其能够正常运行。

4.文档和发布完成开发工作后,建议对代码进行适当的文档整理和注释,方便后续的维护和管理。

CAD中自动画管线图的LISP程序

CAD中自动画管线图的LISP程序

(defun c:brel(/myosmode horv p p1 p2 p3)
(setq myosmode (getvar "OSMODE"))
(setvar "OSMODE" 0)
(setq p (getpoint "\nSelect point to break:"))
(initget 1P程序
画一些管路原理图时,当代表不同管路的直线在图中相交时,需将在交点处的某一直线断开,再用一半圆连接两断点,使用下面这个LISP编写的程序,只用键入"brel"的命令,其它的就由电脑去完成了。
程序中使用"break"命令截断需要被断开的管线,再用"arc"命令画一半圆连接两断点。变量p读取管线交点;p1、p2为点p的左右或上下两点;p3为连接p1、p2半圆的中点。由于使用"break"命令时若AUTOCAD环境处于对象捕捉方式(OSMODE≠0),则"break"命令截断的p1、p2两点可能为变为p1、p2附近的捕捉点。所以程序开始时用变量myosmode记录系统变量OSMODE,而后设置OSMODE为0,程序结束后再设置还原OSMODE。变量horn判断用户需要断开的是水平线还是垂直线。
(setq p3 (list (car p) (+ (cadr p) 1.5)))
)
(progn
(setq p1 (list (car p) (- (cadr p) 1.5)))
(setq p2 (list (car p) (+ (cadr p) 1.5)))
(setq p3 (list (+ (car p) 1.5) (cadr p)))

用LISP语言自定义AutoCAD命令

用LISP语言自定义AutoCAD命令

用LISP语言自定义AutoCAD命令AutoLISP语言作为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”在绘制机械零件图时,经常要画螺纹孔的剖视图,同样由于螺纹孔的有关尺寸都随螺纹的公称直径而变化,我们可以用下面的程序自动完成其剖视图的绘制。

CAD画渐开线lisp程序

(command "pline" ls (list x y) "") ;(command ls (list x y)) ;(grdraw ls (list x y) 10) (setq ls (list x y)) ;(setq ls (entlast))
) ;(princ (> p ja)) ;(princ (= p ja)) ;(princ (< p ja))
)
;(redraw) ;对象捕捉 (setvar "osmode" dx) ;控制undo (if (/= ud 0)
(command "undo" "e") )
)
第三步:将文档名称改为“渐开线.lsp”,注意,文件后缀同时由“.txt” 改为“.lsp”。 (如果,你的电脑不显示文件后缀,请先做如下设置,去掉对钩)
* 适用于Auto CAD各版本,适用于室内装潢、机械设计等
输入命令:jkx
鼠标选取或输入圆心 位置
输入基圆半径
输入基圆半径
输入角度
第一步:在桌面建立一个文本文档
第二步:打开文档,将以下lisp代码复制到文档内,并保存关闭
(defun c:jkx(/ jo jr ja p ls p2 x y ud dx) (graphscr) (setvar "cmdecho" 0) ;(setvar "comdecho" 0) (setq jo(getpoint"\n请输入圆心位置:")) (setq jr(getdist"\n请输入基圆半径:")) (setq ja(getreal"\n请输入渐开线(10进制)角度:")) (setq p 0) (setq ls (list (+ jr (car jo)) (cadr jo))) ;控制undo (if (/=(getvar "undoctl") 0) (command "undo" "be") (setq ud 0) ) ;对象捕捉 (setq dx (getvar "osmode")) (setvar "osmode" 0) ;(command "pline" ) (while (<= p (- ja 0.5)) (setq p (+ 0.5 p)) (setq p2 (* (/ p 180) pi)) (setq x (+ (car jo) (+ (* jr (cos p2)) (* pi jr (/ p 180) (cos (- p2 (/ pi 2))))))) (setq y (+ (cadr jo) (+ (* jr (sin p2)) (* pi jr (/ p 180) (sin (- p2 (/ pi 2))))))) ;(command "point" (list x y))

CADLISP说明

点工具---加载应用程序—选择你要的程序即可加载后按F2按提示说明输入命令就可以了[RDtools]1、Bwmfout:输出CAD图形为WMF文件的程序。

方便是DWG图形与WORD文件之间的交流。

2、CZ:管线插字程序。

用管线中间的标注。

3、Locktb14:CAD工具条锁定程序。

4、Lr:平面图转系统图程序。

Zc:平面图转系统图程序。

5、Nat:删除建筑门窗标注程序。

6、Periscope:自动显示物体参数程序。

7、32:将图中3维线处理成2维。

(建筑提资图中线条常为3维线与2维线无交点)8、Bdn:管径标注程序。

9、Bg:标注标高程序。

10、Bgao:标注坐标程序。

11、Biaozhu:标注立管编号,管件编号程序。

12、Brktxt:编辑长字符串程序(把长的字符串打断)。

13、Bs:批量块缩放程序。

14、Btj:图块数量统计程序。

15、Bz:管径、管长标注程序。

16、Bz3:(bzyx1)标注坐标程序。

17、Chtext:统一改变字体属性(字高、字宽、字型、颜色等)。

18、Crpiao:统一改变圆直径程序。

19、Edim:输入上界,将窗选范围内小于该值的尺寸标注删除。

若输入上界为1则删除窗选范围内所有尺寸标注。

(用于处理建筑提资图。

)20、Edline:加宽线条程序。

21、Ela:整层删除程序。

22、Fjzc:分解字符串为单独的字体程序。

23、Gxs:编辑线的宽度,颜色、线型程序。

24、Jdx:将直线变为剖切线程序。

25、Jsgj:根据喷淋头数计算管径程序。

26、Jt:截取大样图程序。

27、Lj:端点连接程序。

28、Num:批量更改数字程序。

29、Peditn:加宽线条程序。

30、Pl45:画45•线程序。

31、Pspm:剖面线绘制程序。

32、Rc:复制并旋转物体程序。

33、Rh:新型尺寸标注命令程序。

34、Rhcon:新型尺寸连续标注程序。

35、Revise:倾斜CAD图形矫正程序。

36、Slg:PAP,PP-R管流量计算程序。

LISP加载

LISP程序加载后如何应用?从哪启动?在AUTOCADR14中:1、启动CAD2、下拉菜单中:工具→程序调入→文件→在驱动器中找到你下载的lisp程序并选择→载入。

3、用键盘输入lisp程序名,按回车执行。

一般用写字板可打开liap程序,可以看到程序名。

4、你也可以用视区→工具条等将它编辑成快捷按扭,以后就直接点击就行。

我认为是这样的,lsp程序用记事本打开现在每个程序都有c: ????() 这是lsp程序的主函数,加载之后打那个???就可以执行了·有网友悄悄话:2、下拉菜单中:工具→程序调入→文件→在驱动器中找到你下载的lisp程序并选择→载入4、用视区→工具条等将它编辑成快捷按扭以上两点我比较感兴趣,有时间请解释一下可以吗?谢啦!一、答:以本专栏工程二次次开发“寻一次性修改大量pline线宽度(或其它特性)的lisp”我贴的PW.LSP 帖子为例:单击“77911-PW.LSP”,下载到硬盘,然后将它重命名为PW.LSP,即将“77911-”删除,然后按上述程序载入,在CAD命令状态下输入“PW”即可用。

(先别退出CAD)二、答:(这可是我个人压箱底的了)还是接着以PW.LSP为例:1、鼠标右击修改工具条的空白处,出现toolbars对话框,2、再选Customize按钮,选定custom,将空按钮拖入工具条中,全部退出。

3、再在空按钮上按右键2次,出现button properties对话框4、在name输入PW(删除no name)5、在macro框“^C^C”后加入_pw,成为“^C^C_pw",注意下划线6、apply7、点击右面的edit按钮,出现button editor对话框,你会画吧8、save,close ,apply,close,退出。

9、此时你会发现空按钮变了吧,10、单击它就可以用了。

一边操作一边写,真够累的,如果你还不理解,那请悄悄话给我,我再详细写一个操作步骤。

实现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绘图操作。

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