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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как показать на окне программы рисунок-миниатюру блока из AutoCAD?

Как показать на окне программы рисунок-миниатюру блока из AutoCAD?

Ответ
Поиск в этой теме
Непрочитано 28.09.2012, 13:44 #1
Как показать на окне программы рисунок-миниатюру блока из AutoCAD?
ghost
 
Регистрация: 19.12.2011
Сообщений: 35

Добрый день!
Подскажите пожалуйста можно ли средствами "NET." отображать как то на окне моей net библиотеки миниатюру блока , как в окне AutoCADa (Вставка блока)??? И если это возможно, как это можно сделать? Какой класс, свойство в себе эти пиктограммы хранит???
Заранее спасибо!

Последний раз редактировалось ghost, 28.09.2012 в 13:59.
Просмотров: 10621
 
Непрочитано 28.09.2012, 13:52
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


ghost, заголовок темы исправь - укажи язык и версию AutoCAD.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 28.09.2012, 14:22
#3
ghost


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


А как редактировать заголовок темы?

Последний раз редактировалось ghost, 28.09.2012 в 14:30.
ghost вне форума  
 
Непрочитано 28.09.2012, 14:41
#4
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,408
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от ghost Посмотреть сообщение
Подскажите пожалуйста можно ли средствами "NET." отображать как то на окне моей net библиотеки миниатюру блока , как в окне AutoCADa (Вставка блока)???
Это возможно. Надеюсь ты говоришь про dll-файл, который грузится внутрь AutoCAD, а не внешний exe-файл? Из внешеного exe-файла можно без проблем показать миниатюру всего dwg-файла, а вот добраться до миниатюр блоков вряд ли удастся без недешевых библиотек.
BlockTableRecord.HasPreviewIcon - позволяет определить есть ли миниатюра.
BlockTableRecord.PreviewIcon - сама миниатюра блока
Здесь есть готовый пример: http://www.theswamp.org/index.php?to...4941#msg404941 (требуется регистрация)
Александр Ривилис вне форума  
 
Непрочитано 28.09.2012, 21:42
#5
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


"Родные" скрины AutoCAD имеют убогое качество и размеры. Как вариант - можно самостоятельно создавать нужного качества/размера скрины блока и сохранять в определении блока как XRecord. Затем в своём диалоговом окне показывай это изображение. Примеры создания таких скринов в AutoCAD средствами .NET, можешь глянуть здесь. Там же показан пример, как вытянуть из свойства BlockTableRecord.PreviewIcon "родную" картинку, созданную AutoCAD, но её размеры и качество, как я уже писал - оставляет желать лучшего.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 30.09.2012, 17:35
#6
alex-63

инженер
 
Регистрация: 15.09.2009
Брест
Сообщений: 55


Александр Ривилис, не могли бы подсказать, как из внешнего exe-файла показать миниатюру всего dwg файла.
Насколько я понимаю необходимо использовать AcThumbinail16.dll. тк explorer использует эту библиотеку.
Поиски примера зашли в тупик.
Заранее благодарю.
alex-63 вне форума  
 
Непрочитано 30.09.2012, 17:46
#7
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
внешнего exe-файла показать миниатюру всего dwg файла
Миниатюры всего dwg в нем может и не быть. В dwg-файле по известному адресу сохраняется bmp с того вида, который был установлен при сохранении файла. Совсем не обязательно использовать именно AcThumbinail16.dll, можете и свой код написать, в том числе для просмотра миниатюр на машине без AutoCAD. Я когда-то делал такой Lister-plugin для TotalCommander.

А "хорошие" картинки предпросмотра надо делать самостоятельно. Технология зависит от целей. Наверное, превьюшки блоков понадобились для организации какого-то интерфейса, связанного с выбором блоков. Пытаться использовать для этого PreviewIcon вряд ли стоит.
ShaggyDoc вне форума  
 
Непрочитано 30.09.2012, 17:50
#8
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,408
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от alex-63 Посмотреть сообщение
Насколько я понимаю необходимо использовать AcThumbinail16.dll.
Совершенно необязательно. Почитай тему: http://www.theswamp.org/index.php?topic=30985.0 Там есть готовые коды.
Александр Ривилис вне форума  
 
Непрочитано 30.09.2012, 21:13
#9
alex-63

инженер
 
Регистрация: 15.09.2009
Брест
Сообщений: 55


Большое спасибо. Все работает.(Кроме Preview для 2013 AutoCADa)

Подскажите, как реализовать функцию из NET 4
System::IO::FileStream::CopyTo(MemoryStream,Int32) на С++
Для NET3. (тк редко пользуюсь C++ )

