77077 发表于 2014-7-23 11:46:30

沿线种树测试

新手上路,求高手帮忙改进!~~;沿线种树测试
(vl-load-com)
(defun c:tt( / obj len dis lenn)
(setq obj (vlax-ename->vla-object(car(entsel "\n请选择线条:")))
      len (vla-get-Length obj)
      dis (getreal "\n间距:")
      n 1)
(repeat (fix (/ len dis))
    (setq lenn(* dis n)
          pt (vlax-curve-getPointAtDist obj lenn))
    (entmake (list '(0 . "Circle") (cons 10 pt) (cons 40 (* dis 0.4))))
    (setq n (1+ n))
    )
)

77077 发表于 2014-7-23 11:51:05

有问题,起点少了一棵,没种上树.

longcashman 发表于 2014-7-23 11:52:47

请研究查查gu版的作品

langjs 发表于 2014-7-23 12:07:17

总长这样算
(setq len (vlax-curve-getdistatparam obj (vlax-curve-getendparam obj)))

77077 发表于 2014-7-23 12:30:00

(defun c:tt( / obj len dis pt)
(setq dis (getreal "\n间距:"))
        (while (setq obj (vlax-ename->vla-object(car(entsel "\n请选择线条:"))))
           (setq len (vla-get-Length obj)n 0)
               (repeat (1+ (fix (/ len dis)))
         (setq pt (vlax-curve-getPointAtDist obj (* dis n)))
         (entmake (list '(0 . "Circle") (cons 10 pt) (cons 8 "LH-tree") (cons 40 (* dis 0.4))))
         (setq n (1+ n))
       )
        )
)

xyp1964 发表于 2014-7-23 12:33:39


langjs 发表于 2014-7-23 14:04:46

77077 发表于 2014-7-23 11:51 static/image/common/back.gif
有问题,起点少了一棵,没种上树.

n 1=>n 0
页: [1]
查看完整版本: 沿线种树测试