新手求问关于子程序的问题
想要选择三角形的三边,自动计算面积。
用2个子程序getlen 和area3
为什么不能运行呢
(defun c:8test2a()
(setq en1 (entsel"\n选取第1条边:"))
(setq en2 (entsel"\n选取第2条边:"))
(setq en3 (entsel"\n选取第3条边:"))
(setq aa (area3 ( getlen(en1) getlen(en2) getlen(en3))))
(princ("三角形面积为"(itoa aa)""))
(prin1)
)
(defun getlen(ent)
(command "lengthen" ent"")
(getvar "perimeter")
)
(defun area3(a b c)
(setq s (* (+ a b c) 0.5))
(sqrt(* s (- s a)(- s b)(- s c)) )
)
(prompt"\n<8test2a>选中三条边计算三角形面积")
(prin1)
本帖最后由 bssurvey 于 2018-1-23 16:56 编辑
想要选择三角形的三边,自动计算面积。
用2个子程序getlen 和area3
为什么不能运行呢
(defun c:8test2a()
(setq en1 (entsel"\n选取第1条边:"))
(setq en2 (entsel"\n选取第2条边:"))
(setq en3 (entsel"\n选取第3条边:"))
(setq aa (area3 (getlen en1) (getlen en2) (getlen en3))) ;括號出現問題
(princ(strcat"三角形面積為"(rtos aa))) ;字串連結要用STRCAT 及 有小數位數要使用RTOS
(prin1)
)
(defun getlen(ent)
(command "lengthen" ent"")
(getvar "perimeter")
)
(defun area3(a b c)
(setq s (* (+ a b c) 0.5))
(sqrt(* s (- s a)(- s b)(- s c)) )
)
(prompt"\n<8test2a>选中三条边计算三角形面积")
(prin1) bssurvey 发表于 2018-1-23 16:54
想要选择三角形的三边,自动计算面积。
用2个子程序getlen 和area3
为什么不能运行呢
十分感谢,我去百度也发现了是括号的问题了
页:
[1]