Тема: Предпросмотр части чертежа

Здравствуйте, этот вопрос задавался много раз, но я не находил решения, или находил но не понял.
Необходимо в диалоге разместить кусочек чертежа автокада.
Т.е. есть некий объект, вызываем окно редактирования его свойств и где-нибудь на диалоге рисуется например его сечение. варианты с рисованием схемок или там картинок сожалению не подходят, необходимо сечение именно с чертежа.
Пишу на С++ под AutoCAD 2010.
Буду очень признателен за пример или хотя бы за наводку в какую сторону смотреть

Re: Предпросмотр части чертежа

Евгений Мурзин пишет:

варианты с рисованием схемок или там картинок сожалению не подходят, необходимо сечение именно с чертежа.

Я бы на твоем месте генерировал в окне изображение на основе данных из чертежа. То, что ты хочешь сделать - будет значительно сложнее. Но если я тебя не убедил, то посмотри пример samples\graphics\BlockView из ObjectARX SDK. Только почему-то в 2010 этот пример убрали, так что тебе нужно взять его из 2009-го.

Re: Предпросмотр части чертежа

Спасибо огромное за помощь, с огромным скрипом, но разобрались и перенесли в свой проект. Спасобо

Re: Предпросмотр части чертежа

У меня похожая задача, как и у Евгения, только немного по сложнее. Нужно отобразить какой-либо чертёж в диалоговом окне предварительного просмотра и только потом при нажатии на кнопку OK нужно выводить этот чертёж в документе, в то место, куда укажет пользователь мышкой. Вроде разобрался как работает пример BlockView. Все линии чертежа рисуются в предварительном просмотре корректно, но почему то в предпросмотре не хочет корректно отображаться мультитекст и размерные линии. Мультитекст получается очень мелкий, что невозможно понять, что написано, а размерные линии вообще не хотят отображаться. А вот если нарисовать весь чертёж в документе а потом создать на его основе диалоговое окно предпросмотра, то тогда в диалоговом окне отображается всё нормально.
Может быть кто-нибудь сталкивался с такой проблемой? Может кто-то подскажет с чем это может быть связано?

Re: Предпросмотр части чертежа

Сергей Якунин пишет:

Мультитекст получается очень мелкий, что невозможно понять, что написано, а размерные линии вообще не хотят отображаться.

С размерами и мультитекстом очень вероятно проблема вызвана тем, что чертеж не текущий (WorkingDatabase).

(изменено: Сергей Якунин, 23 ноября 2009г. 11:44:28)

Re: Предпросмотр части чертежа

Так дело в том, что мне вообще нужно сначала рисовать чертёж не в документе,а в диалоговом окне. А тока потом это перенести в документ. Сначала я создаю новую базу данных. В ней отрисовываю то, что должно войти в предварительный просмотр. Затем эту базу данных передаю в функцию InitDrawingControl. В итоге в диалоговом окне всё отображается корректно кроме мультитекста и размеров. Так я делал в своём проекте. В примере BlockView рассматривается пример отрисовки линий только в диалоговом окне. Я просто вместо линий попробывал нарисовать мультитекст, но он корректно у меня не отображается.

(изменено: Сергей Якунин, 23 ноября 2009г. 11:48:18)

Re: Предпросмотр части чертежа

или может вообще есть другие способы всё это сделать без контрола CGsPreviewCtrl, котрый рассматривается в примере BlockView?

Re: Предпросмотр части чертежа

Сергей Якунин пишет:

Сначала я создаю новую базу данных. В ней отрисовываю то, что должно войти в предварительный просмотр. Затем эту базу данных передаю в функцию InitDrawingControl.

Вот в этот момент и переключи WorkingDatabase на эту базу.

Re: Предпросмотр части чертежа

Всё равно ничего хорошего не получилось. Размеры стали рисоваться, но неправильно, а мультитекст всё равно такой же мелкий, что ничего не разобрать.

Re: Предпросмотр части чертежа

Увы, но больше ничего не подскажу. Экспериментируй.

Re: Предпросмотр части чертежа

может вообще есть другие способы всё это сделать без контрола CGsPreviewCtrl, который рассматривается в примере BlockView?

Re: Предпросмотр части чертежа

Других не знаю. С вероятностью 99% других способов нет, т.к. AutoCAD сам использует этот же способ, только (видимо) более продвинутый.

Re: Предпросмотр части чертежа

Разобрался в общем с окном предпросмотра из примера BlockView, но только сейчас появилась другая проблема. Мультитекст и текст размерных линий отображается некачественно, тоесть нечётко, и при высоте шрифта 2.5 уже можно не разобрать что написано. Никто не подскажет можно ли сделать так, чтобы все элементы в окне предпросмотра отображались так же чётко как и в модели чертежа?