CAA 二次开发 —— 创建批处理应用

devtools/2024/11/8 11:05:05/

本文使用批处理方式连接 3DE 服务器创建会话来简单介绍批处理应用的创建方法。

目录

1、创建步骤(Step-by-Step)

1.1  新建 Module

1.2  新建 Class

1.3  编写 Class 源文件

1.4  添加模块和框架依赖

1.5  编译运行


1、创建步骤(Step-by-Step)

开始之前,首先创建一个 Workspace 和 Framework ,具体步骤详见 CAA 二次开发 —— 创建项目 ,也可以直接打开已有项目的 Workspace 和 Framework 。

1.1  新建 Module

在 Framework 下新建一个 Module (如:BatchMdl), Module 的类型选择 Executable (.exe) ,例如(图 1):

图 1

1.2  新建 Class

在 Module 下新建一个 Class (如:MyBatch), 例如(图 2):

图 2

点击添加后会弹出为 Class 设置父类的界面(图 3),直接点击 Finish

图 3

1.3  编写 Class 源文件

在本示例中我们不用类的特性,删除 MyBatch 中模板自动添加的构造函数和析构函数的实现。

首先在源文件中添加以下 3 个函数:

函数 CAAAdpCreateSession() 和 CAAAdpCloseSession() 是 CAA 用例中的函数(位于 CAADoc\CAAPLMClientAdapter.edu\CAAAdpUtilities.m\src 目录的 CAAAdpCreateCloseSession.cpp 文件中),本文直接拷贝使用,未作修改。

  • CAAAdpCreateSession():创建会话,用于测试是否成功连接到服务器,函数实现如下:
HRESULT CAAAdpCreateSession(const char* iRepository,const char* iServer,const char* iLoginTicket,CATBoolean iTrace){cout << " CAAAdpCreateSession" << endl;if (TRUE == iTrace){cout << "   Repository=" << iRepository << endl;cout << "   Server    =" << iServer << endl;cout << "   Login Ticket      =" << iLoginTicket << endl;}HRESULT rc = CATPLMSessionServices::SetPLMSessionParameter("Repository", iRepository);if (FAILED(rc)) { return 1; }rc = CATPLMSessionServices::SetPLMSessionParameter("Server", iServer);if (FAILED(rc)) { return 1; }rc = CATPLMSessionServices::SetPLMSessionParameter("LoginTicket", iLoginTicket);if (FAILED(rc)) { return 1; }rc = CATPLMSessionServices::InitPLMSession();return rc;
}
  • CAAAdpCloseSession():关闭会话,函数实现如下:
HRESULT CAAAdpCloseSession()
{HRESULT rc = CATPLMSessionServices::ClosePLMSession();return rc;
}
  • main():主函数,实现如下:
