How to use the ezdxf.lldxf.types.DXFTag function in ezdxf

To help you get started, we’ve selected a few ezdxf examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github mozman / ezdxf / tests / test_00_dxf_low_level_structs / test_001_dxf_types.py View on Github external
def test_equality():
    assert (1, 'text') == DXFTag(1, 'text'), 'should be equal to tuple'
    # Python 2.7 Issue
    assert ((1, 'text') != DXFTag(1, 'text')) is False

    assert (1, 'text') != DXFTag(1, 'text2'), 'should be not equal to tuple'
    assert DXFTag(1, 'text') == (1, 'text'), 'should be equal to tuple'
    assert DXFTag(1, 'text') != (1, 'text2'), 'should be not equal to tuple'
    assert DXFTag(1, 'text') == DXFTag(1, 'text')
    assert DXFTag(1, 'text') != DXFTag(1, 'text2')
github mozman / ezdxf / ezdxf / modern / hatch.py View on Github external
def dxftags(self) -> List[DXFTag]:
        tags = [
            DXFTag(72, 4),  # edge type
            DXFTag(94, int(self.degree)),
            DXFTag(73, int(self.rational)),
            DXFTag(74, int(self.periodic)),
            DXFTag(95, len(self.knot_values)),  # number of knots
            DXFTag(96, len(self.control_points)),  # number of control points
        ]
        # build knot values list
        # knot values have to be present and valid, otherwise AutoCAD crashes
        if len(self.knot_values):
            tags.extend([DXFTag(40, float(value)) for value in self.knot_values])
        else:
            raise DXFValueError("SplineEdge: missing required knot values")

        # build control points
        # control points have to be present and valid, otherwise AutoCAD crashes
        tags.extend([DXFVertex(10, (float(value[0]), float(value[1]))) for value in self.control_points])

        # build weights list, optional
        tags.extend([DXFTag(42, float(value)) for value in self.weights])
github mozman / ezdxf / ezdxf / modern / hatch.py View on Github external
def dxftags(self) -> List[DXFTag]:
        tags = [
            DXFTag(53, self.angle),
            DXFTag(43, self.base_point[0]),
            DXFTag(44, self.base_point[1]),
            DXFTag(45, self.offset[0]),
            DXFTag(46, self.offset[1]),
            DXFTag(79, len(self.dash_length_items)),
        ]
        tags.extend(DXFTag(49, item) for item in self.dash_length_items)
        return tags
github mozman / ezdxf / ezdxf / modern / hatch.py View on Github external
def dxftags(self) -> List[DXFTag]:
        tags = [
            DXFTag(53, self.angle),
            DXFTag(43, self.base_point[0]),
            DXFTag(44, self.base_point[1]),
            DXFTag(45, self.offset[0]),
            DXFTag(46, self.offset[1]),
            DXFTag(79, len(self.dash_length_items)),
        ]
        tags.extend(DXFTag(49, item) for item in self.dash_length_items)
        return tags
github mozman / ezdxf / ezdxf / modern / tableentries.py View on Github external
tokens = lin_compiler(pattern)
        subclass = self.tags.get_subclass('AcDbLinetypeTableRecord')
        subclass.append(DXFTag(73, 0))  # temp length of 0
        subclass.append(DXFTag(40, length))
        count = 0
        for token in tokens:
            if isinstance(token, DXFTag):
                if subclass[-1].code == 49:  # useless 74 only after 49 :))
                    subclass.append(DXFTag(74, 0))
                subclass.append(token)
                count += 1
            else:  # TEXT or SHAPE
                tags = cast('ComplexLineTypePart', token).complex_ltype_tags(self.drawing)
                subclass.extend(tags)
        subclass.append(DXFTag(74, 0))  # useless 74 at the end :))
        subclass.update(DXFTag(73, count))
github mozman / ezdxf / src / ezdxf / entities / ltype.py View on Github external
def _setup_complex_pattern(self, pattern: str, length: float) -> Tags:
        tokens = lin_compiler(pattern)
        tags = Tags([
            DXFTag(72, 65),  # letter 'A'
        ])

        tags2 = [DXFTag(73, 0), DXFTag(40, length)]  # temp length of 0
        count = 0
        for token in tokens:
            if isinstance(token, DXFTag):
                if tags2[-1].code == 49:  # useless 74 only after 49 :))
                    tags2.append(DXFTag(74, 0))
                tags2.append(token)
                count += 1
            else:  # TEXT or SHAPE
                tags2.extend(cast('ComplexLineTypePart', token).complex_ltype_tags(self.doc))
        tags2.append(DXFTag(74, 0))  # useless 74 at the end :))
        tags2[0] = DXFTag(73, count)
        tags.extend(tags2)
        return tags
