lxg3443 发表于 2015-12-20 14:37:21

横向等分,源码,无法实现,求助,已更新

本帖最后由 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)
)







love1030312 发表于 2015-12-20 15:20:17

~~~~~~~~~~~~~~~~~占个沙发

Real_King 发表于 2015-12-20 18:41:13

等分线用measure命令就好

lxg3443 发表于 2015-12-21 14:30:48

Real_King 发表于 2015-12-20 18:41 static/image/common/back.gif
等分线用measure命令就好

我是想用lisp来等分,系统自带的等分无法满足要求啊...
页: [1]
查看完整版本: 横向等分,源码,无法实现,求助,已更新