怎么回事? 标记一下,应该是有需要的! 都是高人啊 liu_kunlun 发表于 2010-7-1 17:02
给你一个动态的
(defun c:tttt (/ os pt1 pt2 pt3 pt4 ag0 ag len ent ct in k) (setq os (getvar " ...
加载运行挺好用的,就是执行命令出现"瑙掔偣1:"是怎么回事?请指教一下,谢谢! 留个脚印,应该是有需要的! (defun C:rect3p (/ PT1 PT2 PT3 PT4 PT01 PT02 PT03 PT04 ANG ANG0 H dist0 dist2)
(prompt "\n指定矩形一条边线角点PT1和PT2:")
(while (setq PT1 (getpoint "\n第一点PT1:"))
(if (setq PT2 (getpoint PT1 "\n第二点PT2:"))
(progn
(setq ANG (angle PT1 PT2)
ANG0 (angle PT1 PT2)
ANG (+ ANG (* 0.5 pi))
)
(setq PT3 (getpoint "\n指定线宽点PT3:"))
(setq PT01 PT1)
;;; 计算PT3到PT1-PT2直线的垂足PT4
(setq PT4 (polar PT3 ANG 100)
PT4 (inters PT1 PT2 PT3 PT4 NIL)
)
;;; 计算边长1:PT1到PT2的距离
(setq dist0 (distance PT1 PT2))
;;; 计算边长2:PT3到PT1-PT2直线的垂直距离
(setq H (distance PT4 PT3))
(setq dist2 H)
;;; 计算矩形的另外两个角点
(setq PT02 (polar PT01 ANG0 dist0))
(setq PT03 (polar PT02 (- (angle PT3 PT4) pi) dist2))
(setq PT04 (polar PT01 (- (angle PT3 PT4) pi) dist2))
;;; 绘制矩形
(command "_.pline"
"non" PT01
"non" PT02
"non" PT03
"non" PT04
"c"
)
(prompt "\n矩形绘制完毕!!")
(command "_.regen")
)
)
)
(princ)
)
; 简化命令别名
(defun c:r3 () (c:rect3p))
页:
1
[2]