|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Выдернуть текст из сгруппированных(?) объектов Autocad-a через VBA
Регистрация: 14.07.2009
Сообщений: 8
|
||
Просмотров: 4099
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
По-моему, он и так "выдернет" все что надо.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 14.07.2009
Сообщений: 8
|
Нет, к сожалению не всё.
![]() Хотел выложить файл. Выделил проблемный кусок, скопировал, удалил всё лишнее, но файл всё-равно занимает 5-mb. Пустой (на мой взгляд). ============================== О, получилось ужать файл. Посмотрите, будьте добры. Вот в этом файле с точки зрения скрипта тестовых объектов нет. ![]() Последний раз редактировалось reg123, 14.07.2009 в 17:00. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
В вашем примере текст лежит внутри блока - надо делать рекурсивный алгоритм который будет проверять все вложенные блоки (подблоки), на лиспе это не сложно - vb не знаю. Так-же приведенный вами алгоритм не проверяет таблицы - не знаю на сколько это нужно, но в них тоже можетбыть текст.
p.s. В лиспе я бы выдернул текст из всех объектов в которых есть DXF пара с кодом 1 - написанно "на коленке" без проверки (vl-remove nil (mapcar '(lambda (obj) (cdr (assoc 1 (entget obj)))) (список 'ename))), либо через VL - (if (vlax-property-available-p obj 'textstring) (vla-get-textstring obj)) - для таблиц посложнее - в первом случае "вытянет" только первую клетку, во втором надо проверять еще метод gettext и сканировать все клетки, но если нужно - то вобщем ничего сложного - но и если вхождение блока - то рекурсия на его описание.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Я, в свою очередь, совершенно не владею VB про свойства и методы всех объектов акада - есть в "егонойже" справке. На если что-то непонятно - могу написать на лиспе (visual), но в basic переводить - на Ваши плечи.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
VBA в AutoCAD | alle | Программирование | 47 | 03.12.2014 11:26 |
Срочно! Горю! Как через VBA подцепить LISP-файл на запуск? | АлександрМихайлович | LISP | 6 | 10.05.2005 22:45 |
AutoCAD LT 2005 и VBA Macros | Vidas | Программирование | 10 | 03.05.2005 11:00 |
Можно ли через VBA динамически двигать объекты? | {Smirnoff} | Программирование | 4 | 11.12.2003 01:14 |
подскажите кто может где взять литературу по VBA for AutoCad | er | Программирование | 2 | 28.10.2003 14:08 |