Анкерные системы Schöck Dorn
dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA. Вставка динамического блока с выбором параметров из lookUp Table

VBA. Вставка динамического блока с выбором параметров из lookUp Table

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 20.04.2015, 05:07 #1
VBA. Вставка динамического блока с выбором параметров из lookUp Table
AndreyAn
 
Регистрация: 20.04.2015
Сообщений: 4

AndreyAn вне форума Вставить имя

Здравствуйте.
Имеется динамический блок рамки с основной надписью (приложение во вложении).
Каким образом на vba его можно вставить в различных форматах, например, A4, A3x4, A3x90 и др.?
Перепробовал много вариантов, не получается.
Спасибо.

Вложения
Тип файла: dwg
DWG 2007
dwgRu.dwg (89.2 Кб, 785 просмотров)

Просмотров: 2069
 
Непрочитано 20.04.2015, 06:35
#2
Jonas

конструктор машиностроитель
 
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893


Может так проще.
Вложения
Тип файла: dwg
DWG 2013
dwgRu.dwg (59.4 Кб, 788 просмотров)
__________________
Из честолюбия или чувства долга не может родиться ни чего ценного. А. Эйнштейн
Jonas вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 20.04.2015, 06:42
#3
AndreyAn


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


Jonas, спасибо за идею...
Теперь вопрос, как при вставке из vba выбрать необходимую высоту и ширину?
Опыта в vba autocad мало, только в excel vba работал в основном....

Спасибо.
AndreyAn вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.04.2015, 10:08
#4
Jonas

конструктор машиностроитель
 
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893


А зачем выбирать высоту?
Высоту как и длину растягиваем за ручки.
__________________
Из честолюбия или чувства долга не может родиться ни чего ценного. А. Эйнштейн
Jonas вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 20.04.2015, 10:15
#5
AndreyAn


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


За ручки - это понятно, смысл заключается в том, что из Excel подготавливается чертеж, уже оформленный и с рамкой. Т.е. уже без дальнейших манипуляций "вручную".
Все это я уже реализовал, осталось одно - вставить нужный формат рамки с основной надписью. Он ставится, только такой формат, который отрисован в блоке (А3), а вот как сделать чтобы можно было вставить не только А3 - не получается.
Если сделать заготовки - не динамические блоки, а обычные - разных форматов, хорошо, но не очень.... Зато решаемо....
Неужели нет решения вставить динамический блок основной надписи с разными форматами средствами vba?
AndreyAn вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.04.2015, 12:26
#6
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 1,517


Код не проверял и работает ли он я не знаю, но вроде бы это должно делаться так:
Код:
[Выделить все]
Sub dfgw()
    Dim dfg As New AcadBlockReference
    Dim dynProps() As AcadDynamicBlockReferenceProperty
    dynProps = dfg.GetDynamicBlockProperties
    For Each i In dynProps
        If i.PropertyName = "Формат" And i.ReadOnly = False Then
            i.Value = "A3"
        End If
    Next
End Sub
__________________
_
Boxa на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 20.04.2015, 13:34
#7
AndreyAn


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


Воха!
Дай Бог тебе здоровья
Код рабочий!
Спасибо.
AndreyAn вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 13.12.2017, 22:10
#8
Abai


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


Здравствуйте!

Подскажите пожалуйста, почему не получается назначить значение параметра из таблицы выбора, если делаю все аналогично (причем не откликаются только свойства "Выбор").
Делаю блок хомута с "растяжкой" на расстояние и "подгибом" под диаметр арматуры.

Код:
[Выделить все]
Set blockRef = ThisDrawing.ModelSpace.InsertBlock(pp, name, 1, 1, 1, 0)
If blockRef.IsDynamicBlock = True Then
    Props = blockRef.GetDynamicBlockProperties
        For Index = LBound(Props) To UBound(Props)
            Set prop = Props(Index)
                If prop.PropertyName = "D нижней арматуры" Then
                prop.Value = CDbl(diam2)
                End If
                If prop.PropertyName = "D верх. арматуры" Then
                prop.Value = CDbl(diam)
                End If
        Next
End If
----- добавлено через ~7 мин. -----
Цитата:
Сообщение от Abai Посмотреть сообщение
Здравствуйте!

Подскажите пожалуйста, почему не получается назначить значение параметра из таблицы выбора, если делаю все аналогично (причем не откликаются только свойства "Выбор").
Прошу прощения.
Проглядел, что значения для параметра "выбор" должны быть строковыми.
Cstr - все исправил.

Последний раз редактировалось Abai, 13.12.2017 в 22:28.
Abai вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA. Вставка динамического блока с выбором параметров из lookUp Table

Инженерные консультации
Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Установка параметров динамического блока в VBA тормозит bars4 Программирование 4 01.10.2012 10:27
Помогите заполнить Lookup динамического блока. Mozgunov Программирование 10 22.08.2012 18:00
Изменение свойств и параметров динамического блока EfremenkoDO Программирование 2 14.01.2010 19:02
Вставка динамического блока с определёнными параметрами. Shade AutoCAD 2 25.09.2007 15:20

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||