Scripting_DAZ_Importer_Operators - Diffeomorphic/import_daz GitHub Wiki

OPERATORS IN bpy.ops.daz

bpy.ops.daz.activate_all(morphset = "All", category = "", prefix = "", ftype = "", useMesh = False)

Activate all morphs of this type

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • morphset (string) - morphset
  • category (string) - category
  • prefix (string) - prefix
  • ftype (string) - ftype
  • useMesh (boolean) - useMesh

bpy.ops.daz.activate_diffuse()

Activate diffuse texture node, to make textured view work correctly


bpy.ops.daz.add_cloud_dir()

Add a cloud directory


bpy.ops.daz.add_content_dir()

Add a content directory


bpy.ops.daz.add_content_dirs()

Add DAZ root paths in directory


bpy.ops.daz.add_custom_shell(nodeGroup = '')

Add a nodegroup as a shell to selected materials

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • nodeGroup (enum in []) - Node group to be converted to a shell. Must have Shader input and output sockets

bpy.ops.daz.add_driven_value_nodes(selection = [])

Add driven value nodes

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}

bpy.ops.daz.add_extra_face_bones(ignoreLocked = True, errorOnFail = True)

Add an extra layer of face bones, which can be both driven and posed

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • ignoreLocked (boolean) - Don't create posable bones for locked location channels
  • errorOnFail (boolean) - Fail On Error

bpy.ops.daz.add_hair_rig(useCheckStrips = True, nSectors = 12, sectorOffset = 0, hairLength = 5, keepVertexNumbers = True, controlMethod = 'NONE', useHideBones = True, useSeparateRig = True, headName = "head", useVertexGroups = True)

Add an armature to mesh hair

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useCheckStrips (boolean) - Check that the hair mesh consists of strips in UV space
  • nSectors (int) - Number of sectors
  • sectorOffset (int) - Angle to beginning of first sector
  • hairLength (int) - Number of bones in a hair
  • keepVertexNumbers (boolean) - Keep vertex numbers. This is necessary for hair proxy meshes
  • controlMethod (enum in ['NONE', 'IK', 'BBONE', 'WINDER']) - Method for controlling hair posing
  • useHideBones (boolean) - Hide the deform bones if using IK
  • useSeparateRig (boolean) - Make a separate rig parented to the head bone, instead of adding bones to the main rig
  • headName (string) - Name of the head bone
  • useVertexGroups (boolean) - Create vertex groups based on Z coordinate

bpy.ops.daz.add_ik_controls(useImproveIk = False, useLimitConstraints = True, useFingerIk = False, tongueControl = 'NONE', shaftControl = 'NONE', shaftName = "Shaft", driverRotationMode = 'AUTO', addNondeformExtras = True, keepRig = False, ownerThreshold = 89.000, name = "IK")

Add IK controls to selected bones, like MHX/Rigify tongue

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useImproveIk (boolean) - Improve IK by storing a bending angle. This is compatible with daz poses but does not work with rigify poles so they can not be used. Not needed if Optimize Pose for IK is used
  • useLimitConstraints (boolean) - Copy limit location and limit rotation constraints to FK bones
  • useFingerIk (boolean) - Generate IK controls for fingers
  • tongueControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for tongue
  • shaftControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for Dicktator/Futalicious shaft
  • shaftName (string) - Shaft bones start with this string (case insensitive)
  • driverRotationMode (enum in ['NATIVE', 'AUTO', 'SWING_TWIST_X', 'SWING_TWIST_Y', 'SWING_TWIST_Z']) - Use this rotation mode for drivers. Non-native modes avoids some popping during animation at the cost of JCMs accuracy
  • addNondeformExtras (boolean) - Add extra bones to the Rigify armature, even if they don't correspond to any vertex group
  • keepRig (boolean) - Keep the original DAZ rig for deformation
  • ownerThreshold (float) - Use local space (owner orientation) if difference in orientation exceeds this
  • name (string) - Name

bpy.ops.daz.add_ik_goals(usePoleTargets = False, hideBones = False, lockBones = False, disableBones = False, fromRoots = True, ikTargetParent = 'NONE', onlyConnected = True, useDeleteDisconnected = False, threshold = 0.010)

Add IK goals

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • usePoleTargets (boolean) - Add pole targets to the IK chains
  • hideBones (boolean) - Hide all bones in the IK chains
  • lockBones (boolean) - Lock all bones in the IK chains
  • disableBones (boolean) - Disable all bones in the IK chains
  • fromRoots (boolean) - Select IK chains from root bones
  • ikTargetParent (enum in ['NONE', 'IMMEDIATE', 'ULTIMATE']) - IK targets parents
  • onlyConnected (boolean) - Stop IK chain at disconnected bones
  • useDeleteDisconnected (boolean) - Delete disconnected bones and their vertex groups
  • threshold (float) - Threshold for stopping the IK chain

bpy.ops.daz.add_keyset(morphset = "All", category = "", prefix = "", ftype = "")

Add selected morphs to active custom keying set, or make new one

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • morphset (string) - morphset
  • category (string) - category
  • prefix (string) - prefix
  • ftype (string) - ftype

bpy.ops.daz.add_mannequin(headType = 'JAW', mannColl = "Mannequin", meshColl = "Meshes", useNormals = False, useVertexGroups = False, ignoreBoneGroups = False, threshold = 0.001, useVertexColors = False, useUvLayers = False)

Add mannequins to selected meshes. Don't change rig after this.

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • headType (enum in ['SOLID', 'JAW', 'FULL']) - How to make the mannequin head
  • mannColl (string) - Add mannequin to this collection
  • meshColl (string) - Add base meshes to this collection
  • useNormals (boolean) - Transfer custom normals to mannequin meshes
  • useVertexGroups (boolean) - Transfer vertex groups to mannequin meshes
  • ignoreBoneGroups (boolean) - Don't transfer bone vertex groups
  • threshold (float) - Minimum vertex weight to keep
  • useVertexColors (boolean) - Transfer vertex colors to mannequin meshes
  • useUvLayers (boolean) - Transfer UV layers to mannequin meshes

bpy.ops.daz.add_mdl_dir()

Add an MDL directory


bpy.ops.daz.add_push()

Add a push shapekey


bpy.ops.daz.add_shape_to_category(selection = [], category = "Shapes", custom = '', makenew = False)

Add selected shapekeys to mesh category

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • category (string) - Add morphs to this category of custom morphs
  • custom (enum in []) - Category
  • makenew (boolean) - Create a new category

bpy.ops.daz.add_shape_vis_drivers(selection = [], useInvert = False)

Add drivers to selected shapekeys, depending on the visibility of selected clothes

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useInvert (boolean) - Enable shapekey when clothes are visible

bpy.ops.daz.add_shapekey_drivers(selection = [], category = "Shapes")

Add rig drivers to shapekeys

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • category (string) - Add morphs to this category of custom morphs

bpy.ops.daz.add_shrinkwrap(offset = 2.000, useSolidify = False, thickness = 2.000, useAddVertexGroup = True, useApply = False)

Add shrinkwrap modifiers to selected meshes covering the active mesh. Optionally add solidify modifiers

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • offset (float) - Offset the surface from the character mesh
  • useSolidify (boolean) - Add a solidify modifier too
  • thickness (float) - Thickness of the surface
  • useAddVertexGroup (boolean) - Add influence vertex groups
  • useApply (boolean) - Apply modifiers afterwards

bpy.ops.daz.add_simple_ik(useArms = True, useLegs = True, usePoleTargets = False, useImproveIk = True, useErcIk = True, useRootBone = True, useReverseFoot = True)

Add Simple IK constraints to the active rig. This will not work if the rig has body morphs affecting arms and legs, and the bones have been made posable

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useArms (boolean) - Add IK to arms
  • useLegs (boolean) - Add IK to legs
  • usePoleTargets (boolean) - Add pole targets to the IK chains. Poses will not be loaded correctly.
  • useImproveIk (boolean) - Improve IK by prebending IK bones
  • useErcIk (boolean) - Let ERC morphs change the IK hands, IK heels, and pole target locations
  • useRootBone (boolean) - Add a root bone which is the parent of all other bones
  • useReverseFoot (boolean) - Add reverse foot for IK

bpy.ops.daz.add_softbody(useChest = True, useBelly = True, useGlutes = True, useArms = True, useLegs = True, onConcave = 'NONE', useSmooth = True, useCombinedSoftbody = True, useRemoveOld = True)

Add softbody simulation to selected meshes

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useChest (boolean) - Add softbody simulation for chest
  • useBelly (boolean) - Add softbody simulation for belly
  • useGlutes (boolean) - Add softbody simulation for glutes
  • useArms (boolean) - Add collision to arms
  • useLegs (boolean) - Add collision to legs
  • onConcave (enum in ['NONE', 'PLANAR', 'TRIANGULATE']) - Method to avoid problems with concave polygons
  • useSmooth (boolean) - Add a corrective smooth modifier to the meshes
  • useCombinedSoftbody (boolean) - Only use a combined softbody
  • useRemoveOld (boolean) - Remove existing collision and softbody objects

bpy.ops.daz.add_tails(radius = 0.010)

Add tails to selected posebones

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • radius (float) - Radius of the cloth object

bpy.ops.daz.add_visibility_drivers(singleGroup = False, groupName = "All", useCollections = True)

Control visibility of selected meshes with rig property

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • singleGroup (boolean) - Treat all selected meshes as a single group
  • groupName (string) - Name of the single group
  • useCollections (boolean) - Move selected meshes to new collections

bpy.ops.daz.add_winders(winderLayer = 1, windedLayer = 2, useBaseLocation = False, useLocation = False, useScale = False, strength = 1.000)

Add winders to selected posebones

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • winderLayer (int) - Bone layer for the winder bones
  • windedLayer (int) - Bone layer for the winded bones
  • useBaseLocation (boolean) - Add driver for location of base bone
  • useLocation (boolean) - Add driver for location of other bones
  • useScale (boolean) - Add driver for scale
  • strength (float) - An overall strength factor for copy rotation influence

bpy.ops.daz.all_but_fingers()

Deselect morphs for fingers and toes


bpy.ops.daz.apply_active_modifier(useRecreate = True, useApplyRest = True)

Apply active modifier, maintaining shapekeys

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useRecreate (boolean) - Create a new modifier of the same type
  • useApplyRest (boolean) - Apply parent rig rest pose

bpy.ops.daz.apply_active_shapekey()

Add active shapekey to all other shapekeys


bpy.ops.daz.apply_all_shapekeys()

Apply all shapekeys to selected meshes


bpy.ops.daz.apply_multires()

Apply multires modifier, maintaining shapekeys


bpy.ops.daz.apply_rest_pose(useApplyTransforms = False, useApplyShapekeys = False, useMergeTiedBones = False)

Apply current pose at rest pose to selected rigs and children

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useApplyTransforms (boolean) - Apply Object Transforms
  • useApplyShapekeys (boolean) - Apply all shapekeys
  • useMergeTiedBones (boolean) - Merge tied bones to main rig and delete tied rigs

bpy.ops.daz.apply_subsurf()

Apply subsurf modifier, maintaining shapekeys


bpy.ops.daz.apply_transforms()

Apply transforms to selected objects and its children


bpy.ops.daz.assign_shell_map()

Assign shell maps to selected materials


bpy.ops.daz.bake_all_erc_drivers(useDeleteShapekeys = False, useDeleteProps = True, useDeleteDrivers = True, useDeleteDrvBones = True)

Bake all ERC drivers to selected rigs and children. Only works if ERC method is Armature or Armature All

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useDeleteShapekeys (boolean) - Delete both drivers and shapekeys
  • useDeleteProps (boolean) - Delete object and armature properties associated with this morph
  • useDeleteDrivers (boolean) - Delete drivers associated with this morph
  • useDeleteDrvBones (boolean) - Delete (drv) bones

bpy.ops.daz.bake_maps(bakeType = 'NORMALS', imageSize = '2048', subfolder = "", basename = "", storedFolder = "", storedName = "", useSingleTile = False, tile = 1001)

Bake normal/displacement maps for the selected HD meshes

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • bakeType (enum in ['NORMALS', 'DISPLACEMENT']) - Bake Type
  • imageSize (enum in ['512', '1024', '2048', '4096']) - Image Size
  • subfolder (string) - Subfolder for normal/displace maps
  • basename (string) - Name used to construct file names
  • storedFolder (string) - storedFolder
  • storedName (string) - storedName
  • useSingleTile (boolean) - Only bake map for a single tile
  • tile (int) - Single tile to bake

bpy.ops.daz.bake_pose_to_fk_rig(startFrame = 1, endFrame = 250)

Bake pose to the FK rig before saving pose preset. IK arms and legs must be baked separately

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • startFrame (int) - Starting frame for the animation
  • endFrame (int) - Last frame for the animation

bpy.ops.daz.bake_shapekeys(frame_start = 1, frame_end = 1)

Bake shapekey values to current action. Mute control rig afterwards

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • frame_start (int) - Start
  • frame_end (int) - End

bpy.ops.daz.batch_set_custom_shape(useClear = False, scale = 0.000, translation = 0.000, rotation = 0.000)

Set the selected mesh as the custom shape of all selected bones

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useClear (boolean) - Clear custom shapes
  • scale (float) - Scale
  • translation (float) - Translation
  • rotation (float) - Rotation

bpy.ops.daz.categorize_objects(useMeshes = True, useArmatures = True, useEmpties = True, useLights = False, useCameras = False, categoryHead = 'UNPARENTED')

Move selected objects and their children to separate categories

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useMeshes (boolean) - Meshes
  • useArmatures (boolean) - Armatures
  • useEmpties (boolean) - Empties
  • useLights (boolean) - Lights
  • useCameras (boolean) - Cameras
  • categoryHead (enum in ['UNPARENTED', 'CHILDREN']) - Type of objects that head the categories

bpy.ops.daz.change_armature(useRetarget = False)

Make the active armature the armature of selected meshes

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useRetarget (boolean) - Retarget shapekey drivers to the new armature. Warning: Will cause errors if the new armature lack drivers

bpy.ops.daz.change_colors(color = (0.100,0.100,0.500,1.000))

Change viewport colors of all materials of this object

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • color (color) - Color

bpy.ops.daz.change_prefix_to_suffix()

Change l/r prefix to .L/.R suffix, to use Blender symmetry tools


bpy.ops.daz.change_resolution(useHiddenMeshes = True, steps = 2, resizeAll = True)

Change all textures of selected meshes with resized versions. The resized textures must already exist.

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useHiddenMeshes (boolean) - Also save textures from hidden meshes
  • steps (int) - Resize original images with this number of steps
  • resizeAll (boolean) - Resize all textures of the selected meshes

bpy.ops.daz.change_skin_color(color = (0.100,0.100,0.500,1.000))

Change viewport colors of all materials of this object

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • color (color) - Color

bpy.ops.daz.change_suffix_to_prefix()

Change .L/.R suffix to l/r prefix, to prepare rig for MHX or Rigify


bpy.ops.daz.check_database(useActive = True, useGenesis = False, useGenesis2Female = False, useGenesis2Male = False, useGenesis3Female = False, useGenesis3Male = False, useGenesis8Female = False, useGenesis8Male = False, useGenesis8_1Female = False, useGenesis8_1Male = False, useGenesis9 = False, useAll = True)

(undocumented operator)

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useActive (boolean) - Only scan morphs for active mesh
  • useGenesis (boolean) - Scan Genesis
  • useGenesis2Female (boolean) - Scan Genesis 2 female
  • useGenesis2Male (boolean) - Scan Genesis 2 male
  • useGenesis3Female (boolean) - Scan Genesis 3 female
  • useGenesis3Male (boolean) - Scan Genesis 3 male
  • useGenesis8Female (boolean) - Scan Genesis 8 female
  • useGenesis8Male (boolean) - Scan Genesis 8 male
  • useGenesis8_1Female (boolean) - Scan Genesis 8.1 female
  • useGenesis8_1Male (boolean) - Scan Genesis 8.1 male
  • useGenesis9 (boolean) - Scan Genesis 9
  • useAll (boolean) - Scan morph database for all character types

bpy.ops.daz.check_rest_poses()

Check that rest pose is the same


bpy.ops.daz.clear_center()

Move object to DAZ center


bpy.ops.daz.clear_morphs(morphset = "All", category = "", prefix = "", ftype = "")

Set all selected morphs of specified type to zero. Does not affect integer properties

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • morphset (string) - morphset
  • category (string) - category
  • prefix (string) - prefix
  • ftype (string) - ftype

bpy.ops.daz.clear_pose()

Clear all bones and object transformations


bpy.ops.daz.clear_shapes(morphset = "All", category = "", prefix = "", ftype = "")

Set all selected shapekey values of specified type to zero

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • morphset (string) - morphset
  • category (string) - category
  • prefix (string) - prefix
  • ftype (string) - ftype

bpy.ops.daz.collapse_udims()

Restrict UV coordinates to the [0:1] range


bpy.ops.daz.combine_scene_materials(ignoreBump = True)

Combine identical materials in scene across objects

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • ignoreBump (boolean) - Merge materials even if the bump strengths differ

bpy.ops.daz.connect_bone_chains(useArms = True, useLegs = True, useSpine = False, useNeck = False, useFingers = True, useToes = True, useTongue = True, useSelected = False, unlock = True, useAlignLast = False, location = 'HEAD')

Connect all bones in chains to their parents

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useArms (boolean) - Connect arm bones
  • useLegs (boolean) - Connect leg bones
  • useSpine (boolean) - Connect spine bones
  • useNeck (boolean) - Connect neck bones
  • useFingers (boolean) - Connect finger bones
  • useToes (boolean) - Connect toe bones
  • useTongue (boolean) - Connect tongue bones
  • useSelected (boolean) - Connect selected bones
  • unlock (boolean) - Remove location locks of the last bone in each chain for use as Auto self target
  • useAlignLast (boolean) - Make last bone in each chain parallel to the second last one
  • location (enum in ['HEAD', 'TAIL', 'CENTER']) - Where to connect parent and child bones

bpy.ops.daz.convert_morphs_to_action()

Convert morphs to action


bpy.ops.daz.convert_morphs_to_shapekeys(selection = [], morphset = '', category = '', ignoreZeroShapes = True, useAllMeshes = True, useLabels = True, onDelete = 'BY_NAME', useAnimation = True)

Convert selected morphs to shapekeys. All morphs are converted when called from script

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • morphset (enum in []) - Type
  • category (enum in []) - Category
  • ignoreZeroShapes (boolean) - Don't create shapekeys for zero morphs
  • useAllMeshes (boolean) - Convert morphs for all meshes in the figure. Has no effect if armature is active
  • useLabels (boolean) - Use the morph labels instead of morph names as shapekey names
  • onDelete (enum in ['NONE', 'USED', 'BY_NAME', 'ALL']) - Delete shapekeys that already exists
  • useAnimation (boolean) - Convert morph animation to shapekey animation

bpy.ops.daz.convert_to_mhx(useImproveIk = False, useLimitConstraints = True, useFingerIk = False, tongueControl = 'NONE', shaftControl = 'NONE', shaftName = "Shaft", driverRotationMode = 'AUTO', addNondeformExtras = True, keepRig = False, ownerThreshold = 89.000, useTweakBones = False, showLinks = True, usePoleTargets = False, useStretch = True, useSplitShin = True, useSpineIk = False, elbowParent = 'HAND', kneeParent = 'FOOT', useAnkleIk = False, keepG9Twist = False, useRaiseError = True)

Convert rig to MHX

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useImproveIk (boolean) - Improve IK by storing a bending angle. This is compatible with daz poses but does not work with rigify poles so they can not be used. Not needed if Optimize Pose for IK is used
  • useLimitConstraints (boolean) - Copy limit location and limit rotation constraints to FK bones
  • useFingerIk (boolean) - Generate IK controls for fingers
  • tongueControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for tongue
  • shaftControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for Dicktator/Futalicious shaft
  • shaftName (string) - Shaft bones start with this string (case insensitive)
  • driverRotationMode (enum in ['NATIVE', 'AUTO', 'SWING_TWIST_X', 'SWING_TWIST_Y', 'SWING_TWIST_Z']) - Use this rotation mode for drivers. Non-native modes avoids some popping during animation at the cost of JCMs accuracy
  • addNondeformExtras (boolean) - Add extra bones to the Rigify armature, even if they don't correspond to any vertex group
  • keepRig (boolean) - Keep the original DAZ rig for deformation
  • ownerThreshold (float) - Use local space (owner orientation) if difference in orientation exceeds this
  • useTweakBones (boolean) - Add tweak bones
  • showLinks (boolean) - Show link bones
  • usePoleTargets (boolean) - Use pole targets for IK. Enable for perfect FK/IK snapping
  • useStretch (boolean) - Enable stretchiness for arms and legs
  • useSplitShin (boolean) - Split the shin vertex groups into bend and twist parts
  • useSpineIk (boolean) - Spine IK (experimental)
  • elbowParent (enum in ['HAND', 'SHOULDER', 'MASTER']) - Parent of elbow pole target
  • kneeParent (enum in ['FOOT', 'HIP', 'MASTER']) - Parent of knee pole target
  • useAnkleIk (boolean) - Add extra foot and toe bones as IK targets
  • keepG9Twist (boolean) - Keep the original twist bones for Genesis 9. Necessary for reexport to DAZ Studio but may lead to flipping
  • useRaiseError (boolean) - Raise error for missing bones

bpy.ops.daz.convert_to_rigify(useImproveIk = False, useLimitConstraints = True, useFingerIk = False, tongueControl = 'NONE', shaftControl = 'NONE', shaftName = "Shaft", driverRotationMode = 'AUTO', addNondeformExtras = True, keepRig = False, ownerThreshold = 89.000, ikOptimization = 'POSE', useAutoAlign = True, useRecalcRoll = False, useSplitShin = False, useDeleteMeta = True)

Convert active rig to rigify

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useImproveIk (boolean) - Improve IK by storing a bending angle. This is compatible with daz poses but does not work with rigify poles so they can not be used. Not needed if Optimize Pose for IK is used
  • useLimitConstraints (boolean) - Copy limit location and limit rotation constraints to FK bones
  • useFingerIk (boolean) - Generate IK controls for fingers
  • tongueControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for tongue
  • shaftControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for Dicktator/Futalicious shaft
  • shaftName (string) - Shaft bones start with this string (case insensitive)
  • driverRotationMode (enum in ['NATIVE', 'AUTO', 'SWING_TWIST_X', 'SWING_TWIST_Y', 'SWING_TWIST_Z']) - Use this rotation mode for drivers. Non-native modes avoids some popping during animation at the cost of JCMs accuracy
  • addNondeformExtras (boolean) - Add extra bones to the Rigify armature, even if they don't correspond to any vertex group
  • keepRig (boolean) - Keep the original DAZ rig for deformation
  • ownerThreshold (float) - Use local space (owner orientation) if difference in orientation exceeds this
  • ikOptimization (enum in ['POSE', 'POLE', 'HINT', 'NONE']) - Method used for optimizing the rest pose before rigifying
  • useAutoAlign (boolean) - Auto align hand and foot (Rigify parameter)
  • useRecalcRoll (boolean) - Recalculate the roll angles of the thigh and shin bones, so they are aligned with the global Z axis. For Genesis 1,2, and 3 characters
  • useSplitShin (boolean) - Split the shin vertex groups into bend and twist parts
  • useDeleteMeta (boolean) - Delete intermediate rig after Rigify

bpy.ops.daz.convert_tubes_curves()

Find curves at center of tubes


bpy.ops.daz.convert_widgets(deleteUnused = False)

Convert the active mesh to custom shapes for the parent armature bones

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • deleteUnused (boolean) - Delete unused bones. If disabled, unused bones are hidden

bpy.ops.daz.copy_attributes(useVertex = True, useMaterial = False, usePolygon = False)

Copy attributes from active to selected

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useVertex (boolean) - Vertex
  • useMaterial (boolean) - Material Groups
  • usePolygon (boolean) - Polygon Groups

bpy.ops.daz.copy_drivers(useShapekeys = True, useMorphsets = True, useOverride = True)

Copy drivers from active armature to selected armatures

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useShapekeys (boolean) - Retarget shapekeys of child meshes
  • useMorphsets (boolean) - Copy user interface
  • useOverride (boolean) - Override Existing Drivers

bpy.ops.daz.copy_facs_animation(useShapekeys = False, useEyes = False, useTongue = False, makeNewAction = True, actionName = "", fps = 0.000)

Copy FACS animation from selected mesh to active character

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
  • useEyes (boolean) - Include eyes animation
  • useTongue (boolean) - Include tongue animation
  • makeNewAction (boolean) - Unlink current action and make a new one
  • actionName (string) - Name of loaded action. Use name of imported file if blank
  • fps (float) - Animation FPS in animation file. FPS = 0 means one frame per step

bpy.ops.daz.copy_grafts_groups()

Copy vertex groups from selected geografts to HD mesh. The base mesh must also be selected


bpy.ops.daz.copy_masks(selection = [])

Copy selected mask modifiers and vertex groups from active to selected

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}

bpy.ops.daz.copy_materials(useReplaceFaces = False, useMatchNames = True, errorMismatch = True, useAddMaterials = False)

Copy materials from active mesh to selected meshes

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useReplaceFaces (boolean) - Replace all materials and reassign face numbers. The meshes must have identical topology
  • useMatchNames (boolean) - Match materials based on names rather than material slots
  • errorMismatch (boolean) - Raise an error if the number of source and target materials are different
  • useAddMaterials (boolean) - Add materials after existing materials

bpy.ops.daz.copy_modifiers(offset = 5.000, useSubsurf = False, useRemoveCloth = True)

Copy modifiers from active mesh to selected

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • offset (float) - Offset the surface from the character mesh
  • useSubsurf (boolean) - Also copy subsurf and multires modifiers
  • useRemoveCloth (boolean) - Remove cloth modifiers from source mesh

bpy.ops.daz.copy_pose(useRemoveLimits = True, useImposeLocks = False, keepLocation = False, useSelectedOnly = False)

Copy pose from active rig to selected rigs

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useRemoveLimits (boolean) - Remove limits for posed bones
  • useImposeLocks (boolean) - Impose locks
  • keepLocation (boolean) - Keep local location for bones with parent
  • useSelectedOnly (boolean) - Only copy pose to selected bones

bpy.ops.daz.copy_rolls(useOrientation = False)

Copy roll angles from active to selected

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useOrientation (boolean) - Copy the full bone matrix rather than just the roll angle

bpy.ops.daz.copy_shells(selection = [], useCopyUvs = True, useUniqueMaterials = False, useActive = False)

Copy selected material shells to selected meshes

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useCopyUvs (boolean) - Copy missing UV maps
  • useUniqueMaterials (boolean) - Unique Materials
  • useActive (boolean) - Copy shells from active material instead of named materials

bpy.ops.daz.copy_uvs(uvset = '')

Copy UV map from active mesh to selected meshes

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • uvset (enum in []) - UV set to copy

bpy.ops.daz.copy_vertex_groups_by_number()

Copy vertex groups from active to selected meshes with the same number of vertices


bpy.ops.daz.create_bulges(selection = [])

Create bulge morphs. Only for Genesis and Genesis 2 character

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}

bpy.ops.daz.create_graft_groups()

Create vertex groups from graft information


bpy.ops.daz.create_masks(singleGroup = False, groupName = "All")

Create vertex groups and mask modifiers in active mesh for selected meshes

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • singleGroup (boolean) - Treat all selected meshes as a single group
  • groupName (string) - Name of the single group

bpy.ops.daz.create_meta(useImproveIk = False, useLimitConstraints = True, useFingerIk = False, tongueControl = 'NONE', shaftControl = 'NONE', shaftName = "Shaft", driverRotationMode = 'AUTO', addNondeformExtras = True, keepRig = False, ownerThreshold = 89.000, ikOptimization = 'POSE', useAutoAlign = True, useRecalcRoll = False, useSplitShin = False)

Create a metarig from the active rig

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useImproveIk (boolean) - Improve IK by storing a bending angle. This is compatible with daz poses but does not work with rigify poles so they can not be used. Not needed if Optimize Pose for IK is used
  • useLimitConstraints (boolean) - Copy limit location and limit rotation constraints to FK bones
  • useFingerIk (boolean) - Generate IK controls for fingers
  • tongueControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for tongue
  • shaftControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for Dicktator/Futalicious shaft
  • shaftName (string) - Shaft bones start with this string (case insensitive)
  • driverRotationMode (enum in ['NATIVE', 'AUTO', 'SWING_TWIST_X', 'SWING_TWIST_Y', 'SWING_TWIST_Z']) - Use this rotation mode for drivers. Non-native modes avoids some popping during animation at the cost of JCMs accuracy
  • addNondeformExtras (boolean) - Add extra bones to the Rigify armature, even if they don't correspond to any vertex group
  • keepRig (boolean) - Keep the original DAZ rig for deformation
  • ownerThreshold (float) - Use local space (owner orientation) if difference in orientation exceeds this
  • ikOptimization (enum in ['POSE', 'POLE', 'HINT', 'NONE']) - Method used for optimizing the rest pose before rigifying
  • useAutoAlign (boolean) - Auto align hand and foot (Rigify parameter)
  • useRecalcRoll (boolean) - Recalculate the roll angles of the thigh and shin bones, so they are aligned with the global Z axis. For Genesis 1,2, and 3 characters
  • useSplitShin (boolean) - Split the shin vertex groups into bend and twist parts

bpy.ops.daz.deactivate_all(morphset = "All", category = "", prefix = "", ftype = "", useMesh = False)

Deactivate all morphs of this type

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • morphset (string) - morphset
  • category (string) - category
  • prefix (string) - prefix
  • ftype (string) - ftype
  • useMesh (boolean) - useMesh

bpy.ops.daz.decode_file(useSaveFile = True)

Decode a gzipped DAZ file (*.duf, *.dsf, *.dbz) to a text file

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useSaveFile (boolean) - Save to a file with extra ".txt"

bpy.ops.daz.diaable_all_features()

(undocumented operator)


bpy.ops.daz.disable_drivers()

Disable all drivers to improve performance


bpy.ops.daz.disable_locks_limits(useLocation = True, useRotation = True, useScale = True, useLocks = True, useLimits = True, limitType = 'INFLUENCE', useKeying = False)

Disable locks and limits

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useLocation (boolean) - Location
  • useRotation (boolean) - Rotation
  • useScale (boolean) - Scale
  • useLocks (boolean) - Enable/Disable locks
  • useLimits (boolean) - Enable/Disable limits
  • limitType (enum in ['INFLUENCE', 'MUTE', 'BOTH']) - Type
  • useKeying (boolean) - Key locks and constraints

bpy.ops.daz.disable_shell_drivers(selection = [])

Disable drivers from selected shell from selected figures

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}

bpy.ops.daz.display_material_group(group = '')

(undocumented operator)

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • group (enum in []) - Group

bpy.ops.daz.display_polygon_group(group = '')

(undocumented operator)

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • group (enum in []) - Group

bpy.ops.daz.drive_modifier_influence()

Create drivers for modifier visibility. To disable modifier with file linking


bpy.ops.daz.drive_shell_influence()

Create drivers for shell and layered image influence


bpy.ops.daz.easy_import_daz(files = [], directory = "", useMakePosable = True, ignoreUrl = False, ignoreFinger = False, onMorphSuffix = 'SMART', morphSuffix = "", useUnits = False, useExpressions = False, useVisemes = False, ignoreHdMorphs = False, useHead = False, useFacs = False, useFacsdetails = False, useFacsexpr = False, usePowerpose = False, useBody = False, useMhxOnly = False, useJcms = False, useMasculine = False, useFeminine = False, useAnime = False, useFlexions = False, useBulges = False, ignoreFingers = True, duplicateDistance = 1.000, useMergeNonConforming = 'CONTROLS', useConvertWidgets = True, useHiddenRigs = False, useTieRigs = False, useMergeUvs = True, allowOverlap = False, keepOriginal = False, useFixTiles = True, useSubDDisplacement = True, useGeoNodes = False, useBakeGrafts = False, fitMeshes = 'DBZFILE', skinColor = (0.600,0.400,0.250,1.000), clothesColor = (0.090,0.010,0.015,1.000), materialMethod = 'EXTENDED_PRINCIPLED', useEliminateEmpties = True, useMergeRigs = True, useApplyTransforms = False, useMergeMaterials = True, useMergeToes = False, useBakedCorrectives = False, useDazFavorites = False, useTransferClothes = True, useTransferGeografts = True, useTransferFace = True, useTransferHair = False, useTransferHD = True, useMergeGeografts = False, useFavoMorphs = False, favoPath = "", useAdjusters = False, useFinalOptimization = False)

Load a native DAZ file and perform the most common operations

** Parameters: **

  • directory (string) - File directory
  • files (list) - List of files in the form {"name" : filename}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • ignoreUrl (boolean) - Ignore the mesh URL and only use the fingerprint to identify the mesh. Use this to load Genesis 8 morphs to Genesis 8.1 figures and vice versa
  • ignoreFinger (boolean) - Ignore the mesh fingerprint which describes the mesh topology
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix
  • useUnits (boolean) - Import all face units
  • useExpressions (boolean) - Import all expressions
  • useVisemes (boolean) - Import all visemes
  • ignoreHdMorphs (boolean) - Don't import HD morphs for units, expressions, visemes
  • useHead (boolean) - Import all head morphs
  • useFacs (boolean) - Import all FACS morphs
  • useFacsdetails (boolean) - Import all FACS details
  • useFacsexpr (boolean) - Import all FACS expressions
  • usePowerpose (boolean) - Import all PowerPose expressions
  • useBody (boolean) - Import all body morphs
  • useMhxOnly (boolean) - Only import MHX compatible body morphs
  • useJcms (boolean) - Import all JCMs
  • useMasculine (boolean) - Import all maskuline JCMs
  • useFeminine (boolean) - Import all feminine JCMs
  • useAnime (boolean) - Import all anime morphs
  • useFlexions (boolean) - Import all flexions
  • useBulges (boolean) - Make all bulges (Genesis and Genesis 2)
  • ignoreFingers (boolean) - Don't create morphs for fingers and toes
  • duplicateDistance (float) - Create separate bones if several bones with the same name are found, and they are at least this far apart (in centimeters)
  • useMergeNonConforming (enum in ['NEVER', 'CONTROLS', 'CHILDREN', 'ALL_RIGS']) - Also merge non-conforming rigs. (Bone parented and with no bones in common with main rig)
  • useConvertWidgets (boolean) - Convert face controls to bone custom shapes
  • useHiddenRigs (boolean) - Also merge bones from armatures that are hidden
  • useTieRigs (boolean) - Drive bone in child rigs with copy transforms constraints
  • useMergeUvs (boolean) - Merge active render UV layers of all meshes
  • allowOverlap (boolean) - Also merge overlapping UV layers. Can destroy UV assignment
  • keepOriginal (boolean) - Keep the original mesh and geografts in separate collections
  • useFixTiles (boolean) - Move geograft UVs to tile based on texture names
  • useSubDDisplacement (boolean) - Add SubD Displacement to the merge mesh if some geograft has it. May slow down rendering
  • useGeoNodes (boolean) - Merge geografts using geometry nodes
  • useBakeGrafts (boolean) - Add a bake node to the geometry node tree. This must be baked in rest pose before posing
  • fitMeshes (enum in ['SHARED', 'UNIQUE', 'TRANSFORMED', 'MORPHED', 'DBZFILE']) - Mesh fitting method
  • skinColor (color) - SKIN
  • clothesColor (color) - Clothes
  • materialMethod (enum in ['BSDF', 'EXTENDED_PRINCIPLED', 'FBX_COMPATIBLE']) - Material Method
  • useEliminateEmpties (boolean) - Delete non-hidden empties, parenting its children to its parent instead
  • useMergeRigs (boolean) - Merge all rigs to the main character rig
  • useApplyTransforms (boolean) - Apply all transforms to objects that are not bone parented
  • useMergeMaterials (boolean) - Merge identical materials
  • useMergeToes (boolean) - Merge separate toes into a single toe bone
  • useBakedCorrectives (boolean) - Import all custom correctives for baked morphs
  • useDazFavorites (boolean) - Import DAZ favorite morphs
  • useTransferClothes (boolean) - Transfer shapekeys from character to clothes
  • useTransferGeografts (boolean) - Transfer shapekeys from character to geografts. Always enabled if geografts are merged
  • useTransferFace (boolean) - Transfer shapekeys from character to face meshes like eyelashes, tears, brows and beards. Can be disabled if face meshes will be converted to particle hair
  • useTransferHair (boolean) - Transfer shapekeys from character to hair meshes
  • useTransferHD (boolean) - Transfer shapekeys from character to HD meshes
  • useMergeGeografts (boolean) - Merge selected geografts to active object. Geometry nodes are not used. Does not work with nested geografts. Shapekeys are always transferred first
  • useFavoMorphs (boolean) - Load a favorite morphs instead of loading standard morphs
  • favoPath (string) - Path to favorite morphs
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useFinalOptimization (boolean) - Make final optimizations to the rig and mesh

bpy.ops.daz.eliminate_empties(useAllEmpties = True, useCollections = False, useHidden = True)

Delete empties, parenting its children to its parent instead

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useAllEmpties (boolean) - Eliminate all empties in the scene, not only those associated with selected objects
  • useCollections (boolean) - Replace empties with collections
  • useHidden (boolean) - Also delete empties that are hidden

bpy.ops.daz.enable_all_features()

(undocumented operator)


bpy.ops.daz.enable_all_layers()

Enable all bone layers


bpy.ops.daz.enable_drivers()

Enable all drivers


bpy.ops.daz.enable_locks_limits(useLocation = True, useRotation = True, useScale = True, useLocks = True, useLimits = True, limitType = 'INFLUENCE', useKeying = False)

Enable locks and limits

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useLocation (boolean) - Location
  • useRotation (boolean) - Rotation
  • useScale (boolean) - Scale
  • useLocks (boolean) - Enable/Disable locks
  • useLimits (boolean) - Enable/Disable limits
  • limitType (enum in ['INFLUENCE', 'MUTE', 'BOTH']) - Type
  • useKeying (boolean) - Key locks and constraints

bpy.ops.daz.enable_shell_drivers(selection = [])

Enable drivers from selected shell from selected objects

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}

bpy.ops.daz.error()

(undocumented operator)


bpy.ops.daz.finalize_armature()

Remove unused bone constraints


bpy.ops.daz.finalize_meshes(maxSubsurf = 2, keepVertex = True)

Remove internal properties from meshes. Disables some tools but may improve performance

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • maxSubsurf (int) - Maximal subsurf level
  • keepVertex (boolean) - Keep information about original vertex numbers. Necessary to import morphs to modified meshes

bpy.ops.daz.find_missing_textures()

Search for missing textures of selected meshes in the DAZ database


bpy.ops.daz.find_seams()

Create seams based on existing UVs


bpy.ops.daz.fix_legacy_posable(ignoreLocked = True, errorOnFail = True)

Convert legacy posable bones to modern ones

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • ignoreLocked (boolean) - Don't create posable bones for locked location channels
  • errorOnFail (boolean) - Fail On Error

bpy.ops.daz.fix_limit_rot_constraints()

(undocumented operator)


bpy.ops.daz.fix_normal_groups(useDisable = False)

Fix or disable normal groups from selected objects

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useDisable (boolean) - Disable

bpy.ops.daz.fix_shells(useSelf = False)

Replace shell node groups in selected meshes with the node groups of the active material

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useSelf (boolean) - Fix selected materials of the active mesh rather than selected meshes

bpy.ops.daz.fix_texture_tiles(useLastUdimTile = False, useHiddenMeshes = True)

Copy textures to the right directory and correct tile numbers. To fix incorrect Genesis 8.1 material names

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useLastUdimTile (boolean) - Last UDIM Tile
  • useHiddenMeshes (boolean) - Also save textures from hidden meshes

bpy.ops.daz.get_finger_print()

Get fingerprint of active character


bpy.ops.daz.global_settings(settingsDir = "", errorFile = "", scanFile = "", onlyDbz = False, scale = 0.010, verbosity = 0, rememberLastFolder = False, onStrengthAdjusters = 'NONE', useDazLimits = False, sliderMultiplier = 0.000, showFinalProps = False, showInTerminal = False, useMuteDrivers = False, ercMethod = 'NONE', useStripCategory = False, useDefaultDrivers = False, useOptimizeJcms = False, useMakeHiddenSliders = False, useBakedMorphs = False, showHiddenObjects = False, ignoreHiddenObjects = False, showPaths = False, showContentDirs = True, showMDLDirs = False, showCloudDirs = False, materialMethod = 'SELECT', sssMethod = 'BURLEY', displacementMethod = 'BUMP', toonMethod = 'NONE', viewportColors = 'ORIGINAL', skinColor = (0.000,0.000,0.000,0.000), clothesColor = (0.000,0.000,0.000,0.000), worldMethod = 'ALWAYS', useMaterialsByIndex = False, useMaterialsByName = False, useStoreMaterialMapping = False, onRenderSettings = 'UPDATE', onLightSettings = 'UPDATE', useLockLoc = False, useLimitLoc = False, useLockRot = False, useLimitRot = False, useInheritScale = False, displayLimitRot = False, useBoneColors = False, ignoreG9TwistBones = False, useDump = False, zup = False, unflipped = False, useTriaxImprove = False, useBulgeWeights = False, keepTriaxWeights = False, useTriaxApply = False, useArmature = False, useQuaternions = False, driverRotationMode = 'NATIVE', caseSensitivePaths = False, useInstancing = False, useHairGuides = False, useHighDef = False, keepBaseMesh = False, useHDArmature = False, useMultires = False, useSharpEdges = False, maxSubdivs = 0, onScaleEyeMoisture = 'NONE', useRigidityAttributes = False, useFaceGroupMasks = False, useSimulation = False, shellMethod = 'MATERIAL', usePruneNodes = False, useFakeCaustics = False, useDisplacement = False, useEmission = False, useGhostLights = False, bumpMultiplier = 0.000, skinMethod = 'IRAY', useVolume = False, imageInterpolation = 'Linear', useUnusedTextures = False, onHairMaterial = 'HAIR', useShellDrivers = False, useLayeredInflu = False, useLayeredShells = False, author = "", email = "", website = "")

Show or update global settings

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • settingsDir (string) - Path to settings directory
  • errorFile (string) - Error report file
  • scanFile (string) - Path to scanned database
  • onlyDbz (boolean) - Only import dbz files with baked morphs. If disable duf/dsf files can be imported too
  • scale (float) - Scale used to convert between DAZ and Blender units. Default unit meters
  • verbosity (int) - Controls the number of warning messages when loading files 1: Silent mode. 2: Default. Warn about some problems. 3: Warn about all problems. 4: Warn about all problems and save a log file. 5: Like verbosity = 4 and trigger a Python error.
  • rememberLastFolder (boolean) - Remember the directory of the last opened file, instead of starting at default location
  • onStrengthAdjusters (enum in ['NONE', 'Face', 'Body', 'Custom', 'ALL']) - Add extra sliders to adjust the overall strength
  • useDazLimits (boolean) - Use DAZ limits for morphs
  • sliderMultiplier (float) - Multiply the min and max values for sliders with this factor
  • showFinalProps (boolean) - Display the "final" values of morphs
  • showInTerminal (boolean) - Display full morph names when loading and transferring morphs
  • useMuteDrivers (boolean) - Add drivers that mute shapekeys if shapekey value = 0. Affects JCMs, flexions and custom morphs
  • ercMethod (enum in ['NONE', 'TRANSLATION', 'ARMATURE', 'ALL']) - Support for ERC morphs that change the rest pose
  • useStripCategory (boolean) - Strip the category name from the beginning of the morph name if they are the same
  • useDefaultDrivers (boolean) - Create default drivers defined in the scene file
  • useOptimizeJcms (boolean) - Optimize drivers when loading JCMs and flexions. Experimental
  • useMakeHiddenSliders (boolean) - Create properties for hidden morphs, so they can be displayed in the UI
  • useBakedMorphs (boolean) - Allow that baked morphs are imported
  • showHiddenObjects (boolean) - Don't hide objects which are hidden in DAZ Studio
  • ignoreHiddenObjects (boolean) - Don't build objects which are hidden in DAZ Studio
  • showPaths (boolean) - Paths To DAZ Library
  • showContentDirs (boolean) - Content Directories
  • showMDLDirs (boolean) - MDL Directories
  • showCloudDirs (boolean) - Cloud Directories
  • materialMethod (enum in ['SELECT', 'BSDF', 'EXTENDED_PRINCIPLED', 'FBX_COMPATIBLE']) - Material Method
  • sssMethod (enum in ['BURLEY', 'RANDOM_WALK', 'RANDOM_WALK_SKIN']) - Method for subsurface scattering
  • displacementMethod (enum in ['BUMP', 'DISPLACEMENT', 'BOTH']) - Displacement method
  • toonMethod (enum in ['NONE', 'FREESTYLE', 'LINEART', 'SOLIDIFY']) - Toon outline method
  • viewportColors (enum in ['ORIGINAL', 'RANDOM', 'GUESS']) - Method to display object in viewport
  • skinColor (color) - Skin
  • clothesColor (color) - Clothes
  • worldMethod (enum in ['ALWAYS', 'DOME', 'NEVER']) - When to create a world material
  • useMaterialsByIndex (boolean) - Use index rather than name to identify materials. Needed if multiple materials have identical names. This only happens in files generated by the MikuMikuDance exporter
  • useMaterialsByName (boolean) - Materials are sorted in alphabetical order. If disabled the order in the duf file is used
  • useStoreMaterialMapping (boolean) - Store original material mapping as custom properties
  • onRenderSettings (enum in ['IGNORE', 'WARN', 'UPDATE']) - Render Settings
  • onLightSettings (enum in ['IGNORE', 'WARN', 'UPDATE']) - Light Settings
  • useLockLoc (boolean) - Use location locks
  • useLimitLoc (boolean) - Enable location limits
  • useLockRot (boolean) - Use rotation locks
  • useLimitRot (boolean) - Enable rotation limits
  • useInheritScale (boolean) - Bones inherit scale from their parents (Blender default). Disable to mimic behaviour in DAZ Studio
  • displayLimitRot (boolean) - Display rotation limits as IK limits
  • useBoneColors (boolean) - Colorize bones. For debugging in Blender 4
  • ignoreG9TwistBones (boolean) - Don't import Genesis 9 twist bones. To fix some problems for game engines
  • useDump (boolean) - Dump debug info in the file daz_importer_errors.text after loading file
  • zup (boolean) - Convert from DAZ's Y up convention to Blender's Z up convention. Disable for debugging only
  • unflipped (boolean) - Don't flip bone axes. Enable for debugging only
  • useTriaxImprove (boolean) - Improve vertex groups for triax weights (Genesis/Genesis 2 only)
  • useBulgeWeights (boolean) - Add vertex groups for triax bulge weights
  • keepTriaxWeights (boolean) - Keep triax local weights
  • useTriaxApply (boolean) - Apply triax vertex weight modifiers
  • useArmature (boolean) - Create armatures for imported figures
  • useQuaternions (boolean) - Use quaternions for ball-and-socket joints (shoulders and hips)
  • driverRotationMode (enum in ['NATIVE', 'AUTO', 'SWING_TWIST_X', 'SWING_TWIST_Y', 'SWING_TWIST_Z']) - Use as driver rotation mode for quaternion bones. Non-native modes avoids some popping during animation at the cost of JCMs accuracy
  • caseSensitivePaths (boolean) - Convert URLs to lowercase. Works best on Windows
  • useInstancing (boolean) - Use instancing for DAZ instances
  • useHairGuides (boolean) - Import hair guides even if the corresponding PS hairs have also been generated. Only for DBZ mesh fitting
  • useHighDef (boolean) - Build HD meshes if included in .dbz file
  • keepBaseMesh (boolean) - Also keep base meshes if HD meshes are imported
  • useHDArmature (boolean) - Add armature modifier and vertex groups to HD and multires meshes
  • useMultires (boolean) - Add multires modifier to HD meshes and rebuild lower subdivision levels
  • useSharpEdges (boolean) - Set sharp edges if this is done In DAZ Studio
  • maxSubdivs (int) - The maximum subdivision level. Too high a value can cause Blender to crash
  • onScaleEyeMoisture (enum in ['NONE', 'GENERATE', 'APPLY']) - Scale eye moisture vertices to avoid dark rings when rendering eyes
  • useRigidityAttributes (boolean) - Use attributes rather than vertex groups for rigidity info
  • useFaceGroupMasks (boolean) - Use face groups for masking (experimental)
  • useSimulation (boolean) - Add influence (pinning) vertex groups for simulation
  • shellMethod (enum in ['MATERIAL', 'GEONODES', 'IGNORE', 'MESH']) - Method for geometry shells
  • usePruneNodes (boolean) - Prune material node-tree. Disable for debugging only
  • useFakeCaustics (boolean) - Use fake caustics
  • useDisplacement (boolean) - Use displacement maps
  • useEmission (boolean) - Use emission
  • useGhostLights (boolean) - Mimics the iray ghost light bug, that is fixed in DS 4.20. Do not use to mimic DS 4.20
  • bumpMultiplier (float) - Factor to multiply bump distance
  • skinMethod (enum in ['IRAY', 'SSS', 'AltSSS']) - Conversion method for volumetric skin materials
  • useVolume (boolean) - Use volume for volumetice materials
  • imageInterpolation (enum in ['Linear', 'Closest', 'Cubic', 'Smart']) - Image interpolation
  • useUnusedTextures (boolean) - Build texture found in unused channels
  • onHairMaterial (enum in ['HAIR', 'NORMAL', 'SMART']) - Build hair or normal material for blended dual lobe hair
  • useShellDrivers (boolean) - Add drivers to shell influence
  • useLayeredInflu (boolean) - Add layered image influence
  • useLayeredShells (boolean) - Use layered images in shells (experimental)
  • author (string) - Author info in preset files
  • email (string) - Email info in preset files
  • website (string) - Website info in preset files

bpy.ops.daz.hide_all_vis(prefix = "")

Hide all meshes/makeup of this rig

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • prefix (string) - prefix

bpy.ops.daz.hide_unused_links(match = "seg", useDelete = True)

Move unconnected bones with matching names away

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • match (string) - Name string of bones to hide
  • useDelete (boolean) - Delete hidden bones and vertices

bpy.ops.daz.import_action(files = [], directory = "", useMakePosable = True, affectMorphs = True, useClearMorphs = False, useShapekeys = False, multiplier = 1.000, useLoadMissing = False, useLoadZero = False, category = "Loaded", useScanned = True, affectGeograft = '', affectObject = True, affectBones = True, useClearPose = False, affectScale = False, affectSelectedOnly = False, useSnapIk = False, useConvert = False, srcCharacter = 'genesis_8_female', makeNewAction = True, actionName = "", fps = 30.000, integerFrames = False, atFrameOne = True, firstFrame = 1, lastFrame = 250, usePruneAction = False)

Import poses from DAZ pose preset file(s) to action

** Parameters: **

  • directory (string) - File directory
  • files (list) - List of files in the form {"name" : filename}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • affectMorphs (boolean) - Animate morph properties
  • useClearMorphs (boolean) - Clear all active morphs before loading new ones
  • useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
  • multiplier (float) - Multiply all morphs with this factor
  • useLoadMissing (boolean) - Load missing morphs
  • useLoadZero (boolean) - Also load missing morphs with zero value
  • category (string) - Add missing morphs to this category
  • useScanned (boolean) - Use the scanned database to find morphs
  • affectGeograft (enum in []) - Add morphs to this merged geograft
  • affectObject (boolean) - Animate object transformations
  • affectBones (boolean) - Animate bones
  • useClearPose (boolean) - Clear the pose before loading a new one
  • affectScale (boolean) - Include bone scale in animation. Object scale is always included
  • affectSelectedOnly (boolean) - Only animate selected bones
  • useSnapIk (boolean) - Snap final pose to IK. For MHX and Simple IK rigs only
  • useConvert (boolean) - Attempt to convert poses to the current rig.
  • srcCharacter (enum in ['cmu', 'genesis', 'genesis_2_female', 'genesis_2_male', 'genesis_3_female', 'genesis_3_male', 'genesis_8_female', 'genesis_8_male', 'genesis_9', 'michael_8', 'victoria_7', 'victoria_8']) - Character this file was made for
  • makeNewAction (boolean) - Unlink current action and make a new one
  • actionName (string) - Name of loaded action. Use file name if blank
  • fps (float) - Animation FPS in Daz Studio
  • integerFrames (boolean) - Round all keyframes to intergers
  • atFrameOne (boolean) - Always start new actions at frame 1
  • firstFrame (int) - Start import with this frame
  • lastFrame (int) - Finish import with this frame
  • usePruneAction (boolean) - Prune the imported action

bpy.ops.daz.import_anime(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")

Import selected anime morphs

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix

bpy.ops.daz.import_asset(files = [], directory = "", useMakePosable = True, affectMorphs = True, useClearMorphs = False, useShapekeys = False, multiplier = 1.000, useLoadMissing = False, useLoadZero = False, category = "Loaded", useScanned = True, affectGeograft = '', affectObject = True, affectBones = True, useClearPose = False, affectScale = False, affectSelectedOnly = False, useSnapIk = False, useConvert = False, srcCharacter = 'genesis_8_female', makeNewAction = True, actionName = "", fps = 30.000, integerFrames = False, atFrameOne = True, firstFrame = 1, lastFrame = 250, usePruneAction = False, usePreviewImages = True, assetTags = "", assetAuthor = "", assetDescription = "", assetLicense = "", assetCopyright = "")

Import poses and morphs from DAZ pose preset file(s) to Blender assets

** Parameters: **

  • directory (string) - File directory
  • files (list) - List of files in the form {"name" : filename}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • affectMorphs (boolean) - Animate morph properties
  • useClearMorphs (boolean) - Clear all active morphs before loading new ones
  • useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
  • multiplier (float) - Multiply all morphs with this factor
  • useLoadMissing (boolean) - Load missing morphs
  • useLoadZero (boolean) - Also load missing morphs with zero value
  • category (string) - Add missing morphs to this category
  • useScanned (boolean) - Use the scanned database to find morphs
  • affectGeograft (enum in []) - Add morphs to this merged geograft
  • affectObject (boolean) - Animate object transformations
  • affectBones (boolean) - Animate bones
  • useClearPose (boolean) - Clear the pose before loading a new one
  • affectScale (boolean) - Include bone scale in animation. Object scale is always included
  • affectSelectedOnly (boolean) - Only animate selected bones
  • useSnapIk (boolean) - Snap final pose to IK. For MHX and Simple IK rigs only
  • useConvert (boolean) - Attempt to convert poses to the current rig.
  • srcCharacter (enum in ['cmu', 'genesis', 'genesis_2_female', 'genesis_2_male', 'genesis_3_female', 'genesis_3_male', 'genesis_8_female', 'genesis_8_male', 'genesis_9', 'michael_8', 'victoria_7', 'victoria_8']) - Character this file was made for
  • makeNewAction (boolean) - Unlink current action and make a new one
  • actionName (string) - Name of loaded action. Use file name if blank
  • fps (float) - Animation FPS in Daz Studio
  • integerFrames (boolean) - Round all keyframes to intergers
  • atFrameOne (boolean) - Always start new actions at frame 1
  • firstFrame (int) - Start import with this frame
  • lastFrame (int) - Finish import with this frame
  • usePruneAction (boolean) - Prune the imported action
  • usePreviewImages (boolean) - Import preview images for imported poses
  • assetTags (string) - List of tags to add to the imported Poses
  • assetAuthor (string) - Author
  • assetDescription (string) - Description
  • assetLicense (string) - License
  • assetCopyright (string) - Copyright

bpy.ops.daz.import_baked_correctives(useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "", useExpressions = True, useFacs = True, useJcms = True)

Import all custom correctives for baked morphs

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix
  • useExpressions (boolean) - Import eJCM files
  • useFacs (boolean) - Import FACS files
  • useJcms (boolean) - Import pJCM files

bpy.ops.daz.import_body_morphs(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")

Import selected body morphs

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix

bpy.ops.daz.import_custom_morphs(files = [], directory = "", useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "", category = "Shapes", onDrivers = 'RIG', bodypart = 'Custom', treatHD = 'ERROR', onlyProperties = False, useMakeHiddenSliders = False)

Import selected morphs from native DAZ files (*.duf, *.dsf)

** Parameters: **

  • directory (string) - File directory
  • files (list) - List of files in the form {"name" : filename}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix
  • category (string) - Category
  • onDrivers (enum in ['NONE', 'RIG', 'MESH', 'CATEGORY']) - How to control shapekeys
  • bodypart (enum in ['Face', 'Body', 'Custom']) - Part of character that the morphs affect
  • treatHD (enum in ['ERROR', 'CREATE', 'ACTIVE']) - How to deal with vertex count mismatch for HD morphs
  • onlyProperties (boolean) - Only load properties and property drivers
  • useMakeHiddenSliders (boolean) - Create properties for hidden morphs, so they can be displayed in the UI. Overrides the corresponding global setting

bpy.ops.daz.import_daz_favorites(useTransferOthers = True, useNonConforming = False, ignoreRigidity = False, useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")

Import custom morphs marked as favorites in DAZ Studio

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useTransferOthers (boolean) - Transfer shapekeys from main mesh to other meshes
  • useNonConforming (boolean) - Transfer shapekeys to non-conforming meshes
  • ignoreRigidity (boolean) - Ignore rigidity groups when auto-transfer morphs. Morphs may differ from DAZ Studio
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix

bpy.ops.daz.import_daz_manually(files = [], directory = "", fitMeshes = 'DBZFILE', skinColor = (0.600,0.400,0.250,1.000), clothesColor = (0.090,0.010,0.015,1.000), materialMethod = 'EXTENDED_PRINCIPLED')

Load a native DAZ file. Further operations must be done manually. This tool is mainly for debugging

** Parameters: **

  • directory (string) - File directory
  • files (list) - List of files in the form {"name" : filename}
  • fitMeshes (enum in ['SHARED', 'UNIQUE', 'TRANSFORMED', 'MORPHED', 'DBZFILE']) - Mesh fitting method
  • skinColor (color) - SKIN
  • clothesColor (color) - Clothes
  • materialMethod (enum in ['BSDF', 'EXTENDED_PRINCIPLED', 'FBX_COMPATIBLE']) - Material Method

bpy.ops.daz.import_daz_materials(files = [], directory = "", skinColor = (0.600,0.400,0.250,1.000), clothesColor = (0.090,0.010,0.015,1.000), materialMethod = 'EXTENDED_PRINCIPLED', useAddMaterials = False, matchMethod = 'GROUP', useMatchNames = True, useReassign = True)

Load materials from a native DAZ file to selected meshes

** Parameters: **

  • directory (string) - File directory
  • files (list) - List of files in the form {"name" : filename}
  • skinColor (color) - SKIN
  • clothesColor (color) - Clothes
  • materialMethod (enum in ['BSDF', 'EXTENDED_PRINCIPLED', 'FBX_COMPATIBLE']) - Material Method
  • useAddMaterials (boolean) - Add all materials to selected meshes
  • matchMethod (enum in ['GROUP', 'NAME', 'INDEX']) - Match materials with this method
  • useMatchNames (boolean) - Match material names
  • useReassign (boolean) - Assign materials based on stored material numbers

bpy.ops.daz.import_dbz(files = [], directory = "", useMakePosable = True, category = "Shapes", onDrivers = 'RIG', min = 0.000, max = 1.000)

Import DBZ or JSON file(s) (*.dbz, *.json) as morphs

** Parameters: **

  • directory (string) - File directory
  • files (list) - List of files in the form {"name" : filename}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • category (string) - Category
  • onDrivers (enum in ['NONE', 'RIG', 'MESH', 'CATEGORY']) - How to control shapekeys
  • min (float) - Minimum value for DBZ morph
  • max (float) - Maximum value for DBZ morph

bpy.ops.daz.import_expression(files = [], directory = "", useMakePosable = True, affectMorphs = True, useClearMorphs = False, useShapekeys = False, multiplier = 1.000, useLoadMissing = False, useLoadZero = False, category = "Loaded", useScanned = True, affectGeograft = '', affectObject = True, affectBones = True, useClearPose = False, affectScale = False, affectSelectedOnly = False, useSnapIk = False, useConvert = False, srcCharacter = 'genesis_8_female')

Import an expression from DAZ pose preset file(s)

** Parameters: **

  • directory (string) - File directory
  • files (list) - List of files in the form {"name" : filename}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • affectMorphs (boolean) - Animate morph properties
  • useClearMorphs (boolean) - Clear all active morphs before loading new ones
  • useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
  • multiplier (float) - Multiply all morphs with this factor
  • useLoadMissing (boolean) - Load missing morphs
  • useLoadZero (boolean) - Also load missing morphs with zero value
  • category (string) - Add missing morphs to this category
  • useScanned (boolean) - Use the scanned database to find morphs
  • affectGeograft (enum in []) - Add morphs to this merged geograft
  • affectObject (boolean) - Animate object transformations
  • affectBones (boolean) - Animate bones
  • useClearPose (boolean) - Clear the pose before loading a new one
  • affectScale (boolean) - Include bone scale in animation. Object scale is always included
  • affectSelectedOnly (boolean) - Only animate selected bones
  • useSnapIk (boolean) - Snap final pose to IK. For MHX and Simple IK rigs only
  • useConvert (boolean) - Attempt to convert poses to the current rig.
  • srcCharacter (enum in ['cmu', 'genesis', 'genesis_2_female', 'genesis_2_male', 'genesis_3_female', 'genesis_3_male', 'genesis_8_female', 'genesis_8_male', 'genesis_9', 'michael_8', 'victoria_7', 'victoria_8']) - Character this file was made for

bpy.ops.daz.import_expressions(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")

Import selected expression morphs

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix

bpy.ops.daz.import_facecap(useShapekeys = False, useEyes = False, useTongue = False, makeNewAction = True, actionName = "", fps = 0.000, useHeadLoc = False, useHeadRot = True, headDist = 0.150, neckUpperDist = 0.400, neckLowerDist = 0.400, abdomenDist = 0.050)

Import a text file with facecap data

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
  • useEyes (boolean) - Include eyes animation
  • useTongue (boolean) - Include tongue animation
  • makeNewAction (boolean) - Unlink current action and make a new one
  • actionName (string) - Name of loaded action. Use name of imported file if blank
  • fps (float) - Animation FPS in animation file. FPS = 0 means one frame per step
  • useHeadLoc (boolean) - Include head location animation
  • useHeadRot (boolean) - Include head rotation animation
  • headDist (float) - Fraction of head rotation that affects head
  • neckUpperDist (float) - Fraction of head rotation that affects upper neck
  • neckLowerDist (float) - Fraction of head rotation that affects lower neck
  • abdomenDist (float) - Fraction of head rotation that affects abdomen

bpy.ops.daz.import_facs(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")

Import selected FACS morphs

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix

bpy.ops.daz.import_facs_details(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")

Import selected FACS details morphs

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix

bpy.ops.daz.import_facs_expressions(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")

Import selected FACS expression morphs

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix

bpy.ops.daz.import_fbx_facs(useShapekeys = False, useEyes = False, useTongue = False, makeNewAction = True, actionName = "", fps = 0.000)

Import a fbx file with FACS animation. The FBX format add-on must be enabled.

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
  • useEyes (boolean) - Include eyes animation
  • useTongue (boolean) - Include tongue animation
  • makeNewAction (boolean) - Unlink current action and make a new one
  • actionName (string) - Name of loaded action. Use name of imported file if blank
  • fps (float) - Animation FPS in animation file. FPS = 0 means one frame per step

bpy.ops.daz.import_feminine(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")

Import selected import_feminine JCMs

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix

bpy.ops.daz.import_flexions(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")

Import selected flexion morphs

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix

bpy.ops.daz.import_head(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")

Import selected head morphs

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix

bpy.ops.daz.import_jcms(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")

Import selected joint corrective morphs

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix

bpy.ops.daz.import_livelink(useShapekeys = False, useEyes = False, useTongue = False, makeNewAction = True, actionName = "", fps = 0.000, useHeadLoc = False, useHeadRot = True, headDist = 0.150, neckUpperDist = 0.400, neckLowerDist = 0.400, abdomenDist = 0.050)

Import a csv file with Unreal's Live Link data

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
  • useEyes (boolean) - Include eyes animation
  • useTongue (boolean) - Include tongue animation
  • makeNewAction (boolean) - Unlink current action and make a new one
  • actionName (string) - Name of loaded action. Use name of imported file if blank
  • fps (float) - Animation FPS in animation file. FPS = 0 means one frame per step
  • useHeadLoc (boolean) - Include head location animation
  • useHeadRot (boolean) - Include head rotation animation
  • headDist (float) - Fraction of head rotation that affects head
  • neckUpperDist (float) - Fraction of head rotation that affects upper neck
  • neckLowerDist (float) - Fraction of head rotation that affects lower neck
  • abdomenDist (float) - Fraction of head rotation that affects abdomen

bpy.ops.daz.import_masculine(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")

Import selected masculine JCMs

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix

bpy.ops.daz.import_moho(makeNewAction = True, actionName = "", fps = 30.000, integerFrames = False, atFrameOne = True, firstFrame = 1, lastFrame = 250, usePruneAction = False, morphType = 'FACS', phonemeSet = 'Preston-Blair', emphasis = 1.000, useUpdateLimits = True, useRelax = True, useShapekeys = False)

Import Moho (.dat) file

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • makeNewAction (boolean) - Unlink current action and make a new one
  • actionName (string) - Name of loaded action. Use file name if blank
  • fps (float) - Animation FPS in Daz Studio
  • integerFrames (boolean) - Round all keyframes to intergers
  • atFrameOne (boolean) - Always start new actions at frame 1
  • firstFrame (int) - Start import with this frame
  • lastFrame (int) - Finish import with this frame
  • usePruneAction (boolean) - Prune the imported action
  • morphType (enum in ['VISEMES', 'FACS']) - Import MOHO animation to these morphs
  • phonemeSet (enum in ['Preston-Blair', 'Fleming-Dobbs', 'Rhubarb', 'CMU_39']) - Phoneme Set
  • emphasis (float) - Speech strength
  • useUpdateLimits (boolean) - Update limits of open vowels to account for emphasis
  • useRelax (boolean) - Relax the Moho animation to make it more natural
  • useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties

bpy.ops.daz.import_node_pose(files = [], directory = "", useMakePosable = True, affectMorphs = True, useClearMorphs = False, useShapekeys = False, multiplier = 1.000, useLoadMissing = False, useLoadZero = False, category = "Loaded", useScanned = True, affectGeograft = '', affectObject = True, affectBones = True, useClearPose = False, affectScale = False, affectSelectedOnly = False, useSnapIk = False, useConvert = False, srcCharacter = 'genesis_8_female')

Import a pose from DAZ scene file(s) (not pose preset files)

** Parameters: **

  • directory (string) - File directory
  • files (list) - List of files in the form {"name" : filename}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • affectMorphs (boolean) - Animate morph properties
  • useClearMorphs (boolean) - Clear all active morphs before loading new ones
  • useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
  • multiplier (float) - Multiply all morphs with this factor
  • useLoadMissing (boolean) - Load missing morphs
  • useLoadZero (boolean) - Also load missing morphs with zero value
  • category (string) - Add missing morphs to this category
  • useScanned (boolean) - Use the scanned database to find morphs
  • affectGeograft (enum in []) - Add morphs to this merged geograft
  • affectObject (boolean) - Animate object transformations
  • affectBones (boolean) - Animate bones
  • useClearPose (boolean) - Clear the pose before loading a new one
  • affectScale (boolean) - Include bone scale in animation. Object scale is always included
  • affectSelectedOnly (boolean) - Only animate selected bones
  • useSnapIk (boolean) - Snap final pose to IK. For MHX and Simple IK rigs only
  • useConvert (boolean) - Attempt to convert poses to the current rig.
  • srcCharacter (enum in ['cmu', 'genesis', 'genesis_2_female', 'genesis_2_male', 'genesis_3_female', 'genesis_3_male', 'genesis_8_female', 'genesis_8_male', 'genesis_9', 'michael_8', 'victoria_7', 'victoria_8']) - Character this file was made for

bpy.ops.daz.import_pose(files = [], directory = "", useMakePosable = True, affectMorphs = True, useClearMorphs = False, useShapekeys = False, multiplier = 1.000, useLoadMissing = False, useLoadZero = False, category = "Loaded", useScanned = True, affectGeograft = '', affectObject = True, affectBones = True, useClearPose = False, affectScale = False, affectSelectedOnly = False, useSnapIk = False, useConvert = False, srcCharacter = 'genesis_8_female')

Import a pose from DAZ pose preset file(s)

** Parameters: **

  • directory (string) - File directory
  • files (list) - List of files in the form {"name" : filename}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • affectMorphs (boolean) - Animate morph properties
  • useClearMorphs (boolean) - Clear all active morphs before loading new ones
  • useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
  • multiplier (float) - Multiply all morphs with this factor
  • useLoadMissing (boolean) - Load missing morphs
  • useLoadZero (boolean) - Also load missing morphs with zero value
  • category (string) - Add missing morphs to this category
  • useScanned (boolean) - Use the scanned database to find morphs
  • affectGeograft (enum in []) - Add morphs to this merged geograft
  • affectObject (boolean) - Animate object transformations
  • affectBones (boolean) - Animate bones
  • useClearPose (boolean) - Clear the pose before loading a new one
  • affectScale (boolean) - Include bone scale in animation. Object scale is always included
  • affectSelectedOnly (boolean) - Only animate selected bones
  • useSnapIk (boolean) - Snap final pose to IK. For MHX and Simple IK rigs only
  • useConvert (boolean) - Attempt to convert poses to the current rig.
  • srcCharacter (enum in ['cmu', 'genesis', 'genesis_2_female', 'genesis_2_male', 'genesis_3_female', 'genesis_3_male', 'genesis_8_female', 'genesis_8_male', 'genesis_9', 'michael_8', 'victoria_7', 'victoria_8']) - Character this file was made for

bpy.ops.daz.import_powerpose(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")

Import selected PowerPose morphs

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix

bpy.ops.daz.import_shells(files = [], directory = "", skinColor = (0.600,0.400,0.250,1.000), clothesColor = (0.090,0.010,0.015,1.000), materialMethod = 'EXTENDED_PRINCIPLED')

Load shell node groups from native DAZ file

** Parameters: **

  • directory (string) - File directory
  • files (list) - List of files in the form {"name" : filename}
  • skinColor (color) - SKIN
  • clothesColor (color) - Clothes
  • materialMethod (enum in ['BSDF', 'EXTENDED_PRINCIPLED', 'FBX_COMPATIBLE']) - Material Method

bpy.ops.daz.import_shells_as_images(files = [], directory = "", skinColor = (0.600,0.400,0.250,1.000), clothesColor = (0.090,0.010,0.015,1.000), materialMethod = 'EXTENDED_PRINCIPLED', useDriveInfluence = True, useGeografts = False, useAutoMaterial = True, useHSV = False, targetMaterial = '', midLevel = False)

Load shells as layered images to selected meshes

** Parameters: **

  • directory (string) - File directory
  • files (list) - List of files in the form {"name" : filename}
  • skinColor (color) - SKIN
  • clothesColor (color) - Clothes
  • materialMethod (enum in ['BSDF', 'EXTENDED_PRINCIPLED', 'FBX_COMPATIBLE']) - Material Method
  • useDriveInfluence (boolean) - Create drivers for shell influence
  • useGeografts (boolean) - Target meshes are geografts
  • useAutoMaterial (boolean) - Automatic Target Materials
  • useHSV (boolean) - HSV Correction
  • targetMaterial (enum in []) - Add images to this material
  • midLevel (boolean) - Grey mask is zero opacity

bpy.ops.daz.import_standard_morphs(useUnits = False, useExpressions = False, useVisemes = False, ignoreHdMorphs = False, useHead = False, useFacs = False, useFacsdetails = False, useFacsexpr = False, usePowerpose = False, useBody = False, useMhxOnly = False, useJcms = False, useMasculine = False, useFeminine = False, useAnime = False, useFlexions = False, useBulges = False, ignoreFingers = True, useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")

Import all standard morphs of selected types. Doing this once is faster than loading individual types

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useUnits (boolean) - Import all face units
  • useExpressions (boolean) - Import all expressions
  • useVisemes (boolean) - Import all visemes
  • ignoreHdMorphs (boolean) - Don't import HD morphs for units, expressions, visemes
  • useHead (boolean) - Import all head morphs
  • useFacs (boolean) - Import all FACS morphs
  • useFacsdetails (boolean) - Import all FACS details
  • useFacsexpr (boolean) - Import all FACS expressions
  • usePowerpose (boolean) - Import all PowerPose expressions
  • useBody (boolean) - Import all body morphs
  • useMhxOnly (boolean) - Only import MHX compatible body morphs
  • useJcms (boolean) - Import all JCMs
  • useMasculine (boolean) - Import all maskuline JCMs
  • useFeminine (boolean) - Import all feminine JCMs
  • useAnime (boolean) - Import all anime morphs
  • useFlexions (boolean) - Import all flexions
  • useBulges (boolean) - Make all bulges (Genesis and Genesis 2)
  • ignoreFingers (boolean) - Don't create morphs for fingers and toes
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix

bpy.ops.daz.import_units(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")

Import selected face unit morphs

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix

bpy.ops.daz.import_visemes(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")

Import selected visemes morphs

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix

bpy.ops.daz.import_vmd_facs(useShapekeys = False, useEyes = False, useTongue = False, makeNewAction = True, actionName = "", fps = 0.000)

Import a vmd file with FACS animation. MMD Tools must be installed

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
  • useEyes (boolean) - Include eyes animation
  • useTongue (boolean) - Include tongue animation
  • makeNewAction (boolean) - Unlink current action and make a new one
  • actionName (string) - Name of loaded action. Use name of imported file if blank
  • fps (float) - Animation FPS in animation file. FPS = 0 means one frame per step

bpy.ops.daz.impose_locks_limits()

Impose locks and limits for current pose


bpy.ops.daz.inspect_world_matrix()

List world matrix of active object


bpy.ops.daz.join_categories(selection = [], custom = '')

Join selected categories with the chosen category

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • custom (enum in []) - Category

bpy.ops.daz.key_all_poses(morphset = "All", category = "", prefix = "", ftype = "", useArmature = True, useMesh = False, useEmpty = True, useCurves = True, useCamera = True, useLight = True)

Insert keys for all objects at current frame

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • morphset (string) - morphset
  • category (string) - category
  • prefix (string) - prefix
  • ftype (string) - ftype
  • useArmature (boolean) - Save action for armatures
  • useMesh (boolean) - Save action for meshes
  • useEmpty (boolean) - Save action for empties
  • useCurves (boolean) - Save action for curves
  • useCamera (boolean) - Save action for cameras
  • useLight (boolean) - Save action for lights

bpy.ops.daz.key_morphs(morphset = "All", category = "", prefix = "", ftype = "")

Set keys for all selected morphs of specified type at current frame

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • morphset (string) - morphset
  • category (string) - category
  • prefix (string) - prefix
  • ftype (string) - ftype

bpy.ops.daz.key_shapes(morphset = "All", category = "", prefix = "", ftype = "")

Set keys for all shapes of specified type at current frame

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • morphset (string) - morphset
  • category (string) - category
  • prefix (string) - prefix
  • ftype (string) - ftype

bpy.ops.daz.key_shell_influence(enable = False)

(undocumented operator)

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • enable (boolean) - enable

bpy.ops.daz.launch_editor(useAllMaterials = False, useChangedOnly = True)

Edit materials of selected meshes

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useAllMaterials (boolean) - Affect all materials of all selected meshes
  • useChangedOnly (boolean) - Only update channels that have been modified by the material editor

bpy.ops.daz.limit_vertex_groups(limit = 4)

Limit the number of vertex groups per vertex

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • limit (int) - Max number of vertex group per vertex

bpy.ops.daz.load_baked_maps(usePrune = True, useCompact = False, scale = 0.010, midlevel = 0.500, bakeType = 'NORMALS', imageSize = '2048', subfolder = "", basename = "", storedFolder = "", storedName = "", dispScale = 0.010)

Load baked normal/displacement maps for the selected meshes

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • usePrune (boolean) - Prune the node tree
  • useCompact (boolean) - Compact
  • scale (float) - Scale value for displacement node
  • midlevel (float) - Midlevel value for displacement node
  • bakeType (enum in ['NORMALS', 'DISPLACEMENT']) - Bake Type
  • imageSize (enum in ['512', '1024', '2048', '4096']) - Image Size
  • subfolder (string) - Subfolder for normal/displace maps
  • basename (string) - Name used to construct file names
  • storedFolder (string) - storedFolder
  • storedName (string) - storedName
  • dispScale (float) - Displacement scale

bpy.ops.daz.load_factory_settings()

Restore all global settings to factory defaults


bpy.ops.daz.load_favo_morphs(ignoreUrl = False, ignoreFinger = False, useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")

Load favorite morphs

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • ignoreUrl (boolean) - Ignore the mesh URL and only use the fingerprint to identify the mesh. Use this to load Genesis 8 morphs to Genesis 8.1 figures and vice versa
  • ignoreFinger (boolean) - Ignore the mesh fingerprint which describes the mesh topology
  • useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
  • useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
  • useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
  • onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
  • morphSuffix (string) - Morph suffix

bpy.ops.daz.load_normal_map(files = [], directory = "", usePrune = True, useCompact = False, useDriver = True, useSmartTiles = True, tile = 1001)

Load normal maps to selected materials

** Parameters: **

  • directory (string) - File directory
  • files (list) - List of files in the form {"name" : filename}
  • usePrune (boolean) - Prune the node tree
  • useCompact (boolean) - Compact
  • useDriver (boolean) - Drive maps with armature properties
  • useSmartTiles (boolean) - Identify tiles from materials
  • tile (int) - Load textures in this tile. Selected materials should match the tile

bpy.ops.daz.load_poses_from_file()

Load poses for all objects from json file


bpy.ops.daz.load_root_paths(useContent = True, useMDL = True, useCloud = True)

Load DAZ root paths from file

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useContent (boolean) - Load Content Directories
  • useMDL (boolean) - Load MDL Directories
  • useCloud (boolean) - Load Cloud Directories

bpy.ops.daz.load_scalar_disp(files = [], directory = "", scale = 0.010, midlevel = 0.500, usePrune = True, useCompact = False, useDriver = True, useSmartTiles = True, tile = 1001)

Load scalar displacement map to selected materials

** Parameters: **

  • directory (string) - File directory
  • files (list) - List of files in the form {"name" : filename}
  • scale (float) - Scale value for displacement node
  • midlevel (float) - Midlevel value for displacement node
  • usePrune (boolean) - Prune the node tree
  • useCompact (boolean) - Compact
  • useDriver (boolean) - Drive maps with armature properties
  • useSmartTiles (boolean) - Identify tiles from materials
  • tile (int) - Load textures in this tile. Selected materials should match the tile

bpy.ops.daz.load_settings_file()

Load settings from file


bpy.ops.daz.load_uv()

Load a UV set to the active mesh


bpy.ops.daz.load_vector_disp(files = [], directory = "", scale = 0.010, midlevel = 0.500, usePrune = True, useCompact = False, useDriver = True, useSmartTiles = True, tile = 1001)

Load vector displacement map to selected materials

** Parameters: **

  • directory (string) - File directory
  • files (list) - List of files in the form {"name" : filename}
  • scale (float) - Scale value for displacement node
  • midlevel (float) - Midlevel value for displacement node
  • usePrune (boolean) - Prune the node tree
  • useCompact (boolean) - Compact
  • useDriver (boolean) - Drive maps with armature properties
  • useSmartTiles (boolean) - Identify tiles from materials
  • tile (int) - Load textures in this tile. Selected materials should match the tile

bpy.ops.daz.lock_all_channels(useLock = True, useObjects = True, useBones = False, ignoreTransformed = False, useLocX = True, useLocY = True, useLocZ = True, useRotX = True, useRotY = True, useRotZ = True)

Lock or unlock all channels of selected objects

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useLock (boolean) - Enable locks
  • useObjects (boolean) - Enable/Disable locks for objects
  • useBones (boolean) - Enable/Disable locks for bones
  • ignoreTransformed (boolean) - Clear locks for transformed channels
  • useLocX (boolean) - Lock X location
  • useLocY (boolean) - Lock Y location
  • useLocZ (boolean) - Lock X location
  • useRotX (boolean) - Lock X rotation
  • useRotY (boolean) - Lock Y rotation
  • useRotZ (boolean) - Lock X rotation

bpy.ops.daz.lock_channels(useNonzero = True, useTwist = True)

Lock certain channels

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useNonzero (boolean) - Don't lock non-zero channels
  • useTwist (boolean) - Don't lcok local Y rotation

bpy.ops.daz.make_all_bones_posable(ignoreLocked = True, errorOnFail = True)

Add an extra layer of driven bones, to make them posable

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • ignoreLocked (boolean) - Don't create posable bones for locked location channels
  • errorOnFail (boolean) - Fail On Error

bpy.ops.daz.make_cloth(pinGroup = "dForce Pin", collision = '')

Add cloth modifiers to selected meshes

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • pinGroup (string) - Use this group as pin group
  • collision (enum in []) - Collision Collection

bpy.ops.daz.make_collision(pinGroup = "dForce Pin", collision = '')

Add collision modifiers to selected meshes

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • pinGroup (string) - Use this group as pin group
  • collision (enum in []) - Collision Collection

bpy.ops.daz.make_combo_material()

Create a combo node group for selected materials


bpy.ops.daz.make_control_rig()

Make the active rig the control rig of its children. An alternative to merging rigs


bpy.ops.daz.make_decal(channel = 'Diffuse', reuseEmpty = False, emptyName = '', useMask = False, decalMask = "", blendType = 'MIX')

Add a decal to the active material

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • channel (enum in ['Diffuse', 'Glossy', 'Translucency', 'SSS', 'PBase', 'PSSS', 'Bump']) - Add decal to this channel
  • reuseEmpty (boolean) - Reuse an existing empty instead of creating a new one
  • emptyName (enum in []) - Empty to reuse
  • useMask (boolean) - Use a separate texture to mask the decal
  • decalMask (string) - Path to decal mask texture
  • blendType (enum in ['MIX', 'MULTIPLY']) - Type of blending decal with skin

bpy.ops.daz.make_deflection(offset = 5.000, useQuads = True, useSubsurf = True, useShrinkwrap = True)

Make a low-poly deflection mesh for the active mesh

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • offset (float) - Offset the surface from the character mesh
  • useQuads (boolean) - Convert the deflector into a majority-quad mesh
  • useSubsurf (boolean) - Smooth the deflection mesh with a subsurf modifier
  • useShrinkwrap (boolean) - Shrinkwrap the deflection mesh to the original mesh

bpy.ops.daz.make_dforce(pinGroup = "dForce Pin", collision = '')

Add cloth and collision modifiers to selected meshes from DAZ data

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • pinGroup (string) - Use this group as pin group
  • collision (enum in []) - Collision Collection

bpy.ops.daz.make_eulers()

Convert all quaternion bones to XYZ Eulers


bpy.ops.daz.make_hair(useCheckStrips = True, pinGroup = "dForce Pin", collision = '', useHeadParent = True, deformType = 'NONE', onInvalid = 'REMOVE', useSurfaceDeform = False, useSimulation = False, useVertexGroups = False, proxyType = 'SHEET', proxyWidth = 1.000, usePinGroup = True, useClothSimulation = True, strandType = 'SHEET', strandOrientation = 'TOP', keepMesh = False, output = 'HAIR_CURVES', useSingleOutput = True, removeOldHairs = False, useSeparateLoose = True, sparsity = 1, size = 50, useResizeHair = False, useAutoResize = True, useResizeInBlocks = False, useSnapRoots = True, childThreshold = 10000, nRenderChildren = 10, strandShape = 'STANDARD', nViewChildren = 5, nViewStep = 3, nRenderStep = 3, rootRadius = 0.300, tipRadius = 0.300, hairRadius = 0.100, hairShape = 0.000, hairLength = 0.500, viewFactor = 0.100, childRadius = 10.000, multiMaterials = False, keepMaterial = True, useActiveTexture = False, activeMaterial = '', color = (0.200,0.020,0.010,1.000), hairMaterialMethod = 'HAIR_BSDF')

Make particle hair from mesh hair

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useCheckStrips (boolean) - Check that the hair mesh consists of strips in UV space
  • pinGroup (string) - Use this group as pin group
  • collision (enum in []) - Collision Collection
  • useHeadParent (boolean) - Bone parent the hair to the head bone
  • deformType (enum in ['NONE', 'CURVES', 'PROXY']) - How to deform the hair
  • onInvalid (enum in ['KEEP', 'MODIFIER', 'REMOVE']) - How to deal with invalid curves
  • useSurfaceDeform (boolean) - Add a surface deform modifier
  • useSimulation (boolean) - Add a cloth modifier for simulation
  • useVertexGroups (boolean) - Copy vertex groups to proxy mesh
  • proxyType (enum in ['LINE', 'SHEET', 'TUBE']) - Proxy mesh type
  • proxyWidth (float) - Width of the proxy strands
  • usePinGroup (boolean) - Add a pinning group to the hair proxy
  • useClothSimulation (boolean) - Add a cloth simulation
  • strandType (enum in ['SHEET', 'LINE', 'TUBE']) - Mesh hair strand type
  • strandOrientation (enum in ['TOP', 'BOTTOM', 'LEFT', 'RIGHT']) - How the strands are oriented in UV space
  • keepMesh (boolean) - Keep (reconstruct) mesh hair after making particle hair
  • output (enum in ['HAIR_CURVES', 'PARTICLES', 'CURVES', 'POLYLINES', 'MESH']) - Output
  • useSingleOutput (boolean) - Hair output is a single object
  • removeOldHairs (boolean) - Remove existing particle systems from this mesh
  • useSeparateLoose (boolean) - Separate hair mesh into loose parts before doing the conversion. Usually improves performance but can stall for large meshes
  • sparsity (int) - Only use every n:th hair
  • size (int) - Length of resized hair. Maximum length if Auto Resize is enabled.
  • useResizeHair (boolean) - Resize hair so all strands have the same length, and thus fit into a single particle system. Known to cause problems for hair dynamics
  • useAutoResize (boolean) - Resize each material to the length of the longest strand
  • useResizeInBlocks (boolean) - Resize hair in blocks of ten afterwards
  • useSnapRoots (boolean) - Snap roots to nearest point on mesh
  • childThreshold (int) - Maximum number of strands that can use children
  • nRenderChildren (int) - Number of hair children displayed in renders
  • strandShape (enum in ['STANDARD', 'ROOTS', 'SHRINK']) - Strand shape
  • nViewChildren (int) - Number of hair children displayed in viewport
  • nViewStep (int) - How many steps paths are drawn with (power of 2)
  • nRenderStep (int) - How many steps paths are rendered with (power of 2)
  • rootRadius (float) - Strand diameter at the root
  • tipRadius (float) - Strand diameter at the tip
  • hairRadius (float) - Strand diameter
  • hairShape (float) - Hair shape parameter
  • hairLength (float) - Hair length during emission
  • viewFactor (float) - The fraction of children displayed in the viewport
  • childRadius (float) - Radius of children around parent
  • multiMaterials (boolean) - Create separate particle systems for each material
  • keepMaterial (boolean) - Use existing material
  • useActiveTexture (boolean) - Use the active texture of the scalp mesh as hair color
  • activeMaterial (enum in []) - Material to use as hair material
  • color (color) - Hair Color
  • hairMaterialMethod (enum in ['HAIR_BSDF', 'HAIR_PRINCIPLED', 'PRINCIPLED']) - Type of hair material node tree

bpy.ops.daz.make_hair_proxy(pinGroup = "dForce Pin", collision = '', useHeadParent = True, deformType = 'NONE', onInvalid = 'REMOVE', useSurfaceDeform = False, useSimulation = False, useVertexGroups = False, proxyType = 'SHEET', proxyWidth = 1.000, usePinGroup = True, useClothSimulation = True)

Make proxy for hair curves and add cloth simulation to it

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • pinGroup (string) - Use this group as pin group
  • collision (enum in []) - Collision Collection
  • useHeadParent (boolean) - Bone parent the hair to the head bone
  • deformType (enum in ['NONE', 'CURVES', 'PROXY']) - How to deform the hair
  • onInvalid (enum in ['KEEP', 'MODIFIER', 'REMOVE']) - How to deal with invalid curves
  • useSurfaceDeform (boolean) - Add a surface deform modifier
  • useSimulation (boolean) - Add a cloth modifier for simulation
  • useVertexGroups (boolean) - Copy vertex groups to proxy mesh
  • proxyType (enum in ['LINE', 'SHEET', 'TUBE']) - Proxy mesh type
  • proxyWidth (float) - Width of the proxy strands
  • usePinGroup (boolean) - Add a pinning group to the hair proxy
  • useClothSimulation (boolean) - Add a cloth simulation

bpy.ops.daz.make_invisible()

Hide selected faces by assigning an invisible material to them


bpy.ops.daz.make_lowpoly(keepUvIslands = True, iterations = 2, useQuads = True)

Replace all selected meshes by low-poly versions

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • keepUvIslands (boolean) - Keep UV islands
  • iterations (int) - Number of times to unsubdivide
  • useQuads (boolean) - Convert as many triangles to quads as possible

bpy.ops.daz.make_multires(useNewUvs = False)

Convert HD mesh into mesh with multires modifier, and add vertex groups and extra UV layers

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useNewUvs (boolean) - Copy UV layers to multires mesh even if it already has UVs

bpy.ops.daz.make_palette(useMarkAsAsset = False, paletteShape = 'PLANE')

Create a palette for use with the asset browser

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useMarkAsAsset (boolean) - Mark the palette for the asset browser and make all materials unique
  • paletteShape (enum in ['PLANE', 'CONE']) - Palette shape

bpy.ops.daz.make_shader_groups(useDiffuse = False, useLogColor = False, useColorEffect = False, useTintedEffect = False, useFresnel = False, useSchlick = False, useEmission = False, useOneSided = False, useOverlay = False, useGlossy = False, useTopCoat = False, useRefraction = False, useThinWall = False, useFakeCaustics = False, useTransparent = False, useInvertNormalMap = False, useTranslucent = False, useSubsurface = False, useAltSSS = False, useFlakes = False, useRayClip = False, useDualLobeUber = False, useDualLobePBR = False, useMetalUber = False, useMetalPBR = False, useVolume = False, useNormal = False, useDisplacement = False, useDecal = False, useToonDiffuse = False, useToonGlossy = False, useToonRim = False, useToonLight = False)

Create shader groups for the active material

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useDiffuse (boolean) - Diffuse
  • useLogColor (boolean) - Log Color
  • useColorEffect (boolean) - Color Effect
  • useTintedEffect (boolean) - Tinted Effect
  • useFresnel (boolean) - Fresnel
  • useSchlick (boolean) - Schlick
  • useEmission (boolean) - Emission
  • useOneSided (boolean) - One Sided
  • useOverlay (boolean) - Diffuse Overlay
  • useGlossy (boolean) - Glossy
  • useTopCoat (boolean) - Top Coat
  • useRefraction (boolean) - Refraction
  • useThinWall (boolean) - Thin Wall
  • useFakeCaustics (boolean) - Fake Caustics
  • useTransparent (boolean) - Transparent
  • useInvertNormalMap (boolean) - Invert Normal Map
  • useTranslucent (boolean) - Translucent
  • useSubsurface (boolean) - Subsurface
  • useAltSSS (boolean) - Alt SSS
  • useFlakes (boolean) - Metallic Flakes
  • useRayClip (boolean) - Ray Clip
  • useDualLobeUber (boolean) - Dual Lobe (Uber Shader)
  • useDualLobePBR (boolean) - Dual Lobe (PBR Skin)
  • useMetalUber (boolean) - Metal (Uber Shader)
  • useMetalPBR (boolean) - Metal (PBR Skin)
  • useVolume (boolean) - Volume
  • useNormal (boolean) - Normal
  • useDisplacement (boolean) - Displacement
  • useDecal (boolean) - Decal
  • useToonDiffuse (boolean) - Toon Diffuse
  • useToonGlossy (boolean) - Toon Glossy
  • useToonRim (boolean) - Toon Rim
  • useToonLight (boolean) - Toon Light

bpy.ops.daz.make_udim_materials(useLastUdimTile = False, useHiddenMeshes = True, trgmat = '', useGuessMissing = True, useSaveLocalTextures = True, useFixTextures = True, useMergeMaterials = False, useStackShells = True)

Combine materials of selected mesh into a single UDIM material. Geografts must be merged first

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useLastUdimTile (boolean) - Last UDIM Tile
  • useHiddenMeshes (boolean) - Also save textures from hidden meshes
  • trgmat (enum in []) - Active
  • useGuessMissing (boolean) - Search for UDIM textures that almost match location in node tree
  • useSaveLocalTextures (boolean) - Save local textures if not already done
  • useFixTextures (boolean) - Copy textures to the right directory and correct tile numbers. For incorrect Genesis 8.1 material names, or for textures without tile info
  • useMergeMaterials (boolean) - Merge materials and not only textures. This may cause some information loss. If not, Merge Materials can be called afterwards
  • useStackShells (boolean) - Add shell groups to UDIM material

bpy.ops.daz.mask_material_group(group = '')

(undocumented operator)

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • group (enum in []) - Group

bpy.ops.daz.mask_polygon_group(group = '')

(undocumented operator)

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • group (enum in []) - Group

bpy.ops.daz.merge_geografts(useLastUdimTile = False, useMergeUvs = True, allowOverlap = False, keepOriginal = False, useFixTiles = True, useSubDDisplacement = True, useGeoNodes = False, useBakeGrafts = False)

Merge selected geografts to active object

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useLastUdimTile (boolean) - Last UDIM Tile
  • useMergeUvs (boolean) - Merge active render UV layers of all meshes
  • allowOverlap (boolean) - Also merge overlapping UV layers. Can destroy UV assignment
  • keepOriginal (boolean) - Keep the original mesh and geografts in separate collections
  • useFixTiles (boolean) - Move geograft UVs to tile based on texture names
  • useSubDDisplacement (boolean) - Add SubD Displacement to the merge mesh if some geograft has it. May slow down rendering
  • useGeoNodes (boolean) - Merge geografts using geometry nodes
  • useBakeGrafts (boolean) - Add a bake node to the geometry node tree. This must be baked in rest pose before posing

bpy.ops.daz.merge_materials(ignoreBump = True)

Merge identical materials of selected meshes

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • ignoreBump (boolean) - Merge materials even if the bump strengths differ

bpy.ops.daz.merge_meshes(useMergeUvs = True, allowOverlap = False)

Merge selected meshes to active mesh

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useMergeUvs (boolean) - Merge active render UV layers of all meshes
  • allowOverlap (boolean) - Also merge overlapping UV layers. Can destroy UV assignment

bpy.ops.daz.merge_rigs(duplicateDistance = 1.000, useMergeNonConforming = 'CONTROLS', useConvertWidgets = True, useHiddenRigs = False, useTieRigs = False, useOnlySelected = True)

Merge selected rigs to active rig

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • duplicateDistance (float) - Create separate bones if several bones with the same name are found, and they are at least this far apart (in centimeters)
  • useMergeNonConforming (enum in ['NEVER', 'CONTROLS', 'CHILDREN', 'ALL_RIGS']) - Also merge non-conforming rigs. (Bone parented and with no bones in common with main rig)
  • useConvertWidgets (boolean) - Convert face controls to bone custom shapes
  • useHiddenRigs (boolean) - Also merge bones from armatures that are hidden
  • useTieRigs (boolean) - Drive bone in child rigs with copy transforms constraints
  • useOnlySelected (boolean) - Only merge armatures that are children of selected armatures

bpy.ops.daz.merge_toes()

Merge separate toes into a single toe bone


bpy.ops.daz.merge_uv_layers(layer = '', allowOverlap = False)

Merge an UV layer to the active render layer. Merging the active render layer to itself replaces any UV map nodes with texture coordinate nodes

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • layer (enum in []) - UV layer that is merged with the active render layer
  • allowOverlap (boolean) - Allow merging overlapping UV layers

bpy.ops.daz.mesh_add_pinning()

Add HairPin group to mesh hair


bpy.ops.daz.mix_shapekeys(shape1 = '', shape2 = '', factor1 = 1.000, factor2 = 1.000, allSimilar = False, overwrite = True, delete = True, newName = "Shapekey", filter1 = "", filter2 = "")

Mix shapekeys

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • shape1 (enum in []) - First shapekey
  • shape2 (enum in []) - Second shapekey
  • factor1 (float) - First factor
  • factor2 (float) - Second factor
  • allSimilar (boolean) - Mix all shapekeys with similar names
  • overwrite (boolean) - Overwrite the first shapekey
  • delete (boolean) - Delete unused shapekeys after merge
  • newName (string) - Name of new shapekey
  • filter1 (string) - Show only items containing this string
  • filter2 (string) - Show only items containing this string

bpy.ops.daz.modify_vertex_group(direction = '+X')

Modify the active vertex group

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • direction (enum in ['+X', '-X', '+Y', '-Y', '+Z', '-Z']) - Direction

bpy.ops.daz.morph_armature()

Update the armature for ERC morphs


bpy.ops.daz.move_graft_bones()

Move geograft bones to Tweak layer


bpy.ops.daz.move_morphs_to_category(selection = [], morphset = '', category = '', newCategory = "New")

Move selected morphs to selected category

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • morphset (enum in []) - Type
  • category (enum in []) - Category
  • newCategory (string) - Name of the new category

bpy.ops.daz.multiply_morphs(morphset = "All", category = "", prefix = "", ftype = "", factor = 1.000)

Multiply all selected morphs of specified type with the given value

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • morphset (string) - morphset
  • category (string) - category
  • prefix (string) - prefix
  • ftype (string) - ftype
  • factor (float) - Multiply all selected morphs with this factor

bpy.ops.daz.multiply_shapes(morphset = "All", category = "", prefix = "", ftype = "", factor = 1.000)

Multiply all selected shapekey values of specified type with the given factor

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • morphset (string) - morphset
  • category (string) - category
  • prefix (string) - prefix
  • ftype (string) - ftype
  • factor (float) - Multiply all selected shapekeys with this value

bpy.ops.daz.mute_control_rig(frame_start = 1, frame_end = 1, useShapekeys = True, useMuteAll = True, useBake = True)

Disable drivers and copy location/rotation constraints

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • frame_start (int) - Start
  • frame_end (int) - End
  • useShapekeys (boolean) - Mute/unmute shapekeys too
  • useMuteAll (boolean) - Mute/unmute all bone constraints, not just copy transform
  • useBake (boolean) - Bake visual transform to an action

bpy.ops.daz.mute_shapekeys(show = True)

Mute or unmute all shapekeys of selected meshes

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • show (boolean) - Mute shapekeys if disabled, otherwise unmute

bpy.ops.daz.object_pose_to_bones(startFrame = 1, endFrame = 250, useSkipRoots = True)

Clear object transform and transfer pose to unparented bones

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • startFrame (int) - Starting frame for the animation
  • endFrame (int) - Last frame for the animation
  • useSkipRoots (boolean) - Clear unparented bones and transfer pose to its children

bpy.ops.daz.optimize_drivers(useRemoveMultipliers = False, useRemoveHiddenSliders = True, useRemoveERC = True)

Optimize the web of drivers. New morphs can not be loaded afterwards

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useRemoveMultipliers (boolean) - Remove multipliers from drivers. Can change how drivers work
  • useRemoveHiddenSliders (boolean) - Remove sliders for hidden variables from drivers. Can change how drivers work
  • useRemoveERC (boolean) - Remove ERC morphs from drivers. Armatures can no longer be morphed

bpy.ops.daz.optimize_pose(useApplyRestPose = True)

Optimize pose for IK. Incompatible with pose loading and body morphs

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useApplyRestPose (boolean) - Apply current pose as rest pose for all armatures

bpy.ops.daz.pin_prop(morphset = "All", category = "", prefix = "", ftype = "", key = "")

Pin property

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • morphset (string) - morphset
  • category (string) - category
  • prefix (string) - prefix
  • ftype (string) - ftype
  • key (string) - key

bpy.ops.daz.pin_shape(morphset = "All", category = "", prefix = "", ftype = "", key = "")

Pin shapekey value

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • morphset (string) - morphset
  • category (string) - category
  • prefix (string) - prefix
  • ftype (string) - ftype
  • key (string) - key

bpy.ops.daz.print_statistics()

Display statistics for selected meshes


bpy.ops.daz.prune_action()

Remove F-curves with zero keys only


bpy.ops.daz.prune_node_trees(useDeleteUnusedNodes = True, useHideTexNodes = True, usePruneTexco = True, useHideOutputs = True, keepUnusedTextures = True, useFixColorSpace = True, useDazImages = True, useBeautify = True)

Prune all material node trees for selected meshes

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useDeleteUnusedNodes (boolean) - Delete nodes not connected to material output
  • useHideTexNodes (boolean) - Hide all texture nodes
  • usePruneTexco (boolean) - Delete texture coordinates nodes not connected to mapping nodes
  • useHideOutputs (boolean) - Hide unused output sockets
  • keepUnusedTextures (boolean) - Keep textures from unused channels
  • useFixColorSpace (boolean) - Fix Color Space
  • useDazImages (boolean) - Make node groups for DAZ images
  • useBeautify (boolean) - Beautify node tree

bpy.ops.daz.prune_uv_maps()

Remove unused UV maps


bpy.ops.daz.prune_vertex_groups(threshold = 0.001)

Remove vertices and groups with weights below threshold

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • threshold (float) - Minimum vertex weight to keep

bpy.ops.daz.quote()

(undocumented operator)


bpy.ops.daz.quote_unquote(Text = "")

Quote or unquote specified text

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • Text (string) - Type text to quote or unquote

bpy.ops.daz.remove_all_drivers(useDeleteShapekeys = False, useDeleteProps = True, useDeleteDrivers = True, useDeleteDrvBones = True)

Remove all drivers from selected objects

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useDeleteShapekeys (boolean) - Delete both drivers and shapekeys
  • useDeleteProps (boolean) - Delete object and armature properties associated with this morph
  • useDeleteDrivers (boolean) - Delete drivers associated with this morph
  • useDeleteDrvBones (boolean) - Delete (drv) bones

bpy.ops.daz.remove_all_influs()

Remove all influence properties


bpy.ops.daz.remove_categories(selection = [], useDeleteShapekeys = False, useDeleteProps = True, useDeleteDrivers = True)

Remove selected categories and associated drivers

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useDeleteShapekeys (boolean) - Delete both drivers and shapekeys
  • useDeleteProps (boolean) - Delete object and armature properties associated with this morph
  • useDeleteDrivers (boolean) - Delete drivers associated with this morph

bpy.ops.daz.remove_corrupt_drivers(useClearPose = True, useConstraints = True)

Remove corrupt drivers and constraints, and drivers leading to dependencey loops

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useClearPose (boolean) - Clear pose for objects that are not bone parented
  • useConstraints (boolean) - Remove constraints that can not be repaired

bpy.ops.daz.remove_driven_bones()

Remove driven (drv) bones and drive the posable bones. This undoes Make All Bones Posable


bpy.ops.daz.remove_shape_from_category(selection = [], custom = '')

Remove selected shapekeys from mesh category

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • custom (enum in []) - Category

bpy.ops.daz.remove_shapekey_drivers(selection = [], custom = '', useRemoveProps = True, useSubmeshes = True)

Remove rig drivers from shapekeys

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • custom (enum in []) - Category
  • useRemoveProps (boolean) - Remove rig properties that drive the shapekeys
  • useSubmeshes (boolean) - Also remove drivers from other meshes in the same figure (eye-lashes etc.)

bpy.ops.daz.remove_shapekeys(selection = [], custom = '')

Remove shapekeys and drivers from active mesh

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • custom (enum in []) - Category

bpy.ops.daz.remove_shell_images(selection = [], useDeleteProperties = True)

Remove selected shell images from selected objects

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useDeleteProperties (boolean) - Delete driving properties

bpy.ops.daz.remove_shells(selection = [])

Remove selected shells from selected objects

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}

bpy.ops.daz.remove_standard_morphs(useDeleteShapekeys = False, useDeleteProps = True, useDeleteDrivers = True, useUnits = False, useExpressions = False, useVisemes = False, ignoreHdMorphs = False, useHead = False, useFacs = False, useFacsdetails = False, useFacsexpr = False, usePowerpose = False, useBody = False, useMhxOnly = False, useJcms = False, useMasculine = False, useFeminine = False, useAnime = False, useFlexions = False, useBulges = False, ignoreFingers = True)

Remove selected standard morphs and associated drivers

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useDeleteShapekeys (boolean) - Delete both drivers and shapekeys
  • useDeleteProps (boolean) - Delete object and armature properties associated with this morph
  • useDeleteDrivers (boolean) - Delete drivers associated with this morph
  • useUnits (boolean) - Import all face units
  • useExpressions (boolean) - Import all expressions
  • useVisemes (boolean) - Import all visemes
  • ignoreHdMorphs (boolean) - Don't import HD morphs for units, expressions, visemes
  • useHead (boolean) - Import all head morphs
  • useFacs (boolean) - Import all FACS morphs
  • useFacsdetails (boolean) - Import all FACS details
  • useFacsexpr (boolean) - Import all FACS expressions
  • usePowerpose (boolean) - Import all PowerPose expressions
  • useBody (boolean) - Import all body morphs
  • useMhxOnly (boolean) - Only import MHX compatible body morphs
  • useJcms (boolean) - Import all JCMs
  • useMasculine (boolean) - Import all maskuline JCMs
  • useFeminine (boolean) - Import all feminine JCMs
  • useAnime (boolean) - Import all anime morphs
  • useFlexions (boolean) - Import all flexions
  • useBulges (boolean) - Make all bulges (Genesis and Genesis 2)
  • ignoreFingers (boolean) - Don't create morphs for fingers and toes

bpy.ops.daz.remove_visibility_drivers(useAllMeshes = False)

Remove ability to control visibility from rig property

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useAllMeshes (boolean) - Remove visibility drivers from all meshes in scene, not just children of the active rig

bpy.ops.daz.remove_zero_shapekeys()

Remove zero shapekeys and their drivers from active mesh


bpy.ops.daz.rename_category(category = "Shapes", custom = '')

Rename selected category

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • category (string) - Add morphs to this category of custom morphs
  • custom (enum in []) - Category

bpy.ops.daz.render_frames(useAllArmatures = True, useOpenGl = False)

Render a range of frames as still images. To overcome problems with morphing armatures and rendering

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useAllArmatures (boolean) - Auto morph all visible armatures instead of just the visible ones
  • useOpenGl (boolean) - Open GL rendering

bpy.ops.daz.replace_materials(material = '')

Replace selected materials with specified material. For copying geograft base materials

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • material (enum in []) - Use node tree from this material

bpy.ops.daz.replace_shells(selection = [])

Display shell node groups so they can be displaced

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}

bpy.ops.daz.reset_materials()

Reset materials to original


bpy.ops.daz.resize_textures(files = [], directory = "", useHiddenMeshes = True, steps = 2, resizeAll = True)

Replace all textures of selected meshes with resized versions

** Parameters: **

  • directory (string) - File directory
  • files (list) - List of files in the form {"name" : filename}
  • useHiddenMeshes (boolean) - Also save textures from hidden meshes
  • steps (int) - Resize original images with this number of steps
  • resizeAll (boolean) - Resize all textures of the selected meshes

bpy.ops.daz.restore_udims()

Restore original UV coordinates outside the [0:1] range


bpy.ops.daz.retarget_shell_drivers()

Retarget shell drivers of selected meshes to active armature


bpy.ops.daz.rigify_fk_layers()

Show FK layers and hide IK layers


bpy.ops.daz.rigify_ik_layers()

Show IK layers and hide FK layers


bpy.ops.daz.rigify_meta(useImproveIk = False, useLimitConstraints = True, useFingerIk = False, tongueControl = 'NONE', shaftControl = 'NONE', shaftName = "Shaft", driverRotationMode = 'AUTO', addNondeformExtras = True, keepRig = False, ownerThreshold = 89.000)

Convert metarig to rigify

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useImproveIk (boolean) - Improve IK by storing a bending angle. This is compatible with daz poses but does not work with rigify poles so they can not be used. Not needed if Optimize Pose for IK is used
  • useLimitConstraints (boolean) - Copy limit location and limit rotation constraints to FK bones
  • useFingerIk (boolean) - Generate IK controls for fingers
  • tongueControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for tongue
  • shaftControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for Dicktator/Futalicious shaft
  • shaftName (string) - Shaft bones start with this string (case insensitive)
  • driverRotationMode (enum in ['NATIVE', 'AUTO', 'SWING_TWIST_X', 'SWING_TWIST_Y', 'SWING_TWIST_Z']) - Use this rotation mode for drivers. Non-native modes avoids some popping during animation at the cost of JCMs accuracy
  • addNondeformExtras (boolean) - Add extra bones to the Rigify armature, even if they don't correspond to any vertex group
  • keepRig (boolean) - Keep the original DAZ rig for deformation
  • ownerThreshold (float) - Use local space (owner orientation) if difference in orientation exceeds this

bpy.ops.daz.rigify_set_fk_all()

Set all limb bones to FK


bpy.ops.daz.rigify_set_ik_all()

Set all limb bones to IK


bpy.ops.daz.rigify_snap_fk_all()

Snap all FK bones


bpy.ops.daz.rigify_snap_ik_all()

Snap all IK bones


bpy.ops.daz.rotate_bones(X = 0.000, Y = 0.000, Z = 0.000)

Rotate selected bones the same angle

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • X (float) - X
  • Y (float) - Y
  • Z (float) - Z

bpy.ops.daz.save_daz_figure(useDazDirectory = False, reldir = "", useCompress = False, presentation = 'Shape', region = "Actor", morphname = "")

Save active mesh as a DAZ figure relative to the other mesh

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useDazDirectory (boolean) - Save the file where it can be found by DAZ Studio
  • reldir (string) - Directory relative to root path
  • useCompress (boolean) - Gzip the output file
  • presentation (enum in ['Shape', 'Pose', 'Corrective']) - Presentation
  • region (string) - Region
  • morphname (string) - Name of the morph

bpy.ops.daz.save_favo_morphs(useCompact = True, useRemoveDuplicates = True)

Save favorite morphs

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useCompact (boolean) - Spread each category on multiple lines. Useful for manual editing of json files
  • useRemoveDuplicates (boolean) - Remove morphs from extra categories

bpy.ops.daz.save_local_textures(useHiddenMeshes = True, keepDirs = True)

Copy textures to the textures subfolder in the blend file's directory

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useHiddenMeshes (boolean) - Also save textures from hidden meshes
  • keepDirs (boolean) - Keep the directory tree from Daz Studio, otherwise flatten the directory structure

bpy.ops.daz.save_morph_presets(selection = [], useDazDirectory = False, reldir = "", useCompress = False, presentation = 'Shape', region = "Actor")

Save selected shapekeys as a morph preset

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useDazDirectory (boolean) - Save the file where it can be found by DAZ Studio
  • reldir (string) - Directory relative to root path
  • useCompress (boolean) - Gzip the output file
  • presentation (enum in ['Shape', 'Pose', 'Corrective']) - Presentation
  • region (string) - Region

bpy.ops.daz.save_pose_preset(frame_start = 1, frame_end = 1, useDazDirectory = False, reldir = "", useCompress = False, type = 'POSE', useAction = True, useObject = True, includeLocks = True, useScale = True, useFaceBones = True, useUnusedMorphs = True, useFinalMorphs = False, fps = 30.000)

Save the active action as a pose preset, to be used in DAZ Studio

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • frame_start (int) - Start
  • frame_end (int) - End
  • useDazDirectory (boolean) - Save the file where it can be found by DAZ Studio
  • reldir (string) - Directory relative to root path
  • useCompress (boolean) - Gzip the output file
  • type (enum in ['POSE', 'MORPH', 'HIERARCHICAL', 'POSE_MORPH']) - Preset type
  • useAction (boolean) - Save action instead of single pose
  • useObject (boolean) - Include object in the pose preset
  • includeLocks (boolean) - Include locked bone channels in the pose preset
  • useScale (boolean) - Include bone scale transforms in the pose preset
  • useFaceBones (boolean) - Include face bones in the pose preset
  • useUnusedMorphs (boolean) - Include morphs that are constantly zero
  • useFinalMorphs (boolean) - Export Final Morph Values
  • fps (float) - Frames per second

bpy.ops.daz.save_poses_to_file(morphset = "All", category = "", prefix = "", ftype = "", useArmature = True, useMesh = False, useEmpty = True, useCurves = True, useCamera = True, useLight = True)

Save the current scene poses as a json file

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • morphset (string) - morphset
  • category (string) - category
  • prefix (string) - prefix
  • ftype (string) - ftype
  • useArmature (boolean) - Save action for armatures
  • useMesh (boolean) - Save action for meshes
  • useEmpty (boolean) - Save action for empties
  • useCurves (boolean) - Save action for curves
  • useCamera (boolean) - Save action for cameras
  • useLight (boolean) - Save action for lights

bpy.ops.daz.save_settings_file(check_existing = True)

Save current settings to file

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • check_existing (boolean) - Check and warn on overwriting existing files

bpy.ops.daz.save_uv(useDazDirectory = False, reldir = "", useCompress = False)

Save the active UV set as a duf file

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useDazDirectory (boolean) - Save the file where it can be found by DAZ Studio
  • reldir (string) - Directory relative to root path
  • useCompress (boolean) - Gzip the output file

bpy.ops.daz.scale_materials(units = '100', scale = 0.010, objectScale = 0.010, useUpdate = True)

Scale material properties with dimension of length (bump distance, subsurface radius, etc.)

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • units (enum in ['100', '1', '0.1', '30.48', '2.54', 'Manual']) - Set global unit scale
  • scale (float) - Scale used to convert between DAZ and Blender units. Default unit meters
  • objectScale (float) - Scale of the active object
  • useUpdate (boolean) - Update global unit scale

bpy.ops.daz.scale_objects(units = '100', scale = 0.010, objectScale = 0.010, useUpdate = True)

Safely change the unit scale of selected object and children

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • units (enum in ['100', '1', '0.1', '30.48', '2.54', 'Manual']) - Set global unit scale
  • scale (float) - Scale used to convert between DAZ and Blender units. Default unit meters
  • objectScale (float) - Scale of the active object
  • useUpdate (boolean) - Update global unit scale

bpy.ops.daz.scan_morph_database(useActive = True, useGenesis = False, useGenesis2Female = False, useGenesis2Male = False, useGenesis3Female = False, useGenesis3Male = False, useGenesis8Female = False, useGenesis8Male = False, useGenesis8_1Female = False, useGenesis8_1Male = False, useGenesis9 = False)

Scan the DAZ database for morphs for the present mesh, and build a database

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useActive (boolean) - Only scan morphs for active mesh
  • useGenesis (boolean) - Scan Genesis
  • useGenesis2Female (boolean) - Scan Genesis 2 female
  • useGenesis2Male (boolean) - Scan Genesis 2 male
  • useGenesis3Female (boolean) - Scan Genesis 3 female
  • useGenesis3Male (boolean) - Scan Genesis 3 male
  • useGenesis8Female (boolean) - Scan Genesis 8 female
  • useGenesis8Male (boolean) - Scan Genesis 8 male
  • useGenesis8_1Female (boolean) - Scan Genesis 8.1 female
  • useGenesis8_1Male (boolean) - Scan Genesis 8.1 male
  • useGenesis9 (boolean) - Scan Genesis 9

bpy.ops.daz.scan_morph_directory(useFormulas = True, useSubdirs = True, useDefins = True)

Scan a single directory for morphs for the present mesh, and build a database

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useFormulas (boolean) - Include formulas
  • useSubdirs (boolean) - Also scan top level subdirectories
  • useDefins (boolean) - Include paths to definitions. If morph and file names differ

bpy.ops.daz.select_all()

Select all


bpy.ops.daz.select_all_materials()

Select all materials


bpy.ops.daz.select_chains(useRootsOnly = False)

Select bones in chains

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useRootsOnly (boolean) - Only select chain roots

bpy.ops.daz.select_covered_verts(maxDist = 2.000, minDist = -1.000)

Select vertices that are covered by selected meshes

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • maxDist (float) - Max distance between face and cover
  • minDist (float) - Min distance between face and cover

bpy.ops.daz.select_legacy_posebones()

(undocumented operator)


bpy.ops.daz.select_matching_bones(match = "seg01")

Select bones with matching names

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • match (string) - Select all bones with matching names

bpy.ops.daz.select_mhx_compatible()

Select MHX compatible body morphs


bpy.ops.daz.select_named_layers()

Select all named layers and unselect all unnamed layers


bpy.ops.daz.select_no_material()

Select no material


bpy.ops.daz.select_none()

Select none


bpy.ops.daz.select_parent_verts()

Select parent vertices


bpy.ops.daz.select_random_strands(fraction = 0.500, seed = 0)

Select random subset of strands selected in UV space. Useful for reducing the number of strands before making particle hair

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • fraction (float) - Fraction of strands to select
  • seed (int) - Seed for the random number generator

bpy.ops.daz.select_skin_materials()

Select skin materials


bpy.ops.daz.select_skin_red_materials()

Select all skin or red materials


bpy.ops.daz.select_strands_by_size(selection = [])

Select strands based on the number of faces. Useful for reducing the number of strands before making particle hair

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}

bpy.ops.daz.select_strands_by_width(width = 1.000)

Select strands not wider than threshold

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • width (float) - Max allowed width (mm)

bpy.ops.daz.set_driver_modes(rotMode = 'AUTO', useQuatsOnly = True)

Change driver rotation modes. Avoids some popping during animation at the cost of JCMs accuracy

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • rotMode (enum in ['NATIVE', 'AUTO', 'SWING_TWIST_X', 'SWING_TWIST_Y', 'SWING_TWIST_Z']) - Use this rotation mode
  • useQuatsOnly (boolean) - Only Quaternion Bones

bpy.ops.daz.set_envelopes(envelope_distance = 0.010, head_radius = 0.010, tail_radius = 0.010)

Change the envelopes of all deform bones

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • envelope_distance (float) - Distance
  • head_radius (float) - Head Radius
  • tail_radius (float) - Tail Radius

bpy.ops.daz.set_hsv(saturation = 1.000, value = 1.000, factor = 1.000)

Set HSV values for shell image groups

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • saturation (float) - Saturation
  • value (float) - Value
  • factor (float) - Factor

bpy.ops.daz.set_shell_influence(value = 0.000)

(undocumented operator)

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • value (float) - value

bpy.ops.daz.set_silent_mode()

Toggle silent mode on or off (error popups off or on)


bpy.ops.daz.set_udims(tile = 1001)

Move all UV coordinates of selected materials to specified UV tile

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • tile (int) - Tile

bpy.ops.daz.show_all_vis(prefix = "")

Show all meshes/makeup of this rig

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • prefix (string) - prefix

bpy.ops.daz.snap_all_simple_fk()

Snap all FK bones to IK bones


bpy.ops.daz.snap_all_simple_ik(pole = "")

Snap all IK bones to FK bones. Snapping is only approximate

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • pole (string) - pole

bpy.ops.daz.snap_simple_fk(prefix = "", type = "", on = "", off = "")

Snap FK bones to IK bones

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • prefix (string) - prefix
  • type (string) - type
  • on (string) - on
  • off (string) - off

bpy.ops.daz.snap_simple_fk_animation(startFrame = 1, endFrame = 250, useLeftArm = True, useRightArm = True, useLeftLeg = True, useRightLeg = True, useLayerChange = False)

Snap FK animation for selected frames

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • startFrame (int) - Starting frame for the animation
  • endFrame (int) - Last frame for the animation
  • useLeftArm (boolean) - Include animation for left arm
  • useRightArm (boolean) - Include animation for right arm
  • useLeftLeg (boolean) - Include animation for left leg
  • useRightLeg (boolean) - Include animation for right leg
  • useLayerChange (boolean) - Change Layers

bpy.ops.daz.snap_simple_ik(prefix = "", type = "", pole = "", on = "", off = "")

Snap IK bones to FK bones. Snapping is only approximate

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • prefix (string) - prefix
  • type (string) - type
  • pole (string) - pole
  • on (string) - on
  • off (string) - off

bpy.ops.daz.sort_materials_by_name()

Reorder materials by name as in DAZ Studio


bpy.ops.daz.sort_shells(useBeautify = True)

Sort selected material shells

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useBeautify (boolean) - Beautify

bpy.ops.daz.strip_material_names(useCombineMaterials = False, useStripDazEndings = True)

Strip endings from material names

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useCombineMaterials (boolean) - Combine materials with the same stripped name
  • useStripDazEndings (boolean) - Strip -n endings, otherwise only strip .001 endings

bpy.ops.daz.tiles_from_geograft(useLastUdimTile = False)

Move geograft UV coordinates to same tile as body UVs

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useLastUdimTile (boolean) - Last UDIM Tile

bpy.ops.daz.toggle_all_cats(useMesh = False, useOpen = False)

Toggle all morph categories on and off

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useMesh (boolean) - useMesh
  • useOpen (boolean) - useOpen

bpy.ops.daz.toggle_fk_ik(prop = "", value = 0.000)

Toggle FK/IK

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • prop (string) - prop
  • value (float) - value

bpy.ops.daz.toggle_hair_locks()

Disable/enable locking of all deform bones


bpy.ops.daz.toggle_shell_influence(prop = "", object = "")

(undocumented operator)

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • prop (string) - prop
  • object (string) - object

bpy.ops.daz.toggle_vis(name = "")

Toggle visibility of this mesh

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • name (string) - name

bpy.ops.daz.transfer_animation_to_shapekeys()

Transfer the armature action to actions for shapekeys. From active armature to selected meshes. Transferred morph F-curves are removed from the armature action


bpy.ops.daz.transfer_from_gaze()

Transfer gaze bone animation to eye bones


bpy.ops.daz.transfer_mesh_to_shape()

Transfer selected mesh to active shapekey


bpy.ops.daz.transfer_shapekeys(selection = [], useTransferOthers = True, useNonConforming = False, ignoreRigidity = False, bodypart = 'All', needsTarget = True, transferMethod = 'NEAREST', useDrivers = True, useShapeAsDriver = True, useStrength = False, useVendorMorphs = True, useOverwrite = True, useSelectedOnly = False)

Transfer shapekeys from active mesh to selected meshes

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • useTransferOthers (boolean) - Transfer shapekeys from main mesh to other meshes
  • useNonConforming (boolean) - Transfer shapekeys to non-conforming meshes
  • ignoreRigidity (boolean) - Ignore rigidity groups when auto-transfer morphs. Morphs may differ from DAZ Studio
  • bodypart (enum in ['All', 'Face', 'Body', 'Custom', 'NoFace']) - Part of character that the morphs affect
  • needsTarget (boolean) - needsTarget
  • transferMethod (enum in ['NEAREST', 'BY_NUMBER', 'BODY', 'GEOGRAFT', 'LEGACY', 'EDGES']) - Method used to transfer morphs
  • useDrivers (boolean) - Transfer both shapekeys and drivers
  • useShapeAsDriver (boolean) - Use the main shapekey to drive the other shapekeys
  • useStrength (boolean) - Add a strength multiplier to drivers
  • useVendorMorphs (boolean) - Use customized morphs provided by vendor, otherwise always auto-transfer morphs
  • useOverwrite (boolean) - Overwrite existing shapekeys or create new ones
  • useSelectedOnly (boolean) - Only copy to selected vertices

bpy.ops.daz.transfer_to_gaze()

Transfer eye bone animation to gaze bones


bpy.ops.daz.transfer_uv_layers()

Transfer UV layers from active to selected


bpy.ops.daz.transfer_vertex_groups(threshold = 0.001, useEdges = False)

Transfer vertex groups from active to selected

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • threshold (float) - Minimum vertex weight to keep
  • useEdges (boolean) - Use edge interpolation instead of polygon interpolation

bpy.ops.daz.unkey_morphs(morphset = "All", category = "", prefix = "", ftype = "")

Remove keys from all selected morphs of specified type at current frame

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • morphset (string) - morphset
  • category (string) - category
  • prefix (string) - prefix
  • ftype (string) - ftype

bpy.ops.daz.unkey_shapes(morphset = "All", category = "", prefix = "", ftype = "")

Remove keys from all shapekeys of specified type at current frame

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • morphset (string) - morphset
  • category (string) - category
  • prefix (string) - prefix
  • ftype (string) - ftype

bpy.ops.daz.unmute_control_rig(frame_start = 1, frame_end = 1, useShapekeys = True, useMuteAll = True, useClear = True)

Enable drivers and copy location/rotation constraints

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • frame_start (int) - Start
  • frame_end (int) - End
  • useShapekeys (boolean) - Mute/unmute shapekeys too
  • useMuteAll (boolean) - Mute/unmute all bone constraints, not just copy transform
  • useClear (boolean) - Clear the current action

bpy.ops.daz.unquote()

(undocumented operator)


bpy.ops.daz.unselect_named_layers()

Unselect all named and unnamed layers except active


bpy.ops.daz.update_all()

Update everything. Try this if driven bones are messed up


bpy.ops.daz.update_daz_properties(useScene = True, useObjects = True, useAllProps = True)

Update DAZ properties

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • useScene (boolean) - Update scene properties
  • useObjects (boolean) - Update object properties
  • useAllProps (boolean) - Update all properties in scene rather than selected objects only

bpy.ops.daz.update_materials()

Update Materials


bpy.ops.daz.update_morph_paths()

Update paths to predefined morphs


bpy.ops.daz.update_render_settings()

Update render and light settings if they are inadequate


bpy.ops.daz.update_scrollbars()

Update all scrollbars


bpy.ops.daz.update_settings()

Update settings from file


bpy.ops.daz.update_shell_drivers()

Update drivers if problems


bpy.ops.daz.update_slider_limits(selection = [], morphset = '', category = '', min = 0.000, max = 1.000, useSliders = True, useFinal = True, useShapekeys = True)

Update selected slider min and max values. All slider limits are selected when called from script

** Parameters: **

  • selection (list) - List of items in the form {"name" : item}
  • morphset (enum in []) - Type
  • category (enum in []) - Category
  • min (float) - Minimum slider value
  • max (float) - Maximum slider value
  • useSliders (boolean) - Update min and max for slider values
  • useFinal (boolean) - Update min and max for final values
  • useShapekeys (boolean) - Update min and max for shapekeys

bpy.ops.daz.visualize_shapekey(mindist = 0.100, maxdist = 1.000)

Visualize shapekey as a vertex group

** Parameters: **

Use import_daz.setSelection(list_of_False) to specify input False.

  • mindist (float) - Lower threshold for shapekey distance, in mm
  • maxdist (float) - Upper threshold for shapekey distance, in mm