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

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

Экспорт и импорт атрибутов и динамических свойств блоков

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 12.02.2018, 11:49 3 |
Экспорт и импорт атрибутов и динамических свойств блоков
Boxa
 
КЖ; C#
 
Санкт-Петербург
Регистрация: 03.11.2005
Сообщений: 1,844

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

Программа в общем то, как прототип или демка, готова, но доработки вносить можно и нужно.
Слегка протестил на нескольких блоках.

Назначение программы:
Экспорт и импорт свойств, атрибутов и динамических свойств блоков AutoCAD в csv файл, для правки этих свойств во внешних программах.

Принцип работы:
Такой же как и у ATTIN и ATTOUT из Express Tools, выбираем куда будем сохранять, потом выбираем блоки из которых будем вытягивать данные.
По сути программа просто расширенная версия версия ATTIN и ATTOUT.

Команды для запуска:
dynOUT - сохранить в текстовый файл
dynIN - прочитать из текстового файла

Запуск / загрузка:
Скачиваем dynINOUT_UI.dll и dynINOUT_20ХХ.dll (ХХ -версия автокада)
Размещаем обе dll-ки в одном, удобном для Вас месте, на локальном жестком диске, не на сетевом диске и не в сетевой папке.
Проверяем в свойствах библиотек, что бы они были разблокированы
Командой _netload грузим dynINOUT_20ХХ (ХХ -версия автокада) в автокад

Open Source:
Написано на C#, код опубликован тут: https://github.com/BoxaShu/dynIN_dynOUT


Видео
Вот тут: ссылка на видео, можно посмотреть пример подсчета арматуры и назначения позиций
Вот тут: ссылка на видео, можно посмотреть пример показывающий составления ведомости отверстий
Вот тут: ссылка на видео, можно посмотреть пример показывающий экспорт свайного поля из Lira SAPR. подробности

Скачать dll
Все последние версии библиотеки, для AutoCAD 2013 - 2019, можно скачать тут: _Release
Так же обращаю внимание на файлик dynINOUT_UI.dll, он один для всех версий и его так же нужно скачивать и так же разблокировать.
__________________
_бложиг

Последний раз редактировалось Boxa, 13.11.2018 в 11:24. Причина: про dynINOUT_UI.dll файл дописал; дописал про загрузку
Просмотров: 7204
 
Автор темы   Непрочитано 15.06.2018, 10:30
#21
Boxa

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


Удалил архив из шапки данной темы, т.к. пользователи не читают текст.
Некоторая особенность: изменение блоков на заблокированных слоях, вызовет исключение. Как корректнее изменить данное поведение пока не решил, либо при изменениях разблокировать слой или просто пропускать такие блоки/атрибуты.
Возможно кто нибудь предложит что то еще...
__________________
_бложиг
Boxa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 15.06.2018, 16:50
| 1 #22
Сергей812


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


я бы не стал заморачиваться - пускай пользователь решает:
Миниатюры
Нажмите на изображение для увеличения
Название: Заблокир_слои_выбор_действия.JPG
Просмотров: 70
Размер:	37.7 Кб
ID:	203583  
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 19.06.2018, 12:51
#23
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,647
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от Boxa Посмотреть сообщение
Удалил архив из шапки данной темы, т.к. пользователи не читают текст.
Некоторая особенность: изменение блоков на заблокированных слоях, вызовет исключение. Как корректнее изменить данное поведение пока не решил, либо при изменениях разблокировать слой или просто пропускать такие блоки/атрибуты.
Возможно кто нибудь предложит что то еще...
В .NET API есть же возможность обработки объектов на заблокированных слоях. При открытии объекта надо указать параметр forceOpenOnLockedLayer = true.

----- добавлено через ~11 мин. -----
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
я бы не стал заморачиваться - пускай пользователь решает:
Здесь можно использовать встроенный Task Dialog: http://www.keanw.com/2008/11/implementing-ta.html
Выглядит презентабельнее, и пользователям привычнее.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 19.06.2018, 13:56
#24
Boxa

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


