MAX SDK 开发学习(1) 开发环境

一、前言

之前用maxscript写了一些功能,小文件情况下还好,文件越大时间越久,大文件 5G以上的max文件时,卡死,慢死。

因为3dmax有.net/c++的二次开发,接下来打算边学习边整理资料。

最终目的,自动模型简化。

之前处理Revit的模型还好,一个模型一个模型的,命名也有规律。

后来处理SmartPlant3D模型,通过navisworks把vue转换成fbx文件,结果到3dmax里面一看,全混杂在一起了,删除个螺丝都要自己去把面选中再删。数量好超级多.....

不行,得想办法写工具自动处理。

二、学习资料

找3dmax sdk资料,b站上有很多各种教程,max sdk的就一个,官方的 2012年的:https://www.bilibili.com/video/BV1dJ411t7iq?p=2

官网地址:https://www.autodesk.com/developer-network/platform-technologies/3ds-max,下面有这个视频的下载版本,10个视频,一个视频1小时,英文没字幕,wmv格式,不大,讲ppt加演示。ppt,源码都有能下载的。

10个视频够我啃一周的了.....

Unit01: 介绍,ADN(Autodesk Develop Network),自定义UI,MaxScript,MaxSDK

Unit02:3dsmax Plugin Wizard

后面的看了几个视频,感觉和上课一样,看着看着睡着了,主要时我想先过一遍,后续再练习。

对了,视频没字幕,英语不行,看着好累。最后上传视频到Youtube上,它会自动生成字幕的,基本准确的,不是马上生成的,上传后过段时间后生成的。

看到第8个,没练习,只是有点概念,关键是它讲了很多的概念内容.......

三、Wizard

我的VS是2019,readme.txt里面没有,搜索了一下,需要改成VsWizard.VsWizardEngine.16.0,有个文章写的很详细:http://creativescratchpad.blogspot.com/2019/07/3ds-Max-SDK-Introduction.html

我最早碰到的问题是c++里面找不到,后来发现可以用搜索找到,也可以直接 所有语言&所有平台&所有项目类型 言里面找

然后是设置3dmax地址,要到userDefaults.js里设置

改成

可以查询

不设置的话,就是原始的

而不是教程里那样的

--------------------------------------------------------------------------

后来安装了vs2017,找不到vcprojects文件夹,不如说找到了一个。

按readme.txt,应该是 C:\Program Files(x86)\Microsoft Visual Studio 14.0\VC\VCProjects

我的电脑上有个 D:\Program Files(x86)\Microsoft Visual Studio 14.0\VC\VCProjects,拷贝进去没有效果。

而且我这次是安装在c盘的,这个怀疑是以前安装在d盘时留下的。

最后拷贝到C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCProjects 可以了

vs2017当然是Wizard=VsWizard.VsWizardEngine.15.0,这个没问题。

-------------------------------------------------------------------------------------------------------

还要设置3dsmaxPluginWizard文件夹为可写的。

有个视频写的很详细:https://www.youtube.com/watch?v=Wt_v3LL6ug4&list=PLLkzsiaXzCpa9pYxDQVyCfdUB70E79RJ3&index=2&t=1s

四、生成问题

1.对路径xxx的访问被拒绝

要用管理员方式打开vs

2.cannot open include file 'afxres.h'

c++和windows sdk安装问题。

用vs2019打开视频练习项目,在项目旁边还是有Visual Studio2017的内容。

这些项目原本应该时vs2010创建的。

生成出现这个问题,具体怎么解决的其实也不知道,折腾来折腾去,把vs2019和vs2017还有一些c++组件都安装了,windowsSDK也是安装了几个。

反正最后就是用vs2017打开项目。

 

3.无法打开文件“bmm.lib”

参考:https://forums.cgsociety.org/t/sdk-plugin-type/1685238/2

这个链接路径倒是好设置,关键是要修改当前配置为Release和x64,这个折腾了我半天。

使用wizard生成的项目主要就是要切换一些Release。

而视频练习项目则需要修改项目内容,如下

4.打开视频练习源码文件

主要是需要替换项目文件的内容:

$(ADSK_3DSMAX_SDK_2013) -> $(ADSK_3DSMAX_SDK_2020)

$(ADSK_3DSMAX_SDK_2016) -> $(ADSK_3DSMAX_SDK_2020)

$(ADSK_3DSMAX_SDK_2020)\maxsdk -> $(ADSK_3DSMAX_SDK_2020)  环境变量中已经有maxsdk了

