Работа с API компас в C#. Получение размеров детали.

Автор D.I.R.W., 10.11.15, 13:35:37

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

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

Михаил88

Цитата: Denis78 от 02.06.22, 16:35:591-2, 3-4 две выносных
 5-6 размерная
Все координаты я нашел!

iSymbols3DContainer = kompas_api7_module.ISymbols3DContainer(iPart7)
iLineDimensions3D = iSymbols3DContainer.LineDimensions3D
iBaseLineDimension3D = iLineDimensions3D.LineDimension3D(0)
print(iBaseLineDimension3D)
print(iBaseLineDimension3D.ModelObjectType)
iModelObject = kompas_api7_module.IModelObject(iBaseLineDimension3D)
iFeature = iModelObject.Owner
print(iFeature)
print(iFeature.Name)
model_objects = iFeature.ModelObjects(0)
print(model_objects)
for model in model_objects:
    print(model.ModelObjectType)
    if model.ModelObjectType == 7:
        model_ob = kompas_api7_module.IModelObject(model)
        print(model_ob)
        iEdge = kompas_api7_module.IEdge(model_ob)
        mathCurve = iEdge.MathCurve
        print(mathCurve)
        print(mathCurve.GetGabarit())

Это универсальный способ. Проверил для o3d_baselineDimension3D 80 Линейный размер 3D (от отрезка до точки) и o3d_lineDimension3D 81 Линейный размер 3D (на плоскости)
 
 
+ Благодарностей: 2

Denis78