Grigs 发表于 2022-7-6 15:10:36

Lisp导入页面设置

我有一个模板(DWT)文件,它保存了我们使用的所有基本页面设置布局。我想知道是否有一种方法可以通过lisp自动化这个过程。现在我有4种类型,其中2种有3种不同的尺寸。
 
 
谢谢

ReMark 发表于 2022-7-6 15:25:08

看看这个(希望有帮助):
 
http://www.sonic.net/~odin/lounge/autocad%20tips/page\u setups\u in\u autocad。htm

Grigs 发表于 2022-7-6 15:32:42

在某种程度上确实如此。如果页面设置已经存在,则无法进行错误检查。

Grigs 发表于 2022-7-6 15:39:03

是否仍需要测试以查看某个页面设置是否已在图形中?

wizman 发表于 2022-7-6 15:46:01

 
 
尝试psetupin
 
 
(defun psetupexist-p(psetup / pc psetupflag)
(vl-load-com)
(vlax-for
          pc
            (vla-get-plotconfigurations
            (vla-get-ActiveDocument (vlax-get-acad-object)))
   (if (= (strcase (vla-get-name pc)) (strcase psetup))
   (setq psetupflag T))
   )
psetupflag
)
 
 
要使用:
(psetupexist-p“psetuptotest”)

Grigs 发表于 2022-7-6 15:54:01

是的,不知道怎么用。我相信这是视觉Lisp?我只是在使用普通的旧AutoLisp。
 
这似乎是可行的,我所要做的就是测试什么(无,iirc)。因此,如果“psetupexist-p”例程的结果为零,那么我需要让它加载该页面设置。如果是“T”,那么该设置存在,我可以继续,而不加载该设置。对的

wizman 发表于 2022-7-6 16:00:58

是的,grigs,你是对的,另一种方法是,如果你不想测试它是否存在,你也可以删除所有现有的pSetup,然后你可以从模板中加载页面设置:

(vl-load-com)
(vlax-for
          pc
            (vla-get-plotconfigurations
            (vla-get-ActiveDocument (vlax-get-acad-object)))
   (vla-delete pc)
   )

Grigs 发表于 2022-7-6 16:09:22

这可能会更好。我们最近更换了服务器,以前的所有页面设置都无效。
 
除了重新定义新命令外,是否有方法在创建新图形时运行特定的lisp例程?
 
此外,您如何在不通过对话框的情况下强制设置特定页面?
 
顺便说一句,我真的很感谢你的帮助

Guest rabs72 发表于 2022-7-6 16:12:41

这是最简单的部分。
将代码放入“ACAD.LSP”文件,该文件位于ACAD的基本文件夹中,在“系统”选项卡下的“选项”中,“常规选项”部分有一个复选框,用于加载ACAD。每次打开图形时使用LSP。我发现每次打开另一个图形时都必须将系统重置为默认值。
 
如果找不到ACAD。LSP您可以创建自己,如果检查opion,它将每次加载
https://www.cadtutor.net/file:///C:/DOCUME%7E1/richards/LOCALS%7E1/Temp/moz-屏幕截图。jpg
https://www.cadtutor.net/file:///C:/DOCUME%7E1/richards/LOCALS%7E1/Temp/moz-截图-1。jpghttps://www.cadtutor.net/file:///C:/DOCUME%7E1/richards/LOCALS%7E1/Temp/msohtml1/01/clip_image002.jpg
 
 
页: [1]
查看完整版本: Lisp导入页面设置