CadFrank 发表于 2022-7-5 17:55:41

定义点

您好,我想知道我们是否可以使用autolisp制作自己的defpoint层。
 
我想确保他们不能打开打印功能。
 
感谢

ReMark 发表于 2022-7-5 17:59:45

是的,你可以。但是,如果用户真的想打印,那么创建Defpoints层如何阻止用户打印呢?他们总是可以将所有内容移到“0”层,然后打印。据我所知,用户不能删除层“0”。
 
沿着这条线的东西(根据alanjt)。。。
 
(defun c:LM()(命令“-layer”“make”“defpoints”“”)(普林斯)

CadFrank 发表于 2022-7-5 18:02:38

你不能改变defpoint上的plot选项。那么,他们如何才能改变回价值呢?

ReMark 发表于 2022-7-5 18:05:57

据我所知,没有任何方法可以更改Defpoints图层的plot选项。
 
用户只需调用“更改当前图层”命令(格式>图层工具),将Defpoints图层上的所有对象放置在图层“0”上,然后在该图层上打印图形。也许还有更多的方法可以达到我从未想过的同样效果。
 
好啊另一种方法。使用“格式>层工具>将对象复制到新层”命令。将对象复制到图层“0”,打印图形,然后在操作完成后删除所有对象。
 
还有一个更好。使用“格式>层工具>层合并”命令。用户将需要层“0”上至少一个对象。调用该命令,按照命令提示操作,并注意,一旦Defpoints层上的对象与层“0”上的对象合并,Defpoints层将被删除!哦,这是一个多么有趣的画画方式啊。

ksperopoulos 发表于 2022-7-5 18:09:39

除非我误解了OP的意思,否则如果你不想让他们打开plottable选项,那么只需使用“Defpoints”层。它永远无法打开。否则,他们将始终能够在您创建的任何图层上打开或关闭“可打印”选项。

ReMark 发表于 2022-7-5 18:12:05

ksperopoulos:那这会如何阻止用户打印图纸?你能解释一下吗?谢谢

ksperopoulos 发表于 2022-7-5 18:15:46

 
可以使用AutoLISP创建层,但不能将其命名为“Defpoints”,因为无法创建已存在的层。此外,“Defpoints”层不能删除。
 
 
 
如果他想创建一个不会打印的新层,那么他可以使用AutoLISP控制该设置,方法是在创建该层时关闭该层的打印选项。但这不会禁止他的任何用户在创建图层管理器后进入图层管理器,并手动打开该图层的打印选项。
 
如果他想创建一个新层,该层的“打印选项”设置为“关闭”并且也灰显(类似于“Defpoints”层),这是不可能的。

ReMark 发表于 2022-7-5 18:18:29

“可以使用AutoLISP创建层,但不能将其命名为“Defpoints”,因为无法创建已存在的层。”
 
如果您启动一个新图形并运行我发布的lisp例程,您确实可以创建一个名为Defpoints的层,并将打印选项置灰。你以为我会在没有先测试的情况下发布lisp吗?

ksperopoulos 发表于 2022-7-5 18:24:01


 
这是我在尝试删除“Defpoints”层时得到的结果。因此,无法将其从图形文件中删除。这意味着它已经存在。lisp可以工作,但它只将“Defpoints”层设置为当前层,因为它已经驻留在文件中。
 
无论如何,我相信OP想要创建一个新层,他的用户无法更改绘图选项。你的Lisp程序创建了“deffoints”层,他已经可以使用了。

ReMark 发表于 2022-7-5 18:26:41

我想这取决于模板文件中是否有Defpoints。如果没有,那么lisp例程将工作。测试了三次,每次都成功。
 
在某些情况下,可以从图形中删除Defpoints图层。谈到AutoCAD,并不是每件事都那么难。
页: [1] 2
查看完整版本: 定义点