• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Доступ к объектам в греппе

Автор baton4ik, 07.12.12, 14:10:01

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

baton4ik

Получаю указатель на временную групу с помощью ksDocument2D::ksDecomposeObj.
Знаю, что можно перебирать объекты в группе с помощью итератора.
Есть ли другой способ?
Если кто знает, то подскажите, пожалуйста.

Через массивы API7 и разрушать ничего не надо, ksDecomposeObj не пользуйтесь она очень медленная.
+ Благодарностей: 1

baton4ik

Цитата: Sabahs от 07.12.12, 14:18:04
ksDecomposeObj не пользуйтесь она очень медленная.
Видел ваше сообщение на форуме на эту тему. Но мне нужно именно разрушить сложный объект на отрезки/дуги. Я так понял, что этого можно добиться только через ksDecomposeObj или ksDestroyObjects.
Или я ошибаюсь?

Не все сложные объекты нужно разрушать, чтобы добраться до объектов, просто подробней опишите, что Вы хотите сделать?
Если Вас устраивает работа функции ksDestroyObjects, то через массивы Вы сможете добраться до отрезков и дуг не разрушая сложный объект.

baton4ik

Делаю что-то типа конвертера. Нужно получить все объекты чертежа (размеры, символы, сплайны, рамка оформления) в виде простых отрезков и дуг, чтобы затем преобразовать их в сои данные.
Про массивы не знаю. Где в справке можно про них почитать?

#5
В справке про массивы Вы не прочитаете, т.к. это стандартный инструментарий языка и предполагается, что Вы с ним знакомы.
Работу с массивами можете посмотреть в примерах c:\Program Files (x86)\ASCON\KOMPAS-3D V...\SDK\Pascal\Delphi\:
- Step3_API7_2D_1.pas
- Step4_API7_2D_1.pas
- Step4_API7_3D_1.pas

Метод IPrintJob::Execute, не срабатывает я так понимаю, потому, что окно  предварительного просмотра открыто?

baton4ik

Спасибо. Посмотрю примеры.

Да, если окно предварительного просмотра открыто, то IPrintJob::Execut не срабатывает. Если не открывать окно предварительного просмотра, то настройки принтера не применяются.

Можно программно окно предварительного просмотра закрыть, используя Win_API.