请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
* K4 x& f+ j h/ p& I二次开发环境搭建 先生们女士们: 让我们一起来学习下新版本基于VS2017的环境搭建方法吧。 学习邀请函 不忘初心 模板文件放在这里,目录根据自己安装的来确定,有了模板,万事具备(没有模板,自己也可以建-需要参考我们的培训教程了)。拷贝到哪里这里是关键,VS2017的目录发生了变化,简单的说是VC的模板目录,其他的不变,我们把要拷贝的内容和路径,如果用批处理方式的命令,应该如下: xcopy /i/e/k/h/r/y/q "%UGOPEN_VS_FILES%\VC#\*.*" "%MS_VS_DIR%\VC#\" xcopy /i/e/k/h/r/y/q "%UGOPEN_VS_FILES%\VC\*.*" "%MS_VS_DIR%\Common7\IDE\VC\" xcopy /i/e/k/h/r/y/q "%UGOPEN_VS_FILES%\VB\*.*" "%MS_VS_DIR%\VB\" xcopy /i/e/k/h/r/y/q "%UGOPEN_VS_FILES%\VBVBWizards\*.*" "%MS_VS_DIR%\VBVBWizards\" " E* _" W! [# W3 e [% u8 S; I* Y
没错,我们需要注意的是用C++进行二次开发时候的目录。
( O N, c) z, ?7 X* @: p, Q5 i5 K
关于VS2017的安装,这里稍微啰嗦下,毕竟版本还是有点儿变化。如果你要使用VB,VC,C#,那么果断把这些都选上吧。通过工具--》获取功能与扩展,可以随时安装想需要的模块。
* S4 e0 O1 U! b d; h; e+ r * Q+ _! l" Y5 N; V. a1 ^
打开VS2017,新建项目,你将会看到,这样的界面,模板证明可以创建了。
. x' x. t: Q: f$ x. K5 _8 r, R& S/ S; N4 h 登录/注册后可看大图通过向导,完成后,直接进行编译,你会发现一切正常。 你也许运气好,加了一行代码,编译成功,还弹出了,hello plmhome。 但是别高兴太早,大部分人可能是编译出问题的,接下来我们说下经验的事情(如果没看到这里,那就是没缘分哦,好嗨哦!)
% ~- v9 o L+ O z(1)如果你安装多个NX版本后,注意默认的模板,读取的都是本地$(UGII_BASE_DIR)\ugopen这个目录下面的lib库和相应的开发库,那么问题来了,我怎么知道现在这个环境变量是正确的NX开发版本需要的呢?还有一个问题就是,lib库引入的是否完整,是否是对应的NX版本呢? 尤其对于多个NX版本,同一个VS版本进行开发的时候,如何进行处理,当然每次在项目环境目录下一个个去修改也可以,但是是不是不够快呢? 解决办法很简单,其实我们只需要去把模板进行修改就可以了,这样的话,每次创建的都是正确的配置,看看目前VS2012 环境配置有这么多版本,但是每次都能够正确的调用对应的NX版本库进行开发,先看下: 这里不是直接拷贝模板过来就完事了,因为你拷贝完,调用的默认路径就是UGII_BASE_DIR下面的,并不是对应版本的内容。怎么办? (1)找到VC目录下的模板:C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCWizards\NXOpenCPP\scripts\1033\default.js 和 C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCWizards\NXOpen\scripts\1033
7 I7 Q( B$ e0 \7 t! v0 B- ^将所有的含有UGII_BASE_DIR路径的全部改成绝对路径 比如:"C:\\Siemens\\NX1847\\ugopen"; 这样就保证了,这个模板会调用NX1847的ugopen目录,而不是不确定的UGII_BASE_DIR。 - z1 I+ Q- Q/ d% D f! L
其他模板类似。 (2)关于引入库,不用担心,因为发现新版本的JS通过代码的方式自动加载了所有和NX开发相关的lib库,细心之处可以想象,本来还想给大家show下经验的。 if(FSo.item().name.maTCh("^"+nxopencppName)==nxopencppName) //check if file name start with libnxopencpp if(FSo.item().name.slice(FSo.item().name.lastIndexOf(".")+1).toLowerCase() == "lib") //check if file has '.lib' as an extension { linkLibs = linkLibs + " " + FSo.item().name; } $ c% V }% \' Z( B9 F$ V
正确的引入后,效果如下啦,再通过模板创建就不用担心了!
" x7 h! r& S F) N- `# }0 S% G
(3) JA 的录制是二次开发最实用,最不用动脑子的过程,既然你已经选择了适合的开发语言,为何不把录制JA设成默认的语言呢?方法如下啦:NX首选项--》用户默认设置,启动NX后就生效了。 (4)关于NX版本和VS对应版本的问题,这里我只是建议下,诚然你可以用一个适合你的版本去做开发,但是建议还是和官方对应的版本靠齐,避免不必要的问题。PLM之家网站上有详细的linux,macos,windows不同版本的编译器和IDE说明可以去参考! (5)还有的再说啦,困觉!!! $ ~# Z! @9 Q& k
END PLM之家plmhome ! A9 L$ Y! y+ W- S9 m) p7 R
▲长按二维码“识别”关注 4 t! _4 }3 e$ l# g
% |, F7 ? [/ h1 S+ l' }9 Y0 b+ H, j
1 t% A4 p7 |& P, K& ~/ u) ]/ K$ W
|