123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- # Created: 24.11.2018
- # Copyright (c) 2018, Manfred Moitzi
- # License: MIT-License
- from .dxfobjects import DXFAttr, DefSubclass, DXFAttributes, ExtendedTags
- from .dxfobjects import none_subclass, DXFObject
- _VISUALSTYLE_CLS = """0
- CLASS
- 1
- VISUALSTYLE
- 2
- AcDbVisualStyle
- 3
- ObjectDBX Classes
- 90
- 4095
- 91
- 26
- 280
- 0
- 281
- 0
- """
- _VISUALSTYLE_TPL = """ 0
- VISUALSTYLE
- 5
- 0
- 102
- {ACAD_REACTORS
- 330
- 0
- 102
- }
- 330
- 0
- 100
- AcDbVisualStyle
- 2
- 2dWireframe
- 70
- 4
- """
- visualstyle_subclass = DefSubclass('AcDbVisualStyle', {
- 'description': DXFAttr(2),
- 'style_type': DXFAttr(70),
- 'face_lighting_model': DXFAttr(71),
- # 0 =Invisible
- # 1 = Visible
- # 2 = Phong
- # 3 = Gooch
- 'face_lighting_quality': DXFAttr(72),
- # 0 = No lighting
- # 1 = Per face lighting
- # 2 = Per vertex lighting
- 'face_color_mode': DXFAttr(73),
- # 0 = No color
- # 1 = Object color
- # 2 = Background color
- # 3 = Custom color
- # 4 = Mono color
- # 5 = Tinted
- # 6 = Desaturated
- 'face_modifiers': DXFAttr(90),
- # 0 = No modifiers
- # 1 = Opacity
- # 2 = Specular
- 'face_opacity_level': DXFAttr(40),
- 'face_specular_level': DXFAttr(41),
- 'color1': DXFAttr(62),
- 'color2': DXFAttr(63),
- 'face_face_style_mono_color': DXFAttr(421),
- 'edge_style_model': DXFAttr(74),
- # 0 = No edges
- # 1 = Isolines
- # 2 = Facet edges
- 'edge_style': DXFAttr(91),
- 'edge_intersection_color': DXFAttr(64),
- 'edge_obscured_color': DXFAttr(65),
- 'edge_obscured_linetype': DXFAttr(75),
- 'edge_intersection_linetype': DXFAttr(175),
- 'edge_crease_angle': DXFAttr(42),
- 'edge_modifiers': DXFAttr(92),
- 'edge_color': DXFAttr(66),
- 'edge_opacity_level': DXFAttr(43),
- 'edge_width': DXFAttr(76),
- 'edge_overhang': DXFAttr(77),
- 'edge_jitter': DXFAttr(78),
- 'edge_silhouette_color': DXFAttr(67),
- 'edge_silhouette_width': DXFAttr(79),
- 'edge_halo_gap': DXFAttr(170),
- 'edge_isoline_count': DXFAttr(171),
- 'edge_hide_precision': DXFAttr(290), # flag
- 'edge_style_apply': DXFAttr(174), # flag
- 'style_display_settings': DXFAttr(93),
- 'brightness': DXFAttr(44),
- 'shadow_type': DXFAttr(173),
- })
- class VisualStyle(DXFObject):
- # Requires AC1021/R2007
- __slots__ = ()
- TEMPLATE = ExtendedTags.from_text(_VISUALSTYLE_TPL)
- CLASS = ExtendedTags.from_text(_VISUALSTYLE_CLS)
- DXFATTRIBS = DXFAttributes(none_subclass, visualstyle_subclass)
|