x64\lib -> lib\x64\Release 我的完整路径是 C:\Program Files\Autodesk\3ds Max 2020 SDK\maxsdk\lib\x64\Release

$(ADSK_3DSMAX_x86_2013) -> $(ADSK_3DSMAX_x64_2020)

$(ADSK_3DSMAX_x64_2013) -> $(ADSK_3DSMAX_x64_2020)

$(ADSK_3DSMAX_x64_2020)\plugins< -> $(ADSK_3DSMAX_x64_2020)\plugins\<

x64\$(Configuration)\ -> $(ProjectDir)\obj\$(MaxPlatform)\$(MaxConfiguration)\

我的环境变量:

这个改好了bmm.lib问题就没了,然后出现下面的问题。

-------------------------

发现启动3dsmax调试还要修改一下,上面都改掉了调试里面的路径还是没改。

5.RunMUIRCT.exe

"C:\Program Files\Autodesk\3ds Max 2020 SDK\maxsdk\tools\RunMUIRCT.exe" -o "C:\Program Files\Autodesk\3ds Max 2020\plugins\\" -f exercise04.dlu -t "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\x64\ReleaseUnicode\\" 

 

"$([System.IO.Path]::GetFullPath('$(MaxSdkDir)/tools/RunMUIRCT.exe'))" -o "$([System.IO.Path]::GetFullPath('$(TargetDir)'))\" -f $(TargetFileName) -t "$([System.IO.Path]::GetFullPath('$(IntDir)'))\" 

用wizard生成的项目里面也有这个,生成没有问题的。

发现两则的IntDir是不一样的,修改项目文件

x64\$(Configuration)\ -> $(ProjectDir)\obj\$(MaxPlatform)\$(MaxConfiguration)\

可以了,生成成功了。

6.无法创建目录C:\Program Files\Autodesk\3ds Max 2020 SDK\maxsdk\\obj\x64\Release\maxProject6

查了一下,这个是临时目录,不知道为什么创建到3dsmax的sdk路径里面去了。

解决方法就是和上面的一样,设置C:\Program Files\Autodesk\3ds Max 2020 SDK\maxsdk\obj的权限为可写的。

生成不成功时就看一下现在是不是管理员方式启动的

上面问题处理好了,基本就生成成功了,生成后plugins文件夹中就有插件文件了,运行vs,会自动启动3dsmax。

加断点,能够进去,有时候不能进去....

 

 

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
进行海康威视SDK二次开发的步骤如下: 1. 首先,您需要进入海康威视官网,下载最新版本的设备网络SDK。这个SDK包含了各种功能和接口,可以帮助您进行二次开发。您可以通过访问海康威视官网并在下载页面找到适合您系统的32位Windows版的SDK。 2. 下载完成后,您需要将SDK解压缩到您的开发环境中。确保您的开发环境已经配置好,并且可以访问到SDK所需的依赖库和文件。 3. 在进行SDK二次开发之前,您需要仔细阅读海康威视的开发文档。这些文档会提供给您SDK的详细说明和使用方法。特别是关于SDK接口的初始化和资源释放的部分,您需要特别注意。 4. 在开始编写代码之前,您可以先确定您的项目需求和目标。根据您的需求,选择适合的SDK接口进行开发。您可以使用SDK提供的各种功能,如视频流获取、图像处理、设备控制等。 5. 在编写代码时,您需要按照SDK文档提供的接口说明来调用相应的函数。在调用SDK接口之前,您需要进行初始化操作,以确保SDK能够正常工作。在完成操作之后,记得释放SDK所占用的资源,以免造成内存泄漏或其他问题。 6. 在开发过程中,您可能会遇到一些问题或困惑。您可以参考海康威视官方网站提供的开发者社区或技术支持渠道,寻求帮助和解答。 总结起来,进行海康威视SDK二次开发的关键步骤包括下载最新版本的设备网络SDK,阅读开发文档并了解SDK的初始化和资源释放操作,根据项目需求选择适合的功能和接口进行开发,编写代码并调用SDK接口,最后注意释放SDK所占用的资源。希望这些步骤能够帮助您进行海康威视SDK二次开发。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [基于海康威视的SDK实现二次开发](https://blog.csdn.net/weixin_44738214/article/details/126168881)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [海康威视sdk二次开发包.zip](https://download.csdn.net/download/weixin_43297335/12288413)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值