乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 21|回复: 9

[编程交流] 环境变量

[复制链接]

23

主题

117

帖子

87

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
123
发表于 2022-7-6 09:06:35 | 显示全部楼层 |阅读模式
我偶然发现了环境变量。
 
(getenv)(setenv)
 
我可以从HyperPics和AfraLisp中找到环境变量列表,在AutoCAD本身的开发者指南(帮助菜单)中哪里可以找到环境变量?
 
我想找到AutoCAD 2012附带的最新列表。
 
谢谢
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 09:13:52 | 显示全部楼层
表示
系统变量编辑器
 
对不起,这是给vars getvar setvar的
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 09:25:11 | 显示全部楼层
嗯。。。你是指系统变量吗http://docs.autodesk.com/ACD/2011/ENU/filesACR/WSfacf1429558a55de6d0beb1006696e53b-6076.htm
 
如果您是指lisp函数:http://docs.autodesk.com/ACD/2011/ENU/filesALR/WSfacf1429558a55de1a7524c1004e616f8b-5913.htm
 
如果你指的是环境变量,你可以在注册表中看到它们。打开RegEdit(在Vist/Win7的开始菜单的搜索框中键入RegEdit,或在XP的Run.对话框中键入RegEdit)。然后浏览到注册表项:HKEY\U CURRENT\U USER\Software\Autodesk\AutoCAD。。。下面将列出您电脑上安装的所有版本(包括垂直版本)。E、 g.我的ACA 2011是:HKEY\U CURRENT\U USER\Software\Autodesk\AutoCAD\R18.1\ACAD-9004:409,而我的Vanilla 2011是HKEY\U CURRENT\U USER\Software\Autodesk\AutoCAD\R18.1\ACAD-9001:409。对于2012年,它将在R18.2文件夹下,然后是一个类似的垂直代码。
 
在此情况下,大多数标准环境变量包含在:HKEY\U CURRENT\U USER\Software\Autodesk\AutoCAD\R18.1\ACAD-9001:409\Profiles\>\ General中
 
在HKEY\U CURRENT\U USER\Software\Autodesk\AutoCAD\R18.1\ACAD-9001:409\FixedProfile\General下还有一些其他文件。这也是保存您创建的任何自定义环境变量的地方。E、 g.在AutoCad的命令行上发布:
  1. (setenv "MyOwn\\EnvSet" "testing setenv")
将在名为MyOwn的FixedProfile文件夹下创建一个新文件夹,并在其中创建一个名为EnvSet的值,其内容为“testing setenv”。查看此屏幕截图:
100637tpksntsnp1h93ykd.jpg
 
例如(最常用的):(getenv“ACAD”)获取支持文件夹。这实际上是以下项下的ACAD值:HKEY\U CURRENT\U USER\Software\Autodesk\AutoCAD\R18.1\ACAD-9001:409\Profiles\>\ General
回复

使用道具 举报

23

主题

117

帖子

87

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
123
发表于 2022-7-6 09:26:40 | 显示全部楼层
Irneb,
非常感谢您的详细帖子regedit是我想要的部分(getenv“ACAD”)
 
非常感谢。
回复

使用道具 举报

23

主题

117

帖子

87

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
123
发表于 2022-7-6 09:33:42 | 显示全部楼层
 
我可以用这个做什么?我可以自己制作文件夹,我会把它放在那里做什么?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:46:19 | 显示全部楼层
 
是否在绘图任务之间保存程序设置?
 
但我更喜欢将这些设置保存到txt/ini/cfg文件中,因为用户更容易/更安全地删除这些设置。
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 09:51:02 | 显示全部楼层
你想要什么都行。这是一种将自己插件的设置保存到acad的“快速”方法,因此即使在acad关闭后,它也会记住这些设置。
 
当您有一些命令具有用户输入的默认值时,这很有用。与Offset命令相同,但假设您希望acad明天也记住相同的偏移量(不仅仅是这一个会话中的这一个图形)。。。您需要将其保存到每次打开和读取的文件中,或者使用vl registry write将其保存到注册表,并为自己设置一个特定文件夹,或者只使用setenv将此类值保存在acad的注册表项下。
 
假设您有几个这样的命令,您希望将它们分组到一个文件夹中,以便更轻松地导出它们。这就是为什么你想要一个自己的文件夹,而不是简单地混合在acad的正常设置之间。
 
编辑:但正如李所指出的,使用文件是最“可移植”的方法。在PC和/或其他版本的ACad之间移动注册表有点困难。我看到的是,经常更改的所有内容(例如这些默认值)都应该在注册表中设置,因为读写它们通常比打开和关闭文件更有效。很少改变的东西(如设置)最好留到文件中,因为这些你可能也想复制到其他电脑/版本。
回复

使用道具 举报

23

主题

117

帖子

87

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
123
发表于 2022-7-6 09:53:50 | 显示全部楼层
我懂了。它主要是一台机器的本地文件,而不是可以发送到多台机器的文件。
 
我在afralisp上读到一篇帖子,他使用了一个示例,说明如何使用lisp例程修改本地办公室外用户的配置文件,该例程修改了“ACAD”env,将配置文件设置附加到用户的当前配置文件中。让我好奇。
 
http://www.afralisp.net/archive/vl/acadset.htm
 
我知道regestry是一个危险的地方,但它是更好地发挥教育比无知,谢谢家伙。
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 10:02:00 | 显示全部楼层
你已经有了关于文件的想法!注册表不应该是一个“危险的地方”,它应该用于设置(这就是为什么微软把它放在那里)。在注册之前,Win3(及之前)中的每个程序都必须将其所有设置保存到各种INI文件中。注册表基本上就像一个通用的INI文件。
 
只是有些程序(甚至Windows本身的某些部分)依赖于其中的一些值——它们自己的设置。因此,在删除/修改现有值时必须小心。您应该在HK**/Software文件夹下创建自己的文件夹来存储所有设置。这就是为什么最好使用vl注册表-*函数,而不是带有一些自定义键名/文件夹的setenv/getenv-很容易在无意中用它覆盖ACad中的某些设置。
 
setenv就像懒人的注册表函数。假设您只有一个acad版本的设置,但另一个版本的设置需要不同。如果您按照建议的方式使用vl注册表写入,您将需要以某种方式说明该设置的目的是什么版本(例如,为每个版本创建子文件夹)。但有了setenv,它可以直接保存到acad的版本中,您甚至不需要了解任何有关它的信息。
回复

使用道具 举报

23

主题

117

帖子

87

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
123
发表于 2022-7-6 10:11:41 | 显示全部楼层
谢谢irneb
 
你说得很好,谢谢你帮我理解
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-7 08:09 , Processed in 0.742077 second(s), 74 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表