Тема: Как измерить общую длину выделенных линий?

Можно ли померить суммарную длину выделеных линий?

Re: Как измерить общую длину выделенных линий?

(defun C:Dlina (/ Nab Sum i Curve Param)
(vl-load-com)
(if (setq Nab (ssget))
(progn
(setq Sum 0 i 0)
(repeat (sslength Nab)
(setq Curve (vlax-ename->vla-object (ssname Nab i))
i (1+ i)
Param (vl-catch-all-apply 'vlax-curve-getEndParam
(list Curve))
)
(if (not (vl-catch-all-error-p Param))
(setq Sum (+ Sum (vlax-curve-getDistAtParam Curve
Param)))
)
)
)
)
(princ (strcat "\nСумма длин выбранных элементов равна: " (rtos Sum 2 2)))
(prin1)
)

Когда то скопировал эту маленкую прогу с этого форума.
До сих пор пользуюсь.
Спосибо, тому кто написал эту прогу.

Re: Как измерить общую длину выделенных линий?

Еще несколько вариантов http://autokad.ru/forum/viewtopic.php?t=953

Re: Как измерить общую длину выделенных линий?

А простите узера. Как этим пользоваться ?

Re: Как измерить общую длину выделенных линий?

вставить в текстовый файл с расширением lsp
потом tools> autolisp>load>имя сохраненного файла.lsp
все
далее набираем в коммандной строке dlina...

Re: Как измерить общую длину выделенных линий?

Огромное спасибо.

Re: Как измерить общую длину выделенных линий?

Ещё раз простите. Как сохранить с расширением lsp

Re: Как измерить общую длину выделенных линий?

> Andrey
В текстовом редакторе "Блокнот" (он же NOTEPAD) надо выбрать из меню Файл -> Сохранить как.. и в появившемся диалоговом окне в окошке "Имя файла" написать имя файла, например dlina.lsp и нажать кнопку "Сохранить"
PS. прям "Windows для чайников" какой то.....

Re: Как измерить общую длину выделенных линий?

Что ж поделаешь, "Москва не сразу строилась".  Спасибо

Re: Как измерить общую длину выделенных линий?

Я тоже всё сделала как вы посоветовали. Ввожу в ком. строке :dlina- пишет выберете объект. Выбираю объект, нажимаю Enter. И ничего..... Где должна появиться длина подскажите пожалуйста?

Re: Как измерить общую длину выделенных линий?

> Ekaterina
В командной строке, может у вас там строчек мало потому и не видно

Re: Как измерить общую длину выделенных линий?

Если линии-это отрезки , то все гораздо проще

(defun lin-len ()
  (vl-load-com)
  (apply '+
     (mapcar 'vla-get-length
         (mapcar 'vlax-ename->vla-object
             (vl-remove-if
               'listp
               (mapcar 'cadr
                   (ssnamex
                     (ssget '((0 . "line")))
                   )
               )
             )
         )
     )
  )
)

Re: Как измерить общую длину выделенных линий?

Спасибо, Геннадий! Действительно командная строка была сжата до минимума.