谁懂CAD的二次开发,lsp格式加载程序,是用过什么语言编写的。请大神赐教。

谁懂CAD的二次开发,lsp格式加载程序,是用过什么语言编写的。请大神赐教。,第1张

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编程,-----单行阵列等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9874747.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存