明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1594|回复: 4

[基础] 关于副程式引数的问题

[复制链接]
发表于 2010-9-9 21:43:00 | 显示全部楼层 |阅读模式

我在书上有看到一段副程式的引数例题

我就学着改

但是出现了这样的错误,连副程式都读不到=.=

怎么会这样,我是哪边错了呢?

; 錯誤: no function definition: LENGTH0

 

 

(书本例题)

--------------------------

(setq mp1(get_midpt pa pb))

(setq mp2(get_midpt pb pa))

(setq mp3(get_midpt pc pd))

(setq mp4(get_midpt pd pa))

 

(defun get_midpt(pt1 pt2))

 (setq mx(/ (+ car pt1) (car pt2)) 2))

 (setq my(/ (+ cadr pt1) (cadr pt2)) 2))

 (list mx my)

)

-----------------------------

 

 

 

-----------------------------

我就学着改

 

(defun C:test01()
  (setq line01 (length0 a))

  (setq line02 (length0 b))

  (setq line03 (length0 c))

  (setq line04 (length0 d))

)

 

(defun C:length0(xline)
  (setq xline(entsel"選取一直線"))
  (setq xlinedata(entget(car xline)))
  (setq xlinelist10(cdr(assoc 10 xlinedata)))
  (setq xlinelist11(cdr(assoc 11 xlinedata)))
  (setq c(distance xlinelist10 xlinelist11))
  (princ "\n 線段長度= ")(princ c)
 
  (prin1)
)

-------------------------------------------

 

 

 

 

发表于 2010-9-9 23:19:00 | 显示全部楼层

1.多了n个右括号

2.多了c:

3.其它看另外那个贴

 楼主| 发表于 2010-9-10 22:17:00 | 显示全部楼层
本帖最后由 作者 于 2010-9-10 22:37:55 编辑

我還有一個問題

 

---------------------------------------------------------------

(defun c:getdistline( / xline )
 (setq xline (car (entsel "选取直线:")))
 (princ "\n 线段长度 = ")
 (princ (distline xline))
(princ)
)

;计算直线的长度
(defun distline( line / p10 p11 )
 (setq p10 (cdr (assoc 10 (entget line))))
 (setq p11 (cdr (assoc 11 (entget line))))    ;取直线两端点坐标
 (distance p10 p11)
)

---------------------------------------------------------------

 

--------

p11

p10

 

--------

副程式最後是怎麼決定傳回去的數???

是最後被計算得來的值嗎??

還有你的副程式中有這麼一行 "( line / p10 p11 )"<*-------

能為我解釋一下這是什麼意思嗎???

這個東西我書上沒見到

 

 

发表于 2010-9-11 12:02:00 | 显示全部楼层

1、使用函数(副程式)的返回值将计算结果送回主函数(程式);

2、返回的是最后计算出的值;

3、这一行写的是自变量与内部变量。/前的是自变量,就是调用函数(程式)时用的变量。后面两个是内部变量,就是本函数内使用的变量。退出函数时清空。

 楼主| 发表于 2010-9-11 14:47:00 | 显示全部楼层
恩,謝謝,這樣我懂了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-2 10:34 , Processed in 0.182903 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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