乐筑天下

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

[编程交流] 要加载的配置文件(.ARG)

[复制链接]

20

主题

53

帖子

32

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
105
发表于 2022-7-6 14:19:05 | 显示全部楼层 |阅读模式
你好。。。我在不同的项目中工作,使用不同的cad标准和库块。为了使这些事情有条理,我创建了项目特定的配置文件(.ARG文件),可以从“工具”然后“选项”然后“配置文件”导入。令人讨厌的是,每次我处理特定项目时,我都必须再次导入正确的配置文件(.ARG)文件,以获得必要的设置(即支持文件路径、菜单、CUI、PC3路径、绘图样式、模板等)
 
我的问题是。。。有没有像LISP例程这样的捷径可以直接加载,以便自动导入所需的概要文件(.arg)?而不是一次又一次地去“工具”“选项”“配置文件”。
 
非常感谢您的回复。。。。
 
谢谢
勇气犬
回复

使用道具 举报

NBC

4

主题

182

帖子

178

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 14:25:04 | 显示全部楼层
我不太清楚,但我猜这会与之相关-VLA-PUT-ACTIVEPROFILE
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:29:25 | 显示全部楼层
不确定这是否可行?
 
{未测试}
 
  1. (defun c:PutProf ()
  2. (vl-load-com)
  3. (if (findfile "profile.arg")
  4.    (vla-put-ActiveProfile
  5.      (vla-get-Profiles
  6.        (vla-get-Preferences
  7.          (vla-get-ActiveDocument
  8.            (vlax-get-acad-object)))) "profile")
  9.    (princ "\n<< Profile.arg could not be found >>"))
  10. (princ))

 
(将“profile”的所有实例更改为正确的名称)
回复

使用道具 举报

20

主题

53

帖子

32

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
105
发表于 2022-7-6 14:34:28 | 显示全部楼层
李先生,
我试过你的代码,但没有;t锻炼了。有谁有这个想法?
 
谢谢所有回复我的人。
回复

使用道具 举报

12

主题

395

帖子

384

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 14:38:40 | 显示全部楼层
看见http://www.cadtutor.net/forum/showthread.php?t=11156
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:41:05 | 显示全部楼层
 
ASMI在该帖子中发布的第一个代码的工作方式与我的类似,所以我很想知道为什么我的失败。。。
回复

使用道具 举报

20

主题

53

帖子

32

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
105
发表于 2022-7-6 14:45:37 | 显示全部楼层
我有你的密码commandobill。。。如果我的配置文件(.arg)位于不同的路径中,我该如何将其更新到您的代码中?还有一件事,我必须把所有的“ProfileName”改成我的profile name吗?对不起,我编程不太好。
回复

使用道具 举报

12

主题

395

帖子

384

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 14:49:38 | 显示全部楼层
 
首先,您要检查文件是否存在,但绝不要将其加载到Autocad中。然后,您的层次结构有点不适合获取配置文件,因为您通过获取activedocument而深入了一点。不过,对于未经测试的人来说并不太寒酸
 
 
在这里,我更改了ASMI的代码,以便它检查是否已在autocad中加载,如果未加载,它将搜索您指定的文件位置,以查看文件是否存在,如果存在,它将加载它。你所要做的就是将c:\\更改为保存个人资料的任何驱动器。
 
  1. (defun c:LoadProfile( / profCol profLst ProfileName)
  2. (vl-load-com)
  3. (setq ProfileName (getstring "\nEnter the name of the profile you wish to load: "))
  4. (setq profCol ; get profiles collection
  5.     (vla-get-Profiles
  6.       (vla-get-Preferences
  7.         (vlax-get-acad-object))))
  8. (vla-GetAllProfileNames profCol 'profLst)
  9. (if (and (not (member ProfileName (vlax-safearray->list profLst))) ; if profile exists
  10.       (findfile (setq Profileloc (strcat "c:\" Profilename ".arg"))))
  11.    (progn
  12.      (vla-importprofile profcol Profilename Profileloc :vlax-false)
  13.      (vla-GetAllProfileNames profCol 'profLst)))
  14. (if (member ProfileName (vlax-safearray->list proflst))
  15.    (progn
  16.      (if
  17.    (vl-catch-all-error-p
  18.      (vl-catch-all-apply
  19.        'vla-put-ActiveProfile
  20.        (list profCol ProfileName))) ; profile loading and error catching
  21.    (princ
  22.      (strcat "\nError loading profile <"
  23.          ProfileName ">.")); error message
  24.    (princ
  25.      (strcat "\nProfile <" ProfileName
  26.          "> successfully loaded. ")); success message
  27.    ); end if
  28.      ); end progn
  29.    (princ
  30.      (strcat "\nProfile <" ProfileName "> not found. ")); not found message
  31.    ); end if
  32. (princ)
  33. ); end of LoadProfile
回复

使用道具 举报

20

主题

53

帖子

32

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
105
发表于 2022-7-6 14:52:08 | 显示全部楼层
我遵循了您的指示,以下是我的autocad屏幕上显示的内容:
 
命令:appload
加载配置文件。LSP已成功加载。
 
命令:;错误:语法错误
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 14:57:02 | 显示全部楼层
你确定你复制了整个代码吗?
 
对我来说似乎负荷正常
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 03:05 , Processed in 1.229276 second(s), 72 queries .

© 2020-2025 乐筑天下

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