怎么在启动CAD时自动加载Lisp的工具及插件

怎么在启动CAD时自动加载Lisp的工具及插件,第1张

怎么在启动CAD时自动加载Lisp的工具及插件

网上有很多非常有用的CAD插件,手动加载后就可以执行,但每次用的时候都要加载挺麻烦的,能不能在启动软件的`时候把自己常用的插件加载进来

方法1:添加到启动组

CAD的工具插件都可以通过appload(ap)命令来加载,在d出的“加载\卸载应用程序”对话框中,可以找到“启动组”。不同CAD不一样,AutoCAD是在“启动组”下面有一个“内容”按钮,点击此按钮就可以需要启动时自动加载的程序加进去;浩辰CAD有一个“添加到启动组”按钮,可以将“历史记录列表”中加载过的程序添加到启动组中。添加到启动组后,下次启动CAD的时候这些程序就会自动加载。

这种方式比较简单易行,任何 *** 作起来都没有难度。

方法2:在启动的lisp文件加入LOAD语句。

无论是AutoCAD还是浩辰CAD等国产CAD,启动时都会有一个自动加载的LISP程序,AutoCAD加载的是acadlsp或acadxxxxlisp(xxxx为版本号),acaddoclsp等(通常在AutoCAD的support目录下),很多CAD病毒正是利用了这一点来加载从而影响CAD的应用;浩辰CAD等自动加载的LSP名为icadautoloadlsp,在安装的根目录下,浩辰CAD8以后的版本为SUPPORT目录下的gcad2013doclsp。

需要做的就是用记事本打开这些LSP,在里面加上类似下面的语句:

(LOAD "x:\\xxxxx\\sp2pllsp")

如果觉得写路径太麻烦,你就可以将程序复制刚才哪些自动加载LISP所在的路径。

关于CAD病毒

因此如果遇到AutoCAD莫名奇妙出现不正常状态,你可以搜索所有acadlsp,看看在图纸所在目录是否有此类文件,是否有多个相同大小的此类LSP,如果有,删除掉后可以看看CAD是否恢复正常。如果有兴趣可以用记事本打开看看,到底这些CAD病毒做了什么手脚。当然现在CAD病毒也有变种成acadvlx或acadfas的,这些文件就没法打开看了,如果有此类文件,建议直接删除。

;

块属性需要用entnext不断的往后取得到,下面给你一个例子

;;;把两个属性快的属性执行一致

(defun C:bpp() ;;;复制属性

(setq ent1 nil ent2 nil)

(while (= nil ent1)(setq ent1 (car (entsel "\n数据源块:")))) ;;;;;;;;;取其中 一个块

(while (= nil ent2)(setq ent2 (car (entsel "\n需要被一致的块:")))) ;;;;;;;;;取其中另一个块

(setq n

(length (vlax-safearray->list (vlax-variant-value

(vlax-invoke-method

(vlax-ename->vla-object ent1)

'GetAttributes)

)))

)

(repeat n

(setq ent1 (entnext ent1))

(setq ent2 (entnext ent2))

(setq entlist1 (entget ent1))

(setq entlist2 (entget ent2))

(setq entlist2 (subst (assoc 1 entlist1) (assoc 1 entlist2) entlist2))

(entMOD entlist2)

(entUPD ent2)

)

)

朋友 我不知道你到底是遇到什么麻烦,但是你要是想算面积的话那就很简单,一个小小的AA命令就能解决。要是标注的话那就更不是问题,连续标注可以减少很多麻烦,就不用一个个的去点击了,很是方便快捷。但是你想要加载程序的话,我这也有,功能很多,要的话Q我:565588349,还有在CAD里面算面积也是有局限性的,要是有复杂曲线或是多段线还有样条曲线组成的闭合图框那么是算不了的,一般情况下,计算纯线段组成的封闭框面积是很容易的,首先你先创一个边界,然后AA命令就OK了。

方法1:添加到启动组 CAD的工具插件都可以通过appload(ap)命令来加载,在d出的“加载\卸载应用程序”对话框中,可以找到“启动组”。不同CAD不一样,AutoCAD是在“启动组”下面有一个“内容”按钮,点击此按钮就可以需要启动时自动加载的程序加进去,添加到启动组后,下次启动CAD的时候这些程序就会自动加载。 这种方式比较简单易行,任何 *** 作起来都没有难度。 方法2:在启动的lisp文件加入LOAD语句。 无论是AutoCAD还是国产CAD,启动时都会有一个自动加载的LISP程序,AutoCAD加载的是acadlsp或acadxxxxlisp(xxxx为版本号),acaddoclsp等(通常在AutoCAD的support目录下),很多CAD病毒正是利用了这一点来加载从而影响CAD的应用。 需要做的就是用记事本打开这些LSP,在里面加上类似下面的语句: (LOAD "x:\\xxxxx\\sp2pllsp") 如果觉得写路径太麻烦,你就可以将程序复制刚才哪些自动加载LISP所在的路径。

AutoCAD的二次开发主要涉及以下内容:(1)编写各种用户自定义函数并形成若干LISP、ARX、VLX或ADS文件,以及一些DCL文件。(2)建立符合自己要求的菜单文件,一般可在AutoCAD原菜单文件内添加自己的内容,对于AutoCAD2000版本还可增加部分菜单文件,然后经交互方式加入到系统中去。(3)在系统的ACADLSP或类似文件中加入某些内容以便进行各种初始化 *** 作,如在启动时立即装入一些文件等。(4)通过系统对话框设置某些路径。这些 *** 作在程序开发成功后向其它AutoCAD系统上安装应用,特别是需要大批安装时,需要进行很多文件检索、内容增删、子目录创建、文件拷贝、系统设置等繁琐工作,如能令上述工作全部自动进行,使整个二次开发程序在无人干预的情况下嵌入系统,将大大提高工作效率。

AutoCAD荣登全球绘图软件的龙头宝座,主要是因为它具有开放的体系结构。它允许用户和开发者采用高级编程语言对其进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求。AutoCAD第一版于1982年11月由AutoDESK公司推出,目前大家广泛使用的是AutoCAD2000或2002,最新版本是AutoCAD2004,其二次开发语言及工具也在不断地涌现

1AutoLISP

AutoLISP的全名是LISTProcessingLanguage,她出现于1985年推出的AutoCADR218中,是一种嵌入在AutoCAD内部的编程语言,是LISP原版的一个子集,她一直是低版本AutoCAD的首选编程语言。它是一种表处理语言,是被解释执行的,任何一个语句键入后就能马上执行,它对于交互式的程序开发非常方便。其缺点是继承了LISP语言的编程规则而导致繁多的括号。

3ADS

ADS的全名是AutoCADDevelopmentSystem,它是AutoCAD的C语言开发系统,ADS本质上是一组可以用C语言编写AutoCAD应用程序的头文件和目标库,它直接利用用户熟悉的各种流行的C语言编译器,将应用程序编译成可执行的文件在AutoCAD环境下运行,这种可以在AutoCAD环境中直接运行的可执行文件叫做ADS应用程序。ADS由于其速度快,又采用结构化的编程体系,因而很适合于高强度的数据处理,如二次开发的机械设计CAD、工程分析CAD、建筑结构CAD、土木工程CAD、化学工程CAD、电气工程CAD等。

4ObjectARX

ObjectARX是一种崭新的开发AutoCAD应用程序的工具,她以C++为编程语言,采用先进的面向对象的编程原理,提供可与AutoCAD直接交互的开发环境,能使用户方便快捷地开发出高效简洁的AutoCAD应用程序。ObjectARX并没有包含在AutoCAD中,可在AutoDESK公司网站中去下载,其最新版本是ObjectARXforAutoCAD2000,它能够对AutoCAD的所有事务进行完整的、先进的、面向对象的设计与开发,并且开发的应用程序速度更快、集成度更高、稳定性更强。ObjectARX从本质上讲,是一种特定的C++编程环境,她包括一组动态链接库(DLL),这些库与AutoCAD在同一地址空间运行并能直接利用AutoCAD核心数据结构和代码,库中包含一组通用工具,使得二次开发者可以充分利用AutoCAD的开放结构,直接访问AutoCAD数据库结构、图形系统以及CAD几何造型核心,以便能在运行期间实时扩展AutoCAD的功能,创建能全面享受AutoCAD固有命令的新命令。ObjectARX的核心是两组关键的API,即AcDb(AutoCAD数据库)和AcEd(AutoCAD编译器),另外还有其它的一些重要库组件,如AcRX(AutoCAD实时扩展)、AcGi(AutoCAD图形接口)、AcGe(AutoCAD几何库)、ADSRX(AutoCAD开发系统实时扩展)。ObjectARX还可以按需要加载应用程序;使用ObjectARX进行应用开发还可以在同一水平上与Windows系统集成,并与其它Windows应用程序实现交互 *** 作。

5VisualLISP

VisualLISP已经被完整地集成到AutoCAD2000中,她为开发者提供了崭新的、增强的集成开发环境,一改过去在AutoCAD中内嵌AtuoLISP运行引擎的机制,这样开发者可以直接使用AutoCAD中的对象和反应器,进行更底层的开发。其特点为自身是AutoCAD2000中默认的代码编辑工具;用它开发AutoLISP程序的时间被大大地缩短,原始代码能被保密,以防盗版和被更改;能帮助大家使用ActiveX对象及其事件;使用了流行的有色代码编辑器和完善的调试工具,使大家很容易创建和分析LISP程序的运行情况。在VisualLISP中新增了一些函数:如基于AutoLISP的ActiveX/COM自动化 *** 作接口;用于执行基于AutoCAD内部事件的LISP程序的对象反应器;新增了能够对 *** 作系统文件进行 *** 作的函数。

6VBA

VBA即Mcrosoftoffice中的VisualBasicforApplications,它被集成到AutoCAD2000中。VBA为开发者提供了一种新的选择,也为用户访问AutoCAD2000中丰富的技术框架打开一条新的通道。VBA和AutoCAD2000中强大的ActiveX自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式构架。通过VBA,我们可以 *** 作AutoCAD,控制ActiveX和其它一些应用程序,使之相互之间发生互易活动。

以上就是关于怎么在启动CAD时自动加载Lisp的工具及插件全部的内容,包括:怎么在启动CAD时自动加载Lisp的工具及插件、autocad中lisp程序,图形中框选之后如何采集插入块的信息用selection函数吗如何用求代码!谢谢、cad高手,请看过来!!!求一个实现如下功能的lisp程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存