AuToCAD启动自定义加载程序研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AutoCAD启动自定义加载程序研究/slyrabbit/blog/item/1245c04763e5d0.html CAD文件加载顺序:acad2006.lsp (AutoCAD使用)acad.rx (用户自定义的*.arx文件加载清单)注:在CAD2006中,由错误提示怀疑:*.arx文件检测先于acad2006.lsp加载。acad.lsp (用户自定义的Lsp自动加载程序)acad2006doc.lsp (AutoCAD使用) acetutil.fas (Express Tools初始化程序) acaddoc.lsp (用户自定义的Lsp自动加载程序) mymenu.mnc (用户自定义或第三方编译菜单文件) mymenu.mnl (用户自定义或第三方菜单文件) acad.mnc (AutoCAD编译菜单文件) acad.mnl (AutoCAD菜单文件) acetmain.mnc (Express Tools编译菜单文件) acetmain.mnl (Express Tools菜单)使用“对话框方式”加载的文件s::startup (自动执行函数,可用于自定义状态栏等) 注册表法加载顺序未知。 注意: 1.如果acad.lsp、acaddoc.lsp或MNL文件中包含自定义函数S::STARTUP,那么,创建新图形或打开现有图形时就会调用这个函数。因此,在 LISP启动文件中添加S::STARTUP函数定义,就可以执行全部所需的安装操作。如果需要关于“S::STARTUP”函数的详细信息,请参阅“AutoCAD 2000 Customization Guide”的第六章。 2.默认情况下,acad.lsp 仅在启动 AutoCAD 时加载一次,而 acaddoc.lsp 可随每个文档(或图形)一起加载。这样可使用户将加载 acad.lsp 文件和启动应用程序相关联,将 acaddoc.lsp 文件和文档或图形启动相关联。通过更改 ACADLSPASDOC 系统变量的设置,可以修改加载这些启动文件的默认方法。在CAD2006中,第一次新建图形时,也会出现对话框询问:acad.lsp是仅在启动 AutoCAD 时加载一次,还是随每个文档(或图形)一起加载。 不同位置的acad.lsp 和acaddoc.lsp按如下顺序加载CAD安装目录(即:acad.exe所在文件夹)“支持文件搜索路径”所包含的文件夹的逆序加载Dwg文件所在文件夹(打开Dwg文件时加载) 有关同名覆盖的问题:l.同名文件被最后加载的版本覆盖。 比如:你定义了一系列自己编制的lisp程序并放在acad.lsp文件中,但该acad.lsp放在CAD安装目录中。当“支持文件搜索路径”所包含的文件夹中,由于未知原因出现了一个与你自定义的acad.lsp文件不同的acad.lsp文件时, 你自定义的acad.lsp文件就不会被加载。解决的办法是将后加载的acad.lsp文件删除或用自己定义的acad.lsp替换放后加载的acad.lsp文件,或将自己定义的acad.lsp放在更靠后加载的目录中。 .同名函数(或命令)被最后加载的版本覆盖。 知道AutoCAD 2000启动时各个文件加载的顺序,可能就会明白一个文件对另一个文件的影响。例如,已经在从acad.lsp文件加载的LISP程序中定义了一个函数,但是在启动AutoCAD 2000后,这个函数却不工作。这是因为acaddoc.lsp是在acad.lsp文件之后加载,此函数已经被acaddoc.lsp文件重新定义了。 .加载的dll文件同名但dll里的函数不同名,dll不会相互覆盖。关于CAD启动时自动加载程序的研究1.Lisp法:a.在ACAD.EXE所在目录加入acad.lsp或acaddoc.lsp acad.lsp或acaddoc.lsp文件内容: (defun S::STARTUP() ;函数名不可以改变 (command _netload my.dll); my.dll为相对路径也可用绝对路径 ) 或:(load “1111.lsp”)在1111.lsp文件中调用my.dll。 b.修改AutoCAD 2006\Support\acad2006.lsp或cad2006doc.lsp文件,里面加入加载代码。(加载代码同上。) c.修改你的菜单组对应的同名的MNL文件,里面加入加载代码。 MNL文件其实是一种与菜单同名,扩展名为MNL的LISP文件。它随同名菜单加载。 acad.mnl的位置:C:\Documents and Settings\用户名\Application Data\Autodesk \AutoCAD 2006\R16.2\chs\Support\acad.mnl

文档评论(0)

hong333666 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档