1、直接上代码

//-
// ==========================================================================
// Copyright 1995,2006,2008 Autodesk, Inc. All rights reserved.
//
// Use of this software is subject to the terms of the Autodesk
// license agreement provided at the time of installation or download,
// or which otherwise accompanies this software in either electronic
// or hard copy form.
// ==========================================================================
//+#include <maya/MStatus.h>
#include <maya/MString.h>
#include <maya/MFileIO.h>
#include <maya/MLibrary.h>
#include <maya/MIOStream.h>
#include <string.h>const char* usage = "usage: [-h/help] asciiToBinary fileName1 fileName2 ...\n\each file will be loaded, the filename will be checked for an\n\extension.  If one is found it will be change to .mb, otherwise a\n\.mb will be appended to the file name.  The scene will then be\n\written out to this new filename in Maya Binary format.\n";int main(int argc, char **argv)
{MStatus stat;argc--, argv++;if (argc == 0) {cerr << usage;return(1);}for (; argc && argv[0][0] == '-'; argc--, argv++) {if (!strcmp(argv[0], "-h") || !strcmp(argv[0], "-help")) {cerr << usage;return(1);}// Check for other valid flagsif (argv[0][0] == '-') {// Unknown flagcerr << usage;return(1);}}stat = MLibrary::initialize (argv[0]);if (!stat) {stat.perror("MLibrary::initialize");return 1;}/*    for (; argc; argc--, argv++) {*/MString   fileName(argv[0]);MString fileType;MFileIO::newFile(true);// Load the file into Mayastat = MFileIO::open(fileName);if ( !stat ) {stat.perror(fileName.asChar());
/*          continue;*/}//尝试修改一下,如果是mb格式的话,转为ma格式// Check to see if file is already in binary formatfileType = MFileIO::fileType();if (fileType == MString("mayaBinary")){cerr << fileName << ": already in mayaBinary format\n";MString newFile;int loc = fileName.rindex('.');if (loc == -1) {newFile = fileName;} else {newFile = fileName.substring(0, loc-1);}newFile += ".ma";stat = MFileIO::saveAs(newFile, "mayaAscii");if (stat)cerr << fileName<< ": resaved as "<< MFileIO::currentFile()<< endl;elsestat.perror(newFile.asChar());/*          continue;*/}// Check for a file extension, and if one exists, change it// to .mb.  If an extension does not exist, append a .mb to// the fileName.MString newFile;int loc = fileName.rindex('.');if (loc == -1) {newFile = fileName;} else {newFile = fileName.substring(0, loc-1);}newFile += ".mb";stat = MFileIO::saveAs(newFile, "mayaBinary");if (stat)cerr << fileName<< ": resaved as "<< MFileIO::currentFile()<< endl;elsestat.perror(newFile.asChar());/* }*/MLibrary::cleanup();return 0;
}

2、我编译好的程序。

http://u.163.com/TyNjtIl0  提取码: pAaI0B2O

3、使用说明(这里只提供了初略的功能,更多功能需要结合自己的流程,本次演示最重要的互转功能)

a、把asciiToBinary.exe复制到和maya.exe同级目录下,比如我的是:‘D:\Program Files\Autodesk\Maya2015\bin”

b、把需要转换的文件复制到和maya.exe同级目录下,比如我的是:‘D:\Program Files\Autodesk\Maya2015\bin”

c、使用命令行cd到maya.exe目录下,使用命令行:asciiToBinary.exe “xxx.ma”(ma转mb)或asciiToBinary.exe “xxx.mb”(mb转ma)

