|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
06.10.2021, 23:29 | #1 | |
Считывание поля и присвоение его содержимого близлежайшему блоку (желательно VBA)
Регистрация: 06.10.2021
Сообщений: 14
|
||
Просмотров: 4901
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Может, проще будет потребовать у пользователя указать поле и отдельно - блок?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 18.12.2010
Сообщений: 5,057
|
Цитата:
|
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,041
|
откуда это все появляется?
ну и даже 10000, если пользователь выделил два последовательно объекта - мультитекст и блок, либо секущей рамкой - экономится время на вызов копирования значения мультитекста (с панели свойств или заходя в сам текст), вызов диалога модификации атрибутов блока (ввод значения с подтверждением) - заметно быстрее будет. И это можете на VBA написать, если он знаком уже. |
|||
|
||||
Регистрация: 06.10.2021
Сообщений: 14
|
Цитата:
Как мне представляется последовательность блоков программы: 1. Для каждого блока (дерева) выделить поле МТекст, расположенное в координатах (x+Nx;y+Ny;z), где x,y,z - координаты самого блока, а N - поправка на положение поля МТекст. ВАЖНО: текстовое поле вставляется программно и всегда находится на одном и том же месте, относительно блока 2. Присвоить переменной "a" значение текстового поля 3. Обратиться к атрибуту NUMBER (номер дерева) и присвоить ему значение "a" 4. Next Все пункты, кроме 1, не вызывают затруднений. есть ли способы написать его на VBA? |
|||
|
|||||
Регистрация: 18.12.2010
Сообщений: 5,057
|
Цитата:
тут даже AutoCAD не нужен - это можно решить одним SQL-запросом в БД! Цитата:
Цитата:
Цитата:
Последний раз редактировалось trir, 07.10.2021 в 10:47. |
||||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,041
|
а мультитекст откуда вставляется? И как вставляется блок из xls? Форумчане должны каким то волшебным образом представить этот файл экселя от геодезистов?)
|
|||
|
||||
Регистрация: 06.10.2021
Сообщений: 14
|
trir, программа на лиспе, которая строит полилинию, соединяя последовательно все деревья, а затем нумерует ее вершины.
Сергей812, образец прикрепил. Вставляются через VBA, код дома. В личку вышлю, если интересно, но это не нужно для решения обозначенной задачи. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,041
|
|
|||
|
||||
Регистрация: 06.10.2021
Сообщений: 14
|
Цитата:
----- добавлено через ~3 мин. ----- trir, думаю вы правы, это более простой способ. ______ "Умный в гору не пойдет, умный гору обойдет" |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,041
|
ладно, собирать головоломку никакого желания нет, в частном случае по вашему примеру примерно так:
1. Собрать информацию в коллекцию по текстам: само содержимое мультитекста, средняя точка boundbox и флаг использования. 2. В цикле по блокам: вычислить среднюю точку boundbox, и в подцикле по коллекции текстов найти наименьшее расстояние при дополнительных условия Yтекста>Yблока (чтобы брал только текст сверху) и флаг использования = false. Далее значение текста занести в блок, пометить информацию о тексте как обработанную и выйти из внутреннего подцикла по коллекции info texts. Можно для ускорения вместо коллекции и массив использовать - если есть возможность фильтром выцепить все мультитексты разом и тогда размерность массива будет определена сразу. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Создание поля (field), ссылающегося на текстовое значение ячейки таблицы. | skkkk | Готовые программы | 141 | 24.11.2023 15:49 |
Lisp. Присвоение блоку атрибута и Z из текста. | Ancient John | LISP | 31 | 20.02.2023 17:20 |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Вставка в поле части содержимого другого поля | n0str0m0 | AutoCAD | 9 | 03.12.2010 13:46 |
привязка содержимого поля к листу | Aseev | AutoCAD | 1 | 24.08.2010 14:10 |