2017-09-26 7 views
2

Je suis encore en train d'apprendre les pythons, alors portez-moi.Maya: Comment importer fbx en utilisant python?

J'ai besoin d'importer un fichier fbx dans une scène existante.

J'ai essayé de multiplier les façons d'importer, mais rien n'a fonctionné jusqu'ici.

ce'ai essayé:

import maya.cmds as cmds 

def setImport(): 
    setImportPath = 'X:\Path_To_File.fbx' 
    cmds.file(setImportPath, i=True, mergeNamespacesOnClash=True, namespace=':'); 

setImport() 

L'erreur que je reçois est:

# Error: RuntimeError: file <maya console> line 5: File not found. # 

La prochaine chose que j'ai essayé était:

import maya.cmds as cmds 

cmds.file('X:\Path_To_File.fbx', o = True)  

L'erreur que je reçois est:

# Error: RuntimeError: file <maya console> line 4: File not found: "X: ath_to_File.fbx" # 

Notez l'espace entre le "X:" et la première lettre? Ainsi que le "P" de "chemin" manquant? Pourquoi est-ce? Qu'est-ce qui me manque ici?

La première méthode fonctionne parfaitement sur les fichiers ma/mb, mais pas avec fbx.

Est-ce que quelqu'un a une idée sur la façon de résoudre ce problème?

SOLVED:

j'ai copié le chemin du fichier depuis l'explorateur Windows, mais les fenêtres affiche le chemin avec des barres obliques inverses. J'ai changé les barres obliques inversées en barres obliques et maintenant l'importation de fbx fonctionne. idiot moi!

+0

Etes-vous sûr 'X: \ PATH_TO_FILE » est vraiment où votre fichier est? Habituellement c'est C ou D –

+0

Merci pour la réponse: oui, je suis sûr que le chemin du fichier est correct. cela n'a pas d'importance, si j'essaie un fbx dans un chemin différent, c'est la même erreur. – dave

Répondre

1

Je pense que le script décode en quelque sorte \P comme caractère spécial. (Ce qui est vraiment commun pour presque tout commencer par \ barre oblique inverse)

Certaines options possibles que vous pouvez essayer: X:\\Path_To_File.fbx, X:/Path_To_File.fbx

+0

C'était effectivement le problème. Merci! – dave

1

Lorsque vous utilisez des chemins de fenêtres ou des chemins contenant des anti-slash vous pouvez utiliser la chaîne brute de Python littéral. Il interprétera la chaîne "telle qu'elle est" (la barre oblique inversée sera interprétée comme une barre oblique inverse, sans signification particulière). par exemple:

path = r'C:\path\to\file.txt'