def new(self, name: str=None, description: str='', selectable: bool=True) -> DXFGroup:
    ' Creates a new group. If `name` is ``None`` an unnamed group is\n        created, which has an automatically generated name like "\\*Annnn".\n\n        Args:\n            name: group name as string\n            description: group description as string\n            selectable: group is selectable if ``True``\n\n        '
    if (name in self):
        raise const.DXFValueError(f"GROUP '{name}' already exists.")
    if (name is None):
        name = self.next_name()
        unnamed = 1
    else:
        unnamed = 0
    dxfattribs = {'description': description, 'unnamed': unnamed, 'selectable': int(bool(selectable))}
    return cast(DXFGroup, self._new(name, dxfattribs))
Creates a new group. If `name` is ``None`` an unnamed group is
created, which has an automatically generated name like "\*Annnn".

Args:
    name: group name as string
    description: group description as string
    selectable: group is selectable if ``True``
def new(self, name: str=None, description: str=, selectable: bool=True) -> DXFGroup:
    ' Creates a new group. If `name` is ``None`` an unnamed group is\n        created, which has an automatically generated name like "\\*Annnn".\n\n        Args:\n            name: group name as string\n            description: group description as string\n            selectable: group is selectable if ``True``\n\n        '
    if (name in self):
        raise const.DXFValueError(f"GROUP '{name}' already exists.")
    if (name is None):
        name = self.next_name()
        unnamed = 1
    else:
        unnamed = 0
    dxfattribs = {'description': description, 'unnamed': unnamed, 'selectable': int(bool(selectable))}
    return cast(DXFGroup, self._new(name, dxfattribs))