如何用c++开发3ds max插件_baozi3026的博客-程序员ITS201_3dmax插件开发 c++

技术标签: dialog  path  c++  file  plugins  wizard  

创建一个空的工程 

我们首先在3DS Max创建面板里面建立一个简单的几何物体,称之为”widget” 。可以通过视图窗口里三个参数去修改它的几何特性。Size表示轮廓尺寸,第二个参数left表示物体左翼的外延,第三个参数right表示右翼的外延。 
首先我们去了解一下怎样建立一个工程,可以通过以下两种方法: 
1. Using the Appwizards 
2. Manually 
某些插件程序只能通过手动创建。 

简便起见,只介绍第一种方法。 
Using the Appwizard 

1.Wizard Installation 
以下介绍Visual Studio中的插件应用程序向导(简记Appwizard),它是运行在Visual Studio中的一个程序。首先我们必须在Visual Studio中安装Appwizard,步骤如下: 
首先用记事本打开MaxPluginWizard.vsz文件(位于MAXSDK/Howto/3DSMaxPluginWizard目录下),编辑参数ABSOLUTE PATH为3dsmaxPluginWizard根目录所在的新的路径。目录名结束位置不要加反斜线。假如新路径为: 
c:/ Program Files/Autodesk/3ds Max 9 SDK/maxsdk/howto/3dsmaxPluginWizard。则修改为: 
Param="ABSOLUTE_PATH 
= [c:/Program Files/Autodesk/3ds Max 9 SDK/maxsdk/howto/3dsmaxPluginWizard]"。 

再从3dsmaxPluginWizard目录下拷贝以下文件到Visual Studio 的安装目录下的vc/vcprojects文件夹下(通常为C:/Program Files/Microsoft Visual Studio .NET/Vc/vcprojects)。 
• 3dsmaxPluginWizard.ico 
• 3dsmaxPluginWizard.vsdir 
• 3dsmaxPluginWizard.vsz 
3ds Max Plugin Wizard project将出现在Visual Studio中的File > New:Projects > Visual C++ Projects下。 
2.建立工程 
在Visual Studio中选择一个新的工程,File > New > Project....,在出现的对话框里选择3ds Max Plugin Wizard,并填入工程的名字和存储路径 


Figure 2 The new project dialog in Visual Studio, and the 3ds Max Plugin Wizard 

点击ok按钮之后出现如下窗口: 

Figure 3 Shows the many types of plugins that can be created with the Appwizard. 

从Plugin type列表中选择Procedural objects。再选择Plugin Details标签: 

Figure 4 Plugin details. 

按照Figure 4所示进行设置,在本例中选择插件程序所继承的基类为SimpleObject2,第三个空白表示插件程序类型,它将会出现在Max 的创建面板下的列表中。最后一项输入描述。 

下一步选择Project Details标签: 


Figure 5 Input and output information. 
选择3ds Max SDK文件夹路径,设置为<Max SDK/include>和<Max SDK/Lib>的根目录。填入文件的输出目录和执行路径。选择Finish完成创建。 
如下Figure 6是完成后的解决方案浏览器显示,其中包括三个子文件,在source files文件下,appwizard创建了两个cpp文件,其中Dllentry.cpp包含了plugin的入口函数DLLMain,wizard已经填入代码,不需要我们修改。Widget.cpp是plugin的实现文件。 

Figure 6 The Solution Explorer shows the files created by the appwizard. 
本例中的CPP文件没有实现功能的具体代码,但是能对此工程编译运行正常。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/baozi3026/article/details/5886029

智能推荐

变脸式应用 / 制作原生APP(二)_天笑2001的博客-程序员ITS201

壳版本管理请牢牢记住,由于原生壳与H5应用的分离,用户安装的用户壳可能是旧版本的,而线上的H5应用永远是最新版本。假如在原生壳中新增加了插件,应增加壳版本号。 操作上也可将壳版本等同于原生应用的版本代码(安卓叫App Version Code,苹果叫CF Bundle Version),那么要注意插件变动时,一定也要变动原生应用版本。需求:新版本壳中增加了某插件,希望安装旧版本壳的用户在用到此插件

python arp断网攻击_局域网arp断网攻击_weixin_39820177的博客-程序员ITS201

前言使用计算机时间稍长的人,大多经历过各种病毒泛滥的年代,当然现在也有很多病毒,只是现在的病毒已经很隐蔽了,而且行为也愈发的不可捉摸。我们今天记录一下,早些时候,经常遇到的arp断网攻击。通俗的讲,arp就是一个问路的协议,数据要到达某一个设备,必须要知道其对应的mac地址,如何知道呢?那就是广播一下,谁的地址是192.168.0.100?然后持有这个ip地址的人就会说:我在这里,我的mac是:1...

