明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2452|回复: 16

救命!对话框中提取数据-困扰菜鸟多天的问题

    [复制链接]
发表于 2006-11-9 20:07:00 | 显示全部楼层 |阅读模式
用lisp提取对话框中编辑框里的数据时,如何也无法给lisp中的变量赋对话框中的值。小弟刚学不久,望各位大哥不吝赐教!!!以下是对话框 文件

本帖子中包含更多资源

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

x
 楼主| 发表于 2006-11-9 20:10:00 | 显示全部楼层

lisp文件~~~

本帖子中包含更多资源

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

x
发表于 2006-11-9 20:49:00 | 显示全部楼层
是不是你的对话框中的key值与驱动程序中get_tile的参数大小写不对应!
发表于 2006-11-9 20:51:00 | 显示全部楼层

你的“编揖框”名称是“b1”面不是“b”。

 

 

本帖子中包含更多资源

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

x
发表于 2006-11-9 20:55:00 | 显示全部楼层
你的程序最好分成几个函数,不要放到一起。这样读起来太麻烦。你才开始编程没多长时间吧?能有这水平是很不错的了。一定要好好努力。你的CAD应用水平一定很好了。好像程序还有点毛病。不能生成正确的齿轮轮廓。
 楼主| 发表于 2006-11-9 21:15:00 | 显示全部楼层

多谢指教,已经改了,但是lisp程序还是没有按对话框中的 值进行赋值,而只是使用变量的 初始值,好像act 函数没有被调用,再帮帮忙啊,多谢~~~~~

发表于 2006-11-9 22:30:00 | 显示全部楼层
我查了,赋值没有错。对话框赋值没有问题。体计是你程序的问题。请你自己再好好查一下。
以下语句有问题。我没时间去看这些齿轮的基本概念。多少年不用了。都忘了。

  1. (setq mt (/ mn (cos b)))
  2.   (setq    a  (/ pi 9) d (* mt z)
  3.     da (abs (+ d (* 2 (* (+ ha x) mn))))
  4.     dj (+ d (* mt x))
  5.     p  (* pi mt)
  6.     h  (* mt (+ ha 0.25))
  7.     hf (* mt h)
  8.   )
  9.   (setq    l1 (/ h (cos a))
  10.     l2 (- (/ p 2) (* 2 h (/ (sin a) (cos a))))
  11.   )
  12.   (setq    pt0 (list x_pt0 y_pt0 z_pt0)
  13.     pt1 (list (car pt0) (cadr pt0))
  14.     pt2 (polar pt1 (- (/ pi 2) a) (* 2 l1))
  15.     pt3 (polar pt2 0 l2)
  16.     pt4 (polar pt3 (- a (/ pi 2)) (* 2 l1))
  17.     pt5 (polar pt4 0 l2)
  18.   )
  19.   (command "ucs" "o" pt0)
  20.   (setq i 0)
  21.   (while (< i (+ z 3))
  22.     (setq pt11 (list (+ (car pt1) (* i p)) (cadr pt1))
  23.       pt21 (list (+ (car pt2) (* i p)) (cadr pt2))
  24.       pt31 (list (+ (car pt3) (* i p)) (cadr pt3))
  25.       pt41 (list (+ (car pt4) (* i p)) (cadr pt4))
  26.       pt51 (list (+ (car pt5) (* i p)) (cadr pt5))
  27.     )
  28.     (command "line" pt11 pt21 pt31 pt41 pt51 "")
  29.     (setq i (+ i 1))
  30.   )
  31.   (setq    pt12 (list (+ (car pt11) p) (cadr pt1))
  32.     pt22 (list (+ (car pt21) p) (cadr pt2))
  33.     pt32 (list (+ (car pt31) p) (cadr pt3))
  34.     pt42 (list (+ (car pt41) p) (cadr pt4))
  35.   )
  36.   (command "line" pt12 pt22 pt32 pt42 "")
  37.   (setq    pt6 (polar pt1 (- 0 (/ pi 2)) (* 2 mt))
  38.     pt7 (polar pt42 (- 0 (/ pi 2)) (* 2 mt))
  39.   )
  40.   (command "line" pt1 pt6 pt7 pt42 "")
  41.   (setq    pt_c (polar pt32 (/ pi 2) da)
  42.     pt8  (polar pt_c (- 0 (/ pi 2)) (+ (/ d 2) (* x mn)))
  43.     pt9  (polar pt32 (- a (/ pi 2)) l1)
  44.   )
  45.   (command "circle" pt_c "d" da)
  46.   (command "zoom" "a")
  47.   (setq pt_b (list (+ (car pt32) l1) (cadr pt32)))
  48.   (command "region" "w" pt6 pt_b "")
  49.   (setq st1 (ssget "w" pt6 pt_b))
  50.   (setq    pt_c1 (polar pt_c (- (/ pi 4) pi) (* 1.5 da))
  51.     pt_c2 (polar pt_c (/ pi 4) (* 1.5 da))
  52.   )
  53.   (command "region" "w" pt_c1 pt_c2 "")
  54.   (setq st2 (ssget "w" pt_c1 pt_c2))
  55.   (setq degree (/ 360 ang))
  56.   (setq j 0)
  57.   (setq step (* (/ ang 360) pi d))
  58.   (while (< j degree)
  59.     (setq pt91 (polar pt8 0 (* j step)))
  60.     (command "rotate" st2 "" pt_c ang)
  61.     (command "copy" st1 "" pt9 pt91)
  62.     (setq st3 (ssget "L"))
  63.     (command "subtract" st2 "" st3 "")
  64.     (setq j (+ j 1))
  65.   )
  66. )


发表于 2006-11-9 22:44:00 | 显示全部楼层
这一句错了。
  1. (setq a  (/ pi 9)
  2. d  (* mt z)
  3. da (abs (+ d (* -2 (* (+ ha x) mn))))  ;错误处
  4. dj (+ d (* mt x))
  5. p  (* pi mt)
  6. h  (* mt (+ ha 0.25))
  7. hf (* mt h)
  8.   )

程序很不错,模拟了插齿机的加工过程。不错,你一定能编出好程序。希望你多看些LISP书,最好用VL编程。少用COMMAND命令。
插刀的齿顶和底用圆弧过渡就好了。加工的齿轮就光滑了。

评分

参与人数 1威望 +1 收起 理由
mccad + 1 【好评】鼓励后进,共同提高

查看全部评分

 楼主| 发表于 2006-11-10 17:55:00 | 显示全部楼层
多谢tcsl大哥的帮助和鼓励!这个程序还有很多地方有待完善,接触编程时间不长,还有很多要学习的,谢谢tcsl大哥的建议~~~
发表于 2006-11-10 23:29:00 | 显示全部楼层
程序过了吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-2 18:34 , Processed in 0.192790 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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