请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
B: o& u$ l0 L
二次开发环境搭建 先生们女士们: 让我们一起来学习下新版本基于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\" / o* U; t' u( F, z6 B! F. F
没错,我们需要注意的是用C++进行二次开发时候的目录。 * F2 J$ f4 E% M& t5 V
关于VS2017的安装,这里稍微啰嗦下,毕竟版本还是有点儿变化。如果你要使用VB,VC,C#,那么果断把这些都选上吧。通过工具--》获取功能与扩展,可以随时安装想需要的模块。
; |* Z+ |! E8 y$ Z
9 r( p3 m/ j$ D N打开VS2017,新建项目,你将会看到,这样的界面,模板证明可以创建了。 通过向导,完成后,直接进行编译,你会发现一切正常。 你也许运气好,加了一行代码,编译成功,还弹出了,hello plmhome。 但是别高兴太早,大部分人可能是编译出问题的,接下来我们说下经验的事情(如果没看到这里,那就是没缘分哦,好嗨哦!)
# P0 {8 ~2 ^) e8 k' Z! O(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 ( q- H2 y( U" Y: e+ j
将所有的含有UGII_BASE_DIR路径的全部改成绝对路径 比如:"C:\\Siemens\\NX1847\\ugopen"; 这样就保证了,这个模板会调用NX1847的ugopen目录,而不是不确定的UGII_BASE_DIR。 6 X$ S) N, P; d8 M, R9 G
其他模板类似。 (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; }
7 F/ r" K9 u4 L$ B- { F0 U9 ^正确的引入后,效果如下啦,再通过模板创建就不用担心了! ) @. A8 \3 G1 Q) N8 d( a
(3) JA 的录制是二次开发最实用,最不用动脑子的过程,既然你已经选择了适合的开发语言,为何不把录制JA设成默认的语言呢?方法如下啦:NX首选项--》用户默认设置,启动NX后就生效了。 (4)关于NX版本和VS对应版本的问题,这里我只是建议下,诚然你可以用一个适合你的版本去做开发,但是建议还是和官方对应的版本靠齐,避免不必要的问题。PLM之家网站上有详细的linux,macos,windows不同版本的编译器和IDE说明可以去参考! (5)还有的再说啦,困觉!!!
3 D3 b0 P+ I" g$ BEND PLM之家plmhome
: U5 w9 P, Q- \: u) D( P; d▲长按二维码“识别”关注 E& [" c* |( D
8 G9 w1 R' y( V8 [9 ?2 u
" M8 r9 d9 d o. T, P7 {4 t* [ |