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

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

Войти

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

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

  1. Hunter23071985

    Форумчанин

    Регистрация:
    30 янв 2014
    Сообщения:
    44
    Симпатии:
    3
    alz, спасибо огромное!
    TXT-файл получился, за пару минут сделал выборку в Excel, данные правильные. Было бы удобно:
    - добавить в txt перед именем блока слово "Имя" и табулятор (чтобы упростить выборку)
    - добавить в txt X и Y центра блока (если это возможно)
    - подписать к имени txt кол-во блоков (если не сложно)
    С визуализацией проблема - в слое "!_Экспортировано" 269 блоков, как и должно быть, но их не видно...
    --- Сообщения объединены, 23 сен 2024, Оригинальное время сообщения: 23 сен 2024 ---
    Ещё проблема: в границах линии пропущены ЗОУИТ 18:21-6.44, 18:21-6.387...
     
    #1641
  2. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    362
    Симпатии:
    152
    1) имя и координаты добавил
    2) ЗОУИТ 18:21-6.44 это огромный блок, который касается вашего контура краем одной из линий в нем, центр этого блока за километр от вашего контура, как вы предлагаете определить что он внутри? Кстати, могут быть и ошибки, когда центр блока, который идет в виде какого-нить полукруга и находится снаружи контура попадет внутрь этого контура, так что тут только руками проверять.
    3) проблемы с визуализацией от того, что внутри блоков все в соответствующих слоях, что бы проверить вам наоборот надо погасить (кнопкой заморозки слоя а не выключения) слой "!_Экспортировано" тогда эти блоки выключатся и останутся остальные. Так же можно скопировать все попавшее в слой в другой чертеж, тогда будет видно что в него попало.
     

    Вложения:

    • AttExport.zip
      Размер файла:
      25,9 КБ
      Просмотров:
      4
    #1642
    Последнее редактирование: 23 сен 2024
  3. Hunter23071985

    Форумчанин

    Регистрация:
    30 янв 2014
    Сообщения:
    44
    Симпатии:
    3
    alz, спасибо! Txt и слой заполняются, визуализация заморозкой слоя "!_Экспортировано" тоже работает.
    Хорошо бы ещё и перекрасить блоки в слое "!_Экспортировано", если можно.
    И исправить маленькую проблему - сейчас пишет "Экспортировано блоков - 0" и к имени txt тоже ставит "_0".
     
    #1643
  4. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    362
    Симпатии:
    152
    Понял, сначала добавил еще нумерацию блоков в текстовике, в этой же строчке еще и подсчет идет, потом ее закомментировал, поэтому 0, если надо могу включить, или просто поправлю подсчет.
     
    #1644
  5. Hunter23071985

    Форумчанин

    Регистрация:
    30 янв 2014
    Сообщения:
    44
    Симпатии:
    3
    alz, да, было бы здорово просто поправить подсчёт без нумерации блоков в текстовике.
    А задать другой цвет блокам, которые попадали в слой "!_Экспортировано" не реально?
    Это позволило бы раскрасить их по зонам, что визуально было бы очень наглядно.
     
    #1645
  6. alz

    alz
    Форумчанин

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

    Форумчанин

    Регистрация:
    30 янв 2014
    Сообщения:
    44
    Симпатии:
    3
    alz, да, внутри блока все свойства (цвет, тип, вес, прозрачность, материал) заданы "По слою".
    Лисп для перекрашивания объектов в блоках у меня есть, поэтому, если проблематично это добавить, то не заморачивайтесь.
    Спасибо огромное! До завтра!
     
    #1647
  8. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    362
    Симпатии:
    152
    Нумерацию и перекрашивание сделал, перекрашивание внутри блоков уже сами.
     

    Вложения:

    • AttExport.zip
      Размер файла:
      28,7 КБ
      Просмотров:
      2
    #1648
  9. Hunter23071985

    Форумчанин

    Регистрация:
    30 янв 2014
    Сообщения:
    44
    Симпатии:
    3
    alz, спасибо огромное! Вечером буду тестировать... Но только сначала заново соберу исходный чертёж из XML.
    Ранее я подрезал часть блоков по самой внешней полилинии (граница района) с помощью CookieCutter2 v1.2 mod by VVA.
    Вероятно, это не критично, но лучше перепроверю. )) Кстати, может есть lisp для подрезки блоков по линии без разбивки?
    PS: пока нашёл команду CLIPIT - вводим, выбираем полилинию, выбираем блок, допуск 0.1ю
    Вроде все атрибуты на месте, но работает для 1 блока.
     
    #1649
    Последнее редактирование: 24 сен 2024
  10. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    362
    Симпатии:
    152
    https://geodesist.ru/resources/trimobjects.350/
    Вот такую когда-то писал, режет внутри блоков сохраняя на чертеже обрезанный вариант, но желательно сохраняться перед обработкой, один раз у меня зафаталило, не помню здесь поправленная версия лежит или нет.
     
    #1650
  11. Hunter23071985

    Форумчанин

    Регистрация:
    30 янв 2014
    Сообщения:
    44
    Симпатии:
    3
    alz, круто! Но, наверное, здесь не исправленная версия, - ошибку выдаёт.
    Если что, ссылка на чертёж прежняя, но версия там чуть более полная, чем ранее.
    Подрезать пытался по линии в слое "Линия 3" с разными настройками.
     
    #1651
  12. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    362
    Симпатии:
    152
    Не, это похоже на то, что версия автокада не та, потестирую на 2024, раньше только на 2021 тестировал, старая прога, обновлю может.
    --- Сообщения объединены, 24 сен 2024, Оригинальное время сообщения: 24 сен 2024 ---
    В общем моя версия сработала без ошибок в 2024, но не подойдет, видимо что-то не учел и в копиях атрибуты теряются, возможно потому что невидимые, ну и по хорошему неплохо было бы конечно эту программу чутка переделать, но там столько наверчено с этими блоками что явно не на час работы, будет свободное время поразбираюсь.
    upload_2024-9-24_20-33-31.png
     
    #1652
    Hunter23071985 нравится это.
  13. Hunter23071985

    Форумчанин

    Регистрация:
    30 янв 2014
    Сообщения:
    44
    Симпатии:
    3
    alz, было бы конечно очень здорово доработать TRIMOBJECTS!
    Всегда можно создать копию файла. Может быть без копий блоков обойтись или вся логика программы на этом завязана?
     
    #1653
  14. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    362
    Симпатии:
    152
    У вас частный случай, когда каждый блок индивидуален, обычно же блоки на чертеже имеют несколько вставок, соответственно обрезал что-то в одном - обрезалось во всех. Можно в принципе сделать опционально и без копий, но это уже наверное для темы именно по программе обрезания, и явно будет не быстро, сейчас не до нее.
    Именно в вашем файле в любом случае обрезка будет работать с потерей атрибутов, они в блоках сидят в точке 0,0,0, при обрезании оказываются за границей вашего контура обрезки и удаляются, так что именно обрезка тут не поможет, если только что-то индивидуальное ваять, но это уже слишком трудозатратная программа получится, а времени сейчас нет, под программу экспорта у меня в принципе все вспомогательные функции уже готовые были, а тут с нуля кучу всего делать. Может кто-то на форуме решит заняться вашим случаем или все же есть что-то готовое.
     
    #1654
  15. Hunter23071985

    Форумчанин

    Регистрация:
    30 янв 2014
    Сообщения:
    44
    Симпатии:
    3
    alz, за счёт обрезки я надеялся повысить точность выборки и качество визуализации AttExport.
    И попутно избавиться от неудобства таскать с чертежом небольшого завода обрывки кадастра целого муниципального района. ))
    Ради этого с чертежом можно делать, что угодно: временно перенести всё в 0,0; сделать атрибуты видимыми и т.д.
    Результат за любую точку можно притащить в основной чертёж. Лишь бы подрезать, выбрать инфо по зонам и не потерять атрибуты.
    Вообще CLIPIT хорошо режет с сохранением атрибутов, но поштучно: видео. Может программно им можно пройтись по всем блокам?
     
    #1655
  16. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    362
    Симпатии:
    152
    Если это лисп то по идее можно, надо только ее достать в виде отдельного файла и спец по лиспу по сделает ее массовой.
     
    #1656
  17. Hunter23071985

    Форумчанин

    Регистрация:
    30 янв 2014
    Сообщения:
    44
    Симпатии:
    3
    alz, а где же такого спеца найти? )) Вообще CLIPIT - это стандартная команда AutoCAD, возможно из набора Express Tools.
     
    #1657
  18. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    362
    Симпатии:
    152
    https://forum.dwg.ru/showthread.php?t=3370 вот тут ее кто-то находил и редактировал, можете попробовать апнуть темку
     
    #1658
    Hunter23071985 нравится это.
  19. Hunter23071985

    Форумчанин

    Регистрация:
    30 янв 2014
    Сообщения:
    44
    Симпатии:
    3
    alz, апнуть не вышло - пост стёрли Админы, создал в бесплатном разделе - тоже стёрли, написал VVA - молчит, в платный раздел не пошёл.
    Дождался получения всех выписок, пролечил новую версию XML Converter, собрал DWG и пошёл по такому алгоритму:
    1. Создать DXF из XML выписок ЕГРН в XML Converter
    2. Создать DWG из DXF в Acme CAD Converter
    3. Нанести полилиниями границы предприятия, СЗЗ и т.д.
    4. Собрать информацию о блоках внутри этих границ в AttExport:
    а) ввести команду NetLoad - выбрать AttExport.dll - Всегда загружать (или Загрузить один раз)
    б) ввести AttExport - Enter (2 р.) - указать линии (н-р, забор) - Enter - сохранить txt с/без перекраски блоков и с созданием слоя "!_Экспортировано"
    в) заморозить слой "!_Экспортировано"
    г) ввести AttExport - Enter (1 р.) - выбрать пропущенные блоки - данные будут дописаны в txt и слой "!_Экспортировано"
    д) переименовать слой "!_Экспортировано" по смыслу (н-р, _Забор) и повторить п. 4б-4г с другими линиями-границами
    5. Подрезать блоки по самой внешней границе с помощью CLIPIT
    6. Обработать блоки, заменив цвет "По слою" на цвет "По блоку" в bgtools (команда BGBLFIX)

    Но пункт 4г как-то не так работает... Можно поправить или пояснить логику?
     
    #1659
  20. alz

    alz
    Форумчанин

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

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

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