1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- # Created: 25.03.2011
- # Copyright (c) 2011-2018, Manfred Moitzi
- # License: MIT License
- from ezdxf.legacy import text
- from .graphics import ExtendedTags, DXFAttr, DefSubclass, DXFAttributes, XType
- from .graphics import none_subclass, entity_subclass, ModernGraphicEntityExtension
- _TEXT_TPL = """0
- TEXT
- 5
- 0
- 330
- 0
- 100
- AcDbEntity
- 8
- 0
- 100
- AcDbText
- 10
- 0.0
- 20
- 0.0
- 30
- 0.0
- 40
- 1.0
- 1
- TEXTCONTENT
- 50
- 0.0
- 51
- 0.0
- 7
- STANDARD
- 41
- 1.0
- 71
- 0
- 72
- 0
- 11
- 0.0
- 21
- 0.0
- 31
- 0.0
- 100
- AcDbText
- 73
- 0
- """
- text_subclass = (
- DefSubclass('AcDbText', {
- 'insert': DXFAttr(10, xtype=XType.any_point),
- 'height': DXFAttr(40),
- 'text': DXFAttr(1),
- 'rotation': DXFAttr(50, default=0.0), # in degrees (circle = 360deg)
- 'oblique': DXFAttr(51, default=0.0), # in degrees, vertical = 0deg
- 'style': DXFAttr(7, default='STANDARD'), # text style
- 'width': DXFAttr(41, default=1.0), # width FACTOR!
- 'text_generation_flag': DXFAttr(71, default=0), # 2 = backward (mirror-x), 4 = upside down (mirror-y)
- 'halign': DXFAttr(72, default=0), # horizontal justification
- 'align_point': DXFAttr(11, xtype=XType.any_point),
- 'thickness': DXFAttr(39, default=0.0),
- 'extrusion': DXFAttr(210, xtype=XType.point3d, default=(0.0, 0.0, 1.0)),
- }),
- DefSubclass('AcDbText', {'valign': DXFAttr(73, default=0)}))
- class Text(text.Text, ModernGraphicEntityExtension):
- __slots__ = ()
- TEMPLATE = ExtendedTags.from_text(_TEXT_TPL)
- DXFATTRIBS = DXFAttributes(none_subclass, entity_subclass, *text_subclass)
|