So my question would be the first 2 points, how do i code it in such a way that if this .chan format was imported and it will prompt up another ui?
--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/da153073-a8e6-441d-868c-2bde8da819a6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
It will be something like this (Pardon for the very vague code):
class scriptedCommand(OpenMayaMPx.MPxCommand): def __init__(self): OpenMayaMPx.MPxCommand.__init__(self) actionA()
actionB() def actionA(): ...
def actionB(): ...
Hi likage,One way you might be able to achieve this is by replacing the Import menu item with your own, and do your checking from there. If it isn't a chan file, simply revert to Maya's defaults.Another way might be to have users use another button, such as "Import Chan". This button would then be within your control, and you could pop up your UI from there.Finally, you could try and get Maya to notify you whenever it imports a file and for you to intercept what it is about to do next. If it's a chan file, mute Maya and take over. Otherwise, let it pass. This is what I take it you are attempting to do with the API, however I'd be careful about it and instead try any of the two above approaches first. Simply because altering the internal behaviour of Maya isn't always a good idea as you might break things that Maya does on its own, such as when you paste curves via the Channel Box.Best,Marcus
On 5 September 2014 10:25, likage <dissid...@gmail.com> wrote:
I am pretty new to Maya Api and I am in the midst of editing or changing a code for this custom plugin. I was wondering if it is possible for the following scenario:
- User import in a particular file format - .chan (Using File >> Import), assumingly the plugin is working?
- Upon importing, an UI will be prompted when Maya 'detects' that user imports in this .chan format
- In this UI, it will be doing some other stuff..
So my question would be the first 2 points, how do i code it in such a way that if this .chan format was imported and it will prompt up another ui?
--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/da153073-a8e6-441d-868c-2bde8da819a6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Hi likage,One way you might be able to achieve this is by replacing the Import menu item with your own, and do your checking from there. If it isn't a chan file, simply revert to Maya's defaults.Another way might be to have users use another button, such as "Import Chan". This button would then be within your control, and you could pop up your UI from there.Finally, you could try and get Maya to notify you whenever it imports a file and for you to intercept what it is about to do next. If it's a chan file, mute Maya and take over. Otherwise, let it pass. This is what I take it you are attempting to do with the API, however I'd be careful about it and instead try any of the two above approaches first. Simply because altering the internal behaviour of Maya isn't always a good idea as you might break things that Maya does on its own, such as when you paste curves via the Channel Box.Best,Marcus
On 5 September 2014 10:25, likage <dissid...@gmail.com> wrote:
I am pretty new to Maya Api and I am in the midst of editing or changing a code for this custom plugin. I was wondering if it is possible for the following scenario:
- User import in a particular file format - .chan (Using File >> Import), assumingly the plugin is working?
- Upon importing, an UI will be prompted when Maya 'detects' that user imports in this .chan format
- In this UI, it will be doing some other stuff..
So my question would be the first 2 points, how do i code it in such a way that if this .chan format was imported and it will prompt up another ui?
--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/da153073-a8e6-441d-868c-2bde8da819a6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Is it possible to write a code, in this case I am trying to ask Maya to import in a new file format that it was initially not compatible with, simply with python or mel coding without the use of API?
Yes, you can pop up your own File Dialog, like this:
multipleFilters = "Maya (*.ma *.mb);;Custom (*.custom)"
cmds.fileDialog2(fileFilter=multipleFilters, dialogStyle=2)
From the documentation, found here:
http://help.autodesk.com/cloudhelp/2015/ENU/Maya-Tech-Docs/CommandsPython/fileDialog2.html
I’ll try and get back to you regarding your other questions as well, but overall I think all of what you’ve mentioned so far can be accomplished using maya.cmds
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/ddc0b57b-f83a-4c23-8640-161255e4af94%40googlegroups.com.
multipleFilters = "Maya (*.ma *.mb);;chan (*.chan)"
filename = cmds.fileDialog2(fileMode=1, fileFilter=multipleFilters, dialogStyle=2)
cmds.file( filename, i=True, renameAll = True, mergeNamespacesOnClash = False )
# Error: Unrecognized file.
# Traceback (most recent call last):
# File "<maya console>", line 3, in <module>
# RuntimeError: Unrecognized file. #
maya.cmds then?
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/da153073-a8e6-441d-868c-2bde8da819a6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/ddc0b57b-f83a-4c23-8640-161255e4af94%40googlegroups.com.
Though I am able to select and see the .chan files in the UI, as soon as I hit Enter, I was prompted with the following errors:
May I ask what else you were expecting?
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/e30bd554-bd7a-400b-8a6b-7c2250d67e43%40googlegroups.com.To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
Might help to check the docs
http://download.autodesk.com/global/docs/maya2012/en_us/CommandsPython/fileDialog2.html
Return value: string array
Copy and paste is only going to get you so far. One operation/paste may lead into the next problem if you don't fully understand what the code does and returns.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/e30bd554-bd7a-400b-8a6b-7c2250d67e43%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/ddc0b57b-f83a-4c23-8640-161255e4af94%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/e30bd554-bd7a-400b-8a6b-7c2250d67e43%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/ddc0b57b-f83a-4c23-8640-161255e4af94%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.
What I was saying was that if you are going to use the fileDialog approach, as you did, and you see that it returns an error, you would have to make sure that you take a look at the API documentation to confirm that you are using it properly. In this case, the fileDialog returns an array of strings, and you are passing that array to the file() command, which only takes a string. So you end up with an error.
Because you are using a fileDialog command that allows the user to choose one existing file, you will need first check the filename variable to make sure it is set to something and that the user did not cancel the dialog. Because the people that designed the Maya cmds API love and value consistency, you will notice that if the dialog is canceled you get back a None instead of an empty list. Your check would be something like this:
fileList = cmds.fileDialog2(fileMode=1, fileFilter=multipleFilters, dialogStyle=2)
if not fileList:
# return or print something or bail out early
filename = fileList[0]
cmds.file(filename, i=True)
If you are allowing multiple files:
fileList = cmds.fileDialog2(fileMode=4, fileFilter=multipleFilters, dialogStyle=2)
if not fileList:
# return or print something or bail out early
for filename in fileList:
cmds.file(filename, i=True)
At this point, you have control over knowing which file is being imported and having the opportunity of doing pre/post
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/2bc75aba-5f12-46ca-a3e8-421395d39cbf%40googlegroups.com.To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/9f367c51-cb0a-4a60-a341-b7addb27e3ae%40googlegroups.com.
multipleFilters = "chan (*.chan)"
fileList = cmds.fileDialog2(fileMode=1, fileFilter=multipleFilters, dialogStyle=2)
with open (fileList[0], 'rt') as filehandle:
for line in filehandle:
print line
1 -1.95229 0.105858 4.26187 166.513 22.9641 -42.0018 26.9915
2 -1.02854 0.509221 4.16079 -177.631 14.0901 -30.9537 26.9915
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/9f367c51-cb0a-4a60-a341-b7addb27e3ae%40googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/c48e3724-528b-4027-922b-713dfbcae97d%40googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/9f367c51-cb0a-4a60-a341-b7addb27e3ae%40googlegroups.com.
--
--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.
If Maya natively supports importing Chan files as cameras, then I didn't know that and you can ignore my suggestion ☺
That tool was written at a time when the desire was to be able to import Chan files produced by Nuke into multiple target applications like Maya, Flame/Inferno, and a couple other ones.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/01c38f49-b0f8-416a-a71f-00d544d84c75%40googlegroups.com.