乐筑天下

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

[编程交流] 这个“Afrali”需要帮助

[复制链接]

59

主题

327

帖子

268

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
295
发表于 2022-7-6 11:18:20 | 显示全部楼层 |阅读模式
单击此链接查看整个例程:
http://www.afralisp.net/archive/vl/acadset.htm
 
这部分是我的问题所在:
  1. ;;;=================================
  2. ;;;Set up the AfraLisp Support Paths
  3. ;set the path to the AfraLisp subdirectory.
  4. (setq netpath "C:\\AfraLisp2002")
  5. ;set the support paths to the AutoCAD default
  6. (setenv "ACAD" "")
  7. ;store the default paths
  8. (setq defpath (getenv "ACAD"))
  9. ;set up the AfraLisp paths
  10. (setenv "ACAD" (strcat
  11. defpath ";"
  12. netpath ";"
  13. netpath "\" "Menu;"
  14. netpath "\" "CadLisp2k;"
  15. netpath "\" "CadLib2k;"
  16. netpath "\" "CadMech;"
  17. netpath "\" "Hatching;"
  18. netpath "\" "Help;"
  19. netpath "\" "Profiles;"
  20. ))
  21. ;set up the custom template path
  22. (setenv "TemplatePath" (strcat netpath "\" "Templates"))
  23. ;inform the user
  24. (prompt "\nAfraLisp Support Paths Defined\n")
  25. ;;;================

 
我该如何修改代码,使当前搜索路径保持不变,从而添加新路径?我正在做一些事情,但每当我执行例程时,它都会像应该的那样复制配置文件,但SFSP会被新的覆盖?
 
对不起,如果我不完全清楚。。。我的目标是保留SFSP并添加新的,而不是丢失旧的。
 
我们非常感谢您的帮助。
 
顺便说一句:当然,所有学分都要归功于AfraLisp!!
回复

使用道具 举报

4

主题

940

帖子

961

银币

初来乍到

Rank: 1

铜币
12
发表于 2022-7-6 11:25:39 | 显示全部楼层
在此处查看如何将文件夹添加到支持路径
http://www.afralisp.net/visual-lisp/tutorials/beginning-visual-lisp-part-2.php
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 11:30:59 | 显示全部楼层
这是我为工作而编写的一个。。。
 
  1. (defun c:CES-Setup (/ #Files #Layout #Flag)
  2. (vl-load-com)
  3. (and
  4.    (not
  5.      (vl-catch-all-error-p
  6.        (vl-catch-all-apply
  7.          '(lambda ()
  8.             (setq #Files  (vla-get-files
  9.                             (vla-get-preferences (vlax-get-acad-object))
  10.                           ) ;_ vla-get-files
  11.                   #Layout (vla-get-activelayout
  12.                             (vla-get-activedocument (vlax-get-acad-object))
  13.                           ) ;_ vla-get-activelayout
  14.             ) ;_ setq
  15.             ;; *********************
  16.             ;; **  AutoSave Path  **
  17.             ;; *********************
  18.             (mapcar 'vl-mkdir (list "c:\\TEMP" "c:\\TEMP\\ACAD"))
  19.             (vla-put-autosavepath #Files "c:\\TEMP\\ACAD")
  20.             ;; ***************************
  21.             ;; **  Printer Config Path  **
  22.             ;; ***************************
  23.             (vla-put-PrinterConfigPath
  24.               #Files
  25.               "s:\\cadd standards\\Plotters"
  26.             ) ;_ vla-put-PrinterConfigPath
  27.             (vla-refreshplotdeviceinfo #Layout)
  28.             ;; ***********************
  29.             ;; **  Plotstyles Path  **
  30.             ;; ***********************
  31.             (vla-put-printerstylesheetpath
  32.               #Files
  33.               "s:\\cadd standards\\Plotstyles"
  34.             ) ;_ vla-put-printerstylesheetpath
  35.             (vla-refreshplotdeviceinfo #Layout)
  36.             ;; *********************
  37.             ;; **  Template Path  **
  38.             ;; *********************
  39.             (vla-put-TemplateDwgPath
  40.               #Files
  41.               "s:\\cadd standards\\Template"
  42.             ) ;_ vla-put-TemplateDwgPath
  43.             ;; *********************
  44.             ;; **  QNew Template  **
  45.             ;; *********************
  46.             (vla-put-QNewTemplateFile
  47.               #Files
  48.               "s:\\cadd standards\\Template\\CES_Template.dwt"
  49.             ) ;_ vla-put-QNewTemplateFile
  50.             ;; *********************
  51.             ;; **  Support Paths  **
  52.             ;; *********************
  53.             (vla-put-supportpath
  54.               #Files
  55.               (strcat ";s:\\cadd standards\\startup"
  56.                       ";s:\\cadd standards\\lisp"
  57.                       ";s:\\cadd standards\\linetypes"
  58.                       ";s:\\cadd standards\\fonts"
  59.                       ";s:\\cadd standards\\ces layers"
  60.                       ";"
  61.                       (vla-get-supportpath #Files)
  62.               ) ;_ strcat
  63.             ) ;_ vla-put-supportpath
  64.             ;; ***************************
  65.             ;; **  Tool Palettes Paths  **
  66.             ;; ***************************
  67.             (vla-put-ToolPalettePath
  68.               #Files
  69.               (strcat "S:\\CADD Standards\\Toolpalette\\Palettes;"
  70.                       (vla-get-ToolPalettePath #Files)
  71.               ) ;_ strcat
  72.             ) ;_ vla-put-ToolPalettePath
  73.           ) ;_ lambda
  74.        ) ;_ vl-catch-all-apply
  75.      ) ;_ vl-catch-all-error-p
  76.    ) ;_ not
  77.    (alert
  78.      (strcat
  79.        "AutoCAD has been setup for Capital Engineering & Surveying, Inc. Standards.\n\n"
  80.        "                      Please restart AutoCAD."
  81.      ) ;_ strcat
  82.    ) ;_ alert
  83. ) ;_ and
  84. (princ)
  85. ) ;_ defun
  86. (alert "Type: "CES-SETUP" to run setup.")
  87. (princ)
回复

使用道具 举报

59

主题

327

帖子

268

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
295
发表于 2022-7-6 11:34:47 | 显示全部楼层
谢谢大家!!
 
现在让我今晚做一些家庭作业!!
回复

使用道具 举报

59

主题

327

帖子

268

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
295
发表于 2022-7-6 11:39:26 | 显示全部楼层
 
 
艾伦,
 
也许我读得不够好,但你的和我的有什么不同?我的意思是,你的添加路径了吗?
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 11:43:09 | 显示全部楼层
是的,它添加了路径。我采用了可视化Lisp路线,如Larry的链接所示。此外,除支持路径外,mine还设置了许多其他路径(例如ToolPalette、绘图仪配置、QNew模板、模板等)。请看评论部分。
回复

使用道具 举报

59

主题

327

帖子

268

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
295
发表于 2022-7-6 11:48:58 | 显示全部楼层
好吧,我看不见。
 
既然你(也许还有其他很多人)已经这样走了,我相信这可能是一个好方法!
 
我确实读过,艾伦,也读过评论。Allready尝试了一下,虽然没有成功,但会成功的。
 
我有一个和你一样的例行公事,但我不需要做那么多事情。(我使用工具选项板和SFSP。)我的问题是添加。。。就像我说的。
 
非常感谢您的回复,我现在可以继续讲一会儿了
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 11:51:16 | 显示全部楼层
 
如果路径不存在,它将不起作用。
 
即使它超出了您的需要,它也为您提供了添加其他几个选项的选项。
 
祝你快乐。
回复

使用道具 举报

59

主题

327

帖子

268

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
295
发表于 2022-7-6 11:56:19 | 显示全部楼层
 
你的意思是,只有当路径存在时,它才有效,对吗?
为什么这不起作用:
 
  1. (vla-put-supportpath
  2.               #Files
  3.        (strcat "[size=4][color=blue][b];[/b][/color][/size]C:\\MarcoW"
  4.                       "[b][size=4][color=#0000ff];[/color][/size][/b]"
  5.                       (vla-get-supportpath #Files)
  6.               ) ;_ strcat
  7.             )

 
... 而地图“C:\MarcoW”确实存在
 
另一个问题,可能与此有关:
“怎么了?”在代码中(上面我用蓝色表示)。
那东西在代码中做什么?我这样问是因为在我的代码中它似乎在这行的末尾。。。
 
谢谢你帮我。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 12:02:37 | 显示全部楼层
 
你发布的内容对我来说很好。实际上,它在没有创建路径的情况下添加了它。
 
就分号而言,它只是中断到下一条路径(多条路径)。我只是把它放在开头,因为放在第一位似乎有点干净/整洁。
 
这就像在字符串中使用“\n”。
 
如。
(strcat“\nALAN”“\n汤普森”)=(strcat“\nALAN\n”“汤普森”)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 02:55 , Processed in 0.672465 second(s), 72 queries .

© 2020-2025 乐筑天下

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