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

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

Войти

Написал лисп bblocks_collect - собирает разбитые объекты в блоки

Тема в разделе "Autocad", создана пользователем Аристарх, 18 дек 2023.

  1. Аристарх

    Регистрация:
    24 мар 2014
    Сообщения:
    21
    Симпатии:
    20
    Адрес:
    Tjumen, Tyumenskaya Oblast', Russia
    Добрый день.
    Написал лисп, который собирает разбитые блоки (и не только) обратно в блоки.
    Ссылка на лисп в описании к видео. По всем вопросам писать на электронку, указанную в описание к видео.
     
    #1
    Elena95-97, Alexandr-GR и АлексЮстасу нравится это.
  2. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.970
    Симпатии:
    694
    Адрес:
    Маськва
    Очень полезный лисп! Давно искал подобный, когда блоки оказывались разбитыми.
    Но никто до этого момента эту задачу не решил.

    Если увидел правильно, то блоки из одинаковых элементов создаются с потерей их разворота - как в примере с заболоченностью. У меня даже получилось наоборот - все созданные блоки развернулись вдоль линий последнего.
    Лучше бы сохранять разворот. Те же фонари могли быть развернуты для читаемости. И т.п.

    Еще посмотрел внутрь - точки вставки блоков сейчас не в 0,0,0. Если в редакторе блоков элементы перенести в 0,0,0, то почему-то в модели изображения блоков отлетают от своих точек вставки. (Сколько раньше ни переносил содержание в редакторе на 0,0, такого эффекта у меня не было ::blink.gif::).

    Название команды не сохраняется в вызовах команд AutoCAD. Что-то, видимо, там слегка ему не нравится. Но действует нормально. :)
     
    #2
    Последнее редактирование: 22 дек 2023
  3. alz

    alz
    Форумчанин

    Регистрация:
    26 май 2014
    Сообщения:
    371
    Симпатии:
    153
    Точка вставки блока в чертеж берет данные с координат базовой точки, по умолчанию он 0,0,0 но можно поменять в редакторе блоков, соответственно что бы все осталось на местах надо переносить не только элементы, но на эту же величина и относить базовую точку.
    upload_2023-12-22_20-44-33.png
     
    #3
    Аристарх нравится это.
  4. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.970
    Симпатии:
    694
    Адрес:
    Маськва
    Мне кажется, что лучше программно сразу делать блоки с точкой вставки в 0,0,0. Это же правильнее для обычного случая.
     
    #4
  5. Аристарх

    Регистрация:
    24 мар 2014
    Сообщения:
    21
    Симпатии:
    20
    Адрес:
    Tjumen, Tyumenskaya Oblast', Russia
    Специально сделал точку вставки вхождения блока - точку вставки от первого выбранного объекта для блока. Чтобы потом редактировать эти блоки. Например заменить их на другие объекты с помощью лиспа frto. Или вытащить какие-то значения из блока, в том числе, координаты вставки с помощью извлечения данных.
    Для разворотов блоков специально сделал разноименные блоки.
     
    #5
  6. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.970
    Симпатии:
    694
    Адрес:
    Маськва
    Пробовал Вашу утилиту в недонастроенном AutoCAD, возможно у меня переменные еще установлены не подходящие. Пока не соображу...
    FRTO заменяет блоки вне зависимости от их точек вставки. (Кстати, FRTO заменяет, кажется, на основе центра габарита наборов элементов, но не у всех блоков точка вставки в геометрическом центре).
    Может быть я некорректно описал вопрос. Когда я Вашей утилитой создаю блоки, то в редакторе блоков точка вставки не в 0,0,0, а, допустим, в -879.307,11705.147,0. Или т.п.
    Например, блоки кустарничковой растительности, камней каменистых поверхностей нужно расставлять с разными поворотами. Те же фонари поворачивают, чтобы они не накладывались на другие объекты. И т.п.
    Если при создании блоков из набора элементов и повернутые наборы элементов принимаются за одинаковые блоки, то лучше сохранять их разворот. Т.к. это одинаковые, одноименные блоки, вставленные с разными углами.
     
    #6
    Аристарх нравится это.
  7. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.970
    Симпатии:
    694
    Адрес:
    Маськва
    Еще - не получается создать блок из одного элемента, например, из замкнутой полилинии (внемасштабного строения), из окружности (заполняющие знаки лесов) или т.п.
     
    #7
  8. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.970
    Симпатии:
    694
    Адрес:
    Маськва
    Наверное, было бы лучше подходить к созданию блоков по аналогии с ручным способом - БЛОК/BLOCK.
    Т.е. сначала запрашивать базовую точку, потом указывать составные элементы. Базовую точку в описании блоков в 0,0,0.
    В т.ч. потому, что точки вставки реальных блоков могут быть вне элементов.
    Это бы сразу уменьшило количество обязательных переделок.
     

    Вложения:

    • Луг.png
      Луг.png
      Размер файла:
      947 байт
      Просмотров:
      6
    #8
  9. Аристарх

    Регистрация:
    24 мар 2014
    Сообщения:
    21
    Симпатии:
    20
    Адрес:
    Tjumen, Tyumenskaya Oblast', Russia
    Из одного элемента не стал делать. Потому что лисп собирает блоки по определенным характеристикам, в том числе по одинаковому расстоянию между объектами. А здесь просто один объект, который может как нужным так и не нужным. Здесь поможет лисп frto с заменой блоков на обьекты, если очень надо.
    --- Сообщения объединены, 25 дек 2023, Оригинальное время сообщения: 25 дек 2023 ---
    Спасибо за обратную связь. Будет время-желания доделаю. Подожду еще замечаний, чтобы потом все скопом переделать.
     
    #9
  10. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.970
    Симпатии:
    694
    Адрес:
    Маськва
    Удобнее пользоваться одним инструментом. Учитывая, что каждый инструмент всегда таит свои ограничения и сюрпризы.
    И идея программы, и начало отличные. Довести бы до общего случая - была бы оч. полезная и удобная программа.
     
    #10
  11. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.970
    Симпатии:
    694
    Адрес:
    Маськва
    Лисп больше уже не работает?
    Есть соответствующий вопрос на форуме - https://geodesist.ru/threads/s-pomo...om-s-blokom-v-ego-atribut.67032/#post-1123929
     
    #11

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

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