AutoLISP对话框DCL按钮Button设计实例
2011-04-24 21:37
387 查看
AutoLISP对话框DCL按钮设计实例,绘制三种形式的图形,DCL对话框设计代码如下。
指甲长了打字很不舒服。
dia5b:dialog {
label = "按钮测试" ;
:boxed_row {
label = "图形尺寸" ;
:edit_box {
edit_width = 8 ;
key="kww";
label = "宽度WW:" ;
}
:edit_box {
edit_width = 8 ;
key="khh";
label = "高度HH:" ;
}
}
:button {
key = "bb1" ;
label = "DIA5B1-L型" ;
}
:button {
key = "bb2" ;
label = "DIA5B2-X型" ;
}
:button {
key = "bb3" ;
label = "DIA5B3-漏斗型" ;
}
spacer_1;
cancel_button;
}
LSP程序控制代码如下。label = "按钮测试" ;
:boxed_row {
label = "图形尺寸" ;
:edit_box {
edit_width = 8 ;
key="kww";
label = "宽度WW:" ;
}
:edit_box {
edit_width = 8 ;
key="khh";
label = "高度HH:" ;
}
}
:button {
key = "bb1" ;
label = "DIA5B1-L型" ;
}
:button {
key = "bb2" ;
label = "DIA5B2-X型" ;
}
:button {
key = "bb3" ;
label = "DIA5B3-漏斗型" ;
}
spacer_1;
cancel_button;
}
(defun c:dia5b ()
(setvar "cmdecho" 0)
(dcl_dia5b)
(prin1)
)
(defun dcl_dia5b ()
(setq dcl_id (load_dialog "dia5b"))
(new_dialog "dia5b" dcl_id)
(set_tile "kww" "50")
(set_tile "khh" "50")
(action_tile "bb1" "(get_ww_hh) (done_dialog 1)")
(action_tile "bb2" "(get_ww_hh) (done_dialog 2)")
(action_tile "bb3" "(get_ww_hh) (done_dialog 3)")
(setq dd (start_dialog))
(cond ((= dd 1) (c:dia5b1))
((= dd 2) (c:dia5b2))
((= dd 3) (c:dia5b3))
(t (alert "未完成任何动作!!!"))
)
)
(defun get_ww_hh ()
(setq ww (atof (get_tile "kww")))
(setq hh (atof (get_tile "khh")))
)
(defun c:dia5b1 ()
(setvar "cmdecho" 0)
(get_input_data)
(command "pline" p1 p2 p3 pm34 pm pm14 "c")
(prin1)
)
(defun c:dia5b2 ()
(setvar "cmdecho" 0)
(get_input_data)
(command "pline" p1 p2 p3 p4 "c")
(command "line" P1 P3 "")
(command "line" p2 p4 "")
(prin1)
)
(defun c:dia5b3 ()
(setvar "cmdecho" 0)
(get_input_data)
(command "pline" p1 p2 p4 p3 "c")
(prin1)
)
(defun get_input_data ()
(setq p1 (getpoint "\n插入点:"))
(setq p2 (polar p1 0 ww))
(setq p3 (polar p2 (* pi 0.5) hh))
(setq p4 (polar p3 pi ww))
(setq pm (inters p1 p3 p2 p4))
(setq pm12 (polar p1 0 (* ww 0.5)))
(setq pm34 (polar p3 pi (* ww 0.5)))
(setq pm23 (polar p2 (* pi 0.5) (* hh 0.5)))
(setq pm14 (polar p1 (* pi 0.5) (* hh 0.5)))
)
代码完。(setvar "cmdecho" 0)
(dcl_dia5b)
(prin1)
)
(defun dcl_dia5b ()
(setq dcl_id (load_dialog "dia5b"))
(new_dialog "dia5b" dcl_id)
(set_tile "kww" "50")
(set_tile "khh" "50")
(action_tile "bb1" "(get_ww_hh) (done_dialog 1)")
(action_tile "bb2" "(get_ww_hh) (done_dialog 2)")
(action_tile "bb3" "(get_ww_hh) (done_dialog 3)")
(setq dd (start_dialog))
(cond ((= dd 1) (c:dia5b1))
((= dd 2) (c:dia5b2))
((= dd 3) (c:dia5b3))
(t (alert "未完成任何动作!!!"))
)
)
(defun get_ww_hh ()
(setq ww (atof (get_tile "kww")))
(setq hh (atof (get_tile "khh")))
)
(defun c:dia5b1 ()
(setvar "cmdecho" 0)
(get_input_data)
(command "pline" p1 p2 p3 pm34 pm pm14 "c")
(prin1)
)
(defun c:dia5b2 ()
(setvar "cmdecho" 0)
(get_input_data)
(command "pline" p1 p2 p3 p4 "c")
(command "line" P1 P3 "")
(command "line" p2 p4 "")
(prin1)
)
(defun c:dia5b3 ()
(setvar "cmdecho" 0)
(get_input_data)
(command "pline" p1 p2 p4 p3 "c")
(prin1)
)
(defun get_input_data ()
(setq p1 (getpoint "\n插入点:"))
(setq p2 (polar p1 0 ww))
(setq p3 (polar p2 (* pi 0.5) hh))
(setq p4 (polar p3 pi ww))
(setq pm (inters p1 p3 p2 p4))
(setq pm12 (polar p1 0 (* ww 0.5)))
(setq pm34 (polar p3 pi (* ww 0.5)))
(setq pm23 (polar p2 (* pi 0.5) (* hh 0.5)))
(setq pm14 (polar p1 (* pi 0.5) (* hh 0.5)))
)
指甲长了打字很不舒服。
相关文章推荐
- AutoLISP确定图纸幅面DCL对话框设计
- AutoLISPDCL对话框设计
- AutoLISP单选按钮RADIO_BUTTON设计插入图块
- Bootstrap历练实例:按钮(Button)插件单个切换
- Android studio button 按钮 四种绑定事件的方法【实例代码】
- 通过设置窗体的AcceptButton属性,可以设置窗体的“接受”按钮,若此设计,则用户每次按下Enter键都相当于单击该按钮
- AutoLISP对话框DCL控件属性
- android-UI组件实例大全(五)------开关按钮ToggleButton和开关Switch
- AutoCADDCL对话框设计示例十
- Android材料设计兼容函数库(Design Support Library)(II)浮动操作按钮(Floating Action Button)
- AutoCADDCL对话框设计示例一
- AutoLISPDCL对话框对象群应用
- MFC 基础知识:对话框背景添加图片和按钮Button添加图片
- EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
- 使Android应用的AlertDialog对话框中的按钮显示为ImageButton图标,并设置相应
- PyQt4 精彩实例分析* 实例9 利用Qt Designer设计一个对话框
- IOS 按钮(button)用法与属性实例
- IOS 按钮(button)用法与属性实例
- android用户界面之按钮(Button)教程实例汇
- Android实例demo3之Button按钮的多种响应方法,打电话