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

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

Войти

Помогу бесплатно разработать любую программу на autolisp.

Тема в разделе "Autodesk", создана пользователем Германup, 3 фев 2014.

  1. paniva2010

    Форумчанин

    Регистрация:
    4 окт 2015
    Сообщения:
    73
    Симпатии:
    4
    Уважаемые знатоки. Не могли бы вы создать программу, чтобы размечала линию блоками через нужное расстояние, и выравнивала блок относительно линии. Желательно, чтобы программа работала сразу с несколькими линиями, показывала начало разметки, показывала, куда будет развернут блок. Есть лисп (прикладываю), но он эти условия все не выполняет
     

    Вложения:

    • cmeasure.lsp
      Размер файла:
      3,3 КБ
      Просмотров:
      9
    #1441
  2. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    362
    Симпатии:
    152
    Вот если бы еще и чертежик прикладывали, с примером хотя бы на небольшом кусочке, было бы гораздо понятнее и народ бы активнее отвечал на такие запросы, ну и конечно если выкладываете с ним лисп расписать неплохо было бы типа вот это и это он делает, вот это не делает, вот это делает но не так как надо, тут таки не одна функция а целый набор.
     
    #1442
    1958 нравится это.
  3. Alex_Shaton

    Форумчанин

    Регистрация:
    30 июл 2013
    Сообщения:
    258
    Симпатии:
    260
    Адрес:
    Беларусь Гомель
    Лучше всего подробно и доходчиво расписать, что именно нужно. Первое - общий порядок выполняемых действий. Второе - это нужно на постоянной основе или это разовая задача. Может и не нужен один лисп, а задачу можно решить стандартными средствами AutoCAD. (кстати, и версию када указать желательно). Существует много готовых решений. Если, к примеру, нужно обрезать линию под блоком, есть прекрасное решение от Lee Mac: http://www.lee-mac.com/autoblockbreak.html. Опишите подробнее, что именно Вы хотите.
    --- Сообщения объединены, 7 окт 2023, Оригинальное время сообщения: 7 окт 2023 ---
    pltools в помощь https://dwg.ru/dnl/607
     
    #1443
  4. 1958

    Форумчанин

    Регистрация:
    21 авг 2013
    Сообщения:
    657
    Симпатии:
    722
    Адрес:
    Ташкент, город пыльный
    Я так понимаю, что требуется разметить пикетаж по линии? Или что? Ничего другого на ум не приходит.
    Поэтому, как
    на котором указали бы - "вот линия, вот блок до выполнения программы, а вот та же линия, размеченная этим блоком"
    И сразу вопрос - у блока есть атрибуты? Их надо учитывать и вставлять, допустим, нумерацию или пикетаж?
    Вот именно поэтому я в последнее время перестал писать лиспы по просьбам страждущих. Пока добьешься нужной информации, таким придурком чувствуешь сначала "заказчика", а потом себя.
     
    #1444
  5. paniva2010

    Форумчанин

    Регистрация:
    4 окт 2015
    Сообщения:
    73
    Симпатии:
    4
    Как в чертеже это показать – не знаю. Алгоритм примерно такой:
    1.Запуск программы
    2.Программа просит выбрать линию для разметки
    3.Выбираем линию на экране.
    4.Происходит подсветка начала линии (точка отсчета).
    5.Программа спрашивает – все устраивает, или произвести реверс линии.
    Если устраивает – следующее действие
    Если не устраивает – программа производит реверс линии и снова спрашивает …
    Если устраивает – следующее действие
    6.Программа спрашивает, каким блоком произвести разметку – диалог: указать в чертеже или написать имя блока
    7.Программа спрашивает: в какую сторону от линии будет ориентирован блок, или указать на экране
    8.Программа спрашивает, с какой кратностью в метрах произвести разметку
    9.Программа расставляет блоки
    --- Сообщения объединены, 7 окт 2023, Оригинальное время сообщения: 7 окт 2023 ---
    Атрибуты, нумерация, пикетаж не нужны. Просто блок с возможностью выбора ориентации его относительно линии.
    --- Сообщения объединены, 7 окт 2023 ---
    Примерно также работает стандартная команда "разметить" в автокаде, но вот расширенные диалоги, как я хочу, она не предлагает.
     
    #1445
  6. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    362
    Симпатии:
    152
    окай, напишу, ничего сложного нет, алгоритм понятен, есть мысля как это красиво сделать, времени много не займет, отвлекусь от основного проекта, а то уже мозг устал, переключусь на простенькое
     
    #1446
  7. Alex_Shaton

    Форумчанин

    Регистрация:
    30 июл 2013
    Сообщения:
    258
    Симпатии:
    260
    Адрес:
    Беларусь Гомель
    А это не отрисовка ЛЭП часом?
     
    #1447
  8. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    362
    Симпатии:
    152
    Вроде все примерно так как просили, чутка поиграл в дизайнера)

     

    Вложения:

    #1448
  9. 1958

    Форумчанин

    Регистрация:
    21 авг 2013
    Сообщения:
    657
    Симпатии:
    722
    Адрес:
    Ташкент, город пыльный
    А что у ЛЭП столбы тик в тик через равные промежутки стоят? Если только для проектирования, да и то вряд ли.
    Товарищ заинтриговал, колись автор - для чего?
     
    #1449
  10. paniva2010

    Форумчанин

    Регистрация:
    4 окт 2015
    Сообщения:
    73
    Симпатии:
    4
    Автокад-мощная штука. Много чего для него написано и пишется. Мне в своей работе приходится использовать и другие программы, в которых, например, не реализованы до конца сложные линии, например забор со столбами выше метра рисуется как линия, на которую отдельно надо ставить блоки, и т.д. В автокаде можно проделать все эти манипуляции с блоками, и затем подготовленные блоки уже использовать.
    --- Сообщения объединены, 8 окт 2023, Оригинальное время сообщения: 8 окт 2023 ---
    Можно дать разметку по линии блоком-выноской для интерполяции отметки земли, и пр.
    --- Сообщения объединены, 8 окт 2023 ---
    Можно ли добавить выбор блока с экрана, почему-то новосозданные блоки в чертеже не показывает
     
    #1450
  11. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    362
    Симпатии:
    152
    Ну теперь в списке должны быть все блоки, кроме анонимных и модели/листов, ну и кнопочку добавил
     

    Вложения:

    #1451
    SOYZNIK и paniva2010 нравится это.
  12. paniva2010

    Форумчанин

    Регистрация:
    4 окт 2015
    Сообщения:
    73
    Симпатии:
    4
    Вроде все круто-классно. Как всегда - Вы - умница.
    --- Сообщения объединены, 8 окт 2023, Оригинальное время сообщения: 8 окт 2023 ---
    Буду тестировать
     
    #1452
  13. paniva2010

    Форумчанин

    Регистрация:
    4 окт 2015
    Сообщения:
    73
    Симпатии:
    4
    Уважаемый ALZ. Все работает, но есть странность. Если блок легкий (состоящий из отрезков) все отлично работает. Если блок тяжелый (состоящий из полилиний и штриховки - пример прилагаю, можно взять любой блок), подсвечивание происходит очень-очень медленно. Можно ли что-либо улучшить, или это проблемы "железа"?
     

    Вложения:

    • Sign_500.dwg
      Размер файла:
      347,4 КБ
      Просмотров:
      4
    #1453
  14. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    362
    Симпатии:
    152
    Тут скорее ограничение метода предварительного просмотра, пока идет редактирование блоков в чертеже нет, они показаны чисто визуально, и после нажатия Esc они уже добавляются в чертеж.
    В каком виде у вас проявляется замедление? У меня видимо тоже не особо такие тянет, во время движения мыши прорисовать не успевает, то есть предварительноe положениe видно когда мышка хоть на мгновение замирает, торможения самого чертежа при при зуммировании или перетаскивании не наблюдается, ну по крайней мере в вашем файле.
    Над оптимизацией попробую подумать, но тут все не просто, не факт что хоть что-то получится.
     
    #1454
  15. paniva2010

    Форумчанин

    Регистрация:
    4 окт 2015
    Сообщения:
    73
    Симпатии:
    4
    Замедления как такового нет. Просто при выделении линий одна линия подсвечивается, сигнализирует "начало отсчета", другие же линии подсвечиваются через какое-то время, тоже самое с визуализацией блоков. При перетягивании экрана визуализация пропадает, чтобы она появилась, надо подождать...Но работа самой программы на "отлично"
     
    #1455
  16. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    362
    Симпатии:
    152
    Это ограничение такого метода отображения, как вариант переделать полностью систему, вместо такого визуального добавлять блоки реально в чертеж, но тут возможны тормоза после каждого действия из менюшки, так как потребуется удалить все старые варианты с добавить все новые, чутка попозже попробую сделать такой вариант программы.
    --- Сообщения объединены, 9 окт 2023, Оригинальное время сообщения: 9 окт 2023 ---
    В общем сделал вариант где блоки сразу добавляются на чертеж, проблем в отрисовке соответственно нет, у меня отрабатывает достаточно шустро при изменениях.
     

    Вложения:

    #1456
    paniva2010 нравится это.
  17. paniva2010

    Форумчанин

    Регистрация:
    4 окт 2015
    Сообщения:
    73
    Симпатии:
    4
    Протестировал - ничего не изменилось...
    Может, от версии автокада зависит.? Тестирую в 2013 - тормозит, а на виртуальной машине - 2014 - все летает?
     
    #1457
  18. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    362
    Симпатии:
    152
    вы точно второй вариант пробовали, там вообще другой метод, он не может быть таким же
    upload_2023-10-9_18-9-4.png
     
    #1458
  19. paniva2010

    Форумчанин

    Регистрация:
    4 окт 2015
    Сообщения:
    73
    Симпатии:
    4
    Вы правы, запускал 2 вариант командой без цифры 2, вижу, что работает по-другому. Спасибо. Буду тестировать.
     
    #1459
  20. paniva2010

    Форумчанин

    Регистрация:
    4 окт 2015
    Сообщения:
    73
    Симпатии:
    4
    Все отлично!!!
     
    #1460

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

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