[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
CADSoftTools.com • View topic - Загрузка файла из потока

Загрузка файла из потока

Форум для вопросов по компоненту CADViewX (версии Lite и Pro)

Загрузка файла из потока

Postby Andrey » 08 Aug 2016, 11:33

Добрый день!

Загружаю DWG файл из потока следующим образом:
private void LoadDWGFromStream(Stream stream)
{
CADViewLib.DWGImage dwg_image = new CADViewLib.DWGImage();
IStream stm = new StreamWrapper(stream);
dwg_image.LoadFromIStream(stm);
axCADViewX1.CADImage = dwg_image;
}
Как загрузить DFX и PLT файлы понятно.

А вот загрузить PDF и растровые изображения(TIFF, BMP, JPG, PSD, GIF) не получается.
Как их можно загрузить из потока?
Andrey
 
Posts: 12
Joined: 27 May 2015, 04:02

Re: Загрузка файла из потока

Postby support » 09 Aug 2016, 14:39

Здравствуйте, Андрей!

К сожалению, загрузка PDF и растровых изображений (TIFF, BMP, JPG, PSD, GIF) из потока не поддерживается. Указанные форматы можно загрузить только из файла.


Михаил
Technical Support E-mail: support@cadsofttools.com
Chat support on Skype: cadsofttools.support
support
 
Posts: 2663
Joined: 30 Mar 2005, 08:36

Re: Загрузка файла из потока

Postby Andrey » 29 Aug 2016, 08:19

Добрый день!


Метод axCADViewX1.LoadFile(string file) делал активным лист DWG файла, который в автокаде ставили на вид, автоматом.


При загрузке файла из потока, axCADViewX1 загружает по умолчанию лист Model.
Если лист Model отсутствует, то вообще не загружает изображение. Приходится в панели Листов выбирать лист (хотя панель листов встает на правильный лист по умолчанию).

Как можно это исправить? (что бы загружался лист не Model)
Andrey
 
Posts: 12
Joined: 27 May 2015, 04:02

Re: Загрузка файла из потока

Postby support » 29 Aug 2016, 18:23

Technical Support E-mail: support@cadsofttools.com
Chat support on Skype: cadsofttools.support
support
 
Posts: 2663
Joined: 30 Mar 2005, 08:36

Re: Загрузка файла из потока

Postby Andrey » 30 Aug 2016, 04:11

У нас почти во всех файлах присутствует лист Model + лист с рамкой и тд.

При вызове метода DWGImageClass.LoadFromIStream(Stream s) делается почему то текущем листом Model.
Хотя при 'загрузке' объекта ( axCADViewX1.CADImage = dwg_image) , вьювер (судя по панели элементов которая делает активным лист следующий после Model) пытается пытается выставить другой лист.

Но в итоге получается на панели листов активный лист следующий после Model, а на изображение выведен Model.
(хотя это бывает не всегда, большой разброс версий автокада. Где то выводит правильно, где то нет)

немного изменил Ваш код:
if (dwg_image.LayoutsCount > 1 &&
(dwg_image.CurrentLayout.IsModel || dwg_image.CurrentLayout.IsEmpty))
{
dwg_image.CurrentLayout = dwg_image.get_Layouts(1);
}
axCADViewX1.CADImage = dwg_image;


Спасибо, Михаил!!
Andrey
 
Posts: 12
Joined: 27 May 2015, 04:02

Re: Загрузка файла из потока

Postby Andrey » 27 Sep 2016, 08:04

Добрый день!

Как , при первой загрузке файла автокада, вписать чертеж в размеры окна?

пробовал axCADViewX1.DoToolButtonClick(TxToolButton.tbFitToWindow), не помогло.
Andrey
 
Posts: 12
Joined: 27 May 2015, 04:02

Re: Загрузка файла из потока

Postby support » 27 Sep 2016, 14:06

Здравствуйте, Андрей!

Приведенный вами код должен работать, так как фактически он производит программное нажатие кнопки Fit to window. Пожалуйста, опишите проблему более детально, желательно на конкретном примере файла со скриншотами.


Михаил
Technical Support E-mail: support@cadsofttools.com
Chat support on Skype: cadsofttools.support
support
 
Posts: 2663
Joined: 30 Mar 2005, 08:36

Re: Загрузка файла из потока

Postby Andrey » 28 Sep 2016, 03:36

Andrey
 
Posts: 12
Joined: 27 May 2015, 04:02

Re: Загрузка файла из потока

Postby Andrey » 29 Sep 2016, 05:21

Нашел проблему: axCADViewX1 помещен в userControl, который содержит еще несколько вьюверов.

При инициализации userControl, axCADViewX1.Dock = DockStyle.Fill, но свойство axCADViewX1.Size остается равным размеру, заданным на этапе разработки. В следствии чего, первый открытый файл подгоняется под размер, заданный на этапе разработки..
Andrey
 
Posts: 12
Joined: 27 May 2015, 04:02


Return to CADViewX

Who is online

Users browsing this forum: No registered users and 2 guests

cron