woodman78 发表于 2022-7-6 14:33:07

该列表包含所有管道类型。类型1-4或类型a-d的是具有不同环绕类型的。类型1-4和类型a-d是国家标准中列出的环绕类型。
 
我不知道你说的哪个和哪个有联系是什么意思??

The Buzzard 发表于 2022-7-6 14:36:31

你刚才给我的名单是什么?

The Buzzard 发表于 2022-7-6 14:41:23

 
让我重复这个问题。
如果我从排水管道列表中选择管道。
环绕类型列表中应显示的内容。
 
我不熟悉你们的管道标准。你需要对我具体点。

woodman78 发表于 2022-7-6 14:44:30

我的错,列表的分解。
 
现有过滤器排水管没有类型
待拆除的现有过滤器排水管没有类型
现有污水管没有类型
待拆除的现有污水管没有类型
用混凝土替换现有PVC的类型为1至4
现有雨水管没有类型
待重新铺设的现有雨水管有1至4类
待拆除的现有雨水管没有类型
拟建H级混凝土管涵有1到4种类型
拟建球墨铸铁雨水管有1到4种类型
拟建滤水沟RCD 500 1土工布有1至4种类型
拟议的热塑性整体承插载体排水管有1到4种类型
 
希望这能澄清这一点。如果不只是让我知道。
伍德曼78

The Buzzard 发表于 2022-7-6 14:46:10

 
这就很清楚了,这就是为什么你有一个“for no type”的原因。
哪些使用A型到B型。

The Buzzard 发表于 2022-7-6 14:47:53

 
伍德曼78,
 
从第一篇文章到最近的一篇文章,你从最初的列表中得到了什么,只是有些困惑。
我已经整理好了,很快就会发布。

The Buzzard 发表于 2022-7-6 14:51:02

好的woodman78先生,
 
我在使用两个弹出列表时遇到了一些困难。我可以让它们正常工作,但不正确。我并没有什么都不发布,而是发布了你们在下面看到的带有组合单选按钮和弹出列表的内容。我对这种方法很熟悉,而且很有效。如果你仍然有两个弹出窗口,也许李可以在这里帮助你,因为他很精通这一点。这里显示的方法使用了一个Choose List Items函数,该函数是由ASMI编写的,我从Lee_Mac那里学到的。
 
无论如何,试试看这是否符合你的要求。这是一个起点。
 
DCL
BLINS : dialog {
       label = "Drainage Legend";
       : row {
         : boxed_radio_column {
         label = "Select a Drainage Pipe:";
         : radio_button {
             label = "Existing Filter Drains";
             key = "DP01";
         }
         : radio_button {
             label = "Existing Filter Drains to be Removed";
             key = "DP02";
         }
         : radio_button {
             label = "Existing Foul Sewer";
             key = "DP03";
         }
         : radio_button {
             label = "Existing Foul Sewer to be Removed";
             key = "DP04";
         }
         : radio_button {
             label = "Existing PVC to be Replaced with Concrete";
             key = "DP05";
         }
         : radio_button {
             label = "Existing Storm Sewer";
             key = "DP06";
         }
         : radio_button {
             label = "Existing Storm Sewer to be Relaid";
             key = "DP07";
         }
         : radio_button {
             label = "Proposed Concrete Class H Piped Culvert";
             key = "DP08";
         }
         : radio_button {
             label = "Proposed Ductile Iron Storm Sewer";
             key = "DP09";
         }
         : radio_button {
             label = "Proposed Filter Drain RCD 500 1 Geotextile";
             key = "DP10";
         }
         : radio_button {
             label = "Proposed Thermoplastic Integrally Socketed Carrier Drain";
             key = "DP11";
         }
         }
       }
       : row {
         : boxed_column {
         label = "Select a Surround Type:";
         : popup_list {
             key = "ST";
             label = "Surround Type:";
             edit_width = 12;
             alignment = right;
         }
         : spacer {
             height = 0;
         }
         }
       }
       : row {
         : column {
         ok_cancel;
         : paragraph {
             : text_part {
               label = "Designed by Brian Deasy";
             }
             : text_part {
               label = "for CCC NNRDO";
             }
         }
         }
       }
   }
 
