Creo二次开发的心路历程

2023-12-21 17:08

本文主要是介绍Creo二次开发的心路历程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

对于Creo二次开发,很早之前就想尝试,之前也是尝试了很多次,但是都以失败告终。究其原因:
        1.可参考的资料太少,只有官方文档和少的可怜的一些入门资料,而且大多数开发都是基于Visual Studio,而VS对于我这个非专业人士过于复杂,光是toolkit入门都很难,连自带的示例都编译不过。
        2.官方文档都是纯英文,而且需要一定的编程基础。对于基础并不扎实的我,在一开始根本看不懂
        由于上述的种种原因,导致了我一次有一次的尝试,然后又一次有一次的失败,直到我发现了这个网站:https://www.hudi.site​​​​​​​,终于让我摸到了Creo二次开发的大门。接下来我就讲一讲我最后一次尝试的一些过程,希望对想学习Creo二次开发,又像我开始那样不知道如何下手的人有一丢丢帮助。
        我认为我成功的最主要的原因就是发现了Python+VBApi的异步开发模式,相关教程在我上面提到的网站上有。这个模式最大的好处就是Python和VBApi都足够简单,但是VB本身的太难用,而加上Python这个外壳之后,一切就变得容易起来。在这个过程中,对Creo内置对象的一些使用逻辑的认识会慢慢清晰起来,使得对二次开发的入门不再卡在编译阶段就进行不下去了。
        经过一段时间的开发,渐渐发现了这个模式的一些弊端,只能用异步模式,而且VBApi本身的功能也有限,对Python的接口实现似乎也不完整,这就导致只能实现一些很简单而且没什么用的功能。这时候我又开始研究Python是如何实现VBApi的,幻想着可以增加一些功能,事实证明,图样图森破。
最终在基本完成了两个Python插件之后决定暂时搁置,开始研究otk和toolkit。这里要再次感谢上面网站的作者,无意间在他的网站中发现了一篇官方例程的正确打开方式:makefile。虽然还是要依靠VS,但是有了makefile就不用去管VS的设置,使得编译变得更加简单快捷。其实在官方文件中也有提到过makefile编译的方法,但是之前一直都不知道这是在干嘛,直到这篇文章的出现。
        按照文章中的方法,很快就将例程编译成功了,这让我对后面的学习信心大增。后面又开始研究makefile,同时还发现了VSCode这个离奇。最终通过VSCode+nmake打通了编译这条路。至此,算是打通了Creo二次开发的任督二脉了。
        个人认为,二次开发这东西,最重要的就是要有例子,然后先去抄,一个字一个字的抄,然后去编译运行,等这条路走通了,你也就基本了解了二次开发的基本流程。剩下的就是根据自己的需求,寻找实现需求的方法。刚开始可能比较懵,就像我想创建一个Line特征,我还要先去创建pfcDetailEntityInstructions_ptr,然后在转成pfcDetailCreateInstructions_ptr,像这样的转换到处都是。开始不理解没关系,用着用着就明白了。
        二次开发这条路上我自己走了很多弯路,也做了很多无意义的尝试,万幸,最终还是成功了。算是成功了吧,虽然还没有完全掌握,但是自己想要的功能基本上都能做出来了。每完成一个功能都是成就感满满,这种快感只有身在其中的人才能体会了。
        下面是我自己写的一个比较完整的插件,源码、makefile和VScode的配置都在里面了,感兴趣的可以直接拿去入门。C++基础不好,源文件可能会有些乱,但是入门足够了。后面的开发可能要暂时搁置,或者放慢速度,欢迎对二次开发有兴趣的朋友一起交流学习,大家一起进步。
源码:CreoEx: Creo二次开发

这篇关于Creo二次开发的心路历程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/520816

相关文章

Superset二次开发之Select 筛选器源码分析

路径:superset-frontend/src/filters/components/Select  源码文件: 功能点: 作用 交互 功能 index.ts作为模块的入口点,导出其他文件中定义的主要组件和函数。它使其他文件中的导出可以被外部模块使用。 SelectFilterPlugin.tsx 定义主要的插件类 SelectFilterPlugin 和组件 Sele

