请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
+ S9 F# b- ?& K& b二次开发环境搭建 先生们女士们: 让我们一起来学习下新版本基于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\"
2 }& v' t7 [2 U4 e5 V& w+ L0 c 没错,我们需要注意的是用C++进行二次开发时候的目录。 $ S9 ]) z2 t- |, O
关于VS2017的安装,这里稍微啰嗦下,毕竟版本还是有点儿变化。如果你要使用VB,VC,C#,那么果断把这些都选上吧。通过工具--》获取功能与扩展,可以随时安装想需要的模块。( b# [/ C! r3 p. X) G' N+ e0 d
, [ p6 q1 z# F# g) G& I" ^9 r打开VS2017,新建项目,你将会看到,这样的界面,模板证明可以创建了。 通过向导,完成后,直接进行编译,你会发现一切正常。 你也许运气好,加了一行代码,编译成功,还弹出了,hello plmhome。 但是别高兴太早,大部分人可能是编译出问题的,接下来我们说下经验的事情(如果没看到这里,那就是没缘分哦,好嗨哦!) & q S0 z* f+ ^! s8 {) ]
(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
( i& I7 J' q5 \1 _% W将所有的含有UGII_BASE_DIR路径的全部改成绝对路径 比如:"C:\\Siemens\\NX1847\\ugopen"; 这样就保证了,这个模板会调用NX1847的ugopen目录,而不是不确定的UGII_BASE_DIR。
6 \# G& L8 ~) U% n# U) ~ O# C( b- T其他模板类似。 (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; } ' s6 U# x2 C9 p, k6 x
正确的引入后,效果如下啦,再通过模板创建就不用担心了! . _+ J1 B- F+ w- v1 f+ p
(3) JA 的录制是二次开发最实用,最不用动脑子的过程,既然你已经选择了适合的开发语言,为何不把录制JA设成默认的语言呢?方法如下啦:NX首选项--》用户默认设置,启动NX后就生效了。 (4)关于NX版本和VS对应版本的问题,这里我只是建议下,诚然你可以用一个适合你的版本去做开发,但是建议还是和官方对应的版本靠齐,避免不必要的问题。PLM之家网站上有详细的linux,macos,windows不同版本的编译器和IDE说明可以去参考! (5)还有的再说啦,困觉!!! + \$ X7 g4 k" P7 h* n$ _1 f7 U
END PLM之家plmhome
4 s5 j* _% R( T r/ L# m▲长按二维码“识别”关注
( F3 ?# R0 k+ s8 S# w
3 B$ [: W5 Q$ k& ?2 b6 N6 q
! P2 Z0 n1 O* v) ]" b |