乐筑天下

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

[编程交流] getstring问题

[复制链接]

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 10:25:15 | 显示全部楼层
现在,您可以模拟动态属性菜单并使用DosLib(必须下载)弹出菜单。
 
如。
  1. (defun c:TEst (/ lst choice)
  2. (setq lst '("PDF - 11 x 17" "PDF - 11 x 17 - ByLayer" "PDF - 17 x 22" "PDF - 17 x 22 - ByLayer"
  3.              "PDF - 18 x 24" "PDF - 18 x 24 - ByLayer" "PDF - 22 x 34" "PDF - 22 x 34 - ByLayer"
  4.              "PDF - 24 x 36" "PDF - 24 x 36 - ByLayer" "PDF - 30 x 42" "PDF - 30 x 42 - ByLayer"
  5.              "PDF - 34 x 44" "PDF - 34 x 44 - ByLayer" "PDF - 36 x 48" "PDF - 36 x 48 - ByLayer"
  6.              "Xerox 6204 - 17 x 22 - STF" "Xerox 6204 - 17 x 22 - STF - ByLayer"
  7.              "Xerox 6204 - 18 x 24 - STF" "Xerox 6204 - 18 x 24 - STF - ByLayer"
  8.              "Xerox 6204 - 22 x 34" "Xerox 6204 - 22 x 34 - ByLayer" "Xerox 6204 - 22 x 34 - STF"
  9.              "Xerox 6204 - 22 x 34 - STF - ByLayer" "Xerox 6204 - 24 x 36"
  10.              "Xerox 6204 - 24 x 36 - ByLayer" "Xerox 6204 - 24 x 36 - STF"
  11.              "Xerox 6204 - 24 x 36 - STF - ByLayer" "Xerox 6204 - 30 x 42"
  12.              "Xerox 6204 - 30 x 42 - ByLayer" "Xerox 6204 - 30 x 42 to 18 x 24"
  13.              "Xerox 6204 - 30 x 42 to 24 x 36" "Xerox 6204 - 34 x 44"
  14.              "Xerox 6204 - 34 x 44 - ByLayer" "Xerox 6204 - 36 x 48"
  15.              "Xerox 6204 - 36 x 48 - ByLayer" "Sharp Color - 8.5 x 11"
  16.              "Sharp Color - 8.5 x 11 - ByLayer" "Sharp Color - 11 x 17"
  17.              "Sharp Color - 11 x 17 - ByLayer" "Sharp Color - 11 x 17 - STF"
  18.              "Sharp Color - 11 x 17 - STF - ByLayer" "HP LaserJet 8150N - 8.5 x 11"
  19.              "HP LaserJet 8150N - 8.5 x 11 - ByLayer" "HP LaserJet 8150N - 11 x 17"
  20.              "HP LaserJet 8150N - 11 x 17 - ByLayer" "HP LaserJet 8150N - 11 x 17 - STF"
  21.              "HP LaserJet 8150N - 11 x 17 - STF - ByLayer"
  22.             )
  23. )
  24. (if (setq choice (dos_popupmenu lst))
  25.    (progn
  26.      (command
  27.        "._-PSetupIN"
  28.        "C:/Users/TAbel/AppData/Roaming/PortableApps/Dropbox/Dropbox/AutoCAD/Templates/Page Setups - 64bit.dwt"
  29.        "*"
  30.      )
  31.      (command "-Plot" "No" "" (nth choice lst) "" "No" "Yes" "No")
  32.    )
  33. )
  34. (princ)
  35. )

 
104905jejkteguki01sizk.jpg
回复

使用道具 举报

3

主题

14

帖子

11

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 10:30:22 | 显示全部楼层
我真的很感谢你的帮助。不幸的是,我的lisp知识扩展到。。。Lisp程序。
 
还有一件事要学。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 10:31:46 | 显示全部楼层
DosLib只是一个免费的LISP插件包。你真的看过我发布的代码了吗,除了Lisp程序什么都没有。
回复

使用道具 举报

3

主题

14

帖子

11

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 10:36:21 | 显示全部楼层
啊,我明白你的意思了。只是额外的功能。不幸的是,我们公司没有给我们任何管理权限。因此,必须在70台电脑上安装这一功能,这意味着我的IT管理员会告诉我去捣乱。英雄联盟
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 10:41:42 | 显示全部楼层
那太糟糕了。我为那些公司工作过。
尝试此选项以选择列表。。。
 
  1. (defun AT:ListSelect (title label height width multi lst / fn fo d item f)
  2. ;; List Select Dialog (Temp DCL list box selection, based on provided list)
  3. ;; title - list box title
  4. ;; label - label for list box
  5. ;; height - height of box
  6. ;; width - width of box
  7. ;; multi - selection method ["true": multiple, "false": single]
  8. ;; lst - list of strings to place in list box
  9. ;; Alan J. Thompson, 09.23.08 / 05.17.10 (rewrite)
  10. (setq fo (open (setq fn (vl-filename-mktemp "" "" ".dcl")) "w"))
  11. (foreach x (list (strcat "list_select : dialog { label = "" title ""; spacer;")
  12.                   (strcat ": list_box { label = "" label "";" "key = "lst";")
  13.                   (strcat "allow_accept = true; height = " (vl-princ-to-string height) ";")
  14.                   (strcat "width = " (vl-princ-to-string width) ";")
  15.                   (strcat "multiple_select = " multi "; } spacer; ok_cancel; }")
  16.             )
  17.    (write-line x fo)
  18. )
  19. (close fo)
  20. (new_dialog "list_select" (setq d (load_dialog fn)))
  21. (start_list "lst")
  22. (mapcar (function add_list) lst)
  23. (end_list)
  24. (setq item (set_tile "lst" "0"))
  25. (action_tile "lst" "(setq item $value)")
  26. (setq f (start_dialog))
  27. (unload_dialog d)
  28. (vl-file-delete fn)
  29. (if (= f 1)
  30.    ((lambda (s / i s l)
  31.       (while (setq i (vl-string-search " " s))
  32.         (setq l (cons (nth (atoi (substr s 1 i)) lst) l))
  33.         (setq s (substr s (+ 2 i)))
  34.       )
  35.       (reverse (cons (nth (atoi s) lst) l))
  36.     )
  37.      item
  38.    )
  39. )
  40. )

 
该回家了,否则我会帮你做一个小演示。
回复

使用道具 举报

3

主题

14

帖子

11

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 10:44:13 | 显示全部楼层
到目前为止,我刚刚将lisp例程转换为使用两个功能区面板。一个用于32位,一个用于64位。明天我会尝试修补你的代码,看看它是如何工作的。总是很乐意对别人的代码进行反向工程,使自己成为一个更好的程序员。我可能会在未来的命令中使用它。不管怎样,我非常感谢你给我的帮助。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 10:48:46 | 显示全部楼层
让我们看看你有什么。如果你感兴趣的话,我可能会帮你。
回复

使用道具 举报

3

主题

14

帖子

11

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 10:52:24 | 显示全部楼层
 
以下是我迄今为止完成的所有工作。再次对中的格式表示歉意。lsp文件本身,因为我使用记事本++编程。
 
https://www.dropbox.com/s/up6g04jekn53hrx/Lisp.zip
 
抱歉,有大小限制,因此上面的链接将带您找到您需要的内容。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 00:28 , Processed in 0.429615 second(s), 68 queries .

© 2020-2025 乐筑天下

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