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

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

Связь динамического блока по данным из Excel

Ответ
Поиск в этой теме
Непрочитано 06.06.2023, 11:26 #1
Связь динамического блока по данным из Excel
Spirt
 
Регистрация: 06.06.2023
Сообщений: 6

Доброго времени суток!!! Не кидайте камни. Начинаю осваивать азы программирования VBA в Аutocad.
Подскажите как сделать динамический блок,чтобы его о размеры менялись по данным из Excel на примере обычного прямоугольника. Пробовал сделать по видео
Просмотров: 2067
 
Непрочитано 06.06.2023, 16:16
#2
Boxa

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


По какому видео? Что подразумевается под словом "связь"? Что подразумевается под "менялись по данным из Excel"?
Покажите тот код который у Вас есть, и расскажите что именно в нем не получается, приложите файлы екселя и динамического блока, тогда , м.б., Вам и помогут, а так непонятно что вы хотите и что уже сделали.

Менялись по данным из Екселя... менялись после запуска VBA скрипта в автокаде? после запуска VBA скрипта в екселе? реактор на обновление данных в екселе? , реактор со стороны автокада или екселя? Вариантов масса, а что Вы хотите непонятно.
Boxa вне форума  
 
Непрочитано 06.06.2023, 19:16
#3
MCAD


 
Блог
 
Регистрация: 05.01.2005
Сообщений: 1,715


Цитата:
Сообщение от Boxa Посмотреть сообщение
По какому видео?
Думаю, что не ошибусь.
MCAD вне форума  
 
Автор темы   Непрочитано 06.06.2023, 21:49
#4
Spirt


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


https://m.youtube.com/watch?v=eeygUY...0LrQsNC00LU%3D.
Код прикреплю чуть позже. У меня почемуто блок вставляется но пытаюсь поменять длину либо ширину. Блок вставляется без изминений

https://m.youtube.com/watch?v=eeygUY...0LrQsNC00LU%3D.
У меня блок вставляется но динамические свойства не меняются. Свой код сброшу чуть позже.

MCAD, да это видео

Мой код. Вставляю блок. Меняю свойства они остаются без изменений
свойства меняю в строках
If prop.PropertyName = "Длина" Then
prop.Value = #
ElseIf prop.PropertyName = "Ширина" Then
prop.Value = #
Вложения
Тип файла: dvb Не получается.dvb (17.5 Кб, 12 просмотров)

Последний раз редактировалось Кулик Алексей aka kpblc, 07.06.2023 в 07:35.
Spirt вне форума  
 
Непрочитано 06.06.2023, 23:42
#5
Сергей812


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


А доходит до выполнения условий то? Точки отладки в редакторе VBA поставить на эти строки и посмотреть - дойдет ли вообще до них.
Сергей812 вне форума  
 
Непрочитано 07.06.2023, 05:35
#6
MCAD


 
Блог
 
Регистрация: 05.01.2005
Сообщений: 1,715


Цитата:
Сообщение от Spirt Посмотреть сообщение
MCAD, да это видео
Я даже не сомневался. Очень хороший, наглядный, познавательный сериал. Мне его часто присылают.
Приходится делать и показывать аналоги
Increase Size Decrease Size Нажмите для просмотра
http://www.youtube.com/watch?v=tzy7__1D0Oc
MCAD вне форума  
 
Непрочитано 07.06.2023, 07:56
#7
name02


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


Код рабочий - я проверял на Autocad 2018.
Сделал дин.блок с указанным именем и параметрами - все вставляется куда укажешь и значения параметров как в макросе.
У тебя может дин.блок неправильно сделан - приложи его тоже.

Что касаемо задачи связать блок и Excel, то на мой взгляд, надо писать vba-макрос для работы из-под Excel.
Все равно источником/приемником данных будет Excel.

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


Сам я для себя сделал надстройку в Excel для работы с блоками:
Нажмите на изображение для увеличения
Название: Надстройка.jpg
Просмотров: 83
Размер:	63.3 Кб
ID:	256519

Еще есть такие решения:
Только для атрибутов - https://forum.dwg.ru/showthread.php?t=121361
https://antondevyatov.blogspot.com/2017/11/cadex.html
name02 вне форума  
 
Автор темы   Непрочитано 07.06.2023, 10:00
#8
Spirt


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


name02,
Надстройка неплохая идея. Спасибо, но до такой конструкции еще не дорос. Чертеж с дин.блоком выложу вечером. Возможно я дин.блок создаю неправильно.
Spirt вне форума  
 
Непрочитано 07.06.2023, 11:37
1 | #9
Boxa

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


На всякий случай: https://forum.dwg.ru/showthread.php?t=145333 ,
Код открыт, может и не надо ничего писать?
Boxa вне форума  
 
Автор темы   Непрочитано 07.06.2023, 13:06
#10
Spirt


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


Boxa.хочу просто сам научится писать макросы на vba хотя бы простые. В общем на форуме много ребята программ выкладывают. Если нужно было бы для работы скачал и пользуйся. Хочу разобраться как все это создаеться. Читаю книги в них много не понятного. С справкой в автокаде по vba тоже пока не в дружбе
Spirt вне форума  
 
Непрочитано 07.06.2023, 15:18
1 | #11
Сергей812


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


полезная книга из даунлоад. И учитесь пользоваться отладчиком - т.е. поставили точки остановки на операции присвоения (что там ссылка для офиса - так редактор VBA в акаде от MS), проверили по факту остановки - что по условию попадаете на операцию присвоения
Цитата:
Сообщение от Spirt Посмотреть сообщение
prop.Value = #
и тогда уже проблема явно в самом блоке. Или не попадаете - тогда искать пошаговой отладкой, что там вообще появляется в prop.PropertyName.
Сергей812 вне форума  
 
Автор темы   Непрочитано 07.06.2023, 21:29
#12
Spirt


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


Доброго время суток. Вот чертеж с блоком и VBA
Вложения
Тип файла: dvb Не получается.dvb (48.0 Кб, 14 просмотров)
Тип файла: dwg
DWG 2018
Чертеж1.dwg (39.3 Кб, 19 просмотров)
Spirt вне форума  
 
Автор темы   Непрочитано 08.06.2023, 06:43
#13
Spirt


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


. А получилось. Нашел ошибку. Ошибка была в дин. блоке. Название параметров в свойствах нужно было переименовать на "Длину" и "Ширину". Спасибо всем за помощь, за отладчик, литературу и идею с надстройкой. Буду учится дальше
Spirt вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Связь динамического блока по данным из Excel



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связь таблицы автокада с Excel alex_r07 AutoCAD 8 18.07.2016 21:03
При изменении масштаба динамического блока пропадает параметр remlin Динамические блоки 2 30.03.2014 16:55
Странное поведение динамического блока высотной отметки hwd Динамические блоки 12 08.09.2011 11:15
Изменение свойств и параметров динамического блока EfremenkoDO Программирование 2 14.01.2010 19:02