Заменить вставку результата в мм на м
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Заменить вставку результата в мм на м

Заменить вставку результата в мм на м

Ответ
Поиск в этой теме
Непрочитано 07.09.2023, 15:53 #1
Заменить вставку результата в мм на м
Ingpro
 
Регистрация: 11.07.2022
Сообщений: 748

Всем доброго дня!
Лисп вставляет в чертеж сумму длин линий в мм.
Как сделать так, чтоб программа выдавала результат умноженный
на масштабный коэффициент <0.001>, т.е. в м.

Код:
[Выделить все]
 (defun c:LPLm (/ e ss l p i)
  (if
    (setq l 0.0 ss (ssget '((0 . "LINE,SPLINE,LWPOLYLINE,POLYLINE,ARC,CIRCLE,ELLIPSE"))))
    (progn
      (repeat (setq i (sslength ss))
        (setq e (ssname ss (setq i (1- i)))
              l (+ l (vlax-curve-getDistAtParam e (vlax-curve-getEndParam e)))
        )
      )
      (if
        (setq p (getpoint "\nSpecify a point to insert text: "))
        (entmake
          (list
            '(0 . "TEXT")
            '(100 . "AcDbText")
            (cons 10 (trans p 1 0))
            (cons 40 (/ 5.0 (getvar 'cannoscalevalue)))
            (cons 1 (rtos l))
          )
        )
        (princ (strcat "\nTotal length = " (rtos l)))
      )
    )
  )
  (princ)
)
Просмотров: 782
 
Непрочитано 07.09.2023, 16:05
#2
name02


 
Регистрация: 10.01.2020
Сообщений: 407


Строку 18 замени на
Код:
[Выделить все]
 (cons 1 (rtos (/ l 100)))
И строку 21 замени на
Код:
[Выделить все]
 (princ (strcat "\nTotal length = " (rtos (/ l 100))))
name02 вне форума  
 
Автор темы   Непрочитано 07.09.2023, 16:10
#3
Ingpro


 
Регистрация: 11.07.2022
Сообщений: 748


name02, спасибо большое, только для мм надо
Код:
[Выделить все]
 (cons 1 (rtos (/ l 1000)))
----- добавлено через ~2 мин. -----
Цитата:
Сообщение от name02 Посмотреть сообщение
И строку 21 замени на
сработало и без замены 21 строки, но подправлю...
Код:
[Выделить все]
 (defun c:LPLm2 (/ e ss l p i)
  (if
    (setq l 0.0 ss (ssget '((0 . "LINE,SPLINE,LWPOLYLINE,POLYLINE,ARC,CIRCLE,ELLIPSE"))))
    (progn
      (repeat (setq i (sslength ss))
        (setq e (ssname ss (setq i (1- i)))
              l (+ l (vlax-curve-getDistAtParam e (vlax-curve-getEndParam e)))
        )
      )
      (if
        (setq p (getpoint "\nSpecify a point to insert text: "))
        (entmake
          (list
            '(0 . "TEXT")
            '(100 . "AcDbText")
            (cons 10 (trans p 1 0))
            (cons 40 (/ 5.0 (getvar 'cannoscalevalue)))
            (cons 1 (rtos (/ l 1000)))
          )
        )
        (princ (strcat "\nTotal length = " (rtos (/ l 1000))))

      )
    )
  )
  (princ)
)
Теперь выдаёт в м, спасибо!!!

Последний раз редактировалось Ingpro, 07.09.2023 в 16:17.
Ingpro вне форума  
 
Непрочитано 07.09.2023, 16:14
1 | #4
name02


 
Регистрация: 10.01.2020
Сообщений: 407


В 21-й строке выводится результат, если на запрос "Specify a point to insert text:" не кликнуть левой мышкой, а правой (результат выведется в строку)
name02 вне форума  
 
Автор темы   Непрочитано 07.09.2023, 16:19
#5
Ingpro


 
Регистрация: 11.07.2022
Сообщений: 748


Цитата:
Сообщение от name02 Посмотреть сообщение
если на запрос "Specify a point to insert text:" не кликнуть левой мышкой, а правой (результат выведется в строку)
Спасибо за разъяснение...
Ingpro вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Заменить вставку результата в мм на м



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чем можно заменить перемычку с кирпичной кладкой при увеличении проема окна Евгения1990-09 Конструкции зданий и сооружений 1 31.05.2018 14:00
Как задать жесткую вставку в ЛИРА САПР для нагрузки приложенной с эксцентриситетом Вадим Тишин Лира / Лира-САПР 5 01.04.2017 18:37
Как при отрытии файла Acad автоматически заменить шрифт ? mvart AutoCAD 12 25.01.2013 11:28
Как заменить деревянную балку, которая является частью стропильной системы? Евгений 86 Обследование зданий и сооружений 8 13.01.2013 11:42
Замена капители на жесткую вставку Альберт Конструкции зданий и сооружений 10 16.03.2010 01:20