github mozman / ezdxf / ezdxf / modern / tableentries.py View on Github external
def _setup_complex_pattern(self, pattern: str, length: float) -> None:
        tokens = lin_compiler(pattern)
        subclass = self.tags.get_subclass('AcDbLinetypeTableRecord')
        subclass.append(DXFTag(73, 0))  # temp length of 0
        subclass.append(DXFTag(40, length))
        count = 0
        for token in tokens:
            if isinstance(token, DXFTag):
                if subclass[-1].code == 49:  # useless 74 only after 49 :))
                    subclass.append(DXFTag(74, 0))
                subclass.append(token)
                count += 1
            else:  # TEXT or SHAPE
                tags = cast('ComplexLineTypePart', token).complex_ltype_tags(self.drawing)
                subclass.extend(tags)
        subclass.append(DXFTag(74, 0))  # useless 74 at the end :))
        subclass.update(DXFTag(73, count))
github mozman / ezdxf / ezdxf / modern / hatch.py View on Github external
if len(self.knot_values):
            tags.extend([DXFTag(40, float(value)) for value in self.knot_values])
        else:
            raise DXFValueError("SplineEdge: missing required knot values")

        # build control points
        # control points have to be present and valid, otherwise AutoCAD crashes
        tags.extend([DXFVertex(10, (float(value[0]), float(value[1]))) for value in self.control_points])

        # build weights list, optional
        tags.extend([DXFTag(42, float(value)) for value in self.weights])

        # build fit points
        # fit points have to be present and valid, otherwise AutoCAD crashes
        # edit 2016-12-20: this is not true - there are cases with no fit points and without crashing AutoCAD
        tags.append(DXFTag(97, len(self.fit_points)))
        tags.extend([DXFVertex(11, (float(value[0]), float(value[1]))) for value in self.fit_points])

        tags.append(DXFVertex(12, (float(self.start_tangent[0]), float(self.start_tangent[1]))))
        tags.append(DXFVertex(13, (float(self.end_tangent[0]), float(self.end_tangent[1]))))
        return tags
github mozman / ezdxf / src / ezdxf / entities / viewport.py View on Github external
DXFTag(1070, flag(const.VSF_ISOMETRIC_SNAP_STYLE)),
            DXFTag(1070, 0),  # snap isopair ???
            DXFTag(1040, dxf.snap_angle),
            DXFTag(1040, dxf.snap_base_point[0]),
            DXFTag(1040, dxf.snap_base_point[1]),
            DXFTag(1040, dxf.snap_spacing[0]),
            DXFTag(1040, dxf.snap_spacing[1]),
            DXFTag(1040, dxf.grid_spacing[0]),
            DXFTag(1040, dxf.grid_spacing[1]),
            DXFTag(1070, flag(const.VSF_HIDE_PLOT_MODE)),
            DXFTag(1002, '{'),  # start frozen layer list
        ]
        tags.extend(DXFTag(1003, layer_name) for layer_name in self.frozen_layers)
        tags.extend([
            DXFTag(1002, '}'),  # end of frozen layer list
            DXFTag(1002, '}'),  # MVIEW
        ])
        return Tags(tags)
github mozman / ezdxf / ezdxf / modern / hatch.py View on Github external
def dxftags(self) -> List[DXFTag]:
        return [
            DXFTag(450, 1),  # gradient
            DXFTag(451, 0),  # reserved for the future
            DXFTag(452, self.one_color),  # one (1) or two (0) color gradient
            DXFTag(453, 2),  # number of colors
            DXFTag(460, (self.rotation / 180.) * math.pi),  # rotation angle in radians
            DXFTag(461, self.centered),  # see DXF standard
            DXFTag(462, self.tint),  # see DXF standard
            DXFTag(463, 0),  # first value, see DXF standard
            # code == 63 "color as ACI" can be left off
            DXFTag(421, rgb2int(self.color1)),  # first color
            DXFTag(463, 1),  # second value, see DXF standard
            # code == 63 "color as ACI" can be left off
            DXFTag(421, rgb2int(self.color2)),  # second color
            DXFTag(470, self.name),
        ]