ivde 发表于 2015-10-4 23:37:34

hastan 发表于 2015-10-4 12:27 static/image/common/back.gif
做的到就可以
现学了下 G 版的 RxApi

需要G版的 API 库
尚需优化,输出自己增加
(defun c:tt (/ ss dis ps box ss v pb sss m n p0 pls pts _pi2 trilst)
(if (and (setq dis (getdist "\nDistance of Axis: "))
           (setq ps (ssget "+.:S" '((0 . "*Polyline"))))
           (setq pl (ssname ps 0))
           (setq pls (xlrx-curve-getstretchpoints pl))
           (setq ss (ssget "x" '((0 . "insert") (2 . "99"))))
           (setq sss (XLRX-TriAngle ss ps nil t))
      )
    (progn
      (setq box           (list (apply 'mapcar (cons 'min pls))
                       (apply 'mapcar (cons 'max pls))
                   )
          v           (mapcar 'abs (apply 'mapcar (cons '- box)))
          pb           (car box)
          m           (fix (/ (car v) dis))
          n           (fix (/ (cadr v) dis))
          p0           pb
          trilst (mapcar 'xlrx-curve-getstretchpoints
                           (xlrx-pickset->list sss)
                   )
      )
      (repeat m
        (setq pts (cons (setq p0 (polar p0 0.0 dis)) pts))
      )
      (setq pts       (cons pb (reverse pts))
          _pi2 (/ pi 2)
      )
      (mapcar
        '(lambda (b / stri)
           (if (setq stri
                      (vl-member-if
                        '(lambda (c)
                           (apply 'xlrx-point-getTriIntersElev (cons b c))
                       )
                        trilst
                      )
             )
             (apply 'xlrx-point-getTriIntersElev (cons b (car stri)));_能计算高程的点
             (entmake (list '(0 . "point") (cons 10 b)));_三角网外部的点
           )
       )
        (apply
          'append
          (mapcar '(lambda (x / p ptl)
                     (setq p x)
                     (repeat n
                     (setq ptl (cons (setq p (polar p _pi2 dis)) ptl))
                     )
                     (vl-remove-if
                     '(lambda        (a)
                          (not (XLRX-Point-IsInPoly1 a pls))
                        )
                     (cons x (reverse ptl))
                     )
                   )
                  pts
          )
        )
      )
    )
)
(princ)
)

hastan 发表于 2015-10-5 19:15:10

ivde 发表于 2015-10-5 19:56:05

置顶帖子
XLRX_API for CAD2004~2014函数库 2015.08.27更新
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=113010&mobile=yes

hastan 发表于 2015-10-5 21:33:14

hastan 发表于 2015-10-5 21:38:04

ivde 发表于 2015-10-5 22:13:22

(apply 'xlrx-point-getTriIntersElev (cons b (car stri)));_能计算高程的点

这部分点就可以输出了

hastan 发表于 2015-10-6 19:27:04

ivde 发表于 2015-10-6 21:54:54

已经算出来了

hastan 发表于 2015-10-6 22:45:09

liqiuyulove 发表于 2015-10-7 11:25:45

好东西啊   真神奇
页: 1 [2] 3
查看完整版本: 點選多段線生成5m或10m dtmpoint點至txt檔