Цитата:
Сообщение от Do$ Посмотреть сообщение
В .NET API есть же возможность обработки объектов на заблокированных слоях. При открытии объекта надо указать параметр forceOpenOnLockedLayer = true.
я не про возможность спрашивал, я про так с пользователем это урегулировать... наверное сделаю окошко с вопросом... со временем пока никак не получается...
__________________
_бложиг
Boxa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 19.06.2018, 15:08
#25
trir


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


Цитата:
наверное сделаю окошко с вопросом
задолбаешь им пользователя, лучше сделать несколько команд - с разным поведением
trir вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 19.06.2018, 15:51
#26
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,647
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от trir Посмотреть сообщение
лучше сделать несколько команд
Лучше, наверное, одну команду, но с настройками (опциями).
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 19.06.2018, 15:58
#27
Сергей812


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


Цитата:
Сообщение от Do$ Посмотреть сообщение
Здесь можно использовать встроенный Task Dialog: http://www.keanw.com/2008/11/implementing-ta.html
Выглядит презентабельнее, и пользователям привычнее.
ну это голый wpf - настраивай как хочешь, сделал один раз стили - все программы будут узнаваемы по внешнему виду.. И все внутри сборки будет все равно - так что дело вкуса)
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 19.06.2018, 16:47
#28
Boxa

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


trir, Do$, и если довести ваши предложения до логического конца, то получится лисп функция с параметрами фильтрации блоков и настройками обработки заблокированных и замороженных слоев. А там уж какие кнопки хочешь, такие и делай...
__________________
_бложиг
Boxa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 13.11.2018, 10:30
#29
LAmyk


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


Цитата:
Не удалось загрузить сборку. Сведения об ошибке: System.IO.FileLoadException: Не удалось загрузить файл или сборку "file:///D:\рабочий комп\Downloads\dynINOUT_UI.dll" либо одну из их зависимостей. Операция не поддерживается. (Исключение из HRESULT: 0x80131515)
Имя файла: 'file:///D:\рабочий комп\Downloads\dynINOUT_UI.dll' ---> System.NotSupportedException: Предпринята попытка загрузить сборку из сетевого ресурса, что в предыдущих версиях .NET Framework могло привести к помещению сборки в "песочницу". Этот выпуск .NET Framework не включает политику CAS по умолчанию, поэтому данная загрузка может быть опасной. Если эта нагрузка не предназначена для изоляции сборки, включите переключатель loadFromRemoteSources. Дополнительные сведения см. на странице http://go.microsoft.com/fwlink/?LinkId=155569.
как это победить?
LAmyk вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 13.11.2018, 10:48
#30
Boxa

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


Цитата:
Сообщение от LAmyk Посмотреть сообщение
как это победить?
Легко, достаточно внимательно читать описание к программе и внимательно читать текст ошибки.

1. В первом сообщении темы, в разделе Запуск/загрузка, написано, что рекомендуется размещать библиотеки локально, а не в сети.
2. В Вашем сообщении в тексте ошибки написано "...Предпринята попытка загрузить сборку из сетевого ресурса..."

Соответственно, победить это просто: или загружайте с локального диска или Если Вы хотите все таки загружать программу из сетевого ресурса, то необходимо изменить политики безопасности, как это сделать написано по ссылке указанной в тексте ошибки.
__________________
_бложиг
Boxa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 13.11.2018, 11:05
#31
LAmyk


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


Цитата:
Сообщение от Boxa Посмотреть сообщение
Легко, достаточно внимательно читать описание к программе и внимательно читать текст ошибки.

1. В первом сообщении темы, в разделе Запуск/загрузка, написано, что рекомендуется размещать библиотеки локально, а не в сети.
2. В Вашем сообщении в тексте ошибки написано "...Предпринята попытка загрузить сборку из сетевого ресурса..."

Соответственно, победить это просто: или загружайте с локального диска или Если Вы хотите все таки загружать программу из сетевого ресурса, то необходимо изменить политики безопасности, как это сделать написано по ссылке указанной в тексте ошибки.
D:\рабочий комп\Downloads\dynINOUT_UI.dll загружаю с диска Д
LAmyk вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 13.11.2018, 11:12
#32
trir


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


