Как получить допуск на размер в файле DXF с exdxf? - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь автоматически получить информацию из 2D-файла DXF. Класс измерения не имеет свойства о допуске, как dxf.dimtm. Такое свойство я могу найти в DXF-типе Dimstyle, но это не то, что я хочу. Я обнаружил, что такая информация в файле dxf выглядит следующим образом:

A01 %% C6.14 {\ H0.2; \ S + 0.0030 ^ -0.0000;}

0.0030 - верхняя граница и -0.0000 это нижняя граница. Как получить эти два числа с помощью ezdxf?

благодарны за любую помощь

Alex

1 Ответ

1 голос
/ 19 марта 2020

Как правило, значения допуска хранятся в объекте DIMSTYLE, но их можно переопределить для каждого объекта DIMENSION, их можно получить с помощью класса DimstyleOverride(), как показано в следующем примере:

import ezdxf
from ezdxf.entities import DimStyleOverride

doc = ezdxf.readfile('your.dxf')
msp = doc.modelspace()

for dimension in msp.query('DIMENSION'):
    dimstyle_override = DimStyleOverride(dimension)
    dimtol = dimstyle_override['dimtol']
    if dimtol:
        print(f'{str(dimension)} has tolerance values:')
        dimtp = dimstyle_override['dimtp']
        dimtm = dimstyle_override['dimtm']
        print(f'Upper tolerance: {dimtp}')
        print(f'Lower tolerance: {dimtm}')

Это очень продвинутый DXF topi c с очень небольшим количеством документации от создателя DXF, так что вы сами можете узнать значение всех атрибутов dim.... Здесь вы можете увидеть результат моего исследования, но без гарантии правильности информации.

...