chpmould 发表于 2011-4-24 16:10:43

返回子程序中的值

请教: 如何将子程序中cl_rad的值返回在主程序中使用...(说明: cl_rad按全局变量的时候是可以的,不知是否还有其它的方法)
例如:
(defun c:Test ()
(setvar "cmdecho" 0)
(setq cl_ent1 (entsel "\n:Please select a circle:"))
(dim_test cl_ent1)
(setq pt1 (getpoint "\:Please select a point:"))
(command "circle" pt1 cl_rad);如何将子程序中cl_rad的值返回在这里绘圆用
(setvar "cmdecho" 1)
(princ)
)
;;
;;
(defun dim_test(ent1 / cl_dat1 cl_rad)
(setq cl_dat1 (entget (car ent1)))
(setq cl_rad (cdr (assoc 40 cl_dat1)))
)

Andyhon 发表于 2011-4-24 16:45:04

(defun c:Test (/cl_rad)

(defun dim_test(ent1 / cl_dat1)

or =================================>

(dim_test cl_ent1)
===>
(setq cl_rad (dim_test cl_ent1))


(defun dim_test(ent1 / cl_dat1 cl_rad)
(setq cl_dat1 (entget (car ent1)))
(cdr (assoc 40 cl_dat1))
)

chpmould 发表于 2011-4-24 17:22:42

Andyhon 发表于 2011-4-24 16:45 static/image/common/back.gif
(defun c:Test (/cl_rad)

(defun dim_test(ent1 / cl_dat1)


谢谢... ...!
页: [1]
查看完整版本: 返回子程序中的值