Страницы: 1
RSS
Создание элементов в программе autocad по данным из таблицы excel
 
Уважаемые форумчане, добрый день.
Не совсем уверен, что задача по теме, поскольку затрагивается работа со сторонним приложением, но все же.
Есть необходимость создавать элементы (атрибуты) в программе autocad по данным из таблицы excel: имя блока (атрибута), координаты точки вставки (X,Y,Z),  значения текстовых строк (Att1, Att2).
Во вложении таблица, рисунок как это должно выглядеть в autocad, и код макроса, который был найден в сети, но к сожалению не работает так как нужно, но может послужить основой. Разумеется это только пример, имен блоков может больше, так же как и текстовых значений атрибутов.
Буду благодарен за любую помощь.
 
Здравствуйте.
Сам блок уже где-то есть? Откуда он вставляется в чертёж?
 
Цитата
Pelena написал:
Сам блок уже где-то есть?
Если нет, то можно создать.
Скрытый текст

Если есть, то пример здесь работы с блоками
Изменено: Doober - 19.09.2016 12:38:35
 
Pelena, да блоки уже созданы и находятся в DWG файле.
Doober, спасибо, попробую разобраться.
 
Честно говоря не разобрался с примером Doober'а. Попытался подогнать под свои нужды тот макрос, который в прикрепленном файле. Получилось вставить сами блоки по координатам. Может быть кто то подскажет как правильно доработать код, чтобы вставлялись и значения в текстовые строки атрибутов по диапазонам из таблицы? работаю на autocad 2015.
 
Вы бы приложили сам блок. Атрибуты у него уже есть?
 
"Att1,Att2": "1,2" "3,4" "5,6" на картинке - это текстовые значения атрибутов.  они должны меняться в зависимости от значений в столбцах E и F.
В макрос нужно добавить код, чтобы текстовые значения атрибутов заполнялись по данным из столбцов E и F.
 
Вот я все брошу и буду создавать файл dwg, прописывать атрибуты, потом их менять.
Цитата
Doober написал:
Если есть, то пример  здесь  работы с блоками
Как менять значение атрибутов описано  в  ссылке.
 
Doober, к сожалению я не разбираюсь в программировании, поэтому и обратился за помощью на этот форум.
Выкладываю dwg файл, может быть кто то все же сможет помочь с доработкой макроса.
 
Помощь, это помочь поправить код подсказать, а не сделать за вас.
Выкиньте свой макрос, он вам не подходит.Имена  атрибутов не соответствуют значениям на листе.
Имена их в блоках 1 ,2.
Этот код рабочий
Скрытый текст

Результат работы макроса.
Адаптируйте макрос под себя, сделайте правильную таблицу на листе.И все получится.Удачи
 
Doober, спасибо за уделенное внимание.
Код по заполнению текстовых значений атрибутов работает, все понятно. Но изначально задача стояла не в обновлении значений уже существующих блоков в модели и  не в создании новых блоков с атрибутами, с новыми точками вставки, с отрисовкой полилиний по точкам (если я правильно понял макрос "InsertBlock()"). Стояла задача по расстановке в модели уже имеющихся в наборе  блоков с атрибутами, по заданным координатам, с заполнением текстовых значений по данным из таблицы excel. Еще раз повторюсь, код который был прикреплен к моему файлу (пример.rar) вполне работоспособен (как минимум он корректно расставляет блоки по координатам), как мне кажется, необходимо добавить несколько строк, чтобы еще и текстовые значения атрибутов заполнялись. ...ну если я не прав, тогда вопросов больше нет.
Doober, сразу скажу, возможно если соединить Ваши макросы "InsertBlock()" и "zamena()" получиться то что нужно, но я не имею возможности это сделать.
 
Добрый день, хотелось бы поднять тему заново, так как обнаружился значительный недостаток в макросе "zamena()". Он заключается в том, что при наличии нескольких одинаковых "Block Name" данные для атрибутов берутся из строки с самым последним блоком.
Например в данном случае все блоки С_Л_АБ будут иметь атрибут 1 "3"
Это можно как-то исправить?
Страницы: 1
Читают тему
Наверх