| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
20.09.2021, 21:49 | #1 | |
VBA. Как получить значения объекта Text зная его координаты.
инженер проектировщик
Мск
Регистрация: 26.10.2020
Сообщений: 8
|
||
Просмотров: 2357
|
|
||||
Регистрация: 10.08.2013
Сообщений: 11,039
|
в самом простейшем случае:
1. Получить select с фильтром объекты AcadText на указанном слое. 2. В цикле по полученному набору у каждого текстового примитива получать методом GetBoundingBox координаты границ описывающего прямоугольника, и проверять вхождение точки в данный прямоугольник. |
|||
|
||||
СЦБ Регистрация: 09.03.2006
Иркутск
Сообщений: 78
|
Цитата:
Код:
|
|||
|
||||
инженер проектировщик Регистрация: 26.10.2020
Мск
Сообщений: 8
|
Хм. Применение select изменяет предварительный выбор обрабатываемых объектов.
Давайте я выложу файл. Иначе я на словах не смогу объяснить. Приложил служебный файл программы "ТактГаз". В нем для расчетов хранится информация о установке газового пожаротушения. В [изначально] скрытом слое gazinf лежат данные, в которых закодирована информация о трубах. Трубы изображаются полилиниями. Данные кодируются так (на примере для участка "2" трубы): в координатах первой вершины полилинии лежит объект "TEXT" такого содержания (462 148 "(2)1.95d73h1.95")) где 462 148 - это координаты последней вершины полилинии (они же начало следующей полилинии) без дробных частей; (2) - номер участка; 1.95 - длина участка трубы; d73 - диаметр трубы; h1.95 - перепад высот на этом участке трубы (подъем на 1.95м в данном случае). Нужно вывести эту информацию в читабельном виде, под/слева от полилинии. ----- добавлено через ~4 мин. ----- Изначально хотел выбирать все полилинии и запускать макрос на VBA для обработки. Но не соображу как получить объект ТЕКСТ что бы его обработать. Наверное все таки нужно делать как Boxa подсказал. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,039
|
ну примерно так для частного случая из пятого поста
Код:
|
|||
|
||||
инженер проектировщик Регистрация: 26.10.2020
Мск
Сообщений: 8
|
Цитата:
Получается что то вроде этого: Код:
Последний раз редактировалось zZombie, 23.09.2021 в 22:09. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Может, стоит для таких целей использовать XData или словари? Всяко поустойчивее будет, КМК.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
инженер проектировщик Регистрация: 26.10.2020
Мск
Сообщений: 8
|
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
AutoCad. Невозможно ввести определенное значение координаты положения объекта. | Cfytrr | AutoCAD | 25 | 31.01.2019 20:01 |
Как просчитать координаты всего чертежа, зная координаты нескольких точек | Barsum | AutoCAD | 6 | 16.02.2018 09:32 |
Согласование ППТ и ПМТ объекта федерального значения | iren_kors | Автомобильные и железные дороги, мосты, тоннели и организация движения | 3 | 03.08.2016 20:34 |
Как создать TEXT, MTEXT с содержимым, равным значению атрибутов объекта | rouble | AutoCAD | 2 | 12.08.2015 14:24 |
Получить метку объекта в vba | best_vint | Программирование | 18 | 13.10.2014 15:31 |