MarcoW 发表于 2022-7-6 10:53:46

关于acad使用的问题

我已经阅读并理解了acad的许多用法。lsp和阿卡多克。lsp文件。我知道AutoCAD会在支持文件搜索路径中搜索这些文件。我甚至使用自己的文件作为启动例程。
 
但是,如果我有10个支持文件搜索路径,并且在5个路径(文件夹)中放置了一个acaddoc,会发生什么呢。lsp文件。
 
在我看来(我试过了),它似乎不起作用。虽然有很多信息可用,但我还没有找到答案。AutoCAD如何处理此问题?
 
提前再问一个问题,因为我认为只有一个阿卡多克。lsp文件…:在没有acaddoc的情况下,如何修复图形启动时例程的启动。lsp和启动套件。最后一个是我发现的“有点车”。
 
再次感谢您的帮助/建议。

lpseifert 发表于 2022-7-6 10:58:38

阿卡多克。将加载支持路径中“最高”的lsp。此文件可通过以下方式找到:

(findfile "acaddoc.lsp")

你还需要什么其他选择?还有acad的使用。doc,但需要设置变量ACADLSPASDOC。还有acadxxxdoc的使用。lsp。但这并不推荐。最容易使用acaddoc。lsp

ReMark 发表于 2022-7-6 11:03:00

为什么你有多个阿卡多克。lsp文件?它们是否用于不同类型项目的不同例程?只是好奇。或者我嫉妒?我总是只有一个孤独的阿卡多克。lsp。我错过了什么?

MarcoW 发表于 2022-7-6 11:05:18

不,我正在为我的同事们创建一些应用程序,我使用的是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文件存储在中)。

ReMark 发表于 2022-7-6 11:06:54

似乎应该有一种更简单的方式,让你不费吹灰之力地为同事提供他们想要的东西。是什么让你决定采用这种方法?

MarcoW 发表于 2022-7-6 11:10:34

正如我所说,我不想使用阿卡多克。lsp可能已经有了。我需要在启动时加载东西。

ReMark 发表于 2022-7-6 11:14:27

一个“调用”必要文件的宏怎么样?

MarcoW 发表于 2022-7-6 11:16:02

在这样做之前,我的Lisp程序方法有什么问题吗?

MSasu 发表于 2022-7-6 11:21:19

 
使用ACADPREFIX系统变量列出当前定义的支持文件搜索路径。
 
当做

alanjt 发表于 2022-7-6 11:22:37

我离开阿卡多克。为办公室保留LSP(如果找到,则自动加载),我使用MNL/MNU加载过程。我有我的MNU与一些自定义键加速器,工具栏等命名为艾伦·汤普森。MNU,然后我有我的启动文件(更改设置,加载LISP例程等等),它叫AlanThompson。MNL公司
 
如果已加载菜单(CUI/CUIX/MNU),并且AutoCAD发现具有相同名称的MNL文件,则它将在每个任务中自动加载该文件。这样你就不会惹阿卡多克了。LSP或必须处理POS启动套件。
页: [1] 2
查看完整版本: 关于acad使用的问题