乐筑天下

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

[编程交流] 另存为Lisp

[复制链接]

15

主题

102

帖子

106

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 17:19:42 | 显示全部楼层 |阅读模式
我现在有一个lisp,可以打开浏览当前图形的位置。
 
  1. (defun c:xpl ()
  2. (startapp "explorer" (strcat "/n,/e," (getvar "dwgprefix")))
  3. (princ)
  4. )

 
假设位置为:
 
J: \2008\01080\dwgs\electrical
 
我正试图让它做到以下几点:
 
1、绑定并清除当前图形。
 
2、询问用户保存到哪里?绑定或电子邮件
 
a、 如果选择了边界,则使用当前名称保存在此位置
 
J: \ 2008\01080\绑定\(当前日期)\(当前名称)。图纸
 
笔记如果尚未创建文件夹,请先创建文件夹。日期文件夹的格式如下2008-09-30
 
b、 如果选择了电子邮件,则使用当前名称保存在此位置
 
J: \ 2008\01080\电子邮件\(当前日期)\(当前名称)。图纸
 
笔记如果尚未创建文件夹,请先创建文件夹。日期文件夹的格式如下2008-09-30。
 
 
3、退出图形
 
我希望这对我以外的人有意义。提前感谢大家。
 
 
回复

使用道具 举报

6

主题

48

帖子

44

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 17:28:22 | 显示全部楼层
这并不漂亮,但这应该让你开始。它不会绑定或清除文件,但您应该能够添加它。我只有大约10分钟的时间。
您还应该添加一些错误捕捉。
我希望这有帮助。
  1. (defun c:BindIt ( / )
  2. (setq vDia (getvar "filedia")
  3.       vEcho (getvar "cmdecho")
  4.       vPrefix (getvar "dwgprefix")
  5.       vName (getvar "dwgname")
  6.       vDate (rtos (getvar "cdate") 2 6)
  7.       vYear (substr vDate 1 4)
  8.       vMonth (substr vDate 5 2)
  9.       vDay (substr vDate 7 2)
  10.       vDateStr (strcat vYear "-" vMonth "-" vDay)
  11. )
  12. (setvar "filedia" 0)
  13. (setvar "cmdecho" 0)
  14. (initget 1 "Bind Email")
  15. (setq vAns (getkword "\nSave file to [Email / Bound] <Bound>: "))
  16. (cond
  17. ((= "Bind" vAns)
  18.   (setq vDir (strcat vPrefix "Bound"))
  19. )
  20. ((= "Email" vAns)
  21.   (setq vDir (strcat vPrefix "Email"))
  22. )
  23. )
  24. (if (= (vl-file-directory-p vDir) nil)
  25. (progn
  26.   (vl-mkdir vDir)
  27.   (vl-mkdir (strcat vDir "\" vDateStr))
  28. )
  29. (if (= (vl-file-directory-p (strcat vDir "\" vDateStr)) nil)
  30.   (vl-mkdir (strcat vDir "\" vDateStr))
  31. )
  32. )
  33. (command ".saveas" "" (strcat vDir "\" vDateStr "\" vName))
  34. (setvar "filedia" vDia)
  35. (setvar "cmdecho" vEcho)
  36. (princ)
  37. )
回复

使用道具 举报

15

主题

102

帖子

106

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 17:44:18 | 显示全部楼层
 
 
有没有办法让它返回两个文件夹来保存绑定的文件夹或电子邮件?
 
示例:M:\1234\dwgs\electric,我希望它将文件夹保存在1234文件夹中,该文件夹将是两个文件夹。也可以将其视为dwgs文件夹之前的文件夹。提前感谢您所做的一切。
回复

使用道具 举报

CAB

29

主题

781

帖子

430

银币

中流砥柱

Rank: 25

铜币
526
发表于 2022-7-6 17:52:53 | 显示全部楼层
不是我的代码,但这里有一种方法。
你甚至可以创建一个新文件夹。
  1. (defun ALE_GetFolder (/ DirPat)
  2.    (and (setq DirPat (getfiled "Browse for folder"
  3.                                "Open a folder and click on SAVE"
  4.                                " "
  5.                                1
  6.                      )
  7.         )
  8.         (setq DirPat (substr DirPat 1 (- (strlen DirPat) 31)))
  9.    )
  10.    DirPat
  11. )
回复

使用道具 举报

15

主题

102

帖子

106

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 18:02:32 | 显示全部楼层
 
 
你失去了我!
回复

使用道具 举报

15

主题

102

帖子

106

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 18:03:25 | 显示全部楼层
 
有人知道我在说什么吗?
回复

使用道具 举报

CAB

29

主题

781

帖子

430

银币

中流砥柱

Rank: 25

铜币
526
发表于 2022-7-6 18:16:26 | 显示全部楼层
出城直到星期一。
回复

使用道具 举报

15

主题

102

帖子

106

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 18:22:13 | 显示全部楼层
 
对不起,我一直很忙。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 16:40 , Processed in 0.363974 second(s), 68 queries .

© 2020-2025 乐筑天下

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