明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: north911

[OpenDCL] 请教关于OPENDCL问题

  [复制链接]
发表于 2008-6-16 15:13 | 显示全部楼层

对话框的出现和拾取点的顺序,你原来的程序有问题。

你在对话框弹出来的时候用了getpoint,不知道你试过了没有?可以拾取吗?

只有你拾取到了点,得到了(itoa (fix (dist1 x1 y1 x2 y2)))) 这个距离值

此时,当你按下TEXTbutton的时候在TEXTbox里面才会出现这个距离值

发表于 2008-6-17 19:08 | 显示全部楼层

不是不算,你设置断点看一下,实际是调用了子程序,问题是计算完成后没有恢复对话框,是第一段的主程序有问题,按下列方式试一下:

(defun c:pls( / Bflag)
  (vl-load-com)
  (dcl_LoadProject "plus" T)
  (setq Bflag T)
  (while (= Bflag T)
        (setq Bflag nil)
   (dcl_Form_Show plus_plus)
  )
)
(defun c:plus_plus_btnp_OnClicked ()
  (setq Bflag T)
  (dcl_Form_close plus_plus)
  (setq pt1 (getpoint " insert point1"))
  (setq pt2 (getpoint " insert point2"))
  (setq x1 (car pt1))
  (setq x2 (car pt2))
  (setq y1 (cadr pt1))
  (setq y2 (cadr pt2))
  (dcl_Control_SetText plus_plus_text1 (itoa (fix (dist1 x1 y1 x2 y2))))
)
(defun dist1(x1 y1 x2 y2 / )
  (setq tt (sqrt (+ (* (- x2 x1) (- x2 x1)) (* (- y2 y1) (- y2 y1)))))
  (eval 'tt)
)

 楼主| 发表于 2008-6-18 09:58 | 显示全部楼层

问题已解决,多谢各位指教!

 楼主| 发表于 2008-6-18 18:53 | 显示全部楼层

再问一个问题,在没有安装OPENDCL的机器上要运行有OPENDCL对话框的程序需要OpenDCL.16.arx之外,还需要其它什么设置?

 楼主| 发表于 2008-6-19 09:51 | 显示全部楼层
直接加载OpenDCL.16.arx或OpenDCL.17.arx要出错,哪位高手指点一下在没有安装OPENDCL的机器上要运行有OPENDCL对话框的程序。
发表于 2012-2-9 21:23 | 显示全部楼层
学习了 非常感谢
发表于 2012-2-11 18:15 | 显示全部楼层
btnp按钮的Event Invoke属性有没有设置为1?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-24 02:41 , Processed in 0.716572 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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