这段时间有比较多的人问到我这个问题,自己想学,又怕学不会,到底要具备怎么样的基础才可以学习NX二次开发,今天我就简单梳理一下,帮助想学的人参考。
一、二次开发有什么用
        高大上的词语,我也不会说。一句话:它能提高工作效率,规范设计。大公司都在搞标准化,很多人都讨厌,你可知道你讨厌的同时,你就是未来那个被淘汰的人。当某一类型的零件标准化到一定的程度时,就可以工具化了,然后任何刚毕业的学生,经过不到一周的培训就可以上岗作业,余下留几个核心的技术老员工,就可以了,你就可能失业了。所以,当你在报怨你薪水低的时候,也应该认清自己做的工作到底有多少技术含量。

二、为什么要来学二次开发
        网上外挂一大把,为什么自己还要学?我的看法有两点:
        1、别人开发的,不一定是你想要的,一套外挂里面你可能就那么两三个用到,并且功能还不一定完全满足你。
        2、提高自己未来竞争能力。找过工作的人都知道,两个能力差不多的面试者,公司一般选那个学历高的,同样的道理,两个设计工程师能力差不多,公司肯定会选这个稍懂点二次开发的,毕竟他能为团队提高工作效率。

        建议:不是计算机专业毕业的,不建议把二次开发作为专职。专职需要的能力会更高一些,理论是这样,实际现实社会可能也不一定是这样的,毕竟一个项目下来,也不是你一个人做,是一个团队,搞不好,那些团队员工的开发能力还不如你。所以根据自己的情况吧,有兴趣,年轻,有机遇,想搞专职也是可以考虑滴。

三、学习二次开发需要的基础
       1、计算机操作基础
       如果你连电脑文件扩展名怎么修改,怎么显示出来,怎么打开.dat类型文件,怎么修文件的只读修性,复制和剪切都分不清等等,这类基础到掉渣的问题,都操作不对的话,我就建议,不要学了,早点回家带娃。
       2、思维能力
       如果你是一个喜欢钻牛角尖,做事没有什么逻辑能力的人,早点放弃,不要学了,至少不要来跟我学。
       3、心理素质
       有一种人,巴不得搞两天,就能搞个工具出来。不是说没有可能,如果你不是那种智商超高,或者有一定基础的话,就不要想了。学习要坚持,又不想花时间学,记忆力又不行,又不愿意做笔记,也不愿意动手,就想过段时间就会了。这种人也不要学了,没有人愿意教你。
       4、NX基础
       想学二次开发,得有一定的NX软件操作基础,这个基础,是根据你未来要开发哪方面工具有关的,比如你想搞加工方面的二次开发,你就得对NX加工模块比较熟悉。大部分人都是先从建模开始的,所以建模模块,常用的那几十个命令,你总得会吧?一些软件的基本操作,你总得知道吧?不知道的话,也可以学,只是花的时间久点,然后要多问。
       另外:对NX软件相关对象要有一定的认识,比如什么叫实体,片体,基准,面,边,轴,线,点,特征,部件,组件,过滤,选择意图等等,这些名词对应NX里面是什么东西,你得知道一点。如果你连特征和实体,片体,都区分不了,那学二次开发,就得花更多的时间学会。
       5、英语水平
       英语水平,这是硬伤,大部分男的,都不怎么样,我英语也是烂得一塌糊涂。英语的话,常见单词你认识就可以了,不认识也没有关系,现在工具发达,自己用工具翻译,只是学习的进度会慢一点而已。像body feature face edge sheet part block 等等,这样的常见单词,你能知道,就差不多了。
       6、计算编程语言
       二次开发时,可以用很多编程语言的,C C++ JAVA VB  python KF GRIP 这些都可以,比较流行的是用C与C++,所以这里说一下这方面要达到什么样的基础。
       只是上过大学,学的是理工科,应该是学过C或者C++的,你能当时考极格,来搞二次开发,绝对不是问题。
       不需要你C与C++里面所有的知识都会,也不是会了所有的,就会二次开发了;
       关于C语言里面,要掌握的基础知识如下:(只需要学这些)
       ① 学会基本数据类型。这里包括,什么是常量,什么是(全局)变量,变量的初始化,赋值,枚举类型,什么是一维数组,二维数组,包括它们的赋值,表达式,+ - * / 还有与或非是怎么表达的,了解一下,运算优先级。(暂时不要学进制的转换,很少用到的。)
       比如:整型,浮点型,字符串怎么定义与赋值,浮点型怎么转成字符串等,这些基础问题要会。(不看书,可以网上搜的)  
       ② 流程控制语句。 包括条件语句,循环语句,(转向语句,可以不学)。具体讲,就是要学会 if else  for循环 while 以及do while的用法。
       ③ 了解一下,结构体是怎么获取里面的内容,这个只要了解一下就可以了,不学也可以,在二次开发时,直接.(点)就可以了。这就是结论性的东西,不是IT专业的,你只要记结论性的东西,会用就可以了,一定要搞懂为什么,我的名言就是:为什么就是规定。
       ④ 尽量学会自定义函数。其实也没有难度,看书,很坑,几句话就可以总结的。
       ⑤ 了解一下指针的概念及类的概念。不用深入,连搞IT的人都说指针很难的。你只要长相是什么样子的是指针,然后知道有取址这样一种说法就可以了。


四、其它
        暂时,就学这么多C与C++的基础就可以了。一般相关的书,第一章,都是讲计算机发展史,第二章,就会讲数据类型,第三章就是流程控制语句,后面就是函数之类的,买一本书,大概看前面五六章的样子就可以了,切记:后面的先不要看。
        先入门,有问题,跟别人一起讨论,自己也要学会网络搜索,就会发现,这个很简单。
        英文单词,不用背的,只记住前面几个字母就可以了,因为编程的时候,输前面几个字母,下面可以直接选的,VS软件自带这样的功能。
        只要你具备上面这些基本知识,你只差一步,就是学会查UFUN与NXOPEN C++的相关帮助资料,如何看懂它,然后用它。这些都是有规律和方法的,并且不用记的规律。
       其实,以上这么多,在我眼里,都不是问题,问题就两点:
① 有没有兴趣学;
② 是否愿意花时间学。另:学习最好带目的性,有些人今天在网上看到一个这个,想搞一下,没有搞出来,明天又看到另外一个东西,想搞一下,又没有搞出来,结果过了几个月,啥都没有搞出来。