int main()
{HRESULT hr = CAAAdpCreateSession("PLM1","https://3ds.mydomain.com:443/3dspace", // 替换为自己的服务器域名"NkFFMENEMzUwODU0NDdBNjgyQkJGQUU5MkY0MjMxQjl8YWRtaW5fcGxhdGZvcm18fHx8MHw=", // 替换为自己的登陆票TRUE);if (SUCCEEDED(hr))cout << "连接成功" << endl;elsecout << "连接失败" << endl;CAAAdpCloseSession();return 0;
}

服务器域名在平台配置的连接属性中查看,例如(图 4):

图 4

登录票查看方法:使用 Web 端(浏览器)登录 3DSpace 后,点击左侧的体验配置 - 管理登录权证,再点击创建后可以看到生成的票据(图 5)。

图 5

然后在源文件中包含必要的头文件,具体如下:

#include "CATUnicodeString.h"
#include "CATPLMSessionServices.h"#include <iostream>
using namespace std;

1.4  添加模块和框架依赖

模块依赖如下(图 6):

WIZARD_LINK_MODULES = JS0FM \
JS0GROUP CATPLMComponentInterfaces
图 6

框架依赖如下(图 7):

<prerequisite name="CATPLMComponentInterfaces" access="Public" expose="ExposePrereq" />
<prerequisite name="SpecialAPI" access="Public" expose="ExposePrereq" />
<prerequisite name="System" access="Public" expose="ExposePrereq" />
图 7

1.5  编译运行

编译完成后生成 BatchMdl.exe 文件(图 8):

图 8

运行 BatchMdl.exe 文件需要加载相关的依赖库,将依赖库的路径添加到环境变量中,命令示例如下:

@echo offset path=D:\CAATest\win_b64\code\bin;D:\DSV6\B426\win_b64\code\bin;%path%BatchMdlpause

创建一个批处理文件,将上述命令拷贝到批处理文件中,双击批处理脚本运行效果如下(图 9):

图 9

本文通过批处理创建会话简单演示了批处理应用的创建步骤,如有错漏,欢迎留言指正。


http://www.ppmy.cn/devtools/132290.html

相关文章

【K8S系列】Kubernetes Pod节点CrashLoopBackOff 状态及解决方案详解【已解决】

在 Kubernetes 中&#xff0c;Pod 的状态为 CrashLoopBackOff 表示某个容器在启动后崩溃&#xff0c;Kubernetes 尝试重启该容器&#xff0c;但由于持续崩溃&#xff0c;重启的间隔时间逐渐增加。下面将详细介绍 CrashLoopBackOff 状态的原因、解决方案及相关命令的输出解释。 …

基于SSM+微信小程序的社团登录管理系统(社团1)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 2、项目技术 3、开发环境 4、功能介绍 1、项目介绍 基于SSM微信小程序的社团登录管理系统实现了管理员及社团、用户。 1、管理员实现了首页、用户管理、社团管理、社团信息管理、社…

MySQL 8.0在windows环境安装及配置

文章目录 一、下载二、安装三、配置环境变量 一、下载 1、先彻底卸载之前的MySQL&#xff0c;并清理其 残留文件 。 2、登录网址https://www.mysql.com/ 3、点击网址左下角“中文”按钮&#xff0c;切换到中文界面 4、点击网页上方的“下载”按钮&#xff0c;然后点击网页…

【C/C++】strncpy函数的模拟实现

零.导言 之前我们学习了strncpy函数&#xff0c;不妨我们现在尝试模拟实现strncpy函数的功能。 一.实现strncpy函数的要点 strncpy函数是一种字符串函数&#xff0c;可以按字节拷贝字符类型的数组&#xff0c;因此我们自定义的模拟函数需要两个char类型的指针参数&#xff1b;…

【数字图像处理+MATLAB】对图片进行伽马校正(Gamma Correction):使用 imadjust 函数进行伽马变换

引言 伽马校正&#xff08;Gamma Correction&#xff09;是一种用于图像处理的技术&#xff0c;主要用于调整图像的亮度或对比度。其基本原理是对图像的每一个像素应用一个非线性变换&#xff0c;以更好地适应人眼的视觉感知。在数字图像处理中&#xff0c;伽马校正通常用于调…

nginx代理出现的请求头中获取不到acc_token问题

1.问题 程序开发完成之后&#xff0c;发现页面登录之后&#xff0c;获取不到用户信息。发现时没有获取到token信息。本地程序开发完成&#xff0c;后端服务成功署到服务器。通过云服务器开放对应的端口&#xff0c;使用本地的前端服务&#xff0c;直接连接服务器后端服务&…

Spring Boot 与 Vue 共筑航空机票预定卓越平台

作者介绍&#xff1a;✌️大厂全栈码农|毕设实战开发&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 &#x1f345;获取源码联系方式请查看文末&#x1f345; 推荐订阅精彩专栏 &#x1f447;&#x1f3fb; 避免错过下次更新 Springboot项目精选实战案例 更多项目…

微服务day02

教学文档&#xff1a; 黑马教学文档 Docker Docker的安装 镜像和容器 命令解读 常见命令 案例 查看DockerHub&#xff0c;拉取Nginx镜像&#xff0c;创建并运行容器 搜索Nginx镜像&#xff1a;在 www.hub.docker.com 网站进行查询 拉取镜像&#xff1a; docker pull ngin…