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

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

  1. paniva2010

    paniva2010 Форумчанин

    Спасибо
     
  2. Здравствуйте, Уважаемые Гуру AutoLisp! Помогите, пожалуйста, написать lisp. Использовал lisp - "Geo_ALign_object_to_curve_v2_0_2.vlx" он поворачивает текст вдоль линии. Есть похожий в меню-гео - "переместить текст вдоль линии". Но каждый раз выбирать объект, потом линию или наоборот довольно утомительный процесс. Возможно ли сделать чтобы программка перебирала скажем выбранные блоки или текст, или объекты в слое, которые лежат на полилинии или в её вершинах и поворачивала вдоль этой линии. Всем не равнодушным заранее СПАСИБО!
     
  3. alz

    alz Форумчанин

    Именно вдоль или вдоль с учетом нормальной видимости, что бы тексты вверх ногами не были? Стандартные варианты например на квадрате на нижнем ребре сделают тексты нормальные а на верхнем вверх ногами.
     
  4. Конечно хотелось бы чтобы красиво, нашел Лисп от Lee Mac но он разбивает линии вершинах где блоки. Может можно его подкорректировать???
     

    Вложения:

    • abbs.gif
      abbs.gif
      Размер файла:
      22,1 КБ
      Просмотров:
      18
    • AutoBlockBreakV1-9.lsp
      Размер файла:
      31,1 КБ
      Просмотров:
      7
  5. alz

    alz Форумчанин

    Та мне проще с нуля написать, в лиспе я уже давно не пишу. Сегодня набросаю.
     
  6. ALZ, а на чём Вы пишете? Тот лисп что я нашёл, хорош тем что крутит только блоки на линии а остальные не трогает. Но беда лишь в том что линию разбивает на куски и причем не просто в точке а удаляет кусок линии который за блоком.
     
  7. alz

    alz Форумчанин

    На шарпе, dll сборки.
     
  8. КАК??! Как С# дружит с автокадом? Я немного учу Java, но даже и малость не могу представить что там и куда можно написать чтобы автокад что-то сделал))) Добавил gif-ку работы лиспа от Lee Mac
     

    Вложения:

  9. alz

    alz Форумчанин


    Изучай))
     
    Timkin нравится это.
  10. Alz, ну Вы меня и загрузили конечно! Теперь стало похоже на Java! Может подскажите где найти документацию по Классам и методам, объектам по Autocad как у Oracle для Java?
     
  11. alz

    alz Форумчанин

    https://help.autodesk.com/view/OARX...gedRefGuide-Autodesk_AutoCAD_DatabaseServices

    вот тут смотри, в справке все есть, правда с описаниями почти везде беда

    в общем готово.

    Либо выбираешь заранее либо если не выбирал кривые (линии полилинии круги сплаины и тд) предложит выбрать.
    после выбора этих кривых спросит на каком расстоянии от кривых будем разворачивать объекты, после чего либо выбираем базовый объект(текст мтекст или блок) и программа расставит вдоль линии все объекты выбранного типа с таким же цветом и слоем, либо если не выбираете расставляет вдоль линий все тексты мтексты и блоки, находящиеся на заданном расстоянии от линий.

    После скачивания архив разблокировать, грузить через netload, на ленте появится кнопка или просто в командной строке команду AlignOnCurves
     

    Вложения:

  12. Alz, спасибо большое! Буду тестировать! Добрался до форума adn-cis - ужас как там всё страшно, коды такие аж в глазах рябит! А Вы - вечерок и программка готова! Большое уважение!
    --- Сообщения объединены, 22 фев 2024, Оригинальное время сообщения: 22 фев 2024 ---
    Кнопка появилась, но не работает... :( Может файл автокада приложить?
     

    Вложения:

  13. alz

    alz Форумчанин

    приложи, посмотрю, и что пишет в строку после нажатия на кнопку.
    Как вариант у меня тут использован метод получения угла из вектора появившийся видимо в 2024 автокаде, вроде как в старом Api такой перегрузки не было, может поэтому не сработать если вы в версии ниже, надо будет чутка переделать.
     
  14. --- Сообщения объединены, 22 фев 2024, Оригинальное время сообщения: 22 фев 2024 ---
    Я работаю в 2019 Acad и Сivil.
     

    Вложения:

  15. alz

    alz Форумчанин

    все проверил, все работает, только у вас блоки специфические, угол поворота текста в блоке задается параметром в блоке, а не поворотом блока, программа же разворачивает именно блок а не текст в нем, можно просто взорвать, тогда будет выглядеть вот так, но хз насколько вам важно сохранение блока. Можно сделать конечно программу под ваш вариант блока но тогда это будет не универсальная программа разворота всего а спец программа под конкретный тип блока.
    upload_2024-2-22_23-45-13.png
    --- Сообщения объединены, 22 фев 2024 ---
    вот тут не скрине кстати блок развернут программой нормально, угол поворота блока определяется круглой ручкой, направление от квадратной на круглую как раз по линии идет, так что вроде как работает корректно.
     
  16. Такие блоки нам выдал территориальный орган архитектуры. Лучше пусть будет универсальная. А у Вас работает потому что автокад 2024? на младших не будет работать?
    --- Сообщения объединены, 23 фев 2024, Оригинальное время сообщения: 22 фев 2024 ---
    Что-то я делаю не так??! Посмотрите gif, пожалуйста.
     

    Вложения:

    • Cm3soLOqP6.gif
      Cm3soLOqP6.gif
      Размер файла:
      19,8 МБ
      Просмотров:
      11
  17. alz

    alz Форумчанин

    Так, в общем переделал разворот, вместо просто установки параметра разворота сделал через трансформацию и блоки начали разворачиваться корректно, видимо програмное изменение параметра не все что надо, в новой версии будет работать, ну и выравнивание сделал и на блоки тоже и сделал это опцией, будет спрашивать после выбора дистанции

    Если не заработает то переделаю метод определения угла. больше вариантов у меня нет, все остальные методы еще в 14 автокаде были и должны работать
     

    Вложения:

    Timkin нравится это.
  18. Теперь всё работает! Огромное Вам спасибо!!! Потестирую, если будут косяки отпишу сюда. Извините что напряг Вас. Надо наверное заканчивать с геодезией и учить программирование, такие вещи вы умеете делать, КРУТЬ!
    --- Сообщения объединены, 23 фев 2024, Оригинальное время сообщения: 23 фев 2024 ---
    Alz, скоренько потестил всё работает, спасибо ещё раз огромное! Если дадите крипто-кошелёк то с меня чашечка кофе и круасан ;) Я наверное уже спать.
     
  19. Alz, добрый вечер! Если будет возможность, подкорректируйте пожалуйста программку. Не все блоки поворачивает по линии. Скриншот прилагаю.
     

    Вложения:

  20. alz

    alz Форумчанин

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