首页 电脑教程 电脑知识 如何进行CAD Autolisp的二次开发?

如何进行CAD Autolisp的二次开发?

Jan 04, 2024 am 10:18 AM
cadlisp二次开发实例 请问cad autolisp二次开发怎么弄 cad二次开发修改lisp

请问CAD autolisp二次开发怎么弄啊

;;;灯管T4

(defun C:T4206()

用户输入T4206执行命令(不带任何参数)以加载并立即运行后续的程序。

(graphscr)

(setvar "cmdecho" 0)

;;;命令行显示关闭

(setq P1(getpoint "n请指定灯管(T4 206.5mm 6W)放置位置:"))

;;;设定一个插入点P1,返回点

(command "-INSERT" "D:/YZ_ZCAD/TK/DGT/T4206.dwg" "S" "1" P1 "0")

在执行CAD标准命令时,可以在命令前面加上"-"(参考CAD命令)来直接在命令行中执行命令,而不使用对话框。

在程序执行时,不能使用对话框来进行操作,可以在命令前加上“-”符号或使用变量FILEDIA来控制。还有一些特殊情况可以使用其他方式来进行控制。

(setvar "cmdecho" 1)

;;;命令行显示打开

(princ)

;;;结束语

)

;;;将以上文字放到LISP里面以任何英文名命名保存

在保存完文件后,我们可以在CAD中使用AP加载该文件。

;;;执行T4206命令执行插入命令,(确;认文件的存在)

就我个人看法而言,我认为VBA开发比LISP更为方便。学习LISP只需掌握基本的知识即可,不必深入学习。而LISP对话框开发(DCL)相比VBA要复杂得多。但是,有时候我们需要使用LISP函数来执行VBA函数。在AutoCAD的帮助文档中,有专门为开发人员提供的帮助,其中包含了很多详细的内容。很多编书人员也直接使用这些文档中的资源。我建议你可以去看一下,可能会对你有所帮助。

CAD二次开发修改LISP

(defun c:dz (/ oce1 n1 zn h1 sxh1 p1)

(vl-load-com)

(setq oce1 (getvar "cmdecho"))

(setvar "cmdecho" 0)

(setq ms (vla-get-modelspace

(vla-get-activedocument (vlax-get-acad-object)) 这行代码用于在AutoCAD中获取当前活动文档的对象。它使用了AutoCAD的VLAX(Visual LISP ActiveX)接口,通过vlax-get-acad-object函数获取AutoCAD的应用程序对象,然后使用vla-get-activedocument方法获取当前活动文档的对象。这样我们就可以对当前文档进行各种操作,如访问其属性、修改对象等。这一行代码在AutoCAD的LISP编程中非常常见,并且在处理文档对象时非常

)

)

(if qz

()

(setq qz "")

)

(if hz

()

(setq hz "")

)

(initget "c")

(setq nqz (getstring (strcat "n请输入前缀/c(为空): " )))

(cond

((= nqz "c") (setq qz ""))

(T (if (/= nqz "")(setq qz nqz)))

)

(setq hz "")

(if (not (setq n1 (getint "n请输入起始顺序号 : ")))

(setq n1 1)

)

(setq zn 1)

(if (not (setq h1 (getreal "n请指定文字高度 : ")))

(setq h1 2.5)

)

(setq sxh1 (strcat qz (itoa n1) hz))是一个常见的LISP表达式。在这个表达式中,qz、n1和hz是变量,通过拼接它们的值来创建一个新的字符串sxh1。 我将为您解释一下这个表达式的具体意思。 - qz是表示前缀的变量,它存储了一个字符串,例如"前缀"。 - n1是一个整数变量,它存储了一个数字值,例如10

(setq p1 (getpoint "n请指定插入点: "))

(while (/= p1 nil)

(setq p1 (vlax-3d-point p1))

(setq txt (vla-addtext

ms

sxh1

p1

h1

)

)

(setq

n1 (+ n1 zn)

sxh1 (strcat qz (itoa n1) hz)

p1 (getpoint "n请指定下一插入点: ")

)

)

(setvar "cmdecho" oce1)

(vlax-release-object ms)

(princ)

)

