123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- # Created: 25.03.2011
- # Copyright (c) 2011-2018, Manfred Moitzi
- # License: MIT License
- from ezdxf.legacy import trace
- from .graphics import ExtendedTags, DXFAttr, DefSubclass, DXFAttributes, XType
- from .graphics import none_subclass, entity_subclass, ModernGraphicEntityExtension
- _TRACE_TPL = """0
- TRACE
- 5
- 0
- 330
- 0
- 100
- AcDbEntity
- 8
- 0
- 100
- AcDbTrace
- 10
- 0.0
- 20
- 0.0
- 30
- 0.0
- 11
- 0.0
- 21
- 0.0
- 31
- 0.0
- 12
- 0.0
- 22
- 0.0
- 32
- 0.0
- 13
- 0.0
- 23
- 0.0
- 33
- 0.0
- """
- trace_subclass = DefSubclass('AcDbTrace', {
- 'vtx0': DXFAttr(10, xtype=XType.any_point),
- 'vtx1': DXFAttr(11, xtype=XType.any_point),
- 'vtx2': DXFAttr(12, xtype=XType.any_point),
- 'vtx3': DXFAttr(13, xtype=XType.any_point),
- 'thickness': DXFAttr(39, default=0.0),
- 'extrusion': DXFAttr(210, xtype=XType.point3d, default=(0.0, 0.0, 1.0)),
- })
- class Trace(trace.Trace, ModernGraphicEntityExtension):
- __slots__ = ()
- TEMPLATE = ExtendedTags.from_text(_TRACE_TPL)
- DXFATTRIBS = DXFAttributes(none_subclass, entity_subclass, trace_subclass)
- class Solid(Trace):
- __slots__ = ()
- TEMPLATE = ExtendedTags.from_text(_TRACE_TPL.replace('TRACE', 'SOLID'))
- _3DFACE_TPL = """ 0
- 3DFACE
- 5
- 0
- 330
- 0
- 100
- AcDbEntity
- 8
- 0
- 100
- AcDbFace
- 10
- 0.0
- 20
- 0.0
- 30
- 0.0
- 11
- 0.0
- 21
- 0.0
- 31
- 0.0
- 12
- 0.0
- 22
- 0.0
- 32
- 0.0
- 13
- 0.0
- 23
- 0.0
- 33
- 0.0
- """
- face_subclass = DefSubclass('AcDbFace', {
- 'vtx0': DXFAttr(10, xtype=XType.point3d),
- 'vtx1': DXFAttr(11, xtype=XType.point3d),
- 'vtx2': DXFAttr(12, xtype=XType.point3d),
- 'vtx3': DXFAttr(13, xtype=XType.point3d),
- 'invisible_edge': DXFAttr(70, default=0),
- })
- class Face(trace.Face, ModernGraphicEntityExtension):
- __slots__ = ()
- TEMPLATE = ExtendedTags.from_text(_3DFACE_TPL)
- DXFATTRIBS = DXFAttributes(none_subclass, entity_subclass, face_subclass)
|