自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 问答 (1)
  • 收藏
  • 关注

原创 MySQL与SQLite差异点

列名标识MySQL:`column_name`SQLite:[column_name]MySQL中所有派生表必须有别名,SQLite不用使用Group By时,MySQL要求所有查询列名均出现在group by中,或者为聚合函数。

2023-10-30 19:33:32 182

原创 SQL实例

【代码】SQL实例。

2023-10-24 17:27:30 142

原创 sqlite基础操作

SELECT为SQL中最常用语句,上面示例为最基础应用。后面可增加条件更改特定行,没有条件则更改所有行。

2023-10-21 16:53:04 278

原创 Creo二次开发-otk_cpp环境搭建

【代码】Creo二次开发-otk_cpp环境搭建。

2023-05-06 20:15:20 1322 2

原创 Creo 二次开发-异步开发调试

环境变量异步开发中,需要在系统环境变量中添加 PRO_COMM_MSG_EXE,对应值为\Common Files\x86e_win64\obj\pro_comm_msg.exe 的绝对路径。启动 CreopfcAsyncConnection::Start()start 函数有两个参数,CmdLine 和 TextPath。其中 CmdLine 为 parametric.exe 的绝对路径+启动参数。启动参数有两个:-g:no_graphics–后台启动,不显示图形界面-i:rpc_inp

2022-03-13 17:01:31 2738 4

原创 Creo 二次开发-尺寸位置排序算法

在对工程图中所有尺寸进行自动球标标注时,对尺寸位置的排序是一个很关键的问题。基本思路:按视图位置从左到右、从上到下排序以当前视图中心为原点建立极坐标系,按逆时针排序对于相邻尺寸位置顺序进行优化按视图位置排序这里面存在一个问题:当视图为局部显示的时候,视图中心并非实际显示的中心,这时候会出现一些异常,例如:当 AB 两个视图在图纸上是上下对齐,A 在上 B 在下,按正常排序 A 中尺寸序号应该在 B 中尺寸序号的前面,如果这时候其中一个使用了局部视图,导致视图中心 A 在 B 的右侧,这样 B

2022-02-24 16:02:58 1710

原创 C++vector 越界异常

vector 并不像数组有明确的边界,当指针指向我们定义的 vector 之外时,c++并不会抛出异常,这时的指针就成了野指针。这时候就发生了一些有意思的事情,按道理说用自己定义的类创建 vector,野指针指向的区域应该不会有内容,就算有也不会是自定义类_data。而下面程序运行时,(it-1)->index 却总能输出内容,后面的(it-1)->data 就卡住,直到程序退出。不知道是不是因为我用的类名和变量比较特殊。还有更有意思的是居然有一次跳过了第一条,后面正常输出了。所以,后面在

2022-02-24 15:13:16 3260

原创 Creo 二次开发-Excel 读写

BasicExcel使用 BasicExcel 库实现读写 Excel 文件,该库可以实现 Excel 文件的基本操作,中文支持良好,不依赖其它应用程序。下载地址:http://shell.franken.de/svn/sky/excel/trunk/基本操作:该库使用命名空间为 ExcelFormat,为方便使用将命名空间重命名为 BE初始化BE::BasicExcel wb;wb.New(1); //初始化一个workbookBE::BasicExcelWorksheet *ws = w

2022-02-21 19:50:23 1520 3

原创 C++字符串

​多字节和宽字符C++中只有两个字符类型 char 和 wchar*t,其它所有类型都是这两个类型的别名。如typedef char CHAR;、typedef \_Null_terminated* CHAR *NPSTR, *LPSTR, \*PSTR;等。有人说 wchar_t 表示 Unicode 字符,char 表示 ANSI 字符。这个说法我觉得对,也不对。以我目前对字符的认识来看,char 和 wchar_t 只标识字符在内存中的占位宽度,与编码格式无关。其中,一个 char 占 1 个字

2022-02-20 21:05:53 642

原创 Creo 二次开发-清理历史版本

利用自带的 purge.bat 可靠性更高,自己写的程序从逻辑上应该是没有问题的,没有仔细研究过自带的 purge.bat,不知道里面是否带有文件校验。理论上来说,清理历史版本只是根据文件最后一个后缀的大小来确定保留那个文件,这一逻辑是否存在 bug 还需要继续测试。方法一:利用 powershell 优化 Creo 自带 purge.bat该方法在代码上很简单,先利用 purge 清理历史版本,然后再重命名小版本为 1。印象中 Creo2.0 自带的 purge.bat 是可以直接复制到相应目录双

2022-02-20 17:07:07 4587

原创 #Creo 二次开发-字符串

以下内容为本人在程序开发过程中遇到的问题及相应解决方法,可能有不正确或不准确的地方,欢迎指正。wchar_t 输出宽字符类型要本地化,否则输不出想要结果。本地化有三条语句可以使用,任取其一。最后一句是全局函数,前两个是 wcout 的一个成员函数的两种表达方式。std::wcout.imbue(std::locale(“chs”));std::wcout.imbue(std::locale(""));setlocale(LC_ALL,“Chinese-simplified”);中文字符控制台输

2022-02-19 19:31:24 872

原创 Creo 二次开发-自动标注球标

基本思路检索所有模型尺寸按照位置对尺寸进行排序检索球标模型遍历尺寸,根据尺寸类型和占位宽度计算球标和尺寸的相对位置创建顺序球标程序实现检索尺寸前先判断当前环境是否为绘图环境,如果不是则直接退出。下面函数可以判断当前环境。int CheckEnv(int count, ...){ pfcSession_ptr session = pfcGetProESession(); pfcModels_ptr Models = session->ListModels();

2022-02-19 08:59:26 5003 5

原创 Creo二次开发-protoolkit自带实例使用

介绍Creo3.0 自带 protoolkit 实例,修改 makefile 并编译makefilemakefile 文件所在目录<creo_toolkit_loadpoint>\x86e_win64\obj在 vscode 中将文件名改为 makefile 可以自动识别为 makefile 文件makefile 中 C 盘下带空格目录要使用 dos 段格式,如 PROTOOL_SRC = C:/PROGRA~1/PTC/CREO3~1.0/M130/COMMON~1/PROTOO~

2022-02-17 13:55:37 3748

原创 Creo 二次开发-自动生成 dat

用途对二次开发过程中用到的功能进行梳理过程中,将单个完整的功能单独拿出来整理成一个独立完整的 dll,便于后期整合应用,也方便分享。在这一过程中每完成一个功能就要写一个 dat 文件,比较麻烦。于是就用 C++写了一个可以批量生成 dat 文件的小程序。可以根据当前目录下存在的 dll 来生成对应 dat 文件数据行代码递归遍历当前目录下所有文件及其子目录下文件,遇到*.dll 则生成相应的数据行。void GenDatFile(const wchar_t *path, ofstream *file

2022-02-17 09:38:01 1017

转载 可变参数的函数

可变参数的宏函数声明int CheckEnv(int count, ...);函数声明与普通函数声明方式类似,只是参数列表中第一个参数 count 标识参数数量,…为实际参数列表参数读取va_list ap;va_start(ap, count);for (int i = 0; i < count; i++){ if (Model->GetType() == va_arg(ap, pfcModelType)) { EnvFlag = 1;

2022-02-16 17:00:51 185

原创 Creo 二次开发-UI 开发(3)表格

创建表格在 UI Editor 中添加表格控件,函数 uifcTableFind()获取表格句柄。xstring tablename = "table";uifcTable_ptr table = uifcTableFind(dialogname, tablename);table->AddActionListener(new MyTableListener());SetColumnNameArray()、SetColumnTextArray()、SetRowNameArray()、

2022-02-15 16:42:20 1259

原创 Creo 二次开发-UI 开发(2)常用控件

uifcPushButton常用动作:OnActivate()——点击按钮触发OnMouseEnter()——鼠标悬停触发OnMouseExit()——鼠标离开触发按钮可以在 UI Editor 中创建,toolkit 中直接用 uifcPushButtonFind()获取句柄。uifcPushButton_ptr btn_workdir = uifcPushButtonFind(DialogName, "btn_workdir");btn_workdir->AddActionL

2022-02-11 16:41:48 2559

原创 Creo二次开发-UI开发(1)创建会话

简介Creo Object Toolkit C++用户手册中提到,Creo3.0及以上版本中,the Creo UI Editor可以自己设计UI界面,uifc框架可以在toolkit中使用。具体参考the Creo UI Editor C++用户手册。上述提到的UI Editor为Creo自带的UI设计软件,和常用的一些UI设计工具,如QT类似。具体的一些属性参数在UI Editor的用户手册中有介绍,但是信息有限。UI Editor可以保存.res文件,可以利用该文件在toolkit中创建会话。刚开

2022-02-09 18:12:41 2740

原创 C++vector

头文件#include <vector>#include <algorithm>#include <iterator>创建和初始化参考文章:https://blog.youkuaiyun.com/sss_369/article/details/88360769vector list1; //默认初始化,最常用vector list2(list);vector ilist2 = ilist; //拷贝初始化vector list = {1,2,3.0,..

2022-01-25 15:39:45 387

原创 C++格式化输出

流输出操作符完整参考:http://c.biancheng.net/view/275.htmlLOG(LOG_INFO) << "Dimension: " << left << setw(10) << dim.GetDimension()->GetDimValue() << "Angle: " << left << setw(8) << dim.GetAngle() <.

2022-01-25 13:36:55 1115

原创 C++双向链表

最早开始接触C++大概是在07年,真正开始学是在12年。那时候给我留下的印象就是普通数组是静态的,动态数组创建贼麻烦,当时比较常用的实现方法是用链表。链表的原理很简单,但是实现起来也挺复杂的。后来又学习了Python,发现数组好简单而且很灵活。时隔多年,再次用C++写插件,对于数据结构的认识还停留在多年前。为了实现自建类型的动态数组结构,第一想到的还是链表。参照网上的例子自己写了一个完整的链表类,放在这里留个记录。现在的C++已经丰富了很多特性,其中vector就可以很轻松的实现。其实内部逻辑应该都是一样的

2022-01-25 08:51:17 798

原创 C++ 原始字符串

原始字符串——C++11新特性,VS2012不支持原始字符串将"(和)"用作定界符,并使用前缀R标识原始字符串:cout << R"(Jim "King" Try usese "\n" instead of endl)" << "\n";输出结果:Jim "King" Try usese "\n" instead of endl带括号的原始字符串,可以将"+*(和)+*"作为定界符:cout << R"+*(Jim "King" Try use

2022-01-24 16:27:36 1671

原创 Creo二次开发的心路历程

对于Creo二次开发,很早之前就想尝试,之前也是尝试了很多次,但是都以失败告终。究其原因: 1.可参考的资料太少,只有官方文档和少的可怜的一些入门资料,而且大多数开发都是基于Visual Studio,而VS对于我这个非专业人士过于复杂,光是toolkit入门都很难,连自带的示例都编译不过。 2.官方文档都是纯英文,而且需要一定的编程基础。对于基础并不扎实的我,在一开始根本看不懂 由于上述的种种原因,导致了我一次有一次的尝试,然后又一次有一次的失败,直到我发现......

2022-01-17 09:11:37 7663 15

原创 Creo二次开发-makefile

Creo二次开发,很多教程都是用VS。这个庞然大物用起来真的很麻烦,经常出现一些奇奇怪怪的东西。研究Creo二次开发手册发现,软件提供的示例都是带makefile文件的,开始也是在VS中利用makefile对源文件进行编译,但是还是觉得VS太难用了。现在,经过我的不屑努力,终于把直接可以nmake的makefile文件配好了。不过这个文件中有一个地方一直不太理解:@<<longline.list这个东西是个什么意思,请对windows下makefile有研究的朋友帮忙解惑。有了m

2021-12-21 18:36:50 2044 5

转载 C语言-变量

C 语言提供了typedef关键字,您可以使用它来为类型取一个新的名字。typedef unsigned char BYTE;在这个类型定义之后,标识符 BYTE 可作为类型unsigned char的缩写char是8位字符类型,最多只能包含256种字符,许多外文字符集所含的字符数目超过256个,char型无法表示。wchar_t数据类型一般为16位或32位,但不同的C或C++库有不同的规定,如GNULibc规定wchar_t为32位,总之,wchar_t所能表示的字符数远超ch...

2021-12-16 14:24:12 296

原创 Creo二次开发-VS版本对应

MSVC版本对应关系MSVC++ 4.0 _MSC_VER == 1000 (Developer Studio 4.0)MSVC++ 4.2 _MSC_VER == 1020 (Developer Studio 4.2)MSVC++ 5.0 _MSC_VER == 1100 (Visual Studio 97 version 5.0)MSVC++ 6.0 _MSC_VER == 1200 (Visual Studio 6.0 version 6.0)MSVC++ 7.0 _M...

2021-12-16 13:29:34 2222 2

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除