Polly 发表于 2022-7-6 15:04:32

全局更改psltscale

我在一个图形中有5个选项卡,我想一次更改所有5个选项卡的psltscale,而不是一次更改一个。有什么建议吗?我看到这些代码,但我不知道如何使用它。请帮忙
 
 
(foreach lay(layoutlist)(命令“\u LAYOUT”\u Set“lay”PSLTSCALE“1))
 

(foreach lay(layoutlist)(命令“LAYOUT”\u Set“lay”PSLTSCALE“0))估计?我

chulse 发表于 2022-7-6 15:11:27

只需将代码粘贴到命令行并按enter键即可
 

(foreach lay (layoutlist)(command "_LAYOUT" "_Set" lay "PSLTSCALE" 1))


 
对我来说很好。。。
这是命令行为每个选项卡报告的内容:
 

_LAYOUT
Enter layout option <set>: _Set
Enter layout to make current <TP4>: TP1 Restoring cached viewports -
Regenerating layout.
Command: PSLTSCALE
Enter new value for PSLTSCALE <1>: 1
Command:

chulse 发表于 2022-7-6 15:13:23

如果你需要反复使用它,你也可以把它做成一个工具栏按钮。。。

Polly 发表于 2022-7-6 15:18:19

你能像lisp程序那样做吗?如果是这样,你能告诉我怎么做吗。谢谢

uddfl 发表于 2022-7-6 15:19:28

PSLTSCALE影响整个图形,而不是单个布局。。。还是我错了?

lpseifert 发表于 2022-7-6 15:23:40

错误的新布局将采用Psltscale的当前值,但要更改现有布局的Psltscale,需要单独更改。
 
试试这个,它对我有效,注意它也改变了Ltscale和Msltscale;如果愿意,可以删除这些行。

;sets msltscale, ltscale & psltscale=1 for all layouts

(defun c:layoutltscale ( / lay ct)
(setq ct (getvar "ctab"))
(setvar "ltscale" 1)   
(setvar "msltscale" 1)
(foreach lay (layoutlist)(command "_layout" "_Set" lay "_mspace" "psltscale" 1))
(setvar "ctab" ct)
);defun

chulse 发表于 2022-7-6 15:26:39

试试这个。。。。。
psfix。lsp

chulse 发表于 2022-7-6 15:32:40

好吧,我太慢了。。。
 
lpseifert-我喜欢你把LTSCALE和MSLTSCALE包括在你的

uddfl 发表于 2022-7-6 15:36:14

谢谢你的澄清,我不知道这一点。 
始终遵循ACAD帮助:“保存在:绘图”

lpseifert 发表于 2022-7-6 15:38:38

当Msltscale可以用来纠正一些人在工作中的轻率行为时,我写了这篇文章;他们会继续使用ltscale和psltscale,因为他们想在“模型”选项卡中查看线型。
页: [1] 2
查看完整版本: 全局更改psltscale