Простановка площадей в автокаде

Тема в разделе "ПЕСОЧНИЦА", создана пользователем Paulus, 16 мар 2017.

  1. MaxKal

    MaxKal Форумчанин

    Последнее редактирование: 5 июл 2017
    Qvinto и Александр нов нравится это.
  2. koban83

    koban83 Форумчанин

    доброго! ребята поделитесь рабочим lsp для ростовки площадей по полелинии
    заранее спасибо.
     
  3. Qvinto

    Qvinto Форумчанин

    koban83, а этот, что выше, над твоим сообщением, чем не нравится?
     
  4. koban83

    koban83 Форумчанин

    он не работает так как NET Framework 4.5.1 не ставится так как стоит версия 4.8
    и из за этого не работает!!!
    и автокад у меня 2010
     
  5. zvezdochiot

    zvezdochiot Форумчанин

    Ты не поверишь, но Выноска длины полилинии
     
    koban83 нравится это.
  6. Qvinto

    Qvinto Форумчанин

    koban83 нравится это.
  7. koban83

    koban83 Форумчанин

    то что надо, только хотелось бы без выноски(но это решаемо) высота текста 0.25 и округление до 0.1
    без (S=) в тексте. Нужны одни цифры.
    Но и за это огромное спасибо!
     
  8. zvezdochiot

    zvezdochiot Форумчанин

    Подредактируй. "Там же" объяснено как.
     
    koban83 нравится это.
  9. koban83

    koban83 Форумчанин

    я особо не программист! но S уже убрал. высоту не могу поменять!
    спасибо !
     
  10. zvezdochiot

    zvezdochiot Форумчанин

    А ты какой именно lisp пользуешь? Там их как грязи.
    Я наверное сделаю всё-таки так. Cast @1958.
     
  11. Qvinto

    Qvinto Форумчанин

  12. koban83

    koban83 Форумчанин

    тот что аl , он мне больше понравился!
    ;;; Площадь линии
    ;;; http://geodesist.ru/members/1958.30261/
    ;;; 18 июля 2019г.
    (defun c:al (/)
    (vl-load-com)
    (setq c (car (entsel "Укажите линию >"))
    ln (vlax-curve-getDistAtPoint c (vlax-curve-getEndPoint c))
    p (vlax-curve-getPointAtDist c (/ ln 2))
    a (strcat (rtos (vlax-curve-getArea c) 1 1) " кв.м")
    )
    (vl-cmdf "_leader" p pause "" a "")
    (princ)
    )
    ;|«Visual LISP© Format Options»
    (100 1 2 2 nil " " 80 60 0 0 0 nil nil nil T)
    ;*** НЕ добавляйте текст под комментариями! ***|;

    не могу понять где высоту менять!
     
  13. zvezdochiot

    zvezdochiot Форумчанин

    Тож неплохо. Только эт fas. Не очень интересно.

    Ну для начала может стоит "_leader" на "_text" поменять? А вот список параметров текста уже вспоминать надо.

    Ага. Список параметров значит такой:
    Код:
    _TEXT point height angle string
    
    В твоём случае это наверное будет что то вроде:
    Код:
    (vl-cmdf "_text" p 0.1 90.0 a)
     
    koban83 нравится это.
  14. koban83

    koban83 Форумчанин

    (vl-cmdf "_text" p 0.2 0.0 a) вот так лучше
    а как убрать квадратные метры. -это сделал!
    как округлить до одного знака!?
    и как бы прописать чтоб по центру полигона ставил текст! было бы вообще супер!
     
  15. 1958

    1958 Форумчанин

    замените на:
    a (rtos (vlax-curve-getArea c) 2 1)
     
    zvezdochiot и Qvinto нравится это.
  16. zvezdochiot

    zvezdochiot Форумчанин

    Проще указывать вручную. Замени:
    Код:
    p (vlax-curve-getPointAtDist c (/ ln 2))
    
    на:
    Код:
    p (getpoint "Select point insert:")
    
    PS: Первый раз здесь вижу человека, у которого нулевое направление не на севере и углы не по часовой.
     
  17. 1958

    1958 Форумчанин

    Попробуйте такой вариант:
     

    Вложения:

    • 11.LSP
      Размер файла:
      2,1 КБ
      Просмотров:
      15
  18. zvezdochiot

    zvezdochiot Форумчанин

    Прикольно. А ежели полилиния будет в восьмёрку закручена? (@1958 мне просто протестить не в чем).

    PS: И я считаю, что параметр высоты здесь необходим:
    Код:
    (setq textheight (getdist "\nText height: "))
    
     
  19. 1958

    1958 Форумчанин

    восьмерка.jpg
    Зачем? И почему вам не по душе постоянное значение в 2 мм? (cons 40 2.0)
    Замкнутую восьмерку определяет.
     
  20. zvezdochiot

    zvezdochiot Форумчанин

    Даже не знаю, как ответить. :)))
     
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление