乐筑天下

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

[编程交流] 弹出/对话框?

[复制链接]

10

主题

56

帖子

46

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-6 10:52:34 | 显示全部楼层 |阅读模式
大家好,
 
嗯,我看了一些人的最棒的LISP例程,我总是看到一种弹出/对话框,当你创建你的函数。如附件图像。。。
我的问题;他们是一个小的基础教程,或者有人能告诉我如何创建这些弹出窗口/对话框吗?
我认为也可以在一个LISP/pop-up/dialog对话框中激活不同的LISP例程。
 
  1. [img=http://www.cadtutor.net/forum/attachment.php?attachmentid=10883&d=1237303513]

上面你看到一个弹出/对话框,你可以通过在这个弹出/对话框中插入值来创建一些东西。
有人知道好的家庭教师吗?
 
尊敬的先生
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 11:09:44 | 显示全部楼层
您可以从这些教程开始学习DCL接口。
 
当做
回复

使用道具 举报

7

主题

37

帖子

30

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 11:20:40 | 显示全部楼层
你好
这里有一些不错的网站,所以你可以得到DCL教程供你参考。。。。。
http://jefferypsanders.com/
http://www.afralisp.net/
 
直接链接
http://www.jefferypsanders.com/autolisp_DCL.html
http://www.afralisp.net/dialog-control-language/
 
当做
马尼语:D
回复

使用道具 举报

10

主题

56

帖子

46

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-6 11:26:57 | 显示全部楼层
嗯,我有一些业余时间,所以我有时间阅读这些教程,我用其中的一个作为我的基本形式(见附件)。根据我的具体情况进行了更改。最后,我不知道该怎么继续下去。。。
也许有人,也有空闲时间,可以检查,也玩Lisp程序,看看我想达到什么,并帮助我。
 
我试着选择左边的文件柜类型(我用LISP写了这个文件柜,放在其他地方)
 
在右边,我想增加尺寸,三个盒子,一个长度,第二个宽度,第三个深度。
通过点击“OK”按钮,他必须使用一个LISP例程,该例程属于左侧的type cabinet。使用我在右侧添加的尺寸。
 
ps1:可能dcl或lsp文件提供的一些信息对我的选项甚至都不是必需的,我已经注意到刚刚从互联网上复制并更改了它。
 
希望能有任何回应来完成它。
 
尊敬的先生
samp6.DCL
samp6.LSP
115237iae1zkoimo11gmli.jpg
回复

使用道具 举报

10

主题

56

帖子

46

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-6 11:33:56 | 显示全部楼层
我自己也有点进步。。。也许有人能给我解释一下。。。。
 
我在dcl代码中用红色和绿色标记了一些东西。。
 
  1. samp6 : dialog {    //dialog name
  2.      label = "Cabinet Drawer V2.1" ;  //give it a label
  3.       : row {     //define row
  4.       :boxed_radio_column {   //define radio column
  5.       label = "Type" ;    //give it a label
  6.        : radio_button {   //define radion button
  7.        key = "[color=darkgreen]rb1[/color]" ;    //give it a name
  8.        label = "Cabinet free standing" ; //give it a label
  9.        value = "1" ;    //switch it on
  10.        }     //end definition
  11.      : radio_button {   //define radio button
  12.        key = "[color=darkgreen]rb2[/color]" ;    //give it a name
  13.        label = "Cabinet with back" ;  //give it a label
  14.      }     //end definition
  15.        }     //end radio column
  16.        }     //end row
  17.        : boxed_column {   //define boxed column
  18.          label = "&Size";   //give it a label
  19.       
  20.        : edit_box {    //define edit box
  21.          key = "[color=red]eb1[/color]" ;    //give it a name
  22.          label = "Length :" ;   //give it a label
  23.          edit_width = 10 ;   //30 characters
  24.        }     //end edit box
  25.      //end edit box
  26.   : edit_box {    //define edit box
  27.            key = "[color=red]eb2[/color]" ;   //give it a name
  28.            label = "Widht :" ;   //give it a label
  29.            edit_width = 10 ;   //30 characters
  30.        }     //end edit box
  31.      //end edit box
  32.   : edit_box {    //define edit box
  33.            key = "[color=red]eb3[/color]" ;   //give it a name
  34.            label = "Depth :" ;   //give it a label
  35.            edit_width = 10 ;   //30 characters
  36.        }     //end edit box
  37.      //end edit box
  38.   : edit_box {    //define edit box
  39.            key = "[color=red]eb4[/color]" ;   //give it a name
  40.            label = "Materialethickness :" ; //give it a label
  41.            edit_width = 10 ;   //30 characters
  42.        }     //end edit box
  43.      //end edit box
  44.         
  45.       }     //end boxed column
  46.        : boxed_column {   //define boxed column
  47.          label = "&Specifics";   //give it a label
  48.          
  49.        : edit_box {    //define edit box
  50.          key = "[color=red]eb5[/color]" ;    //give it a name
  51.          label = "Back offset :" ;  //give it a label
  52.          edit_width = 10 ;   //30 characters
  53.        }     //end edit box
  54.      //end edit box
  55.        : edit_box {    //define edit box
  56.          key = "[color=red]eb6[/color]" ;    //give it a name
  57.          label = "Thickness back :" ;  //give it a label
  58.          edit_width = 10 ;   //30 characters
  59.        }     //end edit box
  60.      //end edit box
  61.       }     //end boxed column
  62.       
  63.     ok_cancel ;    //predifined OK/Cancel
  64.     : row {     //define row
  65.     : image {     //define image tile
  66.     key = "im" ;    //give it a name
  67.     height = 1.0 ;    //and a height
  68.     width = 1.0 ;    //and now a width
  69.     }      //end image
  70.     : paragraph {    //define paragraph
  71.     : text_part {    //define text
  72.     label = "Designed and Created";  //give it some text
  73.     }      //end text
  74.     : text_part {    //define more text
  75.     label = "By MR. CAD - MITCHELL RODHOUSE"; //some more text
  76.     }      //end text
  77.     }      //end paragraph
  78.     }      //end row
  79.    
  80.     }      //end dialog

 
我想用红色标记的falues作为我用绿色标记的lisp的falues。(如果它在命令行中询问我想在这个对话框中输入的错误,我已经编写了lisp文件)。
 
还有一件事,我想通过点击单选按钮激活两个lisp文件中的一个。
任何帮助都将不胜感激!
 
致以最诚挚的问候
115238mchwttnitqwczetz.jpg
回复

使用道具 举报

10

主题

56

帖子

46

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-6 11:46:31 | 显示全部楼层
嗯,没有太多的回应,我希望他们是专家足够在这个论坛上帮助我了。。。
有人知道我如何使用我在这个对话框中插入的信息吗?我想我只需要插入一些命令提示,但我不知道该如何开始。。。。
 
LISP文件
  1. (defun C:samp6 ()     ;define function
  2. (setq dcl_id (load_dialog "samp7.dcl"))  ;load dialog
  3. (if (not (new_dialog "samp6" dcl_id)   ;test for dialog
  4.      );not
  5.    (exit)      ;exit if no dialog
  6. );if
  7. (setq w (dimx_tile "im")    ;get image tile width
  8.        h1 (dimy_tile "im")    ;get image tile height
  9. b "eb2"      ;Set Widht of the cabinet
  10. h "eb1"      ;Set Hight of the cabinet
  11. d "eb3"      ;Set Depth of the cabinet
  12. m "eb4"      ;Set materialthickness
  13. ba "eb5"     ;Set offset back
  14. bat "eb6"     ;Set thickness back
  15. );setq
  16. (start_image "im")     ;start the image
  17. (fill_image 0 0 w h1 5)    ;fill it with blue
  18. (end_image)      ;end image
  19. (action_tile "rb1" "(setq hole "site")")  ;store hole type
  20. (action_tile "rb2" "(setq hole "shop")")  ;store hole type
  21. (action_tile "rb3" "(setq hole "hid")")  ;store hole type
  22. (action_tile "rb4" "(setq hole "ctsk")")  ;store hole type
  23. (action_tile "rb5" "(setq hole "elev")")  ;store hole type
  24. (action_tile "rb6" "(setq hole "slot")  ;store hole type
  25.                      (mode_tile "eb1" 0)  ;enable edit box
  26.                      (mode_tile "eb1" 2)")  ;switch focus to edit box
  27.    (action_tile
  28.    "cancel"      ;if cancel button pressed
  29.    "(done_dialog) (setq userclick nil)"  ;close dialog, set flag
  30.    );action_tile
  31. (action_tile
  32.    "accept"      ;if O.K. pressed
  33.    (strcat      ;string 'em together
  34.      "(setq notes (get_tile "eb1"))"   ;get notes
  35.      " (done_dialog)(setq userclick T))"  ;close dialog, set flag
  36.    );strcat
  37. );action tile
  38. (start_dialog)     ;start dialog
  39. (unload_dialog dcl_id)    ;unload
  40.   (if userclick     ;check O.K. was selected
  41.    (progn
  42.    );progn
  43. );if userclick
  44. (princ)
  45. );defun C:samp
  46. (princ)

 
 
DCL文件
  1. samp6 : dialog {    //dialog name
  2.      label = "Cabinet Drawer V2.1" ;  //give it a label
  3.       : row {     //define row
  4.       :boxed_radio_column {   //define radio column
  5.       label = "Type" ;    //give it a label
  6.        : radio_button {   //define radion button
  7.        key = "rb1" ;    //give it a name
  8.        label = "Cabinet free standing" ; //give it a label
  9.        value = "1" ;    //switch it on
  10.        }     //end definition
  11.      : radio_button {   //define radio button
  12.        key = "rb2" ;    //give it a name
  13.        label = "Cabinet with back" ;  //give it a label
  14.      }     //end definition
  15.        }     //end radio column
  16.        }     //end row
  17.        : boxed_column {   //define boxed column
  18.          label = "&Size";   //give it a label
  19.        : edit_box {    //define edit box
  20.          key = "eb1" ;    //give it a name
  21.          label = "Length :" ;   //give it a label
  22.          edit_width = 10 ;   //30 characters
  23.        }     //end edit box
  24.      //end edit box
  25.   : edit_box {    //define edit box
  26.            key = "eb2" ;   //give it a name
  27.            label = "Widht :" ;   //give it a label
  28.            edit_width = 10 ;   //30 characters
  29.        }     //end edit box
  30.      //end edit box
  31.   : edit_box {    //define edit box
  32.            key = "eb3" ;   //give it a name
  33.            label = "Depth :" ;   //give it a label
  34.            edit_width = 10 ;   //30 characters
  35.        }     //end edit box
  36.      //end edit box
  37.   : edit_box {    //define edit box
  38.            key = "eb4" ;   //give it a name
  39.            label = "Materialethickness :" ; //give it a label
  40.            edit_width = 10 ;   //30 characters
  41.        }     //end edit box
  42.      //end edit box
  43.       }     //end boxed column
  44.        : boxed_column {   //define boxed column
  45.          label = "&Specifics";   //give it a label
  46.        : edit_box {    //define edit box
  47.          key = "eb5" ;    //give it a name
  48.          label = "Back offset :" ;  //give it a label
  49.          edit_width = 10 ;   //30 characters
  50.        }     //end edit box
  51.      //end edit box
  52.        : edit_box {    //define edit box
  53.          key = "eb6" ;    //give it a name
  54.          label = "Thickness back :" ;  //give it a label
  55.          edit_width = 10 ;   //30 characters
  56.        }     //end edit box
  57.      //end edit box
  58.       }     //end boxed column
  59.     ok_cancel ;    //predifined OK/Cancel
  60.     : row {     //define row
  61.     : image {     //define image tile
  62.     key = "im" ;    //give it a name
  63.     height = 1.0 ;    //and a height
  64.     width = 1.0 ;    //and now a width
  65.     }      //end image
  66.     : paragraph {    //define paragraph
  67.     : text_part {    //define text
  68.     label = "Designed and Created";  //give it some text
  69.     }      //end text
  70.     : text_part {    //define more text
  71.     label = "By MR. CAD - MITCHELL RODHOUSE"; //some more text
  72.     }      //end text
  73.     }      //end paragraph
  74.     }      //end row
  75.     }      //end dialog

 
尊敬的先生
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 11:57:01 | 显示全部楼层
我的建议是遵循上述教程,然后开始将您在这些课程中设计的简单对话框合并为更复杂的对话框。下一步将从这个论坛下载一些示例,并尝试理解它们的代码。祝你好运
 
当做
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 16:55 , Processed in 0.399986 second(s), 68 queries .

© 2020-2025 乐筑天下

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