找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1334|回复: 0

[求助] 基于AUTO lisp的道路中边桩计算

[复制链接]
发表于 2014-5-27 01:07:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
本人需要编写一段关于道路中边桩正反算的程序,正算代码如下:(command "OPENDCL")
(defun c:zhengsuan2 ()
(dcl_Project_Load "zhengsuan2" T)
(dcl_Form_Show zhengsuan2_Form1)
(princ)
)
(defun dq (/)
  (setq        file (getfiled "\n 读取数据文件名" "" "txt" 0)
        f1   (open file "r") )
  (setq a (atof (read-line f1)))
  (dcl_Control_SetText zhengsuan2_Form1_TextBox1 (rtos a 2 6))
  (setq b (atof (read-line f1)))
  (dcl_Control_SetText zhengsuan2_Form1_TextBox2 (rtos b 2 6))
  (setq c (atof (read-line f1)))
  (dcl_Control_SetText zhengsuan2_Form1_TextBox3 (rtos c 2 6))
  (setq d (atof (read-line f1)))
  (dcl_Control_SetText zhengsuan2_Form1_TextBox4 (rtos d 2 6))
  (setq e (atof (read-line f1)))
  (dcl_Control_SetText zhengsuan2_Form1_TextBox5 (rtos e 2 6))
  (setq f (atof (read-line f1)))
  (dcl_Control_SetText zhengsuan2_Form1_TextBox6 (rtos f 2 6))
  (setq g (atof (read-line f1)))
  (dcl_Control_SetText zhengsuan2_Form1_TextBox7 (rtos g 2 6))
  (setq h (atof (read-line f1)))
  (dcl_Control_SetText zhengsuan2_Form1_TextBox8 (rtos h 2 6))
)

(defun c:zhengsuan2_Form1_TextButton1_OnClicked (/)
  (dq)
)
(defun qxzs (xyb szz / f0 q c d rr vv i xs ys w ri vl ff f)
  (setq        f0 (nth 3 xyb)
        q  (nth 7 xyb)
        c  (/ 1.0 (nth 5 xyb))
        d  (/ (- (nth 5 xyb) (nth 6 xyb))
              2.0
              (nth 4 xyb)
              (nth 5 xyb)
              (nth 6 xyb) )
        rr '(0.1739274226 0.3260725774 0.3260725774 0.1739274226)
        vv '(0.0694318442 0.3300094782 0.6699905218 0.9305681558)
        i  0
        xs 0
        ys 0
        w  (abs (- (car szz) (nth 0 xyb))))
  (repeat 4
    (setq ri (nth i rr)
          vl (* (nth i vv) w)
          ff (+ f0 (* q vl (+ c (* vl d))))
          xs (+ xs (* ri (cos ff)))
          ys (+ ys (* ri (sin ff)))
          i  (1+ i) ) )
  (setq        f  (+ f0 (* q w (+ c (* w d))) (* 0.5 pi))
        xs (+ (nth 1 xyb) (* w xs) (* (last szz) (cos f)))
        ys (+ (nth 2 xyb) (* w ys) (* (last szz) (sin f))) )
  (dcl_control_SetText zhengsuan2_Form1_TextBox13 (rtos xs 2 4))
  (dcl_Control_SetText zhengsuan2_Form1_TextBox14 (rtos ys 2 4))
  (list xs ys f))


但是在OPENDCL界面中无法运行,点什么按钮都没用,求大神指导哪里错了(界面见图片)
QQ图片20140527010251.jpg
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-14 06:29 , Processed in 0.270762 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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