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

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

Войти

XDPoint - связь точечных объектов с другими объектами

Тема в разделе "Autodesk", создана пользователем АлексЮстасу, 23 июл 2023.

  1. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.871
    Симпатии:
    669
    Адрес:
    Маськва
    Мы решили начать второй поисковый подпроект - XDPoint, не закрывая еще поисковый подпроект XDLabel. Наоборот - попробуем использовать наработки XDLabel.
    XDPoint - продолжение идеи определения и использования связей между объектами в базовом AutoCAD. И продолжение проекта инструментов работы с XData и их использования.
    Начинаем параллельно, чтобы уточнить-унифицировать подходы, решения, для определения связей объектов различного типа.
    XDPoint - определение и использование связей точечных объектов с другими объектами.
    Тут тоже много вопросов.
    Например, какие объекты в данном случае есть смысл считать "точечными"? Только Точки, Блоки?

    Самый очевидный для нас пример связей блоков с объектами - знаки опор и стрелки на ЛЭП. Но и, например, бергштрихи (если блоками) на горизонталях, штрихи (если блоками) на откосах.

    Проект [как и предыдущие] открытый, участие приветствуется.

    Текущее состояние, работающие команды для любых AutoCAD на lisp - XDPoint.fas.
    - XDPOINT_CREATE - создание точечных объектов и связи с их базовыми объектами,
    - XDPOINT_LINK - связывание существующих точечных объектов с их базовыми объектами,
    - XDPOINT_UPDATE - обновление точечных объектов, их свойств и положения относительно базовых объектов.
     

    Вложения:

    • XDPoint.fas
      Размер файла:
      128 КБ
      Просмотров:
      1
    #1
    Последнее редактирование: 11 мар 2024
  2. MaxKal

    Форумчанин

    Регистрация:
    17 окт 2014
    Сообщения:
    174
    Симпатии:
    230
    Адрес:
    Краснодар
    точечными объектами я считаю являются блоки, тексты, мультитексты, точки, окружности, и шо там ещё есть эллипсы, таблицы: то есть все объекты положение которых можно описать одной точкой, например окружность имеет центр, и какая там разница какой у неё радиус.
     
    #2
    Steinar нравится это.
  3. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.871
    Симпатии:
    669
    Адрес:
    Маськва
    Мы пока решили так и делать.
    За исключением текстов-мультитекстов и пр. надписей - для них отдельно, и частично для них уже сделано - XDLabel.
    Сейчас мы приняли за "точечные" 6 типов примитивов: точки, блоки, окружности, 3dтела (точка - центроид), таблицы и отрезки (начальная точка).
    Про эллипсы мы думали, но пока не стали.
    Кстати, постепенно XDPoint получается, и получается достаточно интересно.
    Заодно подправляем-расширяем XDLabel для надписей.
    Жаль, что силенок близко к нулю. :)
     
    #3
    Последнее редактирование: 15 авг 2023
  4. MaxKal

    Форумчанин

    Регистрация:
    17 окт 2014
    Сообщения:
    174
    Симпатии:
    230
    Адрес:
    Краснодар
    а почему вы для связи объектов не используете или не хотите использовать внешние базы данных, как наш уважаемый trir постоянно упоминает? Тут же очень много плюсов.
     
    #4
  5. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.871
    Симпатии:
    669
    Адрес:
    Маськва
    Я бы разделил этот вопрос в контексте данной темы на два: 1. почему не внешние БД?, 2. установление связей объектов.
    1. Я не против внешних БД. Сам в свое время работал с ГИС-приложением с Oracle.
    Для незначительных описательных (семантических, атрибутивных) данных использовать внешние БД - из пушки по воробьям. То же - для весьма небольших объемов данных, с каким работает основное большинство. И использование внешних БД слишком, безнадежно сложно для основного большинства пользователей.
    Для небольших наборов описательных данных - тип объекта, отображаемые характеристики - достаточно XData, прописываемых прямо в dwg при объектах. Это предельно просто, максимально технологично. Т.е. достаточно внутренней БД.
    Имея же внутреннюю БД, появляется возможность полнее, прямо передавать данные во внешние БД, т.к. во внутренней БД уже определены-собраны основные нужные данные.
    2. Эти подпроекты - XDPoint, XDLabel - должны обеспечивать связи объектов и средства работы со связанными объектами в базовом AutoCAD, в любых AutoCAD. Что может заметно помочь при создании чертежей/моделей.
     
    #5
  6. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.871
    Симпатии:
    669
    Адрес:
    Маськва
    Первый, еще сырой, но работающий в целом вариант XDPoint:
    - XDPOINT_CREATE - создание точечных объектов и связи с их базовыми объектами,
    - XDPOINT_LINK - связывание существующих точечных объектов с их базовыми объектами,
    - XDPOINT_UPDATE - обновление точечных объектов, их свойств и положения относительно базовых объектов.
    XDPOINT.png XDPOINT_LINK_1.png XDPOINT_UPDATEPT.png
    Т.е. любые "точечные" объекты (Точки, Блоки, Окружности, 3DТела, Таблицы, Отрезки) можно связать с любыми отрезками чертежей (XDPOINT_LINK). Критерий связи - расстояние до объектов для выбранных объектов. В т.ч. можно связывать "точечные" с "точечными".
    Если свойства и положение точечных объектов или положение и форма базовых объектов изменялись, и нужно свойства и положение точечных объектов восстановить относительно базовых, то XDPOINT_UPDATE.
    Создать точечные объекты (вставить-расставить относительно линий-границ базовых объектов, вставить в площадь) - XDPOINT_CREATE.
    Например, можно вставлять блоки/точки и пр. в вершины, на сегменты, регулярно с шагом на линии-границы. Допустим, расставить штрихи откосов. Если положение и форма бровки откосов изменялись, то штрихи с сохранением их длины "сами" примкнутся к бровке под теми же углами.
    И т.п.

    Добавлено:
    Добавили в XDPOINT_CREATE возможность вставлять объекты в вершинах продольно сегментам, "VERTICES ALONG" - можно расставлять стрелки на ЛЭП или т.п. Синхронно подправили для этого XDPOINT_LINK и XDPOINT_UPDATE.
    Конечно, хоть расстановка стрелок/опор ЛЭП и расстановка отрезков/блоков а-ля обрывы-откосы и возможны с XDPoint, делать это специализированными программками проще, быстрее и лучше.
    Тем не менее, может и такое создание ЛЭП, откосов и т.п. в каких-то случаях тоже оказаться нужным. И возможность XDPOINT_LINK + XDPOINT_UPDATE для уже расставленных стрелок, опор и штрихов позволит соответственно переносить-привязывать-доворачивать стрелки, опоры и штрихи для измененных ЛЭП, откосов и т.д.
     

    Вложения:

    • XDPoint.fas
      Размер файла:
      128 КБ
      Просмотров:
      0
    #6
    Последнее редактирование: 11 мар 2024
  7. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.871
    Симпатии:
    669
    Адрес:
    Маськва
    Для просмотра-выбора объектов, связанных с одним базовым объектом - XDLINK_SINGLESEL. Действует и для связанных надписей, и для связанных точечных объектов одновременно.
    Сделано специально для одного указываемого объекта (точечного, надписи, базового), для одного базового объекта - для однозначности.
    Показывает-выделяет на выбор: базовый объект (если была выделена надпись или точечный объект), все связанные надписи с соответствующим базовым объектом, все связанные точечные объекты, любые связанные с соответствующим базовым объектом.
    XDLINK_SINGLESEL.png
    Для выделения, просмотра, нужных действий.
     

    Вложения:

    • XDPoint.fas
      Размер файла:
      128 КБ
      Просмотров:
      0
    #7
  8. АлексЮстасу

    Форумчанин

    Регистрация:
    28 май 2012
    Сообщения:
    1.871
    Симпатии:
    669
    Адрес:
    Маськва
    XDPoint с исправленными многими ошибками и с дополнением. В XDPOINT_UPDATE добавлена возможность фиксировать текущие свойства и параметры связей точечных объектов.
    К командам XDPoint (аналогично как и к XDLink) добавлены команды выбора связанных объектов: XDLINK_SINGLESEL (см. предыдущее сообщение) и XDLINK_LINKSEL.
    Последняя одновременно действует и для связанных надписей, и для связанных точечных объектов.
     

    Вложения:

    • XDPoint.fas
      Размер файла:
      128 КБ
      Просмотров:
      3
    #8

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

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