tianyuan 发表于 2011-6-9 15:06:54

这个提示什么意思,该怎样改?

本帖最后由 tianyuan 于 2011-6-10 08:52 编辑

我下载了关于沿曲线标注桩号的程序,但在运行时提示“; 错误: no function definition: VLAX-CURVE-GETPOINTATDIST”不知什么意思,该怎样改写呢?先谢了。程序如下:
(defun c:ezhbz ()
   (setvar "cmdecho" 0)
   (setq os (getvar "osmode"))
   (setvar "osmode" 0)
   (setq str_2 (strcat "\n给定文字高度<" (rtos (getvar "textsize") 2) ">:"))
   (setq th (getreal str_2))
   (if (= th nil) (setq th (getvar "textsize")))
   (if (setq en (car (entsel "\n选择路径曲线:")))
   (redraw en 3)
   (*error* "\n没有选到曲线!")
   )
   (if (= nil (setq dist (getreal "\n给定间距<50m>:"))) (setq dist 50.0))
   (setq nn 1)
   (while
   (setq pt1 (vlax-curve-getPointAtDist en (* nn dist)))
   (setq zhz (* nn dist))
   (if (< zhz 1000.0) (setq str_1 (strcat "K0+" (rtos zhz 2 3) "m")))
      (progn
   (setq nn1 (fix (/ zhz 1000.0)))
   (setq nn2 (- zhz (* 1000.0 nn1)))
   (setq str_1 (strcat "K" (rtos nn1 2) "+" (rtos nn2 2 3) "m"))
   (if (= nn2 0.0) (setq str_1 (strcat "K" (rtos nn1 2) "+000m")))
   )
   )
   (setq ang (a-get-Angle en pt1))
   (setq pt2 (polar pt1 (+ (/ pi 2) ang) (* th 8)))
   (command "line" pt1 pt2 "")
   (setq ang2 (r2d (angle pt2 pt1)))
   (command "text" "bl" pt2 th ang2 str_1 )
  
   (setq nn (1+ nn))
   )
   (redraw en 4)
   (setvar "osmode" os)
   (princ)
  )
  
  ;切线角度pt-ang
  (defun a-get-Angle (ename point / p1 v1 pt-ang)
   (setq v1 (vlax-curve-getfirstderiv
      (vlax-curve-getparamatpoint ename point)
   )
   p1 (mapcar '+ point v1)
   pt-ang (angle point p1)
   )
   pt-ang
  )

Andyhon 发表于 2011-6-9 15:46:19

(defun c:ezhbz ()
(vl-load-com)      ; add this line
....

zhynt 发表于 2011-6-9 15:47:29

意思是没有“VLAX-CURVE-GETPOINTATDIST”函数定义。
开头加上
(vl-load-com)

tianyuan 发表于 2011-6-9 15:52:01

还是不行,命令: EZHBZ
给定文字高度<0.2000>:6
选择路径曲线:
给定间距<50m>:10
; 错误: no function definition: R2D

zhynt 发表于 2011-6-9 16:41:16

本帖最后由 zhynt 于 2011-6-9 16:42 编辑

你的这个程序不全,缺少函数定义,有可能是作者在其他的地方定义的。
试试在最后附上:
(defun r2d (ang)
(* (/ ang PI) 180)
)

yoyoho 发表于 2011-6-9 17:25:22

感谢分享程序!

tianyuan 发表于 2011-6-9 17:41:47

Ok,在大家的帮助下这个程序终于可以用了,谢谢!
页: [1]
查看完整版本: 这个提示什么意思,该怎样改?