CAD二次开发LISP高手写个程序

改为如下即可:

(defun c:sdd ( dwg )

(setq dwg (getfiled "选择路径和文件名" "" "Dwg" 1))

(if (wcmatch dwg "* ####-##-## ##:##.dwg")

(setq dwg (substr dwg 1 (vl-string-search " " dwg)))

给定一个字符串变量`dwg`,我们可以使用`(setq dwg (substr dwg 1 (- (strlen dwg) 4)))`来对其进行处理。这行代码的作用是将`dwg`字符串的最后四个字符截取掉,并将结果重新赋值给`dwg`变量。这样做的目的可能是为了去除文件名或其他标识符中的文件扩展名。通过这行代码,我们可以实现对`dwg`字符串的修改,使其符合特定的要求或格式。

)

(setq dwg (strcat dwg " " (menucmd "M=$(edtime,$(getvar,date),YYYY-MO-DD HH:MM)") ".dwg"))

(command "_.saveas" "" dwg)

(princ)

)

以上是如何进行CAD Autolisp的二次开发?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

发现如何在Windows设置中修复驱动健康警告 发现如何在Windows设置中修复驱动健康警告 Mar 19, 2025 am 11:10 AM

Windows设置中的驱动器健康警告是什么意思?收到磁盘警告时该怎么办?阅读本php.cn教程以获取逐步说明以应对这种情况。

如何编辑注册表? (警告:谨慎使用!) 如何编辑注册表? (警告:谨慎使用!) Mar 21, 2025 pm 07:46 PM

文章讨论了编辑Windows注册表,预防措施,备份方法以及不正确的编辑中的潜在问题。主要问题:系统不稳定和数据丢失的风险不当变化。

如何管理Windows的服务? 如何管理Windows的服务? Mar 21, 2025 pm 07:52 PM

文章讨论了管理系统健康的Windows服务,包括启动,停止,重新启动服务以及稳定性的最佳实践。

如何修复蒸汽云错误?尝试这些方法 如何修复蒸汽云错误?尝试这些方法 Apr 04, 2025 am 01:51 AM

蒸汽云错误可能是由于许多原因引起的。要顺利玩游戏,您需要采取一些措施来删除此错误,然后才能启动游戏。 PHP.CN软件在这篇文章中介绍了一些最佳方法以及更多有用的信息。

Windows元数据和Internet服务问题:如何解决? Windows元数据和Internet服务问题:如何解决? Apr 02, 2025 pm 03:57 PM

您可能会看到“无法建立与Windows Metadata和Internet Services(WMI)的连接”。事件查看器的错误。 PHP.CN的这篇文章介绍了如何删除Windows元数据和Internet服务问题。

如何更改文件类型的默认应用程序? 如何更改文件类型的默认应用程序? Mar 21, 2025 pm 07:48 PM

文章讨论了更改Windows上文件类型的默认应用程序,包括恢复和批量更改。主要问题:没有内置散装更改选项。

如何解决KB5035942更新问题 - 崩溃系统 如何解决KB5035942更新问题 - 崩溃系统 Apr 02, 2025 pm 04:16 PM

KB5035942更新问题 - 用户通常发生崩溃系统。受到的人们希望找到摆脱困境的出路,例如崩溃系统,安装或声音问题。针对这些情况,这篇文章由Php.cn Wil发表

如何使用组策略编辑器(gpedit.msc)? 如何使用组策略编辑器(gpedit.msc)? Mar 21, 2025 pm 07:48 PM

本文介绍了如何在Windows中使用组策略编辑器(GPEDIT.MSC)来管理系统设置,突出显示常见的配置和故障排除方法。它指出gpedit.msc在Windows Home Edition中不可用,建议

See all articles