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

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

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

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

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

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

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

Погасить вид

Автор sevrya, 02.11.23, 14:03:36

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

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

sevrya

Добрый день.
Имеется чертеж. На нем несколько видов. Необходимо погасить "Вид 1".
При создании данного вида указал параметр iViewParam.state = 2, но вид все равно видимый.
Прошу помощи в реализации.

Nipal

Обновлять установленные параметры нужно.
+ Благодарностей: 1

sevrya

 iViewParam.state = 2 задается до iDocument2D.ksCreateSheetArbitraryView(iAssociationViewParam, 0), соответственно, в моем понимании, вид должен сразу создаваться невидимым.
Как можно обновить параметр, если ksViewParam имеет только один метод Init?

Nipal

iAssociationViewParam - это другая структура в которую входит iViewParam, как Вы это делаете, х.е.з.

sevrya

iAssociationViewParam = kompas6_api5_module.ksAssociationViewParam(kompas_object.GetParamStruct(kompas6_constants.ko_AssociationViewParam))
iAssociationViewParam.Init()
iAssociationViewParam.disassembly = False # Разнесение объекта
iAssociationViewParam.fileName = path
iAssociationViewParam.hiddenLinesShow = False
iAssociationViewParam.hiddenLinesStyle = 4
iAssociationViewParam.projBodies = True 
iAssociationViewParam.projectionLink = False
iAssociationViewParam.projectionName = "#Спереди"
iAssociationViewParam.projSurfaces = False
iAssociationViewParam.projThreads = True
iAssociationViewParam.sameHatch = False
iAssociationViewParam.section = False
iAssociationViewParam.tangentEdgesShow = False
iAssociationViewParam.tangentEdgesStyle = 2
iAssociationViewParam.visibleLinesStyle = 1
iViewParam = kompas6_api5_module.ksViewParam(iAssociationViewParam.GetViewParam())
iViewParam.Init()
iViewParam.angle = 0
iViewParam.color = 0
iViewParam.name = "Вид 1"
iViewParam.scale_ = scale

"""Здесь устанавливаю состояние вида - невидимый"""

iViewParam.state = 2  # Состояние вида (активный, фоновый, невидимый, текущий)
iViewParam.x = -starting_position_x
iViewParam.y = starting_position_y

iDocument2D.ksCreateSheetArbitraryView(iAssociationViewParam, 0)

Slaviation

Добрый день.
Переключитесь с созданного вида на другой вид, а потом вызовите для созданного
view.Visible = False
view.Update()
+ Благодарностей: 1

Nipal

Цитата: Slaviation от 02.11.23, 14:45:00Добрый день.
Переключитесь с созданного вида на другой вид, а потом вызовите для созданного
view.Visible = False
view.Update()
Зачем костыль, особенно с переключением?
Код дали:
 - GetViewParam? а где Set?

sevrya

Цитата: Slaviation от 02.11.23, 14:45:00Добрый день.
Переключитесь с созданного вида на другой вид, а потом вызовите для созданного
view.Visible = False
view.Update()

Спасибо, помогло.

Nipal

Цитата: Nipal от 02.11.23, 14:13:35Обновлять установленные параметры нужно.
Это не помогло?

sevrya

Цитата: Nipal от 02.11.23, 15:00:59Это не помогло?
Не разобрался как это сделать.

Slaviation

ЦитироватьЭто не помогло?
Подозреваю, что активный вид нельзя сделать невидимым :)

Nipal

Цитата: sevrya от 02.11.23, 15:04:22Не разобрался как это сделать.
ksSetObjParam или через IView.

Nipal

Цитата: Slaviation от 02.11.23, 15:06:36Подозреваю, что активный вид нельзя сделать невидимым :)
Уверены?
PS. Нужно в логику немного вникать.

Михаил88

Nipal, Вы правы достаточно просто обновить. Если даже вид активный он приобретает статус погашенный.
Я проверил.
изображение_2023-11-02_190327560.png
Пока он активный он виден пользователю.
изображение_2023-11-02_190700593.png
после переключения на другой активный вид он для пользователя становится невидимый, стандартный функционал компаса так работает
изображение_2023-11-02_190949521.png
+ Благодарностей: 2

Slaviation

Да,так и есть. Пока вид активный, он не может быть невидимым. Ровно это я и предполагал выше. Вникнув немного  в логику это показалось мне вполне логичным :)
+ Благодарностей: 1

Nipal

Цитата: Slaviation от 02.11.23, 19:39:39Да,так и есть. Пока вид активный, он не может быть невидимым. Ровно это я и предполагал выше. Вникнув в логику это показалось мне вполне логичным :)
:)))))  :)))))  :)))))

sevrya

Цитата: Nipal от 02.11.23, 15:08:11ksSetObjParam или через IView.
Если не сложно, подскажите как реализовать.