Как пройтись по параметрам документа ?

Автор Student2025, 31.05.25, 10:37:17

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

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

Student2025

Добрый день! Предлагаю марафон по параметрам объекта в одну тему!
 
Какой ключевой объект позволяет пройтись по параметрам текущего документа ? Как называется этот объект ? Хочу управлять всеми флажками что на фото.

Я подумал что это они -

Интерфейс IDrawingDocumentSettings
Интерфейс IFragmentDocumentSettings
Интерфейс INewDocument3DSettings
Интерфейс INewPartDocumentSettings
Интерфейс ILibItemSettings
Интерфейс IDocumentSettings
Интерфейс IDocument2DSettings
Интерфейс IDocument3DSettings
Интерфейс IDocumentSettings1
Интерфейс ILibArraySettings
Интерфейс ISystemSettings
Интерфейс ISystemTemplatesSettings

Но я там не вижу ряда параметров.

Student2025

Про IFragmentDocumentSettings не чего не могу найти..

Student2025

Вот с этим окном разобрался.

15.png

# -*- coding: utf-8 -*-

from win32com.client import Dispatch

from ksConstV21 import constants as const_2d
from ksConst3DV21 import constants as const_3d

import LDefin2DV21 as LDefin2D
import LDefin3DV21 as LDefin3D

import KompasApi5V21 as KAPI5
import KompasApi7V21 as KAPI7

api5 = Dispatch('Kompas.Application.5', None, KAPI5.KompasObject.CLSID)
api7 = Dispatch('Kompas.Application.7')

iDoc = api7.ActiveDocument

if iDoc.Type == const_2d.ksObjectPartDocument:
    iDoc3D = KAPI7.KompasDocument3D(iDoc)

    iDocSettings = iDoc3D.DocumentSettings
    iDoc3DSettings = KAPI7.IDocument3DSettings(iDocSettings)

    # Точность отрисовки max = 6.0
    v1 = 50 # %
    iDoc3DSettings.AccuracyModelDisplaying = v1*(6/100) # процентный эквивалент

    # Точность расчета МЦХ  max = 100
    v2 = 50 # %
    iDoc3DSettings.AccuracyMassProperties = v2

    iDoc3D.RebuildDocument()

Student2025

Частично с этим окном разобрался, но не могу найти параметры текста и шаг строк, как ?

15.png

# -*- coding: utf-8 -*-
from win32com.client import Dispatch

from ksConstV21 import constants as const_2d
from ksConst3DV21 import constants as const_3d

import LDefin2DV21 as LDefin2D
import LDefin3DV21 as LDefin3D

import KompasApi5V21 as KAPI5
import KompasApi7V21 as KAPI7

api5 = Dispatch('Kompas.Application.5', None, KAPI5.KompasObject.CLSID)
api7 = Dispatch('Kompas.Application.7')

iDoc = api7.ActiveDocument

if iDoc.Type == const_2d.ksObjectPartDocument:
    iDoc3D = KAPI7.KompasDocument3D(iDoc)

    iDocSettings = iDoc3D.DocumentSettings
    iDoc3DSettings = KAPI7.IDocument3DSettings(iDocSettings)

    # Параметры обозначения шероховатости

    # Соответствие ГОСТ 2.309-73

    # С изменением №3
    v3 = 0
    # Предыдущая редакция
    v3 = 1

    iDoc3DSettings.RoughModification = v3

    iDoc3D.RebuildDocument()

Student2025

#4
Вот с этим окном разобрался.

15.png

# -*- coding: utf-8 -*-
from win32com.client import Dispatch

from ksConstV21 import constants as const_2d
from ksConst3DV21 import constants as const_3d

import LDefin2DV21 as LDefin2D
import LDefin3DV21 as LDefin3D

import KompasApi5V21 as KAPI5
import KompasApi7V21 as KAPI7

api5 = Dispatch('Kompas.Application.5', None, KAPI5.KompasObject.CLSID)
api7 = Dispatch('Kompas.Application.7')

iDoc = api7.ActiveDocument

if iDoc.Type == const_2d.ksObjectPartDocument:
    iDoc3D = KAPI7.KompasDocument3D(iDoc)

    iDocSettings = iDoc3D.DocumentSettings
    iDoc3DSettings = KAPI7.IDocument3DSettings(iDocSettings)

    # -------------------------------------------------------------------------
    # Вид разделителя между дробной и целой части
    # ksDecimalComma Десятичная запятая (0)
    v4 = const_2d.ksDecimalComma
    # ksDecimalPoint Десятичная точка (1)
    v4 = const_2d.ksDecimalPoint

    iDoc3DSettings.DecimalDelimiterType = v4

    # -------------------------------------------------------------------------
    iDoc3D.RebuildDocument()

Student2025

UU, вот и все что есть ? больше не чего нету ?

Student2025


UU

Цитата: Student2025 от 31.05.25, 16:00:41UU, вот и все что есть ? больше не чего нету ?
Цитата: Student2025 от 29.05.25, 19:18:50В любом случае задача решена перебором всех объектов.

Student2025

#8
UU, а вот обязательно самоутверждаться ?

И кстати я перебрал все объекты и не чего что бы указывало на флажки размеров там стрелки поворачивать ..

    iDoc3D = KAPI7.KompasDocument3D(iDoc)
   
    iDocSettings = iDoc3D.DocumentSettings
   
    iDoc3DSettings = KAPI7.IDocument3DSettings(iDocSettings)
   
    iDoc2DSettings = KAPI7.IDocument2DSettings(iDocSettings)

    iDocSettings = KAPI7.IDocumentSettings(iDocSettings)
   
    iDoc1Settings = KAPI7.IDocumentSettings1(iDocSettings)
   
    iDrawDocSettings = KAPI7.IDrawingDocumentSettings(iDocSettings)
   
    iFragDocSettings = KAPI7.IFragmentDocumentSettings(iDocSettings)
   
    iLibASettings = KAPI7.ILibArraySettings(iDocSettings)
   
    iLibISettings = KAPI7.ILibItemSettings(iDocSettings)
   
    iSysSettings = KAPI7.ISystemSettings(iDocSettings)
   
    iSysTSettings = KAPI7.ISystemTemplatesSettings(iDocSettings)
   
    print(dir(iSysTSettings))

Напомню меня интересует только вкладка: Текущая деталь

Student2025

#9
Зачем будить во мне зверя ?

Student2025