明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1580|回复: 2

求助!望各位将此对话框驱动程序补充完整!

[复制链接]
发表于 2004-12-6 11:11:00 | 显示全部楼层 |阅读模式
我想编一个对话框,调用三个不同的螺母绘图程序,源程序在压缩包里,望各位大虾将对话框驱动程序帮忙补充完整。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2004-12-6 12:21:00 | 显示全部楼层
  1. (defun c:lm_dialog ()
  2.    (setq dcl_id (load_dialog "lm.dcl"))
  3.    (if (not (new_dialog "lm_box" dcl_id))
  4.        (exit)
  5.    )
  6.    (set_tile "lm_zj" "10")
  7.    (set_tile "lm_gd" "10")
  8.    (set_tile "lm_ang" "0")
  9.    (start_image "steel")
  10.    (fill_image 0 0 15 15 -2)
  11.    (slide_image 0 -20 90 95 "c.sld")
  12.    (end_image)
  13.    (action_tile
  14.        "lm_wd"
  15.        "(setq tshape "wd")
  16.    (setq width (dimx_tile "steel") height (dimy_tile "steel"))
  17.    (start_image "steel")
  18.    (fill_image 0 0 width height -2)
  19.    (slide_image 0 -20 width height "b.sld")
  20.    (end_image)"
  21.    )
  22.    (action_tile
  23.        "lm_th"
  24.        "(setq tshape "th")
  25.    (setq width (dimx_tile "steel")   height (dimy_tile "steel"))
  26.    (start_image "steel")
  27.    (fill_image 0 0 width height -2)
  28.    (slide_image 0 -20 width height "a.sld")
  29.    (end_image)"
  30.    )   (action_tile
  31.        "lm_bd"
  32.        "(setq tshape "bd")
  33.        (setq width (dimx_tile "steel") height (dimy_tile "steel"))
  34.        (start_image "steel")
  35.        (fill_image 0 0 width height -2)
  36.        (slide_image 0 -20 width height "c.sld")
  37.        (end_image)"
  38.    )
  39.    (action_tile
  40.        "cancel"
  41.        "(done_dialog) (setq gperr "") (exit)"
  42.    )
  43.    (action_tile
  44.        "accept"
  45.        (strcat
  46.            " (progn (setq b (atof (get_tile "lm_zj")))"
  47.            " (setq h (atof (get_tile "lm_gd")))"
  48.            " (setq p (atof (get_tile "lm_ang")))"
  49.            " (done_dialog))"
  50.        )
  51.    )
  52.    (start_dialog)
  53.    (unload_dialog dcl_id)
  54.    (defun dtr (ang)
  55.        (* pi (/ ang 180.00000))
  56.    )
  57.    
  58.    (cond
  59.        ((= tshape "wd")
  60.          (setvar "blipmode" 0)
  61.          (setvar "cmdecho" 0)
  62.          (setq p0 (getpoint "\nEnter base point:"))
  63.          (setq D (* b 2))
  64.          (setq r (/ b 4 (cos (dtr 30))))
  65.          (setq p1 (polar p0 (+ p (* pi 0.5)) h))
  66.          (setq p2 (polar p1 (+ p pi) (* 0.75 b)))
  67.          (setq p3 (polar p2 (+ p (dtr 210)) r))
  68.          (setq p4 (polar p3 p (/ b 2)))
  69.          (setq p5 (polar p4 p b))
  70.          (setq p6 (polar p0 (+ p pi) (* 0.5 D)))
  71.          (setq p7 (polar p0 (+ p pi) (/ b 2)))
  72.          (setq p8 (polar p7 p b))
  73.          (setq p9 (polar p6 p D))
  74.          (setq p10 (polar p3 p D))
  75.          (setq p11 (polar p1 (+ p) (* 0.75 b)))
  76.          (setq pa (polar p1 (+ p (* pi 0.5)) (* 0.25 b)))
  77.          (setq pb (polar p0 (+ p (* pi 1.5)) (* 0.25 b)));
  78.          (command "line" p6 p9 "")
  79.          (command "line" p6 p3 "")
  80.          (command "line" p9 p10 "")
  81.          (command "line" p4 p7 "")
  82.          (command "line" p5 p8 "")
  83.          (command "line" p2 p11 "")
  84.          (command "arc" p5 p1 p4)
  85.          (command "arc" p4 p2 p3)
  86.          (command "arc" p5 p11 p10)
  87.          (command "line" pa pb "")
  88.          (setvar "blipmode" 1)
  89.          (setvar "cmdecho" 1)
  90.        )
  91.        ((= tshape "th")
  92.          (setvar "blipmode" 0)
  93.          (setvar "cmdecho" 0)
  94.          (setq p0 (getpoint "\nEnter base point:"))
  95.          (setq D (* b 2))
  96.          (setq r (/ b 4 (cos (dtr 30))))
  97.          (setq y (* 0.12 b))
  98.          (setq x (/ y (sin (dtr 45))))
  99.          (setq p7 (polar p0 (+ p (dtr 90)) (* 1.3 h)))
  100.          (setq p4 (polar p7 (+ p (dtr 180)) (* 0.75 b)))
  101.          (setq p5 (polar p4 (+ p (dtr 210)) r))
  102.          (setq p6 (polar p5 p (/ b 2)))
  103.          (setq p10 (polar p6 p b))
  104.          (setq p1 (polar p0 (+ p (dtr 180)) (* 0.75 b)))
  105.          (setq p2 (polar p1 (+ p (dtr 90)) (* 0.3 h)))
  106.          (setq p3 (polar p2 (+ p (dtr 180)) (* 0.25 b)))
  107.          (setq p8 (polar p3 p (/ b 2)))
  108.          (setq p9 (polar p0 (+ p (dtr 90)) (* 0.3 h)))
  109.          (setq p11 (polar p7 (+ p (dtr 180)) (/ b 2)))
  110.          (setq p12 (polar p11 (+ p (dtr 90)) (/ b 5)))
  111.          (setq p13 (polar p12 (+ p (dtr 45)) x))
  112.          (setq p15 (polar p12 p (/ b 2)))
  113.          (setq p14 (polar p15 (+ p (dtr 90)) y))
  114.          (setq p16 (polar p13 (+ p (dtr 270)) (* 0.3 b)))
  115.          (setq p23 (polar p14 (+ p (dtr 90)) (* 0.25 b)))
  116.          (setq p24 (polar p0 (+ p (dtr 270)) (* 0.25 b)))
  117.          (setq tan (/ (sin (dtr 30)) (cos (dtr 30))))
  118.          (setq p01 (polar p9 (+ p (dtr 180)) (* 0.3 h tan)))
  119.          (setq p02 (polar p0 p (* 0.3 h tan)))
  120.          (command "line" p1 p2 "")
  121.          (setq a1 (entlast))
  122.          (command)
  123.          (command "line" p3 p9 "")
  124.          (setq a9 (entlast))
  125.          (command)
  126.          (command "line" p0 p01 "")
  127.          (command "line" p9 p02 "")
  128.          (command "arc" p10 p7 p6)
  129.          (command)
  130.          (command "line" p6 p8 "")
  131.          (setq a2 (entlast))
  132.          (command)
  133.          (command "arc" p6 p4 p5)
  134.          (setq a3 (entlast))
  135.          (command)
  136.          (command "line" p5 p3 "")
  137.          (setq a4 (entlast))
  138.          (command)
  139.          (command "line" p4 p7 "")
  140.          (setq a5 (entlast))
  141.          (command)
  142.          (command "pline" p11 p12 p13 p14 "")
  143.          (setq a6 (entlast))
  144.          (command)
  145.          (command "line" p12 p15 "")
  146.          (setq a7 (entlast))
  147.          (command)
  148.          (command "line" p13 p16 "")
  149.          (setq a8 (entlast))
  150.          (command)
  151.          (command "line" p23 p24 "")
  152.          (command "line" p0 p1 "")
  153.          (setq a10 (entlast))
  154.          (command)
  155.          (command "mirror" a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 "" p9 p7 "n")
  156.          (setvar "blipmode" 1)
  157.          (setvar "cmdecho" 1)
  158.        )
  159.        (t
  160.          (setvar "blipmode" 0)
  161.          (setvar "cmdecho" 0)
  162.          (setq p0 (getpoint "\nEnter base point:"))
  163.          (setq D (* b 2))
  164.          (setq r (/ b 4 (cos (dtr 30))))
  165.          (setq y (* 0.12 b))
  166.          (setq x (/ y (sin (dtr 45))))
  167.          (setq p7 (polar p0 (+ p (dtr 90)) (* 1.3 h)))
  168.          (setq p4 (polar p7 (+ p (dtr 180)) (* 0.75 b)))
  169.          (setq p5 (polar p4 (+ p (dtr 210)) r))
  170.          (setq p6 (polar p5 p (/ b 2)))
  171.          (setq p10 (polar p6 p b))
  172.          (setq p1 (polar p0 (+ p (dtr 180)) (* 0.6 D)))
  173.          (setq p2 (polar p1 (+ p (dtr 90)) (* 0.3 h)))
  174.          (setq p3 (polar p2 p (* 0.1 D)))
  175.          (setq p8 (polar p3 p (/ b 2)))
  176.          (setq p9 (polar p0 (+ p (dtr 90)) (* 0.3 h)))
  177.          (setq p11 (polar p7 (+ p (dtr 180)) (/ b 2)))
  178.          (setq p12 (polar p11 (+ p (dtr 90)) (/ b 5)))
  179.          (setq p13 (polar p12 (+ p (dtr 45)) x))
  180.          (setq p15 (polar p12 p (/ b 2)))
  181.          (setq p14 (polar p15 (+ p (dtr 90)) y))
  182.          (setq p16 (polar p13 (+ p (dtr 270)) (* 0.3 b)))
  183.          (setq pa (polar p14 (+ p (dtr 90)) (* 0.25 b)))
  184.          (setq pb (polar p0 (+ p (dtr 270)) (* 0.25 b)))
  185.          (command "line" p1 p2 "")
  186.          (setq a1 (entlast))
  187.          (command)
  188.          (command "line" p2 p9 "")
  189.          (setq a10 (entlast))
  190.          (command)
  191.          (command "arc" p10 p7 p6)
  192.          (command "line" p6 p8 "")
  193.          (setq a2 (entlast))
  194.          (command)
  195.          (command "arc" p6 p4 p5)
  196.          (command)
  197.          (setq a3 (entlast))
  198.          (command)
  199.          (command "line" p5 p3 "")
  200.          (setq a4 (entlast))
  201.          (command)
  202.          (command "line" p4 p7 "")
  203.          (setq a5 (entlast))
  204.          (command)
  205.          (command "pline" p11 p12 p13 p14 "")
  206.          (setq a6 (entlast))
  207.          (command)
  208.          (command "line" p12 p15 "")
  209.          (setq a7 (entlast))
  210.          (command)
  211.          (command "line" p13 p16)
  212.          (setq a8 (entlast))
  213.          (command)
  214.          (command "line" pa pb "")
  215.          (command "line" p0 p1 "")
  216.          (setq a9 (entlast))
  217.          (command "mirror" a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 "" p9 p7 "n")
  218.          (setvar "blipmode" 1)
  219.          (setvar "cmdecho" 1)
  220.        )
  221.    )
  222.    (princ)
  223. )
 楼主| 发表于 2004-12-8 22:52:00 | 显示全部楼层
谢谢啦!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-9-30 02:25 , Processed in 0.180414 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表