乐筑天下

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

[编程交流] 多个弹出列表

[复制链接]

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-6 14:00:20 | 显示全部楼层 |阅读模式
我创建了动态块,用于在图纸上创建图例。而不是试图创建一个自动化的图例,我有块作为碎片,可以在图纸上的图例空间下降,并以这种方式建立了图例。问题是,我使用的一些管道是一次性的,有些管道有4种类型,具体取决于它们的铺设位置(道路、草地边缘等)。我已经设置了块,但我只是想创建一个对话框和代码,可以执行以下操作:
 
允许用户选择要插入的管道类型。(如果该管道没有“类型”,则以下2个弹出列表将变灰。如果它有“类型”,则以下2个列表中的一个将变为活动列表。之所以有2个,是因为国家标准中有类型1-4和类型A-D。
 
然后,当按下OK(确定)时,所选信息将组合成可插入的块名。这是我对此的看法。如果有人认为我盯错了方向,请告诉我更好的方法。
 
  1. /////////////////////////////////////
  2. //
  3. // Block Inserter
  4. //
  5. /////////////////////////////////////
  6. Blins : dialog {
  7. label = "Drainage - Legend" ;
  8. initail_focus = "List1" ;
  9. spacer ;
  10. : row {
  11. fixed_width = true ;
  12.       : column {
  13. width = 25 ;
  14. fixed_width = true ;
  15. spacer ;
  16. : text {
  17.   label = "Choose Drainage Pipe" ;
  18. }
  19.       }
  20.       : popup_list {
  21. key = "List1" ;
  22. width = 25 ;
  23. fixed_width = true ;
  24.       }
  25. }
  26. : row {
  27. fixed_width = true ;
  28.       : column {
  29. width = 25 ;
  30. fixed_width = true ;
  31. spacer ;
  32. : text {
  33.   label = "Choose Surround Type" ;
  34. }
  35.       }
  36.       : popup_list {
  37. key = "List2" ;
  38. width = 25 ;
  39. fixed_width = true ;
  40.       }
  41. }
  42. : row {
  43. fixed_width = true ;
  44.       : column {
  45. width = 25 ;
  46. fixed_width = true ;
  47. spacer ;
  48. : text {
  49.   label = "Choose Surround Type" ;
  50. }
  51.       }
  52.       : popup_list {
  53. key = "List3" ;
  54. width = 25 ;
  55. fixed_width = true ;
  56.       }
  57. }
  58. ok_cancel ;
  59. }//Blins

 
 
 
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;;;;
  3. ;;;; Block Inserter
  4. ;;;;
  5. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  6. (defun Blins ()
  7.    (setq  Value1$ (nth 1 *Blins@)
  8. Value2$ (nth 2 *Blins@)
  9. Value3$ (nth 3 *Blins@)
  10. List1@ (list " "   "Existing Storm Sewer"  "Existing Storm Sewer to be Removed"  "Existing Storm Sewer to be Relaid"  "Existing Foul Sewer"  "Existing Foul Sewer to be Removed"  "Existing Foul Sewer to be Relaid"  "Existing Filter Drains"  "Existing Filter Drains to be Removed"  "Proposed Concrete Class H Piped Culvert"  "Proposed Ductile Iron Storm Sewer"  "Proposed Filter Drain with Geotextile"))
  11.             List2@ (list " "   "Type 1"  "Type 2"  "Type 3"  "Type 4")
  12.             List3@ (list " "   "Type A"  "Type B"  "Type C"  "Type D")
  13.    )
  14. (setq Dcl_Id$ (load_dialog "Blins.dcl"))
  15. (new_dialog "Blins" Dcl_Id$)
  16. (set_tile_list "List1" List1@ Value1$)
  17. (set_tile_list "List2" List2@ Value2$)
  18. (set_tile_list "List3" List3@ Value3$)
  19. (action_tile "List1"   "(set_list_value "List1@" "Value1$")")
  20. (action_tile "List2"   "(set_list_value "List2@" "Value2$")")
  21. (action_tile "List3"   "(set_list_value "List3@" "Value3$")")
  22. (setq Return# (start_dialog))
  23. (unload_dialog Dcl_Id$)
  24. (setq *Blins@ (list nil Value1$ Value2$ Value3$))
  25. (princ)
  26. )
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 14:04:03 | 显示全部楼层
首先,你有一个额外的右括号。
修复方法如下。
 
看起来像Terry CAD程序。
 
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;;;;
  3. ;;;; Block Inserter
  4. ;;;;
  5. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  6. (defun Blins ()
  7. (setq Value1$ (nth 1 *Blins@)
  8. Value2$ (nth 2 *Blins@)
  9. Value3$ (nth 3 *Blins@)
  10. List1@ (list
  11.    " "
  12.    "Existing Storm Sewer"
  13.    "Existing Storm Sewer to be Removed"
  14.    "Existing Storm Sewer to be Relaid"
  15.    "Existing Foul Sewer"
  16.    "Existing Foul Sewer to be Removed"
  17.    "Existing Foul Sewer to be Relaid"
  18.    "Existing Filter Drains"
  19.    "Existing Filter Drains to be Removed"
  20.    "Proposed Concrete Class H Piped Culvert"
  21.    "Proposed Ductile Iron Storm Sewer"
  22.    "Proposed Filter Drain with Geotextile"
  23.   )
  24. List2@
  25. (list " " "Type 1" "Type 2" "Type 3" "Type 4")
  26. List3@
  27. (list " " "Type A" "Type B" "Type C" "Type D")
  28. )
  29. (setq Dcl_Id$ (load_dialog "Blins.dcl"))
  30. (new_dialog "Blins" Dcl_Id$)
  31. (set_tile_list "List1" List1@ Value1$)
  32. (set_tile_list "List2" List2@ Value2$)
  33. (set_tile_list "List3" List3@ Value3$)
  34. (action_tile
  35.    "List1"
  36.    "(set_list_value "List1@" "Value1$")"
  37. )
  38. (action_tile
  39.    "List2"
  40.    "(set_list_value "List2@" "Value2$")"
  41. )
  42. (action_tile
  43.    "List3"
  44.    "(set_list_value "List3@" "Value3$")"
  45. )
  46. (setq Return# (start_dialog))
  47. (unload_dialog Dcl_Id$)
  48. (setq *Blins@ (list nil Value1$ Value2$ Value3$))
  49. (princ)
  50. )
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 14:09:16 | 显示全部楼层
 
您指出有两种类型,类型1-4和类型A-D,每种类型都有自己的弹出列表。
 
嗯,只有一个而不是两个可以被激活。如果适用,您可以使用一个弹出列表并更改列表的内容。如果类型不应用一个弹出列表,则可以灰显。
回复

使用道具 举报

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-6 14:10:47 | 显示全部楼层
是的,我试着跟随他的“myDialogs”示例,只是为了让它启动和运行,然后我看到了cadalyst的帖子,关于使用汽车将信息传递回对话框,以更改弹出列表中的项目,但我认为这对我不起作用。
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 14:15:47 | 显示全部楼层
 
如果你看我的签名在哪里,你会看到帝国之门Lisp程序。它使用弹出列表,其中的内容会随着其他按钮的选择而变化。这将给你一个如何进行的想法。我会做的有点不同,然后你有这个张贴的方式。我需要一些关于块命名的具体信息以及您可以提供的其他信息。如果你想看看我提到的程序,那么你可以看看它是如何工作的。
回复

使用道具 举报

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-6 14:16:51 | 显示全部楼层
来看看秃鹰谢谢。
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 14:21:53 | 显示全部楼层
 
伍德曼78,
 
我现在正在组装一个对话框。我在对话框中列出了排水管。你能告诉我哪些类型组属于哪些排水管吗?
 
我会帮你把这些整理好,然后让你从那里拿走。如果你需要进一步的帮助,那么你知道我可以支持你。
 
也只是另一个想法。从弹出列表中选择时,是否希望线型块的图像显示在图像平铺中?
 
只是一个想法。
回复

使用道具 举报

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-6 14:25:07 | 显示全部楼层
这是三种类型的排水管列表。我不需要显示图像,尽管我很喜欢这个想法,因为所有的块在预览图像中看起来都是一样的,他们无论如何都没有选择。
 
谢谢
 
现有过滤器排水管
拆除现有过滤器排水管
现有污水管
拆除现有污水管
用1型混凝土替换现有PVC
将现有PVC替换为2型混凝土
用3型混凝土替换现有PVC
将现有PVC替换为4型混凝土
现有雨水管
现有雨水管为1型
现有雨水管为2型
现有雨水管为Relaid类型3
现有雨水管为4型
拆除现有雨水管
拟建1类H级混凝土管涵
拟建2类H级混凝土管涵
拟建3类H级混凝土管涵
拟建4类H级混凝土管涵
拟建球墨铸铁雨水管1型
拟建2型球墨铸铁雨水管
拟建球墨铸铁雨水管3型
拟建4型球墨铸铁雨水管
拟建滤水沟RCD 500 1 A型土工布
拟建滤水沟RCD 500 1 B类土工布
拟建滤水沟RCD 500 1 C类土工布
拟建滤水沟RCD 500 1 D型土工布
拟议的热塑性整体承插载体排水管类型1
拟议的热塑性整体承插载体排水管类型2
拟议的热塑性整体承插载体排水管类型3
拟议的热塑性整体承插载体排水管类型4
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 14:26:30 | 显示全部楼层
 
谢谢
 
我将张贴我已经放在一起,稍后为您的审查。我们可以边走边建。现在,我会让列表按你想要的方式工作。
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 14:31:55 | 显示全部楼层
伍德曼78,
 
我假设前面的列表是环绕类型列表。我可以说出一些与排水管列表连接的管道,但在此列表中还有其他管道,我不确定要与哪个排水管连接。排水管道清单中未对其进行描述。
 
你能解释一下哪个和哪个有联系吗?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

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

© 2020-2025 乐筑天下

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