横向等分,源码,无法实现,求助,已更新
本帖最后由 lxg3443 于 2015-12-21 14:29 编辑初学lisp,好多都不懂。
希望各位前辈看一看是什么问题,帮忙优化和修改一下。
在已经画好的图纸中来做等分的时候是可以用的(有时候也不行),但是在新建的DWG中会等分不了(等分间隔不起作用?)
我自己觉得可能得需要设置UCS,但是这方面我一点都不懂,而且工作当中从来用不到ucs....
请各位多多关照。
成功:
命令失败:
(defun C:tt (/ xyp1 xyp2 xp2 yp2 xleng angx angy yleng $*YM* $*Y01* Y01 xypN)
(setq xyp1 (getpoint "\n指定左下角第一点: "))
(setq xyp2 (getcorner xyp1 "\n请点另一角点:"))
(setq xp2(list (car xyp2)(cadr xyp1) 0.0))
(setq yp2 (list (car xyp1)(cadr xyp2) 0.0))
(setq xleng (distance xyp1 xp2))
(setq angx (angle xyp1 xp2))
(setq angy (/ pi 2))
(setq yleng(distance xyp1 yp2))
(setq $*YM*(getint "\n输入需要等分的分数:"))
(setq $*Y01*(getint "\n输入需要等分的间隔距离:"))
(setq Y01 (1+ $*YM*));
(setq YMLeng (/ (- yleng(* $*Y01* Y01)) $*YM*))
(vl-cmdf"_.RECTANG" xyp1 xyp2)
(setq xypN xyp1)
(repeat $*YM*
(setq xypN (polar xypN angy $*Y01*))
(vl-cmdf"_.line" (polar xypN angx xleng) xypN "" )
(setq xypN(polar xypN angy YMLeng))
(vl-cmdf"_.line" (polar xypN angx xleng) xypN "" )
)
(princ)
)
~~~~~~~~~~~~~~~~~占个沙发 等分线用measure命令就好 Real_King 发表于 2015-12-20 18:41 static/image/common/back.gif
等分线用measure命令就好
我是想用lisp来等分,系统自带的等分无法满足要求啊...
页:
[1]