Может быть ввести правило: сверху вниз, слева направо? Левый верхний текст в первый атрибут, левый нижний во второй, средний верхний в третий, средний нижний в четвертый, правый в пятый и т.д.? Правда, при таком варианте не ясно, что делать, если текстов меньше, чем атрибутов. Например, одна порода деревьев... ----- Может, запросить для каждого атрибута не расстояния, а указать соответствующий текст? Тогда, если какого-то текста нет, то его атрибут и не заполнять? И искать соответствующие тексты с некоторым допуском - у разных блоков они могут располагаться чуть сдвинутыми.
Если тексты одинаковые то зачем вообще программа, выбираете все блоки и вводите текст. Если тексты разные но имею общий признак, например в отдельном слое то можно их выбрать через "выбрать аналог/подобное" и использовать для заполнения только их, если же под конкретный блок подгонять программу то получится узкоспециализированное нечто, которое больше никому не нужно, смысла такое писать особо нет, быстрее один раз такую задачу руками выполнить. Ну или хотя бы с помощью текущей программы, а руками выделить нужные тексты вместе с блоками, убрать фильтрацию по расстояниям (сделать например 0 - 1000), гемора конечно чутка больше будет, но явно быстрее чем вручную каждый блок заполнять. --- Сообщения объединены, 4 окт 2024, Оригинальное время сообщения: 4 окт 2024 --- Добавил статистику после отработки, сколько было текстов выбрано, сколько соответствующих блоков, сколько атрибутов заполнено.
alz, выносками на чертеже отмечены источники выбросов, нужны их номера и координаты. Источники могут быть точечными - нарисованы выноской с точкой, нужны текст выноски и её координаты. А могут быть не точечными - нарисованы полилинией с выноской, нужны текст выноски и координаты вершин/точек полилинии. Т.к. пока с нумерацией проблемы (есть дубли) также нужны названия слоёв. Итого Название слоя; Текст выноски; Координаты выноски (или линии при её наличии в основании выноски).
alz, спасибо! Только выбирать неудобно, лучше бы всё через точку с запятой: Слой; Содержимое; Координаты без "Выноска Х" и "Полилиния Y". Можно так?
alz, вот небольшой фрагмент: 01.txt - первые 5 результатов в существующем виде 02.txt - в том, как хотелось бы их видеть (оказалось, что номера 6111, 0373 и 6107 пропущены, добавил)
Чет фигня получится, если несколько линий в точке то что, как отделять от координат самой выноски или если есть линия координаты выноски не нужны?
alz, именно так: "если есть линия координаты выноски не нужны", т.к. это не точечный источник. По идее "несколько линий в точке", как и несколько точек с одинаковыми координатами быть не должно. Но на практике пока такое есть (это тоже косяк, как и с нумерацией, который будет устранён). Выход - добавить перед координатами тип объекта (линия 1, линия 2, точка 1, точка 2 и т.д.).
alz, виноват, но пока совсем не то получается. Сделал более наглядный вариант: В 00.dwg - оставил только 10 источников (9 точечных и 1 не точечный). В 01.txt - то, что получаем при выборке сейчас (к сожалению, данные не верны и я не смогу по ним сделать выборку). В 02.txt - то, что должно бы быть...