Показать сообщение отдельно
 
Непрочитано 27.02.2004, 16:32
#5
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


Вот, работает для любых примитивов (слизано у Kos).:
Код:
[Выделить все]
(defun c:lex (/ cur_ent vla_obj len cur_text vla_text) 
  (setvar "cmdecho" 0) 
  (vl-load-com) 
  (while T 
    (setq cur_ent (car(entsel "Select Line: "))) 
    (setq vla_obj (vlax-ename->vla-object cur_ent)) 
      (setq len (vlax-curve-getDistAtParam vla_obj
(vlax-curve-getEndParam vla_obj))) 
    (terpri) 
    (setq cur_text (car(entsel "Select Text: ")))
      (setq vla_text (vlax-ename->vla-object cur_text))
  (vla-put-TextString vla_text (rtos len 2 2))
    (terpri) 
    );end while 
  (princ) 
  )
Точность можешь установить сам. (rtos len 2 2) - вместо 2-й двойки количество знаков после запятой. Никакой "защиты от дурака" нет. Если щелкнешь в пустоту или не по тексту, выдаст ошибку. Извини сейчас больше времени нет. Если что надо еще модифицировать, попозже модифицируем.
{Smirnoff} вне форума  
 
Размещение рекламы