Pattern¶
Pattern Wrappers
-
class
rpw.db.
LinePatternElement
(element, doc=None)¶ Bases:
rpw.db.element.Element
,rpw.utils.mixins.ByNameCollectMixin
DB.LinePatternElement Wrapper
Solid, Dash, etc
- Attribute:
- _revit_object (DB.LinePatternElement): Wrapped
DB.LinePatternElement
-
classmethod
by_name
(name)¶ Mixin to provide instantiating by a name for classes that are collectible. This is a mixin so specifi usage will vary for each for. This method will call the
rpw.db.Element.collect
method of the class, and return the first element with a matching.name
property.>>> LinePatternElement.by_name('Dash') <rpw:LinePatternElement name:Dash>
>>> FillPatternElement.by_name('Solid') <rpw:FillPatternElement name:Solid>
-
classmethod
by_name_or_element_ref
(reference)¶ Mixin for collectible elements. This is to help cast elements from name, elemente, or element_id
-
category
¶ Wrapped
DB.Category
-
classmethod
collect
(**kwargs)¶ Collect all elements of the wrapper using the default collector. This method is defined on the main Element wrapper, but the collector parameters are defined in each wrapper. For example,
WallType
uses the _collector_params: {‘of_class’: DB.WallType, ‘is_type’: True}These default collector parameters can be overriden by passing keyword args to the collectors call.
>>> from rpw import db >>> wall_types_collector = db.WallType.collect() <rpw:Collector % FilteredElementCollector [count:4]> >>> wall_types_collector.get_elements() # All Wall Types [<rpw:WallType [name:Wall 1] [id:1557]>, ... ] >>> wall_types_collector.get_elements() [<rpw:Area % DB.Area | Rentable:30.2>] >>> rooms = db.WallInstance.collect(level="Level 1") [<rpw:WallInstance % DB.Wall symbol:Basic Wall>]
-
delete
()¶ Deletes Element from Model
-
get_category
(wrapped=True)¶ Wrapped
DB.Category
-
name
¶ Name Property
-
type
¶ Get’s Element Type using the default GetTypeId() Method. For some Elements, this is the same as
element.Symbol
orwall.WallType
Parameters: doc ( DB.Document
, optional) – Document of Element [default: revit.doc]Returns: Wrapped rpw.db.Element
element typeReturn type: ( Element
)
-
unwrap
()¶ Returns the Original Wrapped Element
-
class
rpw.db.
FillPatternElement
(element, doc=None)¶ Bases:
rpw.db.pattern.LinePatternElement
DB.FillPatternElement Wrapper
Solid, Horizontal, Vertical, Diagonal Down, etc
- Attribute:
- _revit_object (DB.FillPatternElement): Wrapped
DB.FillPatternElement
-
classmethod
by_name
(name)¶ Mixin to provide instantiating by a name for classes that are collectible. This is a mixin so specifi usage will vary for each for. This method will call the
rpw.db.Element.collect
method of the class, and return the first element with a matching.name
property.>>> LinePatternElement.by_name('Dash') <rpw:LinePatternElement name:Dash>
>>> FillPatternElement.by_name('Solid') <rpw:FillPatternElement name:Solid>
-
classmethod
by_name_or_element_ref
(reference)¶ Mixin for collectible elements. This is to help cast elements from name, elemente, or element_id
-
category
¶ Wrapped
DB.Category
-
classmethod
collect
(**kwargs)¶ Collect all elements of the wrapper using the default collector. This method is defined on the main Element wrapper, but the collector parameters are defined in each wrapper. For example,
WallType
uses the _collector_params: {‘of_class’: DB.WallType, ‘is_type’: True}These default collector parameters can be overriden by passing keyword args to the collectors call.
>>> from rpw import db >>> wall_types_collector = db.WallType.collect() <rpw:Collector % FilteredElementCollector [count:4]> >>> wall_types_collector.get_elements() # All Wall Types [<rpw:WallType [name:Wall 1] [id:1557]>, ... ] >>> wall_types_collector.get_elements() [<rpw:Area % DB.Area | Rentable:30.2>] >>> rooms = db.WallInstance.collect(level="Level 1") [<rpw:WallInstance % DB.Wall symbol:Basic Wall>]
-
delete
()¶ Deletes Element from Model
-
get_category
(wrapped=True)¶ Wrapped
DB.Category
-
name
¶ Name Property
-
type
¶ Get’s Element Type using the default GetTypeId() Method. For some Elements, this is the same as
element.Symbol
orwall.WallType
Parameters: doc ( DB.Document
, optional) – Document of Element [default: revit.doc]Returns: Wrapped rpw.db.Element
element typeReturn type: ( Element
)
-
unwrap
()¶ Returns the Original Wrapped Element
Implementation¶
""" Pattern Wrappers """
from rpw import DB
from rpw.db.element import Element
from rpw.utils.mixins import ByNameCollectMixin
class LinePatternElement(Element, ByNameCollectMixin):
"""
`DB.LinePatternElement` Wrapper
Solid, Dash, etc
Attribute:
_revit_object (DB.LinePatternElement): Wrapped ``DB.LinePatternElement``
"""
_revit_object_class = DB.LinePatternElement
_collector_params = {'of_class': _revit_object_class, 'is_type': False}
def __repr__(self):
return Element.__repr__(self, data={'name': self.name})
class FillPatternElement(LinePatternElement):
"""
`DB.FillPatternElement` Wrapper
Solid, Horizontal, Vertical, Diagonal Down, etc
Attribute:
_revit_object (DB.FillPatternElement): Wrapped ``DB.FillPatternElement``
"""
_revit_object_class = DB.FillPatternElement
_collector_params = {'of_class': _revit_object_class, 'is_type': False}