了解elementUI的底层源码, 进行二次开发

Element UI 是一个基于 Vue.js 的桌面端组件库,广泛用于构建美观、交互友好的用户界面。要深入理解 Element UI 的底层源码并进行二次开发,你需要掌握以下几个关键点: Vue.js 原理 Element UI 是基于 Vue.js 构建的,因此首先需要熟悉 Vue.js 的核心概念和机制,包括: ● 组件系统:Vue.js 的组件化思想,如何定义组件、使用组件、传递属性和事

关于武汉高芯coin417G2红外机芯的二次开发

文章目录 前言一、外观和机芯参数二、SDK的使用1、打开相机2、回调函数中获取全局温度和图像3、关闭相机 前言 最近工作中接触了一款基于武汉高芯科技有限公司开发的红外模组,即coin417g2(测温型)+9.1mm镜头.使用此模组,开发了一套红外热成像检测桌面应用程序.下面简单记录下该模组的使用. 一、外观和机芯参数 如下是该机芯的外观和机芯参数: 二、SDK

NX二次开发—进阶(二)

一、创建圆弧 在NX上通过代码画出圆弧,定义起始和终止位置,还有圆心位置和半径 创建圆弧,需要获取CSYS的矩阵ID,通过UF_CURVE_create_arc函数进行创建 //定义参数UF_CURVE_arc_t arc;arc.start_angle = 0.0;arc.end_angle = 225 * DEGRA;//DEGRA=PI/180//中心坐标arc.arc_center

NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南001

由于需要对NFI进行汉化,以及二次开发,首先要下载源码以后编辑通过,NIFI的源码,项目非常多,编译过程中需要编译超过570个jar包,同时编译过程很慢需要30多分钟. 1.首先下载NIFI源码,根据需要下载对应版本: https://github.com/kemixkoo/orchsym-runtime/   首先介绍一下,这个是一个公司根据nifi进行定制开发的,已经汉化,但是不能商

NX二次开发——进阶(一)

一、链表及相关函数的用法 函数说明UF_MODL_create_list创建一个链表,并返回链表的头指针UF_MODL_put_list_item插入元素到链表中,不检验对象是否重复,或者已经存在UF_MODL_ask_list_count获取链表对象数量,从头开始遇到null_tag结束UF_MODL_ask_list_item查询链表对象标识,给个位置返回标识UF_MODL_delete_l

​​NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南002

继续,执行pom.xml引入依赖以后,发现以下几种报错: 可以看到在下载aws-java-sdk-bundle 1.12.710版本的时候报错了 可以看到日志信息,就是在阿里云上下载的,因为阿里云上缺少这个jar包 aws-java-sdk-bundle-1.12.710.jar 这个jar包,我还特意去阿里云上查询了一下 https://developer.aliyun.com/

恋爱相亲交友系统源码原生源码可二次开发APP 小程序 H5,web全适配

直播互动:平台设有专门的直播间,允许房间主人与其他异性用户通过视频连线的方式进行一对一互动。语音视频交流:异性用户可以发起语音或视频通话,以增进了解和交流。群组聊天:用户能够创建群聊,邀请自己关注的异性朋友加入,以便进行多人在线交流。虚拟礼品赠送:平台提供多样化的虚拟礼物,不同礼物有不同的价值,用户可以用来表达好感或支持。私人消息:异性用户之间可以互相发送私人信息,不过平台为了维护用户体验,对

UG二次开发CreateDialog函数在UI.hxx文件和WinUser.h中的冲突

文章出自https://blog.csdn.net/qq_41843732/article/details/91422764 在UG二次开发中,若使用MFC库,一旦加上#include<Afx.h>头文件,下面这句话就报错 theDialog = GetPoints::theUI->CreateDialog(theDlxFileName); 解决CreateDialog函数在UI.hx

PHPCMS 二次开发技巧

1.如果要对已存在的控制器进行二次开发,为了方便升级不建议直接对内核文件直接修改该,您可以通过"MY_*.php"的形式进行二次开发。 例如您要对改phpcms/mood/index.php进行二次开发。您可以在与index.php同级的目录下建立"MY_index.php"  MY_index.php代码如下     <? php        class