Добро пожаловать!

Войдите или зарегистрируйтесь сейчас!

Войти

Выноска длины полилинии

Тема в разделе "Autocad", создана пользователем wert, 9 авг 2018.

  1. 1958

    Форумчанин

    Регистрация:
    21 авг 2013
    Сообщения:
    636
    Симпатии:
    696
    Адрес:
    СССР, город хлебный
    После долгого обсуждения в личной переписке написал для Виктoрия небольшой лисп для вставки в чертеж длин и площадей линий и площадей штриховок. Обрабатываются линии и штриховки текущего слоя.
     

    Вложения:

    • 89.LSP
      Размер файла:
      1,4 КБ
      Просмотров:
      29
    #41
    Виктoрия нравится это.
  2. zvezdochiot

    Форумчанин

    Регистрация:
    27 июн 2014
    Сообщения:
    5.915
    Симпатии:
    2.092
    Адрес:
    г. Москва
    "Ну вы либо штаны оденьте, либо крестик снимите".
     
    #42
  3. 1958

    Форумчанин

    Регистрация:
    21 авг 2013
    Сообщения:
    636
    Симпатии:
    696
    Адрес:
    СССР, город хлебный
    Согласен. Исправил. ::biggrin24.gif::
     

    Вложения:

    • 89.LSP
      Размер файла:
      1,5 КБ
      Просмотров:
      29
    #43
    zvezdochiot нравится это.
  4. Deleted member 122005

    Deleted member 122005 Только чтение

    Оффтоп
    Хватит вам уже эту фразу из анекдота писать с ошибкой. Штаны не одевают, а надевают!::tongue24.gif::
     
    #44
    АлексЮстасу нравится это.
  5. zvezdochiot

    Форумчанин

    Регистрация:
    27 июн 2014
    Сообщения:
    5.915
    Симпатии:
    2.092
    Адрес:
    г. Москва
    Оффтоп
    Не "ошибка", а маркер, такой же как чорт.

    "По следу хлебных крошек..."
     
    #45
    АлексЮстасу нравится это.
  6. 1958

    Форумчанин

    Регистрация:
    21 авг 2013
    Сообщения:
    636
    Симпатии:
    696
    Адрес:
    СССР, город хлебный
    Так вот, Виктoрия попросила написать раздельные лиспы для длин линий и всего остального.
    Представляю лисп для подписи длины всевозможных линий, как то отрезки, линии, полилинии, сплайны, дуги, эллипсы, окружности и не знаю чего еще.
     

    Вложения:

    • ll.LSP
      Размер файла:
      1,8 КБ
      Просмотров:
      46
    #46
    AGF и zvezdochiot нравится это.
  7. 1958

    Форумчанин

    Регистрация:
    21 авг 2013
    Сообщения:
    636
    Симпатии:
    696
    Адрес:
    СССР, город хлебный
    В личной переписке Alexandor1983 сообщил, что в Civil 3D 2019 ll.lsp не работает. Проверил в Civil 3D 2018, тоже не пашет. Пришел к выводу, что команда ll используется (зарезервирована) Civil. Поэтому переименовал лисп и команду запуска на lenlin и, о чудо, всё заработало. ::laugh24.gif::
     

    Вложения:

    • lenlin.LSP
      Размер файла:
      1,8 КБ
      Просмотров:
      35
    #47
    zvezdochiot и AGF нравится это.
  8. RomZZes

    Регистрация:
    23 июл 2021
    Сообщения:
    4
    Симпатии:
    0
    Добрый день!
    Могу попросить чуть доработать, нужно чтобы указывал длину пролета между опорами ЛЭП
    в формате L= "число округленное до целого, но затем через точку должен стоять 0"
     
    #48
  9. 1958

    Форумчанин

    Регистрация:
    21 авг 2013
    Сообщения:
    636
    Симпатии:
    696
    Адрес:
    СССР, город хлебный
    --- Сообщения объединены, 23 июл 2021, Оригинальное время сообщения: 23 июл 2021 ---
    Так устроит?
     

    Вложения:

    • rss.LSP
      Размер файла:
      906 байт
      Просмотров:
      23
    #49
    RomZZes нравится это.
  10. ilyxa1234

    Регистрация:
    26 ноя 2020
    Сообщения:
    5
    Симпатии:
    0
    Здравствуйте! Есть ли lisp по выводы длин выделенных полилиний, в их серединах, c задаваемым отступом?
    p.s Примерный вид во вложении[​IMG][​IMG][​IMG]
     

    Вложения:

    #50
  11. 1958

    Форумчанин

    Регистрация:
    21 авг 2013
    Сообщения:
    636
    Симпатии:
    696
    Адрес:
    СССР, город хлебный
    В апреле делал лисп для Виктoрия, немного переделал. Отступ текста от линий - двойной размер высоты текста. Подписываются длины всех линий, отрезков, дуг, окружностей, эллипсов.
     

    Вложения:

    • ll.LSP
      Размер файла:
      1,8 КБ
      Просмотров:
      27
    #51
    zvezdochiot нравится это.
  12. ilyxa1234

    Регистрация:
    26 ноя 2020
    Сообщения:
    5
    Симпатии:
    0
    А для полилиний длину вывести не получится?
     
    #52
  13. 1958

    Форумчанин

    Регистрация:
    21 авг 2013
    Сообщения:
    636
    Симпатии:
    696
    Адрес:
    СССР, город хлебный
    Получится конечно. Пробуйте.
     
    #53
    ilyxa1234 нравится это.
  14. ilyxa1234

    Регистрация:
    26 ноя 2020
    Сообщения:
    5
    Симпатии:
    0
    Что-то не получается у меня размер полилиний вывести, выводит на всех кривых исключая полилинию.
     
    #54
  15. zvezdochiot

    Форумчанин

    Регистрация:
    27 июн 2014
    Сообщения:
    5.915
    Симпатии:
    2.092
    Адрес:
    г. Москва
    #55
    Qvinto нравится это.
  16. 1958

    Форумчанин

    Регистрация:
    21 авг 2013
    Сообщения:
    636
    Симпатии:
    696
    Адрес:
    СССР, город хлебный
    1+ - увеличение на 1
    1- - уменьшение на 1
    incf и setf - это функции Common Lisp, я использую AutoLISP.

    Пример чертежа с вашей полилинией в студию, пожалуйста.
    Для примера приведу свой чертеж:
     

    Вложения:

    #56
    ilyxa1234, Qvinto и zvezdochiot нравится это.
  17. ilyxa1234

    Регистрация:
    26 ноя 2020
    Сообщения:
    5
    Симпатии:
    0
    Разобрался, спасибо! Нужно было, чтоб полилинии соответствовали текущему слою.
     
    #57
  18. 1958

    Форумчанин

    Регистрация:
    21 авг 2013
    Сообщения:
    636
    Симпатии:
    696
    Адрес:
    СССР, город хлебный
    Ну да. Если обратите внимание, то выборка линейных элементов происходит с учетом текущего слоя:
    (setq lay (getvar "clayer") - переменной lay присваивается имя текущего слоя
    i -1
    ss (ssget "_X" (list (cons 0 "*LINE,ARC,CIRCLE,ELLIPSE") (cons 8 lay))) -
    выбираются линейные элементы на текущем слое.

    Кстати, если на текущем слое имеется мультилиния, то будет происходить затык.
     
    #58
    ilyxa1234 нравится это.
  19. ilyxa1234

    Регистрация:
    26 ноя 2020
    Сообщения:
    5
    Симпатии:
    0
    Подскажите пожалуйста, можно ли в программе прописать условие, при котором некоторые размеры округлялись бы до определенного числа?
     
    #59
  20. 1958

    Форумчанин

    Регистрация:
    21 авг 2013
    Сообщения:
    636
    Симпатии:
    696
    Адрес:
    СССР, город хлебный
    Найдите строку (setq s (strcat "L" k "=" (rtos s 2 2) "m")) - вторая двойка это разрядность после запятой.
     
    #60
    ilyxa1234 нравится это.

Поделиться этой страницей

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