Тема: Подписать высотную отметку каждой вершины полилинии.

Есть чертеж с кучей 3D-полилиний, и для него требуется сделать подпись высотной отметки около каждой вершины.

Поиск по форуме не помог (есть одна программа на форуме, но она только для Civil).
как вариант можно проставить точку в каждой вершине, а другим лиспом подписать точки.

Может у кого завалялась програмка или сможет выручить лиспом?!

Re: Подписать высотную отметку каждой вершины полилинии.

Константин пишет:

Есть чертеж с кучей 3D-полилиний, и для него требуется сделать подпись высотной отметки около каждой вершины.



Поиск по форуме не помог (есть одна программа на форуме, но она только для Civil).

как вариант можно проставить точку в каждой вершине, а другим лиспом подписать точки.



Может у кого завалялась програмка или сможет выручить лиспом?!

(vl-load-com)
(defun c:zlabel (/ ss i en ed vn vd vl txt z)
  (while (not ss)
         (setq ss (ssget (list (cons 0 "POLYLINE")
                               (cons -4 "=")
                                 (cons 70 8)))))
  (setq i 0)
  (while (setq en (ssname ss i))
         (setq ed (entget en)
               vn (entnext en)
               vd (entget vn))
         (while (= "VERTEX" (cdr (assoc 0 vd)))
                (setq vl (cons (cdr (assoc 10 vd)) vl))
                (setq vn (entnext vn)
                      vd (entget vn)))
         (setq i (1+ i)))

  (setq txt 0.075)

  (foreach v vl
    (setq z (caddr v))

    (entmake (list (cons 0 "INSERT")
                   (cons 2 "LEV-50A")
                   (cons 8 "Вершины 3d полилинии")
                   (cons 10 v)
                   (list 210 0 0 1)))

    (entmake (list (cons 0 "TEXT")
                   (cons 1 (rtos z 2 3))
                   (cons 6 "BYLAYER")
                   (cons 7 (getvar "TEXTSTYLE"))
                   (cons 8 "Вершины 3d полилинии")
                   (cons 10 (polar v (* pi 0.5) (* txt 2)))
                   (cons 11 (polar v (* pi 0.5) (* txt 2)))
                   (cons 39 0)
                   (cons 40 txt)
                   (cons 41 1)
                   (cons 50 0)
                   (cons 51 0)
                   (cons 62 256)
                   (cons 71 0)
                   (cons 72 4)
                   (cons 73 0)
                   (list 210 0 0 1))))
  (prin1))

(изменено: Константин, 20 октября 2017г. 12:43:21)

Re: Подписать высотную отметку каждой вершины полилинии.

Barabashka sathalex пишет:


Константин пишет:

Есть чертеж с кучей 3D-полилиний, и для него требуется сделать подпись высотной отметки около каждой вершины.


  (prin1))[/code]


Сегодня проверю, надеюсь все работает, но заранее огромное спасибо!:)

Сообщения 3

Тему читают: 1 гость

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Форумы CADUser → Программирование → LISP → Подписать высотную отметку каждой вершины полилинии.