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

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

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

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

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

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

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

Точности отрисовки модели (AccuracyModelDisplaying). Как обновить? [Python]

Автор ТрындецЪ, 15.08.17, 10:36:26

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

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

ТрындецЪ

Не вступают в силу изменения точности отрисовки детали. В окне параметров значение изменяется, но на детали в окне это не отражается.
Каким методом обновлять?

# -*- coding: cp1251 -*-

import pythoncom
from win32com.client import Dispatch, gencache

kompas6_api5_module = gencache.EnsureModule("{0422828C-F174-495E-AC5D-D31014DBBE87}", 0, 1, 0)
iKompasObject = kompas6_api5_module.KompasObject(Dispatch("Kompas.Application.5")._oleobj_.QueryInterface(kompas6_api5_module.KompasObject.CLSID, pythoncom.IID_IDispatch))

kompas_api7_module = gencache.EnsureModule("{69AC2981-37C0-4379-84FD-5DD2F3C0A520}", 0, 1, 0)
kompas_api_object = kompas_api7_module.IKompasAPIObject(Dispatch("Kompas.Application.7")._oleobj_.QueryInterface(kompas_api7_module.IKompasAPIObject.CLSID, pythoncom.IID_IDispatch))
iApplication = kompas_api_object.Application

iKompasDocument = iApplication.ActiveDocument
iKompasDocument3D = kompas_api7_module.KompasDocument3D(iKompasDocument)

iDocumentSettings = iKompasDocument3D.DocumentSettings
iDocument3DSettings = kompas_api7_module.IDocument3DSettings(iDocumentSettings)
iDocument3DSettings.AccuracyModelDisplaying = 100 # точность отрисовки деталей в процентах
iPart7 = iKompasDocument3D.TopPart

#print "Part.RebuildModel", iPart7.RebuildModel(True)
#print "iKompasDocument3D.RebuildDocument", iKompasDocument3D.RebuildDocument()
#print "Part.Update", iPart7.Update()
#print iKompasObject.ksRefreshActiveWindow()

Вы, справку читали?
Почему решили, что значение в процентах?
Попробуйте задать значение 6724, хотя можно и больше, пробовать.

ТрындецЪ

Цитата: Sabahs от 15.08.17, 11:02:28
Вы, справку читали?
Почему решили, что значение в процентах?
Попробуйте задать значение 6724, хотя можно и больше, пробовать.
При считывании значения из настроек  "6724" выдаётся "100". Отсюда я сделал вывод, что задаётся в процентах. Устанавливается значение, вроде как, нормально (в настройках изменения отражаются), но на экране нет изменений.


ТрындецЪ

Цитата: Sabahs от 15.08.17, 11:21:26
Габариты детали, тоже могут влиять на точность.
Тестирую на простой детали (во вложении).
После сохранения и повторного открытия детали наблюдается вот такой баг. Изначально точность стояла 64 (0%), программно поменял на 900 (70.1%).

При этих габаритах должна нормально выглядеть, установите 6000 и программно сохраните, если не изменится точность, то программно перестройте документ, после сохранения.

ТрындецЪ

Цитата: Sabahs от 15.08.17, 11:39:29
При этих габаритах должна нормально выглядеть, установите 6000 и программно сохраните, если не изменится точность, то программно перестройте документ, после сохранения.
Не помогает.

Да значение в %, задавал так, как показано на картинке, всё работает.
+ Благодарностей: 1

ТрындецЪ

Цитата: Sabahs от 15.08.17, 12:33:37
Да значение в %, задавал так, как показано на картинке, всё работает.
Может, в версии дело. У меня 16.0. Что только не перепробовал, результата нет.

Я себе V16.0, точно ставить не буду, чтобы проверить, актуальная версия V16.1.11.

ТрындецЪ

Цитата: Sabahs от 15.08.17, 13:57:52
Я себе V16.0, точно ставить не буду, чтобы проверить, актуальная версия V16.1.11.
И на том спасибо! Хотя бы выяснили, что код правильный. А без RebuildDocument в конце автоматически не обновляется отрисовка?


ТрындецЪ

Ещё небольшое дополнение. Если у детали сборки, в режиме редактирования этой детали "На месте", изменить параметр точности отрисовки, то изменения не отображаются на экране. Баг наблюдается как в ручном режиме работы, так и в программном.