关于acad使用的问题
我已经阅读并理解了acad的许多用法。lsp和阿卡多克。lsp文件。我知道AutoCAD会在支持文件搜索路径中搜索这些文件。我甚至使用自己的文件作为启动例程。但是,如果我有10个支持文件搜索路径,并且在5个路径(文件夹)中放置了一个acaddoc,会发生什么呢。lsp文件。
在我看来(我试过了),它似乎不起作用。虽然有很多信息可用,但我还没有找到答案。AutoCAD如何处理此问题?
提前再问一个问题,因为我认为只有一个阿卡多克。lsp文件…:在没有acaddoc的情况下,如何修复图形启动时例程的启动。lsp和启动套件。最后一个是我发现的“有点车”。
再次感谢您的帮助/建议。 阿卡多克。将加载支持路径中“最高”的lsp。此文件可通过以下方式找到:
(findfile "acaddoc.lsp")
你还需要什么其他选择?还有acad的使用。doc,但需要设置变量ACADLSPASDOC。还有acadxxxdoc的使用。lsp。但这并不推荐。最容易使用acaddoc。lsp 为什么你有多个阿卡多克。lsp文件?它们是否用于不同类型项目的不同例程?只是好奇。或者我嫉妒?我总是只有一个孤独的阿卡多克。lsp。我错过了什么? 不,我正在为我的同事们创建一些应用程序,我使用的是acaddoc。lsp文件可以做某些事情。
有人告诉我,这不是使用阿卡多克的最佳方式。我自己的lsp文件,在这种情况下,我的同事阿卡多克。lsp将被否决。
这就是为什么。。。
现在我计算了这段代码,以检查是否有阿卡多克。在打开/运行AutoCAD会话中加载的lsp文件。如果是,那么我将添加一行来加载我自己的acaddoc。lsp。如果没有,那么我将创建一个,并把线也放进去。
; main routine
(defun CheckForAcadDoc (/)
(if
(findfile "acaddoc.lsp")
(AddLinesToAcadDoc) ; if there is an acaddoc.lsp file already
(MakeAcadDoc) ; if there is not an acaddoc.lsp file
)
(princ)
)
(princ)
; sub routine
; in case there is an AcadDoc.lsp
; then it will ad the line (load "c:\\MyAcadDoc.lsp")
(defun AddLinesToAcadDoc (/ AcadDocFile File Line) ;add a line to the acaddoc.lsp file to load Myacaddoc.lsp
(setq AcadDocFile (findfile "acaddoc.lsp")
Line "(load \"c:\\\\MyAcadDoc.lsp\")" ; set my path etc. correctly
)
(if
(setq File (open AcadDocFile "a") ; a = append = add to the bottom
)
(write-line Line File)
(alert "Could not find file allthough there should be one..!?")
)
(princ)
)
(princ)
(defun MakeAcadDoc (/ Line MyFileName) ; create an acaddoc.lsp file
(setq Line "(load \"c:\\\\MyAcadDoc.lsp\")") ; assuming that this would be a folder in the support file search path
(if
(setq MyFileName (open "c:\\acaddoc.lsp" "w")) ; the file is not htere so it will be created
(write-line Line MyFileName)
(alert "Could not find file allthough there should be one..!?")
)
(princ)
)
(princ)
请帮助我把这个代码做得更好,或者如果我把事情都搞错了,请纠正我。
困扰我的是,我不知道如何检索当前支持文件搜索路径之一(将新创建的acaddoc.lsp文件存储在中)。 似乎应该有一种更简单的方式,让你不费吹灰之力地为同事提供他们想要的东西。是什么让你决定采用这种方法? 正如我所说,我不想使用阿卡多克。lsp可能已经有了。我需要在启动时加载东西。 一个“调用”必要文件的宏怎么样? 在这样做之前,我的Lisp程序方法有什么问题吗?
使用ACADPREFIX系统变量列出当前定义的支持文件搜索路径。
当做 我离开阿卡多克。为办公室保留LSP(如果找到,则自动加载),我使用MNL/MNU加载过程。我有我的MNU与一些自定义键加速器,工具栏等命名为艾伦·汤普森。MNU,然后我有我的启动文件(更改设置,加载LISP例程等等),它叫AlanThompson。MNL公司
如果已加载菜单(CUI/CUIX/MNU),并且AutoCAD发现具有相同名称的MNL文件,则它将在每个任务中自动加载该文件。这样你就不会惹阿卡多克了。LSP或必须处理POS启动套件。
页:
[1]
2