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

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

Как задать пользовательский параметр из ячейки Excel? Параметризация в AutoCAD2014

Ответ
Поиск в этой теме
Непрочитано 26.08.2018, 19:58 #1
Как задать пользовательский параметр из ячейки Excel? Параметризация в AutoCAD2014
alicesmagic
 
Регистрация: 25.08.2018
Сообщений: 7

Можно ли при задании пользовательского параметра каким-то образом указать адрес ячейки конкретного файла Excel и вытащить из нее данные? И если можно, то как это сделать?
Просмотров: 2562
 
Непрочитано 26.08.2018, 21:41
#2
trir


 
Регистрация: 18.12.2010
Сообщений: 5,051


может вы подробно разъясните, что хотите в итоге получить - а я расcкажу как это проще реализовать?
trir вне форума  
 
Автор темы   Непрочитано 26.08.2018, 23:42
#3
alicesmagic


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


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

[IMG] [/IMG]
alicesmagic вне форума  
 
Непрочитано 27.08.2018, 00:11
1 | #4
Сергей812


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


Не совсем из экселя
Сергей812 вне форума  
 
Автор темы   Непрочитано 27.08.2018, 01:44
#5
alicesmagic


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Не совсем из экселя
В том то и дело, что нужно из экселя. Данные в нем считаются по формулам и оттуда идут на построения в автокаде
alicesmagic вне форума  
 
Непрочитано 27.08.2018, 06:49
1 | #6
trir


 
Регистрация: 18.12.2010
Сообщений: 5,051


с такой постановкой задачи - проще использовать программирование
trir вне форума  
 
Непрочитано 27.08.2018, 10:33
1 | #7
Сергей812


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


Цитата:
Сообщение от alicesmagic Посмотреть сообщение
В том то и дело, что нужно из экселя.
Ну и подключайтесь из экселя по COM интерфейсу - можно начать изучение программирования для акада и с этого, благо VBA в экселе всегда под рукой (не надо бегать за админом и просить его еще что-нибудь поставить типа бесплатной студии или VBA Enabler для самого акада). Набросал пример кода:


Код:
[Выделить все]
' Обновление пользовательских свойств чертежа AutoCAD с листа Excel
Public Sub UpdateCustomProperties()
  ' Подключаемся к акаду
  Dim lAcadObj As AcadApplication
  Set lAcadObj = GetObject(, "AutoCAD.Application")
  ' Получаем SummaryInfo активного чертежа
  Dim lSummaryInfo As AcadSummaryInfo
  Set lSummaryInfo = lAcadObj.ActiveDocument.SummaryInfo
  ' Забираем данные с листа из именованного диапазона CustomProperties
  Dim lData As Variant
  lData = InputData.Range("CustomProperties")
  ' Получаем количество параметров
  Dim lNumParams As Integer: lNumParams = UBound(lData, 1)
  ' В цикле заносим или обновляем пользовательские свойства в чертеже
  Dim I1 As Integer
  On Error Resume Next
  For I1 = 1 To lNumParams
    lSummaryInfo.SetCustomByKey CStr(lData(I1, 1)), CStr(lData(I1, 2))
    If (Err.Number <> 0) Then
      Err.Clear
      lSummaryInfo.AddCustomInfo CStr(lData(I1, 1)), CStr(lData(I1, 2))
    End If
  Next I1
  ' Очищаем переменные и освобождаем объекты
  Erase lData
  Set lSummaryInfo = Nothing
  Set lAcadObj = Nothing
End Sub


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

p.s. Если будете продолжать в этом направление - попросите администрацию форума перенести ветку в раздел программирования.
Сергей812 вне форума  
 
Автор темы   Непрочитано 27.08.2018, 13:37
#8
alicesmagic


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


В целом ситуация ясна. Спасибо большое за информацию!
За код отдельное спасибо! Будет для меня отправной точкой в программировании
alicesmagic вне форума  
 
Непрочитано 27.08.2018, 14:31
#9
trir


 
Регистрация: 18.12.2010
Сообщений: 5,051


когда начинаешь программировать, то понимаешь, что проще программно всё нарисовать, без заморочек со всякой параметризацие и т. п.
trir вне форума  
 
Непрочитано 27.08.2018, 15:04
#10
Сергей812


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


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

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в Excel создать дополнительные фильтры или выпадающие списки в столбце и чтобы данные определенной ячейки были связаны с соседними ячейками по горизонтали? ВиталийР Прочее. Программное обеспечение 108 10.12.2016 00:38
VBA. Как импортировать содержимое ячейки Excel в AutoCad? Petrov-Vodkin Программирование 4 27.12.2010 12:22
Excel VBA. Как вбить в ячейку формулу, суммирующую ячейки на разных листах? AlexV Программирование 1 20.11.2009 23:15
Проблема вставки диаграмм в ACAD 2009 из Excel 2007 ST2 AutoCAD 1 26.05.2009 01:30
Выбор значений из таблицы в Excel Малюк Прочее. Программное обеспечение 1 24.04.2008 11:57