两个通宵熬出来的互联网大厂最新面试题收集整理1000道(七-并发编程-下篇),欢迎点赞收藏!!!_波波烤鸭的博客-程序员ITS201

  最近接触到很多面试相关的内容,所以就专门整理了以下,内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈。后续会出专门的面试视频专题,欢迎关注。并发编程专题-下篇1、并发编程三要素?1、原子性  原子性指的是一个或者多个操作, 要么全部执行并且在执行的过程中不被其他操作打断, 要么就全部都不执行。

用一段PHP代码实现获取一言API的信息_一个爱瞎BB的小学生的博客-程序员ITS201_一言api

关于一言可以自行百度点击看一言首页&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;...

sys.stderr.write(f“ERROR: {exc}“)_Allen953的博客-程序员ITS201

在安装了pip之后发现出现如下错误:解决办法:重新安装pipwget https://bootstrap.pypa.io/pip/3.5/get-pip.pypython3 get-pip.py安装的时候它提示python3.5在2020年9月13号停止维护,pip 21.0在2021年一月将停止对python 3.5的支持。下面就是自动卸载老版的pip 8.1.1然后成功的安装了pip 20.3.4。再次pip list的时候,已经没有错误了。wget下载地址可能会发生变化

OpenJudge-056:病人排队(stable_sort用法)_老王777的博客-程序员ITS201

总时间限制:1000ms内存限制:65536kB描述病人登记看病,编写一个程序,将登记的病人按照以下原则排出看病的先后顺序:1.老年人(年龄 &amp;gt;= 60岁)比非老年人优先看病。2. 老年人按年龄从大到小的顺序看病,年龄相同的按登记的先后顺序排序。3.非老年人按登记的先后顺序看病。输入第1行,输入一个小于100的正整数,表示病人的个数;后面按照...

随便推点

回声消除技术(2)_p是马甲的博客-程序员ITS201

从应用平台来看,可以把回声消除分为两大类: (1). 基于DSP等实时平台的回声消除技术 (2). 基于Windows等非实时平台的回声消除技术两者的技术难度和重点是不一样的。三、基于DSP平台的回声消除技术回声消除技术传统的应用领域是各种嵌入式设备,包括各种电信网络设备和终端设备。比如交换机,网关等网络设备; 移动电话,视频会议等终端。现代通讯产...

常用电源IC _yingfox的博客-程序员ITS201

导读:   常用电源IC   79L05   负5V稳压器(100ma)      79L06   负6V稳压器(100ma)      79L08   负8V稳压器(100ma)      79L09   负9V稳压器(100ma)      79L12   负12V稳压器(100ma)      79L15   负15V稳压器(100ma)      79L18   负18V稳压器(1

树形DP_azseo3097的博客-程序员ITS201

学了树形DP的一点心得。。。虽然可能没啥意义。。。树形dp大概就是在树上做dp吧。遍历树上节点的同时,将一些数值通过转移方程传递给下(上)一个状态,大概分成两种状态:1.由儿子向父亲(叶——》)根;2.由父亲到儿子(根——》叶);一般都是儿子到父亲(笔者是个蒟蒻,还没见过2。。。)因为我们要处理一个节点时,要从父亲(或所有儿子)得到值,又要把值给所有儿子或父亲,...

计算机网络中的简单命令——验证性实验_Te Fier的博客-程序员ITS201

计算机实验验证性实验准备计算机常用命令1、ipconfig实作一实作二问题2、ping实作一实作二问题3、tracert实作一问题一问题二问题三4、ARP实作一实作二验证性实验准备打开Windows的命令提示符窗口win+R,输入cmd打开命令提示符窗口,在窗口中验证一些常用的计算机命令。计算机常用命令1、ipconfig显示当前网络连接的配置信息,可以看到自己电脑的IP地址、子网掩码以及网关地址实作一使用 ipconfig/all 查看自己计算机的网络配置,尽可能明白每行的意思,特别注意

北航操作系统课程-第十次作业-文件系统_走肖暂时无法接通的博客-程序员ITS201_设计文件系统时应尽量减少访问磁盘的次数

北京航空航天大学计算机学院-2020春操作系统课程,理论课第十次作业,内容为文件系统。题目作者为北航计算机学院操作系统课程组,答案为博主原创。水平有限,无法保证作答正确性,如有错误敬请批评指正。部分作答源自百度谷歌等其他资料,如有侵权联系删除。

推荐文章

热门文章

相关标签