# DataTransferModifier(Modifier)

base classes — `bpy_struct`, `Modifier`

class `bpy.types.``DataTransferModifier`(Modifier)

  Modifier transferring some data from a source mesh

  `data_types_edges`

    Which edge data layers to transfer

    - `SHARP_EDGE` Sharp, Transfer sharp mark.
    - `SEAM` UV Seam, Transfer UV seam mark.
    - `CREASE` Subsurf Crease, Transfer crease values.
    - `BEVEL_WEIGHT_EDGE` Bevel Weight, Transfer bevel weights.
    - `FREESTYLE_EDGE` Freestyle Mark, Transfer Freestyle edge mark.

    Type: | enum set in {‘SHARP_EDGE’, ‘SEAM’, ‘CREASE’, ‘BEVEL_WEIGHT_EDGE’, ‘FREESTYLE_EDGE’}, default {‘SHARP_EDGE’}

  `data_types_loops`

    Which face corner data layers to transfer

    - `CUSTOM_NORMAL` Custom Normals, Transfer custom normals.
    - `VCOL` VCol, Vertex (face corners) colors.
    - `UV` UVs, Transfer UV layers.

    Type: | enum set in {‘CUSTOM_NORMAL’, ‘VCOL’, ‘UV’}, default {‘CUSTOM_NORMAL’}

  `data_types_polys`

    Which poly data layers to transfer

    - `SMOOTH` Smooth, Transfer flat/smooth mark.
    - `FREESTYLE_FACE` Freestyle Mark, Transfer Freestyle face mark.

    Type: | enum set in {‘SMOOTH’, ‘FREESTYLE_FACE’}, default {‘SMOOTH’}

  `data_types_verts`

    Which vertex data layers to transfer

    - `VGROUP_WEIGHTS` Vertex Group(s), Transfer active or all vertex groups.
    - `BEVEL_WEIGHT_VERT` Bevel Weight, Transfer bevel weights.

    Type: | enum set in {‘VGROUP_WEIGHTS’, ‘BEVEL_WEIGHT_VERT’}, default {‘VGROUP_WEIGHTS’}

  `edge_mapping`

    Method used to map source edges to destination ones

    - `TOPOLOGY` Topology, Copy from identical topology meshes.
    - `VERT_NEAREST` Nearest Vertices, Copy from most similar edge (edge which vertices are the closest of destination edge’s ones).
    - `NEAREST` Nearest Edge, Copy from closest edge (using midpoints).
    - `POLY_NEAREST` Nearest Face Edge, Copy from closest edge of closest face (using midpoints).
    - `EDGEINTERP_VNORPROJ` Projected Edge Interpolated, Interpolate all source edges hit by the projection of destination one along its own normal (from vertices).

    Type: | enum in [‘TOPOLOGY’, ‘VERT_NEAREST’, ‘NEAREST’, ‘POLY_NEAREST’, ‘EDGEINTERP_VNORPROJ’], default ‘NEAREST’

  `invert_vertex_group`

    Invert vertex group influence

    Type: | boolean, default False

  `islands_precision`

    Factor controlling precision of islands handling (typically, 0.1 should be enough, higher values can make things really slow)

    Type: | float in [0, 1], default 0.0

  `layers_uv_select_dst`

    How to match source and destination layers

    - `ACTIVE` Active Layer, Affect active data layer of all targets.
    - `NAME` By Name, Match target data layers to affect by name.
    - `INDEX` By Order, Match target data layers to affect by order (indices).

    Type: | enum in [‘ACTIVE’, ‘NAME’, ‘INDEX’], default ‘NAME’

  `layers_uv_select_src`

    Which layers to transfer, in case of multi-layers types

    - `ACTIVE` Active Layer, Only transfer active data layer.
    - `ALL` All Layers, Transfer all data layers.
    - `BONE_SELECT` Selected Pose Bones, Transfer all vertex groups used by selected pose bones.
    - `BONE_DEFORM` Deform Pose Bones, Transfer all vertex groups used by deform bones.

    Type: | enum in [‘ACTIVE’, ‘ALL’, ‘BONE_SELECT’, ‘BONE_DEFORM’], default ‘ALL’

  `layers_vcol_select_dst`

    How to match source and destination layers

    - `ACTIVE` Active Layer, Affect active data layer of all targets.
    - `NAME` By Name, Match target data layers to affect by name.
    - `INDEX` By Order, Match target data layers to affect by order (indices).

    Type: | enum in [‘ACTIVE’, ‘NAME’, ‘INDEX’], default ‘NAME’

  `layers_vcol_select_src`

    Which layers to transfer, in case of multi-layers types

    - `ACTIVE` Active Layer, Only transfer active data layer.
    - `ALL` All Layers, Transfer all data layers.
    - `BONE_SELECT` Selected Pose Bones, Transfer all vertex groups used by selected pose bones.
    - `BONE_DEFORM` Deform Pose Bones, Transfer all vertex groups used by deform bones.

    Type: | enum in [‘ACTIVE’, ‘ALL’, ‘BONE_SELECT’, ‘BONE_DEFORM’], default ‘ALL’

  `layers_vgroup_select_dst`

    How to match source and destination layers

    - `ACTIVE` Active Layer, Affect active data layer of all targets.
    - `NAME` By Name, Match target data layers to affect by name.
    - `INDEX` By Order, Match target data layers to affect by order (indices).

    Type: | enum in [‘ACTIVE’, ‘NAME’, ‘INDEX’], default ‘NAME’

  `layers_vgroup_select_src`

    Which layers to transfer, in case of multi-layers types

    - `ACTIVE` Active Layer, Only transfer active data layer.
    - `ALL` All Layers, Transfer all data layers.
    - `BONE_SELECT` Selected Pose Bones, Transfer all vertex groups used by selected pose bones.
    - `BONE_DEFORM` Deform Pose Bones, Transfer all vertex groups used by deform bones.

    Type: | enum in [‘ACTIVE’, ‘ALL’, ‘BONE_SELECT’, ‘BONE_DEFORM’], default ‘ALL’

  `loop_mapping`

    Method used to map source faces’ corners to destination ones

    - `TOPOLOGY` Topology, Copy from identical topology meshes.
    - `NEAREST_NORMAL` Nearest Corner And Best Matching Normal, Copy from nearest corner which has the best matching normal.
    - `NEAREST_POLYNOR` Nearest Corner And Best Matching Face Normal, Copy from nearest corner which has the face with the best matching normal to destination corner’s face one.
    - `NEAREST_POLY` Nearest Corner Of Nearest Face, Copy from nearest corner of nearest polygon.
    - `POLYINTERP_NEAREST` Nearest Face Interpolated, Copy from interpolated corners of the nearest source polygon.
    - `POLYINTERP_LNORPROJ` Projected Face Interpolated, Copy from interpolated corners of the source polygon hit by corner normal projection.

    Type: | enum in [‘TOPOLOGY’, ‘NEAREST_NORMAL’, ‘NEAREST_POLYNOR’, ‘NEAREST_POLY’, ‘POLYINTERP_NEAREST’, ‘POLYINTERP_LNORPROJ’], default ‘NEAREST_POLYNOR’

  `max_distance`

    Maximum allowed distance between source and destination element, for non-topology mappings

    Type: | float in [0, inf], default 1.0

  `mix_factor`

    Factor to use when applying data to destination (exact behavior depends on mix mode, multiplied with weights from vertex group when defined)

    Type: | float in [0, 1], default 1.0

  `mix_mode`

    How to affect destination elements with source values

    - `REPLACE` Replace, Overwrite all elements’ data.
    - `ABOVE_THRESHOLD` Above Threshold, Only replace destination elements where data is above given threshold (exact behavior depends on data type).
    - `BELOW_THRESHOLD` Below Threshold, Only replace destination elements where data is below given threshold (exact behavior depends on data type).
    - `MIX` Mix, Mix source value into destination one, using given threshold as factor.
    - `ADD` Add, Add source value to destination one, using given threshold as factor.
    - `SUB` Subtract, Subtract source value to destination one, using given threshold as factor.
    - `MUL` Multiply, Multiply source value to destination one, using given threshold as factor.

    Type: | enum in [‘REPLACE’, ‘ABOVE_THRESHOLD’, ‘BELOW_THRESHOLD’, ‘MIX’, ‘ADD’, ‘SUB’, ‘MUL’], default ‘REPLACE’

  `object`

    Object to transfer data from

    Type: | `Object`

  `poly_mapping`

    Method used to map source faces to destination ones

    - `TOPOLOGY` Topology, Copy from identical topology meshes.
    - `NEAREST` Nearest Face, Copy from nearest polygon (using center points).
    - `NORMAL` Best Normal-Matching, Copy from source polygon which normal is the closest to destination one.
    - `POLYINTERP_PNORPROJ` Projected Face Interpolated, Interpolate all source polygons intersected by the projection of destination one along its own normal.

    Type: | enum in [‘TOPOLOGY’, ‘NEAREST’, ‘NORMAL’, ‘POLYINTERP_PNORPROJ’], default ‘NEAREST’

  `ray_radius`

    ‘Width’ of rays (especially useful when raycasting against vertices or edges)

    Type: | float in [0, inf], default 0.0

  `use_edge_data`

    Enable edge data transfer

    Type: | boolean, default False

  `use_loop_data`

    Enable face corner data transfer

    Type: | boolean, default False

  `use_max_distance`

    Source elements must be closer than given distance from destination one

    Type: | boolean, default False

  `use_object_transform`

    Evaluate source and destination meshes in global space

    Type: | boolean, default True

  `use_poly_data`

    Enable face data transfer

    Type: | boolean, default False

  `use_vert_data`

    Enable vertex data transfer

    Type: | boolean, default False

  `vert_mapping`

    Method used to map source vertices to destination ones

    - `TOPOLOGY` Topology, Copy from identical topology meshes.
    - `NEAREST` Nearest vertex, Copy from closest vertex.
    - `EDGE_NEAREST` Nearest Edge Vertex, Copy from closest vertex of closest edge.
    - `EDGEINTERP_NEAREST` Nearest Edge Interpolated, Copy from interpolated values of vertices from closest point on closest edge.
    - `POLY_NEAREST` Nearest Face Vertex, Copy from closest vertex of closest face.
    - `POLYINTERP_NEAREST` Nearest Face Interpolated, Copy from interpolated values of vertices from closest point on closest face.
    - `POLYINTERP_VNORPROJ` Projected Face Interpolated, Copy from interpolated values of vertices from point on closest face hit by normal-projection.

    Type: | enum in [‘TOPOLOGY’, ‘NEAREST’, ‘EDGE_NEAREST’, ‘EDGEINTERP_NEAREST’, ‘POLY_NEAREST’, ‘POLYINTERP_NEAREST’, ‘POLYINTERP_VNORPROJ’], default ‘NEAREST’

  `vertex_group`

    Vertex group name for selecting the affected areas

    Type: | string, default “”, (never None)

  classmethod `bl_rna_get_subclass`(id, default=None)

    Parameters: | id (string) – The RNA type identifier.
    Returns: | The RNA type or default when not found.
    Return type: | `bpy.types.Struct` subclass

  classmethod `bl_rna_get_subclass_py`(id, default=None)

    Parameters: | id (string) – The RNA type identifier.
    Returns: | The class or default when not found.
    Return type: | type

Inherited Properties

`bpy_struct.id_data` `Modifier.name` `Modifier.type` `Modifier.show_viewport` `Modifier.show_render` | `Modifier.show_in_editmode` `Modifier.show_on_cage` `Modifier.show_expanded` `Modifier.use_apply_on_spline`

Inherited Functions

`bpy_struct.as_pointer` `bpy_struct.driver_add` `bpy_struct.driver_remove` `bpy_struct.get` `bpy_struct.is_property_hidden` `bpy_struct.is_property_overridable_library` `bpy_struct.is_property_readonly` `bpy_struct.is_property_set` `bpy_struct.items` `bpy_struct.keyframe_delete` | `bpy_struct.keyframe_insert` `bpy_struct.keys` `bpy_struct.path_from_id` `bpy_struct.path_resolve` `bpy_struct.pop` `bpy_struct.property_overridable_library_set` `bpy_struct.property_unset` `bpy_struct.type_recast` `bpy_struct.values`