Сообщество программистов Autodesk в СНГ

ADN Club => Адаптация AutoCAD и вертикальных приложений => Тема начата: Andrey от 11-02-2014, 10:30:21

Название: Иконки для типов линий
Отправлено: Andrey от 11-02-2014, 10:30:21
Добрый день!
Есть задача получить иконки для типов линий.
В http://through-the-interface.typepad.com/through_the_interface/2011/11/generating-preview-images-for-all-blocks-in-an-autocad-drawing-using-net.html
описано как получить иконки для блоков.
Встречался ли кто-нибудь с задачей получить иконки для типов линий?
Название: Re: Иконки для типов линий
Отправлено: Александр Ривилис от 11-02-2014, 16:04:13
Встречался ли кто-нибудь с задачей получить иконки для типов линий?
1. Непонятно зачем это нужно, т.е. где ты собираешься использовать эти иконки.
2. Нужны именно иконки или нужен диалог выбора типа линии?
3. Непонятно почему эта тема создана в разделе Адаптация, а при этом ты даешь ссылку  на .NET код.
Название: Re: Иконки для типов линий
Отправлено: Александр Ривилис от 11-02-2014, 17:18:14
Возможно эта тема поможет тебе:
Использование стандартных диалогов AutoCAD для выбора цвета, типа линии, веса линии в .NET (http://adn-cis.org/ispolzovanie-standartnyix-dialogov-autocad-dlya-vyibora-czveta,-tipa-linii,-vesa-linii-v-.net.html)
Название: Re: Иконки для типов линий
Отправлено: Andrey от 12-02-2014, 17:13:21
Иконки нужны для того, чтобы создать базу данных условных знаков (для treeview в palette set).
Поэтому диалоговые окна не подойдут.
А по поводу NET- хочется автоматизировать процесс.
Название: Re: Иконки для типов линий
Отправлено: Александр Ривилис от 12-02-2014, 19:48:18
Тут даже не знаю что посоветовать. Можно пойти путем, который предложил Киан Уомсли в приведенной тобой ссылке. Только предварительно создавать блок, содержащий отцентрированную одну линию с выбранным типом линии. Ну и создавать иконки. НО! Если ты попробуешь, то скорее всего увидишь, что такие иконки будут "нечитаемыми" - я уже имел опыт работы с такими условными знаками, когда типов линий было больше двух сотен и по иконкам их очень сложно было различить - только по названиям. Так что лучше всего это сделать вручную. Но это лично моё мнение и навязывать его я не буду.
Название: Re: Иконки для типов линий
Отправлено: Andrey от 13-02-2014, 09:19:25
Да, иконка, сделанная из блока, который состоит из линии определённого типа, действительно не читается. Уже пробовал. Может есть какая-нибудь функция экспорта текущего вида экрана в bmp?
Название: Re: Иконки для типов линий
Отправлено: Александр Ривилис от 13-02-2014, 14:40:18
Может есть какая-нибудь функция экспорта текущего вида экрана в bmp?
Например, команда _EXPORT. Или ActiveX/COM API метод Document.Export.
Как-то так (без проверки):
Код - C# [Выбрать]
  1. [CommandMethod("MyExport")]
  2. public void MyExport()
  3. {
  4.         Document doc = Application.DocumentManager.MdiActiveDocument;
  5.         Editor ed = doc.Editor;
  6.         AcadDocument acadDoc = doc.AcadDocument as AcadDocument;
  7.         string exportFile = null;
  8.         exportFile = "C:\\Temp\\BMPFile.bmp";
  9.         AcadSelectionSet sset = default(AcadSelectionSet);
  10.         sset = acadDoc.SelectionSets.Add("TEST");
  11.         sset.SelectOnScreen
  12.         acadDoc.Export(exportFile, "BMP", sset);
  13.         sset.Delete
  14. }
Название: Re: Иконки для типов линий
Отправлено: Andrey от 13-02-2014, 15:24:57
Спасибо!
Работает, задать разрешение экспортируемой картинки возможно? А то весит 3 Мб.
Название: Re: Иконки для типов линий
Отправлено: Александр Ривилис от 13-02-2014, 15:26:12
задать разрешение экспортируемой картинки возможно?
Только изменив размер окна документа AutoCAD.