明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 641|回复: 4

[提问] 求助贴!

[复制链接]
发表于 2015-7-10 12:23:23 | 显示全部楼层 |阅读模式
本帖最后由 Gu_xl 于 2015-7-10 14:18 编辑

开始是用VBA编的效果也出来了,但是要让别人用比较麻烦,怎么也搞不定。
现在改用LISP编,对话框和主程序都写好了,但是就是出不来,搞不好。我把程序贴上来请大家看看。
程序见附件

本帖子中包含更多资源

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

x
发表于 2015-7-11 10:43:31 来自手机 | 显示全部楼层
导致弹不出对话框的问题有两处:
(if (<id 0)(exit))====》(if (< id 0)(exit))
(if(not(new_dialog "f" id ))(exit))====》(if(not(new_dialog "sanxing" id ))(exit))
但是还有问题,没细研究
发表于 2015-7-11 12:05:35 来自手机 | 显示全部楼层
本帖最后由 gaics 于 2015-7-11 15:13 编辑

1、(get_tile "X")、(set_tile "X" (rtos x 2 2))里面的"X"要与dcl里面的大小写一致,Y、Z也一样。
2、前面的“done_dialoge”拼写错误。
3、(command "layer" "m" "solid")结尾缺少""。
4、点坐标的计算方法是用来搞笑的吗?这里不是excel啊,哈哈。再说角度转换为弧度也不是除以360吧?不清楚你的ANG是如何定义的,也许除以360的结果才是你想要的。
(setq pt0 (list x y z))
(setq pt1 (list (- x (* (sin (* (/ ANG 180) pi)) R1)) (- y (* (cos (* (/ ANG 180) pi)) R1)) z))
(setq pt2 (list (- x (* (sin (* (/ ANG 180) pi)) R2)) (- y (* (cos (* (/ ANG 180) pi)) R2)) z))
(setq pt3 (list (+ x (* (sin (* (/ ANG 180) pi)) R1)) (- y (* (cos (* (/ ANG 180) pi)) R1)) z))
(setq pt4 (list (+ x (* (sin (* (/ ANG 180) pi)) R2)) (- y (* (cos (* (/ ANG 180) pi)) R2)) z))
5、pt5从哪里来的?
发表于 2015-7-11 15:55:46 来自手机 | 显示全部楼层
本帖最后由 gaics 于 2015-7-11 16:03 编辑

按照你原来的程序,如果角度大于180°则可能出现两条圆弧不同心的现象。建议把画圆弧的命令改为“圆心、端点、角度”或者“圆心、端点、端点”的模式。比如:
第一条弧(command "arc" "c" pt0 pt1 "a" ANG)
第二条弧(command "arc" "c" pt0 pt2 pt4)

本帖子中包含更多资源

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

x
发表于 2015-7-12 12:45:52 | 显示全部楼层


本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2025-10-29 12:47 , Processed in 0.160460 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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