MayaAPI官方案例asciiToBinary的修改,实现ma和mb格式互转相关推荐

  1. 【初阶】unity3d官方案例_太空射击SpacingShooter 学习笔记 显示分数时,如何让函数之间相互交流...

    [初阶]unity3d官方案例_太空射击SpacingShooter 学习笔记 显示分数时,如何让函数之间相互交流 一.关于 显示分数时,如何让函数之间相互交流 这是一个非常好的逻辑问题 1 思路:主 ...

  2. caffe︱cifar-10数据集quick模型的官方案例

    准备拿几个caffe官方案例用来练习,就看到了caffe中的官方案例有cifar-10数据集.于是练习了一下,在CPU情况下构建quick模型.主要参考博客:liumaolincycle的博客 配置: ...

  3. paraview(三)运行和查看Paraview官方案例

    运行和查看Paraview官方案例 系统环境: Ubuntu 18.04.1 LTS Paraview版本:v5.5.2 一.下载并解压Paraview的官方安装包https://www.paravi ...

  4. MATLAB调用Origin绘图官方案例学习

    MATLAB调用Origin origin官方案例 1. 绘图 2 创建修改workbook 日常处理实验数据绘图用的都是origin,origin自带的模板和调色板比matlab好看太多(origi ...

  5. 微信授权-官方案例 ios版

    官方文档:iOS接入指南 | 微信开放文档 step1,下载官方案例:打开链接后一直往下拉  拉倒如下界面,点击一下即会下载下来 step2,解压后文件,双击打开 SDKSample.xcodepro ...

  6. Lumerical官方案例、FDTD时域有限差分法仿真学习(三)——环形谐振器(Ring resonator)之第一部分

    环形谐振器教程的第 1 部分使用 MODE 来设计和仿真环形谐振器. 自由光谱范围 (FSR) 和品质因数 (Q 因数) 是这种面向片上通信应用的基于绝缘体上硅 (SOI) 波导设计的关键性能指标. ...

  7. Lumerical官方案例、FDTD时域有限差分法仿真学习(四)——环形调制器 - 瞬态响应 (Ring modulator - transient response ,varFDTD)

    (这个案例感觉没怎么看懂,运行出来的结果也跟官方的对不上,过一段时间再来看看) 模拟波导中的非线性效应通常需要较长的模拟时间和传播长度. 2.5D FDTD Propagator 可以有效地模拟长距离 ...

  8. Intel Realsense 官方案例源码地址

    官方案例地址: https://github.com/IntelRealSense/librealsense/tree/master/wrappers/python/examples

  9. 解决gensim fasttext官方案例报错TypeError: Either one of corpus_file or corpus_iterable value must be provide

    完整报错为:TypeError: Either one of corpus_file or corpus_iterable value must be provided 解决方法 将官方案例中传递参数 ...

最新文章

  1. 标准caffe中实现darknet相关层。caffe和darknet模型的相互转换和加速(分类、检测、分割)
  2. 模型大十倍,性能提升几倍?谷歌研究员进行了一番研究
  3. ViSP视觉库中实现AprilTag的方法
  4. EV3 直接命令 - 第 4 课 用两个驱动轮精确地移动小车
  5. 2020计算机二级题库第14PPT,计算机二级考试MSOffice考精彩试题库ppt操作题附问题详解.doc...
  6. request对象与response对象
  7. 1.C#基础学习笔记3---C#字符串(转义符和内存存储无关)
  8. java list实现九九乘法表梯形_JavaScript实现梯形乘法表的方法
  9. Android--线程详解
  10. 保存文件 安卓_手机怎么解压zip文件 安卓手机zip文件怎么打开?
  11. 计算机vfp实验小结,vfp实验1报告心得体会
  12. 微信小程序打开另一个小程序
  13. matlab sa函数的傅里叶变换,通信第三章常见函数的傅里叶变换.ppt
  14. 绩效打c被开除,员工将新东方告上法院,获赔416000元!
  15. LiteIDE主题定制教程【续】
  16. 软件开发合同纠纷的律师随笔
  17. Python简单爬取蚂蚁窝首页的图片
  18. 提取保存Win10锁屏壁纸
  19. lgv20刷twrp_LG V30+ 日版 L-01K 刷机解锁BL 刷入TWR 回复日版基带
  20. 简易串口助手通信(齐全) 可实现ASII和十六进制发送指令 并显示

热门文章

  1. 中国农业大学的计算机科学与技术,孙瑞志谈中国农业大学计算机科学与技术专业...
  2. 蓝牙芯片nRF51822开发系列(一):环境搭建和GPIO使用(点亮LED)
  3. 5G宏基站的形态5G基站长什么样?
  4. HTC终端4G网络附着问题
  5. RA生态之ADC 采样
  6. echarts地图,通过工具生成对应区域的json数据,例如成都市,锦江区
  7. 必备技能12:如何下载微信公众号的音视频
  8. python脚本怎么运行网页抢座位_某网站抢号脚本(python)
  9. 电机拖动第一二章习题总结
  10. 构建大型网站(百万级访问量)的技术准备