autolisp编写的程序是以lsp为后缀命名的。
此程序是源码,可以直接修改内容如:命令。
程序唯一要求是要英文打字,如果中文打字就可能会出现错误。如果要中文说明,那么在这句话前面加英文的;,程序才不会出现错误中断。
由于程序是源码,复制内容的时候,一定要完整。
(defun C:test nil
(setq pt (getpoint "\n指定矩形中心点:")
L (getreal "\n输入矩形的长度:")
W (getreal "\n输入矩形的宽度:")
)
(setq pt1 (list (- (car pt) ( 05 L)) (- (cadr pt) ( 05 W))))
(setq pt2 (list (+ (car pt) ( 05 L)) (+ (cadr pt) ( 05 W))))
(command "RECTANG" "non" pt1 "non" pt2)
(setq str (strcat (rtos l 2 2) "" (rtos W 2 2)))
(entmake
(list '(0 "TEXT")
(cons 1 str)
(cons 10 pt)
(cons 11 pt)
(cons 40 5) ;字高
(cons 72 1)
(cons 73 2)
)
)
(princ)
)
;;;使用命令"test"
(defun c:aar ( )
(princ "\n选择要阵列的对象")
(setq ss (ssget))
(setq rs (getreal "\n请输入行矩: <30000>"))
(if (null rs)
(setq rs 3000)
)
(setq rl (getint "\n请输入行数: <10>"))
(if (null rl)
(setq rl 10)
)
(command "_Array" ss "" "r" rl 1 rs 1)
(princ)
)
对你的修改如下:
(defun c:2CIRCLE
()
(setq CEN (list 0 0)
RAD 50)
(command "CIRCLE" CEN RAD "" )
(command "CIRCLE" CEN (+ RAD 30) "")
)
要注意的是
COMMAND后面跟的命令要加引号。每次CIRCLE命令结束后要加一对空引号。
这是AutoLisp入门教程的第三部分,在教程的第二部分,我们编写了一个绘制瓦楞板多段线的小程序。这个Autolisp小程序涉及了一些重要常见的函数,例如 polar , repeat 和 while 等(其语法和返回值可以参考: 常见函数1 , 常见函数2 , 常见函数3 )。
再来回忆一下我们使用这个程序的时候是如何 *** 作的:1)加载这个程序,并输入 wlb 调用这个程序;2)按照提示选取起始点,然后选取终点,屏幕上画出一条多段线;3)继续拾取起始点和终点,再次划出一条多段线线;4)若想终止程序,按 ESC 或 Enter 即可。
也许你已经想到了,这个程序的 *** 作能不能改成这个样子:选取一条直线,根据这个直线的两个端点,自动生产一条多段线。这样就涉及了对AutoCAD对象属性的读取。
重点来了!!!
在入门教程的第三部分,我们将使用AutoLisp中相关函数对AutoCAD对象的属性进行选择、获取、修改和更新。常用的对象属性函数如下表:
对AutoCAD对象属性的修改实际上就是对AutoCAD对象属性列表的修改。
获得对象联合属性列表
编写一个chgradlsp程序,用来修改半径。
在原来的基础上画一个瓦楞板程序,要求选择一条线段,以此为轴线画一个瓦楞板。
以上就是关于谁懂CAD的二次开发,lsp格式加载程序,是用过什么语言编写的。请大神赐教。全部的内容,包括:谁懂CAD的二次开发,lsp格式加载程序,是用过什么语言编写的。请大神赐教。、求编写个CAD用的LSP文件、请教高手CAD 的LSP编程,-----单行阵列等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)