Как извлечь все блоки из таблицы свойств блока?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как извлечь все блоки из таблицы свойств блока?

Как извлечь все блоки из таблицы свойств блока?

Ответ
Поиск в этой теме
Непрочитано 05.06.2024, 11:17 #1
Как извлечь все блоки из таблицы свойств блока?
Vasilisa_VZ
 
Регистрация: 05.06.2024
Сообщений: 4

Добрый день! Есть вопрос по работе с таблицей свойств блока. Ситуация такая: есть динамический блок, в этом блоке есть таблица свойств блока, с кучей данных для этого блока (фото). Знает ли кто-нибудь, как выгрузить все эти блоки в модель быстро, а не копировать этот блок 100 раз и на каждом выбирать нужное значение из таблицы?

Миниатюры
Нажмите на изображение для увеличения
Название: Снимок экрана 2024-06-05 131614.png
Просмотров: 57
Размер:	138.4 Кб
ID:	263332  

Просмотров: 1225
 
Непрочитано 05.06.2024, 12:45
#2
Dinoxromniy


 
Регистрация: 14.09.2020
Санкт-Петербург
Сообщений: 395


Цитата:
Сообщение от Vasilisa_VZ Посмотреть сообщение
как выгрузить все эти блоки в модель быстро
блок приложите к сообщению
Dinoxromniy вне форума  
 
Автор темы   Непрочитано 05.06.2024, 12:49
#3
Vasilisa_VZ


 
Регистрация: 05.06.2024
Сообщений: 4


Использую автокад 21 версии
Вложения
Тип файла: dwg
DWG 2018
Развертка.dwg (98.0 Кб, 7 просмотров)
Vasilisa_VZ вне форума  
 
Непрочитано 05.06.2024, 13:28
1 | #4
Dinoxromniy


 
Регистрация: 14.09.2020
Санкт-Петербург
Сообщений: 395


Блоки вставлены на дистанции 3000 друг от друга посредством кода VBA, смотрите, тот ли это результат, что нужен вам.
Код:
[Выделить все]
Sub ins_vas()
Dim i As Integer, dblPnt(0 To 2) As Double, vrtPnt As Variant
Const delta = 3000
Dim blObj As AcadBlockReference
 Dim varProp As Variant
dblPnt(0) = 0
dblPnt(1) = 0
dblPnt(2) = 0
vrtPnt = dblPnt
For i = 0 To 103
    Set blObj = ThisDrawing.ModelSpace.InsertBlock(vrtPnt, "yral-1-2", 1, 1, 1, 0)
    objBlRefProp = blObj.GetDynamicBlockProperties

    For Each varProp In objBlRefProp
        If varProp.PropertyName = "Таблица блоков1" Then varProp.value = i
    Next varProp
    vrtPnt(1) = vrtPnt(1) - delta
Next i
Set blObj = Nothing
End Sub
Вложения
Тип файла: dwg
DWG 2013
Развертка_2.dwg (1.67 Мб, 5 просмотров)
Dinoxromniy вне форума  
 
Автор темы   Непрочитано 06.06.2024, 06:03
#5
Vasilisa_VZ


 
Регистрация: 05.06.2024
Сообщений: 4


Теперь буду осваивать программирование в автокаде)
Vasilisa_VZ вне форума  
 
Непрочитано 06.06.2024, 07:28
#6
name02


 
Регистрация: 10.01.2020
Сообщений: 415


Попробуй настройку - делал как раз для случаев массового изменения блоков
https://dwg.ru/dnl/15589
name02 вне форума  
 
Непрочитано 06.06.2024, 09:59
#7
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Цитата:
Сообщение от Vasilisa_VZ Посмотреть сообщение
Теперь буду осваивать программирование в автокаде)
а зачем вообще было динблок разбивать на совокупность его вариантов?
Сергей812 вне форума  
 
Автор темы   Непрочитано 06.06.2024, 11:29
#8
Vasilisa_VZ


 
Регистрация: 05.06.2024
Сообщений: 4


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
а зачем вообще было динблок разбивать на совокупность его вариантов?
Конкретно мне нужно в работе. Конкретно этот блок, чтобы ускорить и облегчить процесс, плюс с таким блоком меньше вероятность накосячить
Vasilisa_VZ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как извлечь все блоки из таблицы свойств блока?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция чтения свойств и их значений динамического блока Supermax Библиотека функций 11 16.03.2020 09:11
Назначение свойств атрибутов блока без attsync Кулик Алексей aka kpblc Программирование 9 15.08.2017 06:32
ЛИСП: как извлечь свойство блока "одинаковый масштаб"? cj_lex LISP 4 16.04.2012 15:02
Связать данные таблицы и блока. Влад AutoCAD 7 30.01.2008 13:36
изменение свойств атрибутов блока elena_din AutoCAD 8 12.12.2005 14:16