Функция для Preview взята из
http://www.theswamp.org/index.php?topic=30985.0
Похоже надо скопировать с потока FileStream Int32 байт в
MemoryStream. Как проще это реализовать ?


Последний раз редактировалось alex-63, 03.10.2012 в 17:32.
alex-63 вне форума  
 
Непрочитано 03.10.2012, 17:16
#10
alex-63

инженер
 
Регистрация: 15.09.2009
Брест
Сообщений: 55


...

Последний раз редактировалось alex-63, 03.10.2012 в 17:37. Причина: Произведена правка предыдущего сообщения
alex-63 вне форума  
 
Непрочитано 03.10.2012, 23:48
#11
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,408
Отправить сообщение для Александр Ривилис с помощью Skype™


alex-63, гугл тебе в помощь:
http://stackoverflow.com/questions/5...-framework-3-5
http://stackoverflow.com/questions/2...tances-c-sharp
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 11.10.2012, 11:53
#12
ghost


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


Решил проблему созданием картинок на этапе создания блока! И потом пользую где надо.......
Всем большое спасибо за ответы!
ghost вне форума  
 
Непрочитано 11.10.2012, 11:58
#13
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от ghost Посмотреть сообщение
Решил проблему созданием картинок на этапе создания блока!
Мог бы и поделиться кодом своего решения. Может кому пригодится.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 05.11.2012, 11:50
#14
ghost


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


Цитата:
Сообщение от hwd Посмотреть сообщение
Мог бы и поделиться кодом своего решения. Может кому пригодится.
Да я бы c радостью! Только чем делится то!? Фотографирую я их на этапе создания PrintScreen - ом..... Форматирую фотошопом и сохраняю в отдельную папку с ресурсами..... И потом параллельно загружаю с блоком, картинку соответствующую ему, в свой PictureBox
ghost вне форума  
 
Непрочитано 05.11.2012, 12:20
#15
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от ghost Посмотреть сообщение
Только чем делится то!? Фотографирую я их на этапе создания PrintScreen - ом..... Форматирую фотошопом и сохраняю в отдельную папку с ресурсами.....
Я подумал, что ты нашёл ещё один программный способ делать это, помимо тех, что тебе были указаны выше по теме.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 08.11.2012, 10:00
#16
alex-63

инженер
 
Регистрация: 15.09.2009
Брест
Сообщений: 55


Хотелось бы узнать как реализовать пред просмотр листов(layouts) из внешней программы.
Хранятся ли миниатюры листов также как и Model в файле dwg ?
alex-63 вне форума  
 
Непрочитано 08.11.2012, 10:02
#17
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от alex-63 Посмотреть сообщение
Хранятся ли миниатюры листов также как и Model в файле dwg ?
хранятся, где же им ещё храниться... вернее так: во внешних файлах они точно не хранятся
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 08.11.2012, 10:12
#18
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,408
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от alex-63 Посмотреть сообщение
Хранятся ли миниатюры листов также как и Model в файле dwg ?
Лист (как и Model) - это блок определённого вида (его свойство IsLayout возвращает true). Так что миниатюры листов могут хранится в dwg-файле.
Александр Ривилис вне форума  
 
Непрочитано 08.11.2012, 12:53
#19
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,481
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от alex-63 Посмотреть сообщение
также как и Model в файле dwg ?
Там хранится не Model а то что было показано на экране при сохранении файла, хоть модель хоть лист.
maratovich вне форума  
 
Непрочитано 08.11.2012, 13:06
#20
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,408
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от maratovich Посмотреть сообщение
Там хранится не Model а то что было показано на экране при сохранении файла, хоть модель хоть лист.
Не путай. Есть картинка чертежа, а есть картинка блока. Картинка чертежа - это то, о чем ты пишешь. К картинке блока есть доступ изнутри AutoCAD (arx/dll), но нет (бесплатных) средств для доступа из внешнего приложения. Через COM/ActiveX тоже нет доступа к картинкам блоков.
Александр Ривилис вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как показать на окне программы рисунок-миниатюру блока из AutoCAD?

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие нескольких файлов в одном окне AutoCad TanyaNuri AutoCAD 67 17.01.2023 13:04
Ищу программы для линейного оптимального раскроя и фигурного оптимального раскроя листа под AutoCAD mazik Прочее. Программное обеспечение 24 23.06.2012 08:01
запуск программы из AutoCADа kminas Программирование 19 15.06.2012 13:42
Программы на платформе AutoCAD RodiXX1 Вертикальные решения на базе AutoCAD 18 25.02.2008 12:41
Запуск программы из AutoCAD Krieger AutoCAD 8 28.11.2005 09:14