там в свойствах сборки нужно убрать галочку
trir вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 13.11.2018, 11:16
#33
Сергей812


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


В свойствах файла *.dll заходите - там будет написано типа "Файл был скачен с другого компьютера..." - нажимаете кнопку рядом.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 13.11.2018, 11:17
#34
Boxa

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


1. То, что диск D у Вас локальный, совершенно не очевидно, он может быть подключенным сетевым диском.
2. Зачем Вы загружаете именно dynINOUT_UI.dll, почему Вы не хотите загружать файл dynINOUT_20ХХ.dll соответствующий Вашей версии автокада? В описании программы сказано, что dynINOUT_UI.dll это дополнительный файлик для программы, его нужно скачать и разблокировать, а вот про запускать ничего нет.

Наверное нужно дополнить описание...
__________________
_бложиг
Boxa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 13.11.2018, 11:22
#35
LAmyk


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


Цитата:
Сообщение от Boxa Посмотреть сообщение
1. То, что диск D у Вас локальный, совершенно не очевидно, он может быть подключенным сетевым диском.
2. Зачем Вы загружаете именно dynINOUT_UI.dll, почему Вы не хотите загружать файл dynINOUT_20ХХ.dll соответствующий Вашей версии автокада? В описании программы сказано, что dynINOUT_UI.dll это дополнительный файлик для программы, его нужно скачать и разблокировать, а вот про запускать ничего нет.

Наверное нужно дополнить описание...
оба файла попробовал у обоих такая фигня
LAmyk вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 13.11.2018, 11:29
#36
Boxa

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


Цитата:
Сообщение от LAmyk Посмотреть сообщение
оба файла попробовал у обоих такая фигня
Цитата:
Сообщение от LAmyk Посмотреть сообщение
Не удалось загрузить сборку. Сведения об ошибке: System.IO.FileLoadException: Не удалось загрузить файл или сборку "file:///D:\рабочий комп\Downloads\dynINOUT_UI.dll" либо одну из их зависимостей. Операция не поддерживается. (Исключение из HRESULT: 0x80131515)
Имя файла: 'file:///D:\рабочий комп\Downloads\dynINOUT_UI.dll' ---> System.NotSupportedException: Предпринята попытка загрузить сборку из сетевого ресурса, что в предыдущих версиях .NET Framework могло привести к помещению сборки в "песочницу". Этот выпуск .NET Framework не включает политику CAS по умолчанию, поэтому данная загрузка может быть опасной. Если эта нагрузка не предназначена для изоляции сборки, включите переключатель loadFromRemoteSources. Дополнительные сведения см. на странице http://go.microsoft.com/fwlink/?LinkId=155569.
Вам же тут ВАШ собственный компьютер говорит, что ВАШ диск D - сетевой и грузить с него DLL ВАША операционная система не хочет, либо измените настройки политик безопасности для того, что бы ОС разрешила загрузку, как это сделать написано по ссылке (либо вызовите админа, который это настроит), либо переместите обе библиотеки на локальный диск.
__________________
_бложиг
Boxa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 13.11.2018, 11:43
#37
Сергей812


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


Когда не разблокируешь в свойствах файла после скачивания - тоже самое пишет.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > Экспорт и импорт атрибутов и динамических свойств блоков

РЕВЕРС. Автоматическая пакетная печать множества рамок (форматов) из пространства модели и листов
Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Назначение свойств атрибутов блока без attsync Кулик Алексей aka kpblc Программирование 9 15.08.2017 06:32
Изменение значения атрибутов с одинаковым тегом во множестве блоков Red Nova Готовые программы 8 25.02.2017 21:54
Применение готового lisp-а для динамических блоков Denver-22 LISP 6 15.09.2016 15:32
Извлечение значений атрибутов блоков AutoCAD Electrical с помощью AutoLisp zaraki_kenpachi LISP 16 19.02.2011 15:30
Ошибка 0xC0000005 (access violation) при импорте свойств динамических блоков Ax3 Программирование 17 24.12.2010 09:43

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