def new(self, name: str, dxfattribs: dict = None) -> Paperspace: """Returns a new :class:`~ezdxf.layouts.Paperspace` layout. Args: name: layout name as shown in tabs in :term:`CAD` applications dxfattribs: additional DXF attributes for the :class:`~ezdxf.entities.layout.DXFLayout` entity Raises: DXFValueError: Invalid characters in layout name. DXFValueError: Layout `name` already exist. """ assert isinstance(name, str), type(str) if not is_valid_table_name(name): raise DXFValueError("Layout name contains invalid characters.") if name in self: raise DXFValueError(f'Layout "{name}" already exist.') dxfattribs = dict(dxfattribs or {}) # copy attribs dxfattribs["owner"] = self._dxf_layouts.dxf.handle dxfattribs.setdefault("taborder", len(self._layouts) + 1) block_name = self.unique_paperspace_name() layout = Paperspace.new(name, block_name, self.doc, dxfattribs=dxfattribs) # Default extents are ok! # Reset limits to (0, 0) and (paper width, paper height) layout.reset_limits() self._add_layout(name, layout) return layout # type: ignore
def new(self, name: str, dxfattribs: dict = None) -> Paperspace: """ Returns a new :class:`~ezdxf.layouts.Paperspace` layout. Args: name: layout name as shown in tabs in :term:`CAD` applications dxfattribs: additional DXF attributes for the :class:`~ezdxf.entities.layout.DXFLayout` entity Raises: DXFValueError: Invalid characters in layout name. DXFValueError: Layout `name` already exist. """ assert isinstance(name, str), type(str) if not is_valid_table_name(name): raise DXFValueError('Layout name contains invalid characters.') if name in self._layouts: raise DXFValueError(f'Layout "{name}" already exists') dxfattribs = dict(dxfattribs or {}) # copy attribs dxfattribs['owner'] = self._dxf_layouts.dxf.handle dxfattribs.setdefault('taborder', len(self._layouts) + 1) block_name = self.unique_paperspace_name() layout = Paperspace.new(name, block_name, self.doc, dxfattribs=dxfattribs) self._dxf_layouts[name] = layout.dxf_layout self._layouts[name] = layout return layout
def linetype(self, name: str): if validator.is_valid_table_name(name): self._linetype = name else: raise const.DXFValueError(f"invalid linetype name '{name}'")