1. ВНИМАНИЕ! В течении пары дней +- будет переезд форума на более защищённый сервер. Возможны перебои в работе.
    Скрыть объявление

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

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

  1. Добрый день.
    Написал лисп, который собирает разбитые блоки (и не только) обратно в блоки.
    Ссылка на лисп в описании к видео. По всем вопросам писать на электронку, указанную в описание к видео.
     
    Elena95-97, Alexandr-GR и АлексЮстасу нравится это.
  2. АлексЮстасу

    АлексЮстасу Форумчанин

    Очень полезный лисп! Давно искал подобный, когда блоки оказывались разбитыми.
    Но никто до этого момента эту задачу не решил.

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

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

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

    alz Форумчанин

    Точка вставки блока в чертеж берет данные с координат базовой точки, по умолчанию он 0,0,0 но можно поменять в редакторе блоков, соответственно что бы все осталось на местах надо переносить не только элементы, но на эту же величина и относить базовую точку.
    upload_2023-12-22_20-44-33.png
     
    Аристарх нравится это.
  4. АлексЮстасу

    АлексЮстасу Форумчанин

    Мне кажется, что лучше программно сразу делать блоки с точкой вставки в 0,0,0. Это же правильнее для обычного случая.
     
  5. Специально сделал точку вставки вхождения блока - точку вставки от первого выбранного объекта для блока. Чтобы потом редактировать эти блоки. Например заменить их на другие объекты с помощью лиспа frto. Или вытащить какие-то значения из блока, в том числе, координаты вставки с помощью извлечения данных.
    Для разворотов блоков специально сделал разноименные блоки.
     
  6. АлексЮстасу

    АлексЮстасу Форумчанин

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

    АлексЮстасу Форумчанин

    Еще - не получается создать блок из одного элемента, например, из замкнутой полилинии (внемасштабного строения), из окружности (заполняющие знаки лесов) или т.п.
     
  8. АлексЮстасу

    АлексЮстасу Форумчанин

    Наверное, было бы лучше подходить к созданию блоков по аналогии с ручным способом - БЛОК/BLOCK.
    Т.е. сначала запрашивать базовую точку, потом указывать составные элементы. Базовую точку в описании блоков в 0,0,0.
    В т.ч. потому, что точки вставки реальных блоков могут быть вне элементов.
    Это бы сразу уменьшило количество обязательных переделок.
     

    Вложения:

    • Луг.png
      Луг.png
      Размер файла:
      947 байт
      Просмотров:
      6
  9. Из одного элемента не стал делать. Потому что лисп собирает блоки по определенным характеристикам, в том числе по одинаковому расстоянию между объектами. А здесь просто один объект, который может как нужным так и не нужным. Здесь поможет лисп frto с заменой блоков на обьекты, если очень надо.
    --- Сообщения объединены, 25 дек 2023, Оригинальное время сообщения: 25 дек 2023 ---
    Спасибо за обратную связь. Будет время-желания доделаю. Подожду еще замечаний, чтобы потом все скопом переделать.
     
  10. АлексЮстасу

    АлексЮстасу Форумчанин

    Удобнее пользоваться одним инструментом. Учитывая, что каждый инструмент всегда таит свои ограничения и сюрпризы.
    И идея программы, и начало отличные. Довести бы до общего случая - была бы оч. полезная и удобная программа.
     
  11. АлексЮстасу

    АлексЮстасу Форумчанин

    Лисп больше уже не работает?
    Есть соответствующий вопрос на форуме - https://geodesist.ru/threads/s-pomo...om-s-blokom-v-ego-atribut.67032/#post-1123929
     
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление