DAZ Importer Operators version 1.6.0



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


  Select all morphs of this type

Parameters:
  •   morphset (string) - morphset
  •   category (string) - category
  •   prefix (string) - prefix
  •   useMesh (boolean) - useMesh


bpy.ops.daz.add_cloud_dir()

  Add a cloud directory


bpy.ops.daz.add_content_dir()

  Add a content directory


bpy.ops.daz.add_custom_shapes()

  Add custom shapes to the bones of the active rig


bpy.ops.daz.add_driven_value_nodes()

  Add driven value nodes


bpy.ops.daz.add_extra_face_bones()

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


bpy.ops.daz.add_ik_goals(
   usePoleTargets = False,
   hideBones = False,
   lockBones = False,
   disableBones = False,
   fromRoots = True
)


  Add IK goals

Parameters:
  •   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


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


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

Parameters:
  •   morphset (string) - morphset
  •   category (string) - category
  •   prefix (string) - prefix


bpy.ops.daz.add_mannequin(
   headType = 'JAW',
   useGroup = True,
   group = "Mannequin"
)


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

Parameters:
  •   headType (enum in ['SOLID', 'JAW', 'FULL']) - How to make the mannequin head
  •   useGroup (boolean) - Add mannequin to collection
  •   group (string) - Add mannequin to this collection


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(
   category = "Shapes",
   custom = '',
   makenew = False
)


  Add selected shapekeys to mesh category

Parameters:
   Use import_daz.setSelection(list_of_selection) to specify input selection.
  •   category (string) - Add morphs to this category of custom morphs
  •   custom (enum in []) - Category
  •   makenew (boolean) - Create a new category


bpy.ops.daz.add_shapekey_drivers(category = "Shapes")

  Add rig drivers to shapekeys

Parameters:
   Use import_daz.setSelection(list_of_selection) to specify input selection.
  •   category (string) - Add morphs to this category of custom morphs


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


  Add shrinkwrap modifiers covering the active mesh. Optionally add solidify modifiers

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


bpy.ops.daz.add_simple_ik(usePoleTargets = False)

  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 poseable

Parameters:
  •   usePoleTargets (boolean) - Add pole targets to the IK chains. Poses will not be loaded correctly.


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


  Control visibility with rig property. For file linking.

Parameters:
  •   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,
   useLockLoc = False
)


  Add winders to selected posebones

Parameters:
  •   winderLayer (int) - Bone layer for the winder bones
  •   windedLayer (int) - Bone layer for the winded bones
  •   useLockLoc (boolean) - Lock winder location even if original bone is not locked


bpy.ops.daz.apply_all_shapekeys()

  Apply all shapekeys to selected meshes


bpy.ops.daz.apply_morphs()

  Apply all shapekeys


bpy.ops.daz.apply_rest_pose()

  Apply current pose at rest pose to selected rigs and children


bpy.ops.daz.apply_subsurf()

  Apply subsurf modifier, maintaining shapekeys


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:
  •   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.change_armature()

  Make the active armature the armature of selected meshes


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

  Change viewport colors of all materials of this object

Parameters:
  •   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(
   steps = 2,
   resizeAll = True,
   overwrite = False
)


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

Parameters:
  •   steps (int) - Resize original images with this number of steps
  •   resizeAll (boolean) - Resize all textures of the selected meshes
  •   overwrite (boolean) - Overwrite the original image files.


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:
  •   color (color) - Color


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


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

Parameters:
  •   morphset (string) - morphset
  •   category (string) - category
  •   prefix (string) - prefix


bpy.ops.daz.clear_pose()

  Clear all bones and object transformations


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


  Set all shapekeys values of specified type to zero

Parameters:
  •   morphset (string) - morphset
  •   category (string) - category
  •   prefix (string) - prefix


bpy.ops.daz.collapse_udims()

  Restrict UV coordinates to the [0:1] range


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

  Change particle hair color

Parameters:
  •   color (color) - Color


bpy.ops.daz.combine_hairs(
   strandType = 'SHEET',
   strandOrientation = 'TOP',
   keepMesh = False,
   removeOldHairs = False,
   useSeparateLoose = True,
   sparsity = 1,
   size = 20,
   resizeHair = False,
   resizeInBlocks = False,
   nViewChildren = 0,
   nRenderChildren = 0,
   nViewStep = 3,
   nRenderStep = 3,
   strandShape = 'STANDARD',
   rootRadius = 0.300,
   tipRadius = 0.300,
   childRadius = 10.000,
   multiMaterials = True,
   keepMaterial = True,
   activeMaterial = '',
   color = (0.200,0.020,0.010,1.000),
   hairMaterialMethod = 'HAIR_BSDF'
)


  Combine several hair particle systems into a single one

Parameters:
   Use import_daz.setSelection(list_of_selection) to specify input selection.
  •   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
  •   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) - Hair length
  •   resizeHair (boolean) - Resize hair afterwards
  •   resizeInBlocks (boolean) - Resize hair in blocks of ten afterwards
  •   nViewChildren (int) - Number of hair children displayed in viewport
  •   nRenderChildren (int) - Number of hair children displayed in renders
  •   nViewStep (int) - How many steps paths are drawn with (power of 2)
  •   nRenderStep (int) - How many steps paths are rendered with (power of 2)
  •   strandShape (enum in ['STANDARD', 'ROOTS', 'SHRINK']) - Strand shape
  •   rootRadius (float) - Strand diameter at the root
  •   tipRadius (float) - Strand diameter at the tip
  •   childRadius (float) - Radius of children around parent
  •   multiMaterials (boolean) - Create separate particle systems for each material
  •   keepMaterial (boolean) - Use existing material
  •   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.connect_hair()

  (Re)connect hair


bpy.ops.daz.connect_ik_chains(
   type = 'ARMSLEGS',
   unlock = True,
   location = 'HEAD'
)


  Connect all bones in IK chains to their parents

Parameters:
  •   type (enum in ['ARMS', 'LEGS', 'ARMSLEGS', 'SELECTED']) - Connect the specified types of chains
  •   unlock (boolean) - Remove location locks of the last bone in each chain for use as Auto IK target
  •   location (enum in ['HEAD', 'TAIL', 'CENTER']) - Where to connect parent and child bones


bpy.ops.daz.convert_custom_morphs_to_shapekeys(custom = '')

  Convert custom rig morphs to shapekeys

Parameters:
   Use import_daz.setSelection(list_of_selection) to specify input selection.
  •   custom (enum in []) - Category


bpy.ops.daz.convert_rig(newRig = 'genesis_3_female')

  Convert current DAZ rig to other DAZ rig

Parameters:
  •   newRig (enum in ['cmu', 'genesis', 'genesis_2_female', 'genesis_2_male', 'genesis_3_female', 'genesis_3_male', 'genesis_8_female', 'genesis_8_male', 'michael_8', 'victoria_7', 'victoria_8']) - Convert active rig to this


bpy.ops.daz.convert_standard_morphs_to_shapekeys(morphset = '')

  Convert standard face rig morphs to shapekeys

Parameters:
   Use import_daz.setSelection(list_of_selection) to specify input selection.
  •   morphset (enum in []) - Type


bpy.ops.daz.convert_to_mhx(
   addTweakBones = True,
   showLinks = True,
   useFingerIk = False,
   useKeepRig = False,
   elbowParent = 'HAND',
   kneeParent = 'FOOT',
   useRenameBones = True
)


  Convert rig to MHX

Parameters:
  •   addTweakBones (boolean) - Add tweak bones
  •   showLinks (boolean) - Show link bones
  •   useFingerIk (boolean) - Generate IK controls for fingers
  •   useKeepRig (boolean) - Keep existing armature and meshes in a new collection
  •   elbowParent (enum in ['HAND', 'SHOULDER', 'MASTER']) - Parent of elbow pole target
  •   kneeParent (enum in ['FOOT', 'HIP', 'MASTER']) - Parent of knee pole target
  •   useRenameBones (boolean) - Rename face bones from l/r prefix to .L/.R suffix


bpy.ops.daz.convert_to_rigify(
   useAutoAlign = False,
   useCustomLayers = True,
   useFingerIk = False,
   useIkFix = True,
   useKeepRig = False,
   useRenameBones = True,
   useDeleteMeta = False
)


  Convert active rig to rigify

Parameters:
  •   useAutoAlign (boolean) - Auto align hand and foot (Rigify parameter)
  •   useCustomLayers (boolean) - Display layers for face and custom bones. Not for Rigify legacy
  •   useFingerIk (boolean) - Generate IK controls for fingers
  •   useIkFix (boolean) - Add limits to IK bones, to prevent poor bending
  •   useKeepRig (boolean) - Keep existing armature and meshes in a new collection
  •   useRenameBones (boolean) - Rename bones from l/r prefix to .L/.R suffix
  •   useDeleteMeta (boolean) - Delete intermediate rig after Rigify


bpy.ops.daz.convert_widgets(
   usedLayer = 4,
   unusedLayer = 5,
   deleteUnused = True
)


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

Parameters:
  •   usedLayer (int) - Bone layer for bones with shapekeys
  •   unusedLayer (int) - Bone layer for bones without shapekeys
  •   deleteUnused (boolean) - Delete unused bones


bpy.ops.daz.copy_bone_drivers()

  Copy bone drivers from selected rig to active rig


bpy.ops.daz.copy_daz_props()

  Copy DAZ properties from active object to selected objects. Only properties that are not already set


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

  Copy materials from active mesh to selected meshes

Parameters:
  •   useMatchNames (boolean) - Match materials based on names rather than material number
  •   errorMismatch (boolean) - Raise an error if the number of source and target materials are different


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


  Copy modifiers from active mesh to selected

Parameters:
  •   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()

  Copy pose from active rig to selected rigs


bpy.ops.daz.copy_props()

  Copy properties from selected objects to active object


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_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:
  •   singleGroup (boolean) - Treat all selected meshes as a single group
  •   groupName (string) - Name of the single group


bpy.ops.daz.create_meta(
   useAutoAlign = False,
   useCustomLayers = True,
   useFingerIk = False,
   useIkFix = True,
   useKeepRig = False,
   useRenameBones = True
)


  Create a metarig from the active rig

Parameters:
  •   useAutoAlign (boolean) - Auto align hand and foot (Rigify parameter)
  •   useCustomLayers (boolean) - Display layers for face and custom bones. Not for Rigify legacy
  •   useFingerIk (boolean) - Generate IK controls for fingers
  •   useIkFix (boolean) - Add limits to IK bones, to prevent poor bending
  •   useKeepRig (boolean) - Keep existing armature and meshes in a new collection
  •   useRenameBones (boolean) - Rename bones from l/r prefix to .L/.R suffix


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


  Unselect all morphs of this type

Parameters:
  •   morphset (string) - morphset
  •   category (string) - category
  •   prefix (string) - prefix
  •   useMesh (boolean) - useMesh


bpy.ops.daz.decode_file(filepath = "")

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

Parameters:
  •   filepath (string) - Filepath used for importing the file


bpy.ops.daz.disable_drivers()

  Disable all drivers to improve performance


bpy.ops.daz.easy_import_daz(
   units = False,
   expressions = False,
   visemes = False,
   facs = False,
   facsexpr = False,
   body = False,
   jcms = False,
   flexions = False,
   skinColor = (0.600,0.400,0.250,1.000),
   clothesColor = (0.090,0.010,0.015,1.000),
   fitMeshes = 'DBZFILE',
   morphStrength = 1.000,
   rigType = 'DAZ',
   mannequinType = 'NONE',
   useEliminateEmpties = True,
   useMergeRigs = True,
   useMergeMaterials = True,
   useMergeToes = False,
   useTransferShapes = True,
   useMergeGeografts = False,
   useMergeLashes = False,
   useMakeAllBonesPoseable = False,
   useFavoMorphs = False,
   favoPath = "",
   useConvertHair = False
)


  Load a native DAZ file and perform the most common operations

Parameters:
   Use import_daz.setSelection(list_of_files) to specify input files.
  •   units (boolean) - Import all face units
  •   expressions (boolean) - Import all expressions
  •   visemes (boolean) - Import all visemes
  •   facs (boolean) - Import all FACS units
  •   facsexpr (boolean) - Import all FACS expressions
  •   body (boolean) - Import all body morphs
  •   jcms (boolean) - Import all JCMs
  •   flexions (boolean) - Import all flexions
  •   skinColor (color) - Skin
  •   clothesColor (color) - Clothes
  •   fitMeshes (enum in ['SHARED', 'UNIQUE', 'MORPHED', 'DBZFILE']) - Mesh fitting method
  •   morphStrength (float) - Morph strength
  •   rigType (enum in ['DAZ', 'CUSTOM', 'MHX', 'RIGIFY']) - Convert the main rig to a more animator-friendly rig
  •   mannequinType (enum in ['NONE', 'NUDE', 'ALL']) - Add mannequin to meshes of this type
  •   useEliminateEmpties (boolean) - Delete non-hidden empties, parenting its children to its parent instead
  •   useMergeRigs (boolean) - Merge all rigs to the main character rig
  •   useMergeMaterials (boolean) - Merge identical materials
  •   useMergeToes (boolean) - Merge separate toes into a single toe bone
  •   useTransferShapes (boolean) - Transfer shapekeys from character to clothes
  •   useMergeGeografts (boolean) - Merge selected geografts to active object. Does not work with nested geografts. Shapekeys are always transferred first
  •   useMergeLashes (boolean) - Merge separate eyelash mesh to character. Shapekeys are always transferred first
  •   useMakeAllBonesPoseable (boolean) - Add an extra layer of driven bones, to make them poseable
  •   useFavoMorphs (boolean) - Load a favorite morphs instead of loading standard morphs
  •   favoPath (string) - Path to favorite morphs
  •   useConvertHair (boolean) - Convert strand-based hair to particle hair


bpy.ops.daz.eliminate_empties(useCollections = True)

  Delete non-hidden empties, parenting its children to its parent instead

Parameters:
  •   useCollections (boolean) - Replace empties with collections


bpy.ops.daz.enable_all_layers()

  Enable all bone layers


bpy.ops.daz.enable_drivers()

  Enable all drivers


bpy.ops.daz.error()

  (undocumented operator)


bpy.ops.daz.finalize_meshes()

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


bpy.ops.daz.find_polys()

  (undocumented operator)


bpy.ops.daz.find_seams()

  Create seams based on existing UVs


bpy.ops.daz.get_finger_print()

  Get fingerprint of active character


bpy.ops.daz.global_settings()

  Show or update global settings


bpy.ops.daz.hair_add_pinning(
   pinningX0 = 0.250,
   pinningX1 = 0.750,
   pinningW0 = 1.000,
   pinningW1 = 0.000
)


  Add HairPin group to hair strands

Parameters:
  •   pinningX0 (float) - Pin X0
  •   pinningX1 (float) - Pin X1
  •   pinningW0 (float) - Pin W0
  •   pinningW1 (float) - Pin W1


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

  Hide all meshes/makeup of this rig

Parameters:
  •   prefix (string) - prefix


bpy.ops.daz.import_action(
   affectBones = True,
   affectDrivenBones = True,
   affectMorphs = True,
   clearMorphs = True,
   affectObject = 'OBJECT',
   reportMissingMorphs = False,
   affectSelectedOnly = False,
   affectScale = True,
   ignoreLimits = True,
   convertPoses = False,
   srcCharacter = 'genesis_3_female',
   makeNewAction = True,
   actionName = "Action",
   fps = 30.000,
   integerFrames = True,
   atFrameOne = True,
   firstFrame = 1,
   lastFrame = 250
)


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

Parameters:
   Use import_daz.setSelection(list_of_files) to specify input files.
  •   affectBones (boolean) - Animate bones.
  •   affectDrivenBones (boolean) - Animate bones with a Drv parent
  •   affectMorphs (boolean) - Animate morph properties
  •   clearMorphs (boolean) - Clear all morph properties before loading new ones
  •   affectObject (enum in ['OBJECT', 'MASTER', 'NONE']) - How to animate global object transformation
  •   reportMissingMorphs (boolean) - Print a list of missing morphs
  •   affectSelectedOnly (boolean) - Only animate selected bones
  •   affectScale (boolean) - Include bone scale in animation
  •   ignoreLimits (boolean) - Set pose even if outside limit constraints
  •   convertPoses (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', '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
  •   fps (float) - Animation FPS in Daz Studio
  •   integerFrames (boolean) - Round all keyframes to intergers
  •   atFrameOne (boolean) - Always start actions at frame 1
  •   firstFrame (int) - Start import with this frame
  •   lastFrame (int) - Finish import with this frame


bpy.ops.daz.import_body_morphs()

  Import selected body morphs


bpy.ops.daz.import_custom_morphs(
   category = "Shapes",
   usePropDrivers = True,
   useMeshCats = False,
   bodypart = 'Custom',
   treatHD = 'ERROR'
)


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

Parameters:
   Use import_daz.setSelection(list_of_files) to specify input files.
  •   category (string) - Category
  •   usePropDrivers (boolean) - Drive shapekeys with rig properties
  •   useMeshCats (boolean) - Mesh categories
  •   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


bpy.ops.daz.import_daz(
   skinColor = (0.600,0.400,0.250,1.000),
   clothesColor = (0.090,0.010,0.015,1.000),
   fitMeshes = 'DBZFILE',
   morphStrength = 1.000
)


  Load a native DAZ file

Parameters:
   Use import_daz.setSelection(list_of_files) to specify input files.
  •   skinColor (color) - Skin
  •   clothesColor (color) - Clothes
  •   fitMeshes (enum in ['SHARED', 'UNIQUE', 'MORPHED', 'DBZFILE']) - Mesh fitting method
  •   morphStrength (float) - Morph strength


bpy.ops.daz.import_dbz()

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


bpy.ops.daz.import_expressions()

  Import selected expression morphs


bpy.ops.daz.import_facecap(
   makeNewAction = True,
   actionName = "Action",
   fps = 24.000,
   integerFrames = True,
   atFrameOne = True,
   firstFrame = 1,
   lastFrame = 250,
   filepath = "",
   useHeadLoc = False,
   useHeadRot = True,
   useEyesRot = True
)


  Import a text file with facecap data

Parameters:
  •   makeNewAction (boolean) - Unlink current action and make a new one
  •   actionName (string) - Name of loaded action
  •   fps (float) - Animation FPS in FaceCap file
  •   integerFrames (boolean) - Round all keyframes to intergers
  •   atFrameOne (boolean) - Always start actions at frame 1
  •   firstFrame (int) - Start import with this frame
  •   lastFrame (int) - Finish import with this frame
  •   filepath (string) - Filepath used for importing the file
  •   useHeadLoc (boolean) - Include head location animation
  •   useHeadRot (boolean) - Include head rotation animation
  •   useEyesRot (boolean) - Include eyes rotation animation


bpy.ops.daz.import_facs()

  Import selected FACS unit morphs


bpy.ops.daz.import_facs_expressions()

  Import selected FACS expression morphs


bpy.ops.daz.import_flexions()

  Import selected flexion morphs


bpy.ops.daz.import_jcms()

  Import selected joint corrective morphs


bpy.ops.daz.import_livelink(
   makeNewAction = True,
   actionName = "Action",
   fps = 30.000,
   integerFrames = True,
   atFrameOne = True,
   firstFrame = 1,
   lastFrame = 250,
   filepath = "",
   useHeadLoc = False,
   useHeadRot = True,
   useEyesRot = True
)


  Import a csv file with Unreal's Live Link data

Parameters:
  •   makeNewAction (boolean) - Unlink current action and make a new one
  •   actionName (string) - Name of loaded action
  •   fps (float) - Animation FPS in Daz Studio
  •   integerFrames (boolean) - Round all keyframes to intergers
  •   atFrameOne (boolean) - Always start actions at frame 1
  •   firstFrame (int) - Start import with this frame
  •   lastFrame (int) - Finish import with this frame
  •   filepath (string) - Filepath used for importing the file
  •   useHeadLoc (boolean) - Include head location animation
  •   useHeadRot (boolean) - Include head rotation animation
  •   useEyesRot (boolean) - Include eyes rotation animation


bpy.ops.daz.import_locks_limits()

  Impose locks and limits for current pose


bpy.ops.daz.import_node_action(
   affectBones = True,
   affectDrivenBones = True,
   affectMorphs = True,
   clearMorphs = True,
   affectObject = 'OBJECT',
   reportMissingMorphs = False,
   affectSelectedOnly = False,
   affectScale = True,
   ignoreLimits = True,
   convertPoses = False,
   srcCharacter = 'genesis_3_female',
   makeNewAction = True,
   actionName = "Action",
   fps = 30.000,
   integerFrames = True,
   atFrameOne = True,
   firstFrame = 1,
   lastFrame = 250
)


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

Parameters:
   Use import_daz.setSelection(list_of_files) to specify input files.
  •   affectBones (boolean) - Animate bones.
  •   affectDrivenBones (boolean) - Animate bones with a Drv parent
  •   affectMorphs (boolean) - Animate morph properties
  •   clearMorphs (boolean) - Clear all morph properties before loading new ones
  •   affectObject (enum in ['OBJECT', 'MASTER', 'NONE']) - How to animate global object transformation
  •   reportMissingMorphs (boolean) - Print a list of missing morphs
  •   affectSelectedOnly (boolean) - Only animate selected bones
  •   affectScale (boolean) - Include bone scale in animation
  •   ignoreLimits (boolean) - Set pose even if outside limit constraints
  •   convertPoses (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', '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
  •   fps (float) - Animation FPS in Daz Studio
  •   integerFrames (boolean) - Round all keyframes to intergers
  •   atFrameOne (boolean) - Always start actions at frame 1
  •   firstFrame (int) - Start import with this frame
  •   lastFrame (int) - Finish import with this frame


bpy.ops.daz.import_node_pose(
   affectBones = True,
   affectDrivenBones = True,
   affectMorphs = True,
   clearMorphs = True,
   affectObject = 'OBJECT',
   reportMissingMorphs = False,
   affectSelectedOnly = False,
   affectScale = True,
   ignoreLimits = True,
   convertPoses = False,
   srcCharacter = 'genesis_3_female'
)


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

Parameters:
   Use import_daz.setSelection(list_of_files) to specify input files.
  •   affectBones (boolean) - Animate bones.
  •   affectDrivenBones (boolean) - Animate bones with a Drv parent
  •   affectMorphs (boolean) - Animate morph properties
  •   clearMorphs (boolean) - Clear all morph properties before loading new ones
  •   affectObject (enum in ['OBJECT', 'MASTER', 'NONE']) - How to animate global object transformation
  •   reportMissingMorphs (boolean) - Print a list of missing morphs
  •   affectSelectedOnly (boolean) - Only animate selected bones
  •   affectScale (boolean) - Include bone scale in animation
  •   ignoreLimits (boolean) - Set pose even if outside limit constraints
  •   convertPoses (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', 'michael_8', 'victoria_7', 'victoria_8']) - Character this file was made for


bpy.ops.daz.import_node_poselib(
   affectBones = True,
   affectDrivenBones = True,
   affectMorphs = True,
   clearMorphs = True,
   affectObject = 'OBJECT',
   reportMissingMorphs = False,
   affectSelectedOnly = False,
   affectScale = True,
   ignoreLimits = True,
   convertPoses = False,
   srcCharacter = 'genesis_3_female',
   makeNewPoseLib = True,
   poseLibName = "PoseLib"
)


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

Parameters:
   Use import_daz.setSelection(list_of_files) to specify input files.
  •   affectBones (boolean) - Animate bones.
  •   affectDrivenBones (boolean) - Animate bones with a Drv parent
  •   affectMorphs (boolean) - Animate morph properties
  •   clearMorphs (boolean) - Clear all morph properties before loading new ones
  •   affectObject (enum in ['OBJECT', 'MASTER', 'NONE']) - How to animate global object transformation
  •   reportMissingMorphs (boolean) - Print a list of missing morphs
  •   affectSelectedOnly (boolean) - Only animate selected bones
  •   affectScale (boolean) - Include bone scale in animation
  •   ignoreLimits (boolean) - Set pose even if outside limit constraints
  •   convertPoses (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', 'michael_8', 'victoria_7', 'victoria_8']) - Character this file was made for
  •   makeNewPoseLib (boolean) - Unlink current pose library and make a new one
  •   poseLibName (string) - Name of loaded pose library


bpy.ops.daz.import_pose(
   affectBones = True,
   affectDrivenBones = True,
   affectMorphs = True,
   clearMorphs = True,
   affectObject = 'OBJECT',
   reportMissingMorphs = False,
   affectSelectedOnly = False,
   affectScale = True,
   ignoreLimits = True,
   convertPoses = False,
   srcCharacter = 'genesis_3_female'
)


  Import a pose from DAZ pose preset file(s)

Parameters:
   Use import_daz.setSelection(list_of_files) to specify input files.
  •   affectBones (boolean) - Animate bones.
  •   affectDrivenBones (boolean) - Animate bones with a Drv parent
  •   affectMorphs (boolean) - Animate morph properties
  •   clearMorphs (boolean) - Clear all morph properties before loading new ones
  •   affectObject (enum in ['OBJECT', 'MASTER', 'NONE']) - How to animate global object transformation
  •   reportMissingMorphs (boolean) - Print a list of missing morphs
  •   affectSelectedOnly (boolean) - Only animate selected bones
  •   affectScale (boolean) - Include bone scale in animation
  •   ignoreLimits (boolean) - Set pose even if outside limit constraints
  •   convertPoses (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', 'michael_8', 'victoria_7', 'victoria_8']) - Character this file was made for


bpy.ops.daz.import_poselib(
   affectBones = True,
   affectDrivenBones = True,
   affectMorphs = True,
   clearMorphs = True,
   affectObject = 'OBJECT',
   reportMissingMorphs = False,
   affectSelectedOnly = False,
   affectScale = True,
   ignoreLimits = True,
   convertPoses = False,
   srcCharacter = 'genesis_3_female',
   makeNewPoseLib = True,
   poseLibName = "PoseLib"
)


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

Parameters:
   Use import_daz.setSelection(list_of_files) to specify input files.
  •   affectBones (boolean) - Animate bones.
  •   affectDrivenBones (boolean) - Animate bones with a Drv parent
  •   affectMorphs (boolean) - Animate morph properties
  •   clearMorphs (boolean) - Clear all morph properties before loading new ones
  •   affectObject (enum in ['OBJECT', 'MASTER', 'NONE']) - How to animate global object transformation
  •   reportMissingMorphs (boolean) - Print a list of missing morphs
  •   affectSelectedOnly (boolean) - Only animate selected bones
  •   affectScale (boolean) - Include bone scale in animation
  •   ignoreLimits (boolean) - Set pose even if outside limit constraints
  •   convertPoses (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', 'michael_8', 'victoria_7', 'victoria_8']) - Character this file was made for
  •   makeNewPoseLib (boolean) - Unlink current pose library and make a new one
  •   poseLibName (string) - Name of loaded pose library


bpy.ops.daz.import_standard_morphs(
   units = False,
   expressions = False,
   visemes = False,
   facs = False,
   facsexpr = False,
   body = False,
   jcms = False,
   flexions = False
)


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

Parameters:
  •   units (boolean) - Import all face units
  •   expressions (boolean) - Import all expressions
  •   visemes (boolean) - Import all visemes
  •   facs (boolean) - Import all FACS units
  •   facsexpr (boolean) - Import all FACS expressions
  •   body (boolean) - Import all body morphs
  •   jcms (boolean) - Import all JCMs
  •   flexions (boolean) - Import all flexions


bpy.ops.daz.import_units()

  Import selected face unit morphs


bpy.ops.daz.import_visemes()

  Import selected viseme morphs


bpy.ops.daz.inspect_world_matrix()

  List world matrix of active object


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


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

Parameters:
  •   morphset (string) - morphset
  •   category (string) - category
  •   prefix (string) - prefix


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


  Set keys for all shapes of specified type at current frame

Parameters:
  •   morphset (string) - morphset
  •   category (string) - category
  •   prefix (string) - prefix


bpy.ops.daz.launch_editor()

  Edit materials of selected meshes


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

  Limit the number of vertex groups per vertex

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


bpy.ops.daz.list_bones()

  (undocumented operator)


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


  Load baked normal/displacement maps for the selected meshes

Parameters:
  •   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
  •   usePrune (boolean) - Prune the node tree


bpy.ops.daz.load_factory_settings()

  Restore all global settings to factory defaults


bpy.ops.daz.load_favo_morphs(filepath = "", ignoreFinger = False)

  Load favorite morphs

Parameters:
  •   filepath (string) - Filepath used for importing the file
  •   ignoreFinger (boolean) - Ignore the mesh fingerprint which describes the mesh topology


bpy.ops.daz.load_moho(
   filepath = "",
   makeNewAction = True,
   actionName = "Action",
   fps = 30.000,
   integerFrames = True,
   atFrameOne = True,
   firstFrame = 1,
   lastFrame = 250,
   emphasis = 1.000,
   useUpdateLimits = True,
   useRelax = True
)


  Load Moho (.dat) file

Parameters:
  •   filepath (string) - Filepath used for importing the file
  •   makeNewAction (boolean) - Unlink current action and make a new one
  •   actionName (string) - Name of loaded action
  •   fps (float) - Animation FPS in Daz Studio
  •   integerFrames (boolean) - Round all keyframes to intergers
  •   atFrameOne (boolean) - Always start actions at frame 1
  •   firstFrame (int) - Start import with this frame
  •   lastFrame (int) - Finish import with this frame
  •   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


bpy.ops.daz.load_normal_map(
   useDriver = True,
   tile = 1001,
   usePrune = True
)


  Load normal maps to active material

Parameters:
   Use import_daz.setSelection(list_of_files) to specify input files.
  •   useDriver (boolean) - Drive maps with armature properties
  •   tile (int) - Only load textures in this tile
  •   usePrune (boolean) - Prune the node tree


bpy.ops.daz.load_pose_internal(filepath = "")

  Load pose from a json file

Parameters:
  •   filepath (string) - Filepath used for importing the file


bpy.ops.daz.load_poses(filepath = "")

  Load pose or action from a json file

Parameters:
  •   filepath (string) - Filepath used for importing the file


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


  Load DAZ root paths from file

Parameters:
  •   filepath (string) - Filepath used for importing the file
  •   useContent (boolean) - Load Content Directories
  •   useMDL (boolean) - Load MDL Directories
  •   useCloud (boolean) - Load Cloud Directories


bpy.ops.daz.load_scalar_disp(
   midlevel = 0.500,
   useDriver = True,
   tile = 1001,
   usePrune = True
)


  Load scalar displacement map to active material

Parameters:
   Use import_daz.setSelection(list_of_files) to specify input files.
  •   midlevel (float) - Midlevel value for displacement node
  •   useDriver (boolean) - Drive maps with armature properties
  •   tile (int) - Only load textures in this tile
  •   usePrune (boolean) - Prune the node tree


bpy.ops.daz.load_settings_file(filepath = "")

  Load settings from file

Parameters:
  •   filepath (string) - Filepath used for importing the file


bpy.ops.daz.load_uv(filepath = "")

  Load a UV set to the active mesh

Parameters:
  •   filepath (string) - Filepath used for importing the file


bpy.ops.daz.load_vector_disp(
   midlevel = 0.500,
   useDriver = True,
   tile = 1001,
   usePrune = True
)


  Load vector displacement map to active material

Parameters:
   Use import_daz.setSelection(list_of_files) to specify input files.
  •   midlevel (float) - Midlevel value for displacement node
  •   useDriver (boolean) - Drive maps with armature properties
  •   tile (int) - Only load textures in this tile
  •   usePrune (boolean) - Prune the node tree


bpy.ops.daz.lock_bones(
   useLocation = True,
   useRotation = True,
   useScale = True,
   useZeroOnly = True
)


  Lock location, rotation, scale for selected bones

Parameters:
  •   useLocation (boolean) - Lock location
  •   useRotation (boolean) - Lock rotation
  •   useScale (boolean) - Lock scale
  •   useZeroOnly (boolean) - Don't lock channels with transformations


bpy.ops.daz.make_all_bones_poseable()

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


bpy.ops.daz.make_cloth(
   collDist = 1.000,
   simPreset = 'cotton.json',
   pinGroup = "dForce Pin",
   simQuality = 16,
   collQuality = 4,
   gsmFactor = 0.500
)


  Add cloth modifiers to selected meshes

Parameters:
  •   collDist (float) - Minimun collision distance (mm)
  •   simPreset (enum in ['cotton.json', 'denim.json', 'leather.json', 'rubber.json', 'silk.json']) - Simulation preset
  •   pinGroup (string) - Use this group as pin group
  •   simQuality (int) - Simulation Quality
  •   collQuality (int) - Collision Quality
  •   gsmFactor (float) - GSM Factor (vertex mass multiplier)


bpy.ops.daz.make_collision(collDist = 1.000)

  Add collision modifiers to selected meshes

Parameters:
  •   collDist (float) - Minimun collision distance (mm)


bpy.ops.daz.make_decal(filepath = "")

  Add a decal to the active material

Parameters:
  •   filepath (string) - Filepath used for importing the file


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:
  •   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_faithful_proxy()

  Replace all selected meshes by low-poly versions, using a experimental algorithm that does preserve UV seams


bpy.ops.daz.make_hair(
   strandType = 'SHEET',
   strandOrientation = 'TOP',
   keepMesh = False,
   removeOldHairs = False,
   useSeparateLoose = True,
   sparsity = 1,
   size = 20,
   resizeHair = False,
   resizeInBlocks = False,
   nViewChildren = 0,
   nRenderChildren = 0,
   nViewStep = 3,
   nRenderStep = 3,
   strandShape = 'STANDARD',
   rootRadius = 0.300,
   tipRadius = 0.300,
   childRadius = 10.000,
   multiMaterials = True,
   keepMaterial = True,
   activeMaterial = '',
   color = (0.200,0.020,0.010,1.000),
   hairMaterialMethod = 'HAIR_BSDF'
)


  Make particle hair from mesh hair

Parameters:
  •   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
  •   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) - Hair length
  •   resizeHair (boolean) - Resize hair afterwards
  •   resizeInBlocks (boolean) - Resize hair in blocks of ten afterwards
  •   nViewChildren (int) - Number of hair children displayed in viewport
  •   nRenderChildren (int) - Number of hair children displayed in renders
  •   nViewStep (int) - How many steps paths are drawn with (power of 2)
  •   nRenderStep (int) - How many steps paths are rendered with (power of 2)
  •   strandShape (enum in ['STANDARD', 'ROOTS', 'SHRINK']) - Strand shape
  •   rootRadius (float) - Strand diameter at the root
  •   tipRadius (float) - Strand diameter at the tip
  •   childRadius (float) - Radius of children around parent
  •   multiMaterials (boolean) - Create separate particle systems for each material
  •   keepMaterial (boolean) - Use existing material
  •   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_multires()

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


bpy.ops.daz.make_quick_proxy(iterations = 2)

  Replace all selected meshes by low-poly versions, using a quick algorithm that does not preserve UV seams

Parameters:
  •   iterations (int) - Number of iterations when


bpy.ops.daz.make_shader_groups(
   useFresnel = False,
   useEmission = False,
   useOneSided = False,
   useOverlay = False,
   useGlossy = False,
   useTopCoat = False,
   useRefraction = False,
   useFakeCaustics = False,
   useTransparent = False,
   useTranslucent = False,
   useSSS = False,
   useRayClip = False,
   useDualLobeUber = False,
   useDualLobePBR = False,
   useVolume = False,
   useNormal = False,
   useDisplacement = False,
   useDecal = False
)


  Create shader groups for the active material

Parameters:
  •   useFresnel (boolean) - Fresnel
  •   useEmission (boolean) - Emission
  •   useOneSided (boolean) - One Sided
  •   useOverlay (boolean) - Diffuse Overlay
  •   useGlossy (boolean) - Glossy
  •   useTopCoat (boolean) - Top Coat
  •   useRefraction (boolean) - Refraction
  •   useFakeCaustics (boolean) - Fake Caustics
  •   useTransparent (boolean) - Transparent
  •   useTranslucent (boolean) - Translucent
  •   useSSS (boolean) - Subsurface Scattering
  •   useRayClip (boolean) - Ray Clip
  •   useDualLobeUber (boolean) - Dual Lobe (Uber Shader)
  •   useDualLobePBR (boolean) - Dual Lobe (PBR Skin)
  •   useVolume (boolean) - Volume
  •   useNormal (boolean) - Normal
  •   useDisplacement (boolean) - Displacement
  •   useDecal (boolean) - Decal


bpy.ops.daz.make_simulation(
   simPreset = 'cotton.json',
   pinGroup = "dForce Pin",
   simQuality = 16,
   collQuality = 4,
   gsmFactor = 0.500,
   collDist = 1.000
)


  Create simulation from Daz data

Parameters:
  •   simPreset (enum in ['cotton.json', 'denim.json', 'leather.json', 'rubber.json', 'silk.json']) - Simulation preset
  •   pinGroup (string) - Use this group as pin group
  •   simQuality (int) - Simulation Quality
  •   collQuality (int) - Collision Quality
  •   gsmFactor (float) - GSM Factor (vertex mass multiplier)
  •   collDist (float) - Minimun collision distance (mm)


bpy.ops.daz.make_udim_materials(
   trgmat = '',
   useFixTiles = True,
   useMergeMaterials = False
)


  Combine materials of selected mesh into a single UDIM material

Parameters:
  •   trgmat (enum in []) - Active
  •   useFixTiles (boolean) - Move UV vertices to the right tile automatically
  •   useMergeMaterials (boolean) - Merge materials and not only textures. If on, some info may be lost. If off, Merge Materials must be called afterwards


bpy.ops.daz.merge_geografts(useMergeUvLayers = True, useVertexTable = True)

  Merge selected geografts to active object

Parameters:
  •   useMergeUvLayers (boolean) - Merge active render UV layers to a single layer
  •   useVertexTable (boolean) - Add a table with vertex numbers before and after merge. Makes it possible to add morphs after merge, but affects viewport performance


bpy.ops.daz.merge_materials(ignoreStrength = False, ignoreColor = False)

  Merge identical materials

Parameters:
  •   ignoreStrength (boolean) - Merge materials even if some scalar values differ. Often needed to merge materials with bump maps
  •   ignoreColor (boolean) - Merge materials even if some vector values differ


bpy.ops.daz.merge_rigs(
   clothesLayer = 3,
   separateCharacters = False,
   useCreateDuplicates = False,
   useMergeNonConforming = True,
   createMeshCollection = True
)


  Merge selected rigs to active rig

Parameters:
  •   clothesLayer (int) - Bone layer used for extra bones when merging clothes
  •   separateCharacters (boolean) - Don't merge armature that belong to different characters
  •   useCreateDuplicates (boolean) - Create separate bones if several bones with the same name are found
  •   useMergeNonConforming (boolean) - Also merge non-conforming rigs. (Bone parented and with no bones in common with main rig)
  •   createMeshCollection (boolean) - Create a new collection and move all meshes to it


bpy.ops.daz.merge_toes()

  Merge separate toes into a single toe bone


bpy.ops.daz.merge_uv_layers(layer = '')

  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:
  •   layer (enum in []) - UV layer that is merged with the active render layer


bpy.ops.daz.mesh_add_pinning(
   pinningX0 = 0.250,
   pinningX1 = 0.750,
   pinningW0 = 1.000,
   pinningW1 = 0.000
)


  Add HairPin group to mesh hair

Parameters:
  •   pinningX0 (float) - Pin X0
  •   pinningX1 (float) - Pin X1
  •   pinningW0 (float) - Pin W0
  •   pinningW1 (float) - Pin W1


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:
  •   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.optimize_pose(useApplyRestPose = False)

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

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


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


  Pin property

Parameters:
  •   morphset (string) - morphset
  •   category (string) - category
  •   prefix (string) - prefix
  •   key (string) - key


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


  Pin shapekey value

Parameters:
  •   morphset (string) - morphset
  •   category (string) - category
  •   prefix (string) - prefix
  •   key (string) - key


bpy.ops.daz.pose_disable_all_layers()

  (undocumented operator)


bpy.ops.daz.pose_enable_all_layers()

  (undocumented operator)


bpy.ops.daz.prettify()

  Change sliders to checkboxes (If boolean options appear as sliders, use this button to refresh them)


bpy.ops.daz.print_matrix()

  (undocumented operator)


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()

  Prune all material node trees for selected meshes


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:
  •   threshold (float) - Minimum vertex weight to keep


bpy.ops.daz.quadify()

  Join triangles to quads


bpy.ops.daz.quote()

  (undocumented operator)


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

  Quote or unquote specified text

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


bpy.ops.daz.remove_all_drivers(useRemoveProps = True, useRemoveAllProps = False)

  Remove all drivers from selected objects

Parameters:
  •   useRemoveProps (boolean) - Also remove driving properties
  •   useRemoveAllProps (boolean) - Also remove other properties


bpy.ops.daz.remove_categories(
   useDeleteShapekeys = True,
   useDeleteProps = True,
   useDeleteDrivers = True
)


  Remove selected categories and associated drivers

Parameters:
   Use import_daz.setSelection(list_of_selection) to specify input selection.
  •   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_custom_shapes()

  Remove custom shapes from the bones of the active rig


bpy.ops.daz.remove_shape_from_category(custom = '')

  Remove selected shapekeys from mesh category

Parameters:
   Use import_daz.setSelection(list_of_selection) to specify input selection.
  •   custom (enum in []) - Category


bpy.ops.daz.remove_shapekey_drivers(custom = '')

  Remove rig drivers from shapekeys

Parameters:
   Use import_daz.setSelection(list_of_selection) to specify input selection.
  •   custom (enum in []) - Category


bpy.ops.daz.remove_shells()

  Remove selected shells from active object


bpy.ops.daz.remove_visibility_drivers()

  Remove ability to control visibility from rig property


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

  Rename selected category

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


bpy.ops.daz.reparent_toes()

  Parent small toes to big toe bone


bpy.ops.daz.replace_shells()

  Display shell node groups so they can be displaced.


bpy.ops.daz.reset_material()

  Reset material to original


bpy.ops.daz.resize_textures(
   steps = 2,
   resizeAll = True,
   overwrite = False
)


  Replace all textures of selected meshes with resized versions. Python and OpenCV must be installed on your system.

Parameters:
   Use import_daz.setSelection(list_of_files) to specify input files.
  •   steps (int) - Resize original images with this number of steps
  •   resizeAll (boolean) - Resize all textures of the selected meshes
  •   overwrite (boolean) - Overwrite the original image files.


bpy.ops.daz.restore_udims()

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


bpy.ops.daz.retarget_mesh_drivers()

  Retarget drivers of selected objects to active object


bpy.ops.daz.rigify_meta(
   useAutoAlign = False,
   useCustomLayers = True,
   useFingerIk = False,
   useIkFix = True,
   useKeepRig = False,
   useRenameBones = True
)


  Convert metarig to rigify

Parameters:
  •   useAutoAlign (boolean) - Auto align hand and foot (Rigify parameter)
  •   useCustomLayers (boolean) - Display layers for face and custom bones. Not for Rigify legacy
  •   useFingerIk (boolean) - Generate IK controls for fingers
  •   useIkFix (boolean) - Add limits to IK bones, to prevent poor bending
  •   useKeepRig (boolean) - Keep existing armature and meshes in a new collection
  •   useRenameBones (boolean) - Rename bones from l/r prefix to .L/.R suffix


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


  Rotate selected bones the same angle

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


bpy.ops.daz.save_favo_morphs(filepath = "")

  Save favorite morphs

Parameters:
  •   filepath (string) - Filepath used for importing the file


bpy.ops.daz.save_local_textures(keepdirs = True)

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

Parameters:
  •   keepdirs (boolean) - Keep the directory tree from Daz Studio, otherwise flatten the directory structure


bpy.ops.daz.save_pose_internal(
   filepath = "",
   check_existing = True,
   useSkeleton = False,
   usePose = True,
   useObjectTransform = True,
   useRotationOnly = False,
   useSelectedOnly = False
)


  Save the current pose as a json file

Parameters:
  •   filepath (string) - Filepath used for exporting the .json file
  •   check_existing (boolean) - Check and warn on overwriting existing files
  •   useSkeleton (boolean) - Save rotation mode and roll angles
  •   usePose (boolean) - Save the current pose
  •   useObjectTransform (boolean) - Save object transform
  •   useRotationOnly (boolean) - Save rotation curves only
  •   useSelectedOnly (boolean) - Save pose of selected bones only


bpy.ops.daz.save_pose_preset(
   filepath = "",
   author = "",
   website = "",
   useAction = True,
   useBones = True,
   includeLocks = False,
   useScale = True,
   useFaceBones = True,
   useMorphs = True,
   first = 1,
   last = 1,
   fps = 30.000
)


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

Parameters:
  •   filepath (string) - Filepath used for importing the file
  •   author (string) - Author info in pose preset file
  •   website (string) - Website info in pose preset file
  •   useAction (boolean) - Import action instead of single pose
  •   useBones (boolean) - Include bones 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
  •   useMorphs (boolean) - Include morphs in the pose preset
  •   first (int) - First frame
  •   last (int) - Last frame
  •   fps (float) - Frames per second


bpy.ops.daz.save_poses(filepath = "", check_existing = True)

  Save the current pose or action as a json file

Parameters:
  •   filepath (string) - Filepath used for exporting the .json file
  •   check_existing (boolean) - Check and warn on overwriting existing files


bpy.ops.daz.save_settings_file(filepath = "", check_existing = True)

  Save current settings to file

Parameters:
  •   filepath (string) - Filepath used for importing the file
  •   check_existing (boolean) - Check and warn on overwriting existing files


bpy.ops.daz.select_all()

  Select all


bpy.ops.daz.select_all_materials()

  Select all materials


bpy.ops.daz.select_all_morphs(type = "", value = False)

  Select/Deselect all morphs in this section

Parameters:
  •   type (string) - type
  •   value (boolean) - value


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_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:
  •   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()

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


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

  Select strands no wider than threshold

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


bpy.ops.daz.separate_loose_parts()

  Separate loose parts as separate meshes


bpy.ops.daz.set_shell_visibility()

  Control the visility of geometry shells


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:
  •   tile (int) - Tile


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

  Show all meshes/makeup of this rig

Parameters:
  •   prefix (string) - prefix


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

  Snap FK bones to IK bones

Parameters:
  •   prefix (string) - prefix
  •   type (string) - type


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

  Snap IK bones to FK bones

Parameters:
  •   prefix (string) - prefix
  •   type (string) - type


bpy.ops.daz.split_ngons()

  Split all polygons with five or more corners into triangles


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

  Toggle all morph categories on and off

Parameters:
  •   useMesh (boolean) - useMesh
  •   useOpen (boolean) - useOpen


bpy.ops.daz.toggle_loc_limits()

  Toggle location limits


bpy.ops.daz.toggle_loc_locks()

  Toggle location locks


bpy.ops.daz.toggle_rot_limits()

  Toggle rotation limits


bpy.ops.daz.toggle_rot_locks()

  Toggle rotation locks


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

  Toggle visibility of this mesh

Parameters:
  •   name (string) - name


bpy.ops.daz.transfer_mesh_to_shape()

  Transfer selected mesh to active shapekey


bpy.ops.daz.transfer_shapekeys(
   bodypart = 'All',
   transferMethod = 'NEAREST',
   useDrivers = True,
   useStrength = False,
   useVendorMorphs = True,
   useOverwrite = True,
   useSelectedOnly = False,
   ignoreRigidity = False
)


  Transfer shapekeys from active mesh to selected meshes

Parameters:
   Use import_daz.setSelection(list_of_selection) to specify input selection.
  •   bodypart (enum in ['All', 'Face', 'Body', 'Custom']) - Part of character that the morphs affect
  •   transferMethod (enum in ['NEAREST', 'BODY', 'GEOGRAFT', 'LEGACY']) - Method used to transfer morphs
  •   useDrivers (boolean) - Transfer both shapekeys and drivers
  •   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
  •   ignoreRigidity (boolean) - Ignore rigidity groups when auto-transfer morphs. Morphs may differ from DAZ Studio.


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

  Transfer vertex groups from active to selected

Parameters:
  •   threshold (float) - Minimum vertex weight to keep


bpy.ops.daz.udims_from_textures()

  Restore UV coordinates based on texture names


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


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

Parameters:
  •   morphset (string) - morphset
  •   category (string) - category
  •   prefix (string) - prefix


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


  Remove keys from all shapekeys of specified type at current frame

Parameters:
  •   morphset (string) - morphset
  •   category (string) - category
  •   prefix (string) - prefix


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_hair(affectMaterial = False)

  Change settings for particle hair

Parameters:
  •   affectMaterial (boolean) - Also change materials


bpy.ops.daz.update_materials()

  Update Materials


bpy.ops.daz.update_mhx()

  Update MHX rig for driving armature properties


bpy.ops.daz.update_morph_paths()

  Update paths to predefined morphs


bpy.ops.daz.update_settings()

  Update render and light settings if they are inadequate


bpy.ops.daz.update_slider_limits(
   min = 0.000,
   max = 0.000,
   allShapes = False
)


  Update slider min and max values

Parameters:
  •   min (float) - Minimum slider value
  •   max (float) - Maximum slider value
  •   allShapes (boolean) - Update all shapekey sliders. Can give undesirable effects on JCMs