LSP
;//////////////////////////////////////////////////////////////////////////
;
; Start-Up Function
;
(defun C:BLINS ()
(BLINS_MF)
(princ)
)
(princ "\nBLINS.lsp Loaded....")
(princ "\nType BLINS to start program.")
;
;//////////////////////////////////////////////////////////////////////////
;
; Choose List Items Function
;
(defun BLINS_CLI (lst items)
(mapcar '(lambda (i) (nth i lst)) items)
)
;
;//////////////////////////////////////////////////////////////////////////
;
; Update Type List Function
;
(defun BLINS_UTL (D:PIP)
(setq ST_list '("Type A" "Type B" "Type C" "Type D" "Type 1" "Type 2" "Type 3" "Type 4" "No selection"))
(cond
   ((= D:PIP "DP01")(start_list "ST" 3)(mapcar 'add_list (setq ST_list (BLINS_CLI ST_list '()))      (end_list))
   ((= D:PIP "DP02")(start_list "ST" 3)(mapcar 'add_list (setq ST_list (BLINS_CLI ST_list '()))      (end_list))
   ((= D:PIP "DP03")(start_list "ST" 3)(mapcar 'add_list (setq ST_list (BLINS_CLI ST_list '()))      (end_list))
   ((= D:PIP "DP04")(start_list "ST" 3)(mapcar 'add_list (setq ST_list (BLINS_CLI ST_list '()))      (end_list))
   ((= D:PIP "DP05")(start_list "ST" 3)(mapcar 'add_list (setq ST_list (BLINS_CLI ST_list '(4 5 6 7))))(end_list))
   ((= D:PIP "DP06")(start_list "ST" 3)(mapcar 'add_list (setq ST_list (BLINS_CLI ST_list '()))      (end_list))
   ((= D:PIP "DP07")(start_list "ST" 3)(mapcar 'add_list (setq ST_list (BLINS_CLI ST_list '(4 5 6 7))))(end_list))
   ((= D:PIP "DP08")(start_list "ST" 3)(mapcar 'add_list (setq ST_list (BLINS_CLI ST_list '(4 5 6 7))))(end_list))
   ((= D:PIP "DP09")(start_list "ST" 3)(mapcar 'add_list (setq ST_list (BLINS_CLI ST_list '(4 5 6 7))))(end_list))
   ((= D:PIP "DP10")(start_list "ST" 3)(mapcar 'add_list (setq ST_list (BLINS_CLI ST_list '(0 1 2 3))))(end_list))
   ((= D:PIP "DP11")(start_list "ST" 3)(mapcar 'add_list (setq ST_list (BLINS_CLI ST_list '(4 5 6 7))))(end_list))
)
)
;
;//////////////////////////////////////////////////////////////////////////
;
; Main Function
;
(defun BLINS_MF (/ DPIP$ DPIP STYP$ STYP)
(setq dcl_id (load_dialog "BLINS.dcl"))
(if (not (new_dialog "BLINS" dcl_id))
   (progn (ALERT "Can not find your dcl file")(exit)))
(or D:PIP (setq D:PIP "DP01"))
(set_tile D:PIP "1")
(BLINS_UTL D:PIP)
(action_tile "DP01" "(BLINS_UTL (setq D:PIP \"DP01\"))")
(action_tile "DP02" "(BLINS_UTL (setq D:PIP \"DP02\"))")
(action_tile "DP03" "(BLINS_UTL (setq D:PIP \"DP03\"))")
(action_tile "DP04" "(BLINS_UTL (setq D:PIP \"DP04\"))")
(action_tile "DP05" "(BLINS_UTL (setq D:PIP \"DP05\"))")
(action_tile "DP06" "(BLINS_UTL (setq D:PIP \"DP06\"))")
(action_tile "DP07" "(BLINS_UTL (setq D:PIP \"DP07\"))")
(action_tile "DP08" "(BLINS_UTL (setq D:PIP \"DP08\"))")
(action_tile "DP09" "(BLINS_UTL (setq D:PIP \"DP09\"))")
(action_tile "DP10" "(BLINS_UTL (setq D:PIP \"DP10\"))")
(action_tile "DP11" "(BLINS_UTL (setq D:PIP \"DP11\"))")
(if STYP:DEF (set_tile "ST" (itoa STYP:DEF)))
(action_tile "accept"
   (strcat "(progn (setq S:TYP (atoi (get_tile \"ST\")) STYP:DEF S:TYP)"
         "(done_dialog)(setq userclick T))"))
(action_tile "cancel" "(done_dialog)(setq userclick nil)")
(start_dialog)(unload_dialog dcl_id)
(if userclick
   (BLINS_VF))
)
;
;//////////////////////////////////////////////////////////////////////////
;
; Variable Function
;
(defun BLINS_VF ()
(setq DPIP$ D:PIP)
(cond
   ((= DPIP$ "DP01")(setq DPIP "Existing Filter Drains"))
   ((= DPIP$ "DP02")(setq DPIP "Existing Filter Drains to be Removed"))
   ((= DPIP$ "DP03")(setq DPIP "Existing Foul Sewer"))
   ((= DPIP$ "DP04")(setq DPIP "Existing Foul Sewer to be Removed"))
   ((= DPIP$ "DP05")(setq DPIP "Existing PVC to be Replaced with Concrete"))
   ((= DPIP$ "DP06")(setq DPIP "Existing Storm Sewer"))
   ((= DPIP$ "DP07")(setq DPIP "Existing Storm Sewer to be Relaid"))
   ((= DPIP$ "DP08")(setq DPIP "Proposed Concrete Class H Piped Culvert"))
   ((= DPIP$ "DP09")(setq DPIP "Proposed Ductile Iron Storm Sewer"))
   ((= DPIP$ "DP10")(setq DPIP "Proposed Filter Drain RCD 500 1 Geotextile"))
   ((= DPIP$ "DP11")(setq DPIP "Proposed Thermoplastic Integrally Socketed Carrier Drain"))
)
(progn
   (setq S:TYP (fix S:TYP))
   (setq S:TYP (nth S:TYP ST_list))
   (setq STYP$ S:TYP)
   (cond
   ((= STYP$ "Type A")      (setq STYP "Type A"))
   ((= STYP$ "Type B")      (setq STYP "Type B"))
   ((= STYP$ "Type C")      (setq STYP "Type C"))
   ((= STYP$ "Type D")      (setq STYP "Type D"))
   ((= STYP$ "Type 1")      (setq STYP "Type 1"))
   ((= STYP$ "Type 2")      (setq STYP "Type 2"))
   ((= STYP$ "Type 3")      (setq STYP "Type 3"))
   ((= STYP$ "Type 4")      (setq STYP "Type 4"))
   ((= STYP$ "No selection")(setq STYP "No selection"))
   )
)
(BLINS_OF)
)
;
;//////////////////////////////////////////////////////////////////////////
;
; Output Function
;
(defun BLINS_OF ()
(ALERT (strcat "\nThe Drainage Pipe you selected was "DPIP"."
                "\nThe Surround Type you selected was "STYP"."))
(princ)
)
;
;//////////////////////////////////////////////////////////////////////////

The Buzzard 发表于 2022-7-6 14:56:49

伍德曼78,
 
上面的代码有一个怪癖。我正试图联系李寻求一些反馈。我稍后会联系你。
 
秃鹰

woodman78 发表于 2022-7-6 14:59:41

秃鹰,
我对代码的输出部分做了以下更改,它实现了一个梦想。只有一件事是,如果不选择任何类型,是否可以使类型变灰。除此之外,它非常棒。谢谢
 
 

;//////////////////////////////////////////////////////////////////////////
;
; Output Function
;
(defun BLINS_OF ()
(setq outp (strcat DPIP " " STYP))
(command "_-insert" outp pause "1" "1" "0")
(princ)
)
;
;//////////////////////////////////////////////////////////////////////////

Lee Mac 发表于 2022-7-6 15:03:02

使用“mode_tile”灰显瓷砖,并将其启用0以启用,1以禁用。
页: 1 [2]
查看完整版本: 多个弹出列表