first commit

This commit is contained in:
admin
2026-08-10 23:13:58 +08:00
commit a025f66aea
993 changed files with 90285 additions and 0 deletions
+115
View File
@@ -0,0 +1,115 @@
======================================================================
资源中心管理器 V1.2 — 开发技术文档
2026-07-29
======================================================================
一、项目概述
--------------------------------------------------
项目:资源中心管理器 (Res_center)
类型:Creo Pro/TOOLKIT DLL 插件
功能:标准件库浏览、3D 预览、搜索过滤、快速装配、LIC 授权
语言:C (核心) + C++ (preview.cpp)
编译器:MSVC 2022 | SDK:Creo 8.0 PTK | 平台:Win10/11 x64 | Creo 7.0+
二、源文件
--------------------------------------------------
src/main.c (50行) DLL入口,路径初始化
src/dialog.c (1080行) 主对话框(TreeView+Parts+Preview+FT+Search+LIC)
src/menu.c (73行) Creo命令注册(2个命令)
src/assembly.c (624行) 装配逻辑 + 参数化对话框
src/preview.cpp (223行) OpenGL 3D 预览
src/license.c (250行) MAC激活(源码保留,未编译)
include/res_center.h (84行) 公共头文件
tools/keygen_lic.c LIC授权文件生成器(Metro UI + BGM)
tools/configen.c protk.dat自动配置器(Metro UI)
tools/build_lic.bat keygen编译脚本
tools/build_config.bat configen编译脚本
三、Creo命令(2个)
--------------------------------------------------
RL_Ico2 资源中心 → 对话框 + 插入装配
RL_Ico3 资源中心(参数定位) → 对话框 + 参数窗口(X/Y/Z/RX/RY/RZ)
四、核心技术
--------------------------------------------------
【4.1】零件发现 — LoadParts()
直接扫目录 *.prt / *.prt.* / *.asm / *.asm.* → 提取基名 → 去重保留最高版本
【4.2】全局搜索 — SearchDirRecursive()
搜索框 → 递归全库匹配文件名 → 显示结果
【4.3】3D 预览 — OpenGL
ProPartTessellate → 三角面片 → glDrawElements
装配体:ProSolidFeatVisit → ProAsmcompMdlGet → ProAsmcomppathInit → ProAsmcomppathTrfGet
3点光 + 双面光,灰蓝材质,中灰背景,鼠标旋转/缩放
【4.4】对话框布局
TreeView(300固定) | 按钮+搜索+零件列表(35%) | GL预览+族表+按钮(65%)
【4.5】收藏/最近使用
config\favorites.txt, config\recent.txt,MRU去重
【4.6】LIC授权
文件:config\lic\res_center.lic
算法:MAC → 去横线 → A=01 B=02 ... Z=26 → 倒序
验证:选中零件时检查LIC → 不匹配则隐藏"插入装配",显示"LIC文件不正确"
工具:tools\keygen_lic.exe (Metro暗色UI + poemstear.mp3背景音乐)
五、已知限制
--------------------------------------------------
超大模型(>500万顶点) → 提示"模型过大,已取消预览"
旧版 .prt → 部分文件 ProPartTessellate 失败
装配体阵列实例 → Pattern 成员待完善
组件替换/删除 → PTK DLL 不支持(参见附录A)
六、已修复 Bug
--------------------------------------------------
最近使用/收藏模式崩溃 → ApplyFilter 递归断环
文件路径双 config → FAV_FILE/RECENT_FILE 修正
参数对话框无确定按钮 → 英文→中文,对话框加高
搜索框上边框缺失 → WS_EX_CLIENTEDGE 替换 WS_BORDER
Insert 按钮中文被截 → 200×50 加宽居中
七、工具说明
--------------------------------------------------
tools\keygen_lic.exe LIC授权文件生成器(Metro暗色UI + 背景音乐)
tools\configen.exe protk.dat自动配置器(一键生成)
部署时放在DLL同目录运行
======================================================================
附录A:组件替换开发记录(已暂停)
======================================================================
需求:装配环境选中组件 → 从资源中心选新零件 → 删旧换新
结论:PTK DLL 不支持装配树修改
尝试方案:
ProFeatureDelete → 链接失败(库未导出)
ProFeatureSuppress → 运行时崩溃
ProFeatureWithoptionsDelete → 运行时崩溃
ProMacroExecute(ProCmdMdlTreeDelete) → 运行时崩溃
ProSelect+先装后删 → 状态冲突
后续:研究 Creo 原生 Replace 命令名或 OTK/同步模式
======================================================================
附录B:LIC 授权规则
======================================================================
算法:
MAC "AA-BB-CC-DD-EE-FF" → 去横线 "AABBCCDDEEFF"
→ A=01 B=02 ... Z=26 → "010102020303040405050606"
→ 倒序 → "606050504040303020201010"
= LIC 文件内容
生成:keygen_lic.exe AA-BB-CC-DD-EE-FF res_center.lic
部署:res_center.lic 放入 config\lic\