SDK 快速接入 Java
1. SDK接入概要说明
Java SDK基于jdk1.8环境开发,可以下载对应的demo,参考如何使用sdk接入处理。
2. 安装说明
下载SDK离线包YunApiSDK.jar,引用到项目中。
- 在Eclipse项目中导入
- 下载Java SDK开发包。
- 解压该开发包。
- 将解压后文件夹中的文件 YunApiSDK.jar 拷贝到您的项目中。
- 在Eclipse中选择您的工程,右键选择 。
- 选中拷贝的JAR文件,导入到Libraries中。
- 在IntelliJ IDEA项目中导入
- 下载Java SDK开发包。
- 解压该开发包。
- 将解压后文件夹中的文件 YunApiSDK.jar 拷贝到您的项目中。
- 在IntelliJ IDEA中选择您的工程,右键选择 。
- 选中拷贝的JAR文件,导入到External Libraries中。
3. 调用说明
将sdk文件引用到项目中后,可以初始化sdk中YunapiClient对象,使用该对象的方法进行相关业务接入处理。
初始化YunApiClient对象:
// 参数分别为门户网站中 开发接口获取对应信息
//partnerID 接口信息-企业ID
//secretKey 接口信息-密钥
//apiServer 接口信息-接口地址
YunapiClient yunapiClient = new YunApiClient(partnerID, secretKey,apiServer);
4. 业务快速接入
4.1 插入模型转换任务
插入本地路径下的模型:
String localFile = "F:\\temp\\3Da2d.zip";
InsertTaskBaseRequest insertTaskBaseRequest = new InsertConvertFormatTaskRequest();
insertTaskBaseRequest.priority = 1;
//设置插入主文件名称
insertTaskBaseRequest.mainFile = "3D.sldprt";
//插入任务
InsertTaskResponse res = yunapiClient.InsertTaskLocalFile(localFile,insertTaskBaseRequest);
插入HTTP路径下的模型:
String httpFile = "http://xxx/3Da2d.zip";
InsertTaskRequestDetail insertTaskBaseRequest = new InsertTaskRequestDetail();
insertTaskBaseRequest.priority = 1;
//设置插入主文件名称
insertTaskBaseRequest.mainFile = "3D.sldprt";
insertTaskBaseRequest.inputURL = httpFile;
InsertTaskResponse res = yunapiClient.InsertTask(insertTaskBaseRequest);
4.2 查询任务并下载轻量化数据
//查询任务处理状态,res为插入任务返回信息
QueryTaskDetailResponse info = yunapiClient.QueryTask(res.taskID);
while (info.getCode() == 1 && info.status < 2){//处理中状态
info = yunapiClient.QueryTask(res.taskID);
Thread.sleep(2*1000);
}
if(info.status == 2){//转换完成
System.out.println("在线预览地址" + info.previewURL);
//下载轻量化数据
ResultStatus rs = yunapiClient.DownloadNdsFile(info.outputNdsFiles,saveFile);
System.out.println("下载code:"+rs.getCode() + " msg:" + rs.getMsg());
}
4.3 预览轻量化模型
将字段 previewURL(通过base64编码)解密后,获得轻量化模型预览地址。也可在门户网站,将轻量化模型文件下载到本地磁盘。集成Viewer组件后,通过浏览器预览。

4.4 demo示例
package com.newdim.demo;
import com.newdim.sdk.YunapiClient;
import com.newdim.sdk.models.*;
import org.json.JSONObject;
public class demo {
public static void main(String[] args) {
// String localFile = "F:\\temp\\3D.step";
//本地插入文件名
String localFile = "F:\\temp\\3Da2d.zip";
//轻量化文件下载保存路径文件夹
String saveFile = "F:\\temp\\download";
//初始化celient partnerID, secretKey,apiServer
String partnerID = "xx";企业ID
String secretKey = "xx";密钥
String apiServer = "https://api.3dopen.cn";接口地址
YunapiClient yunapiClient = new YunapiClient(partnerID,secretKey,apiServer);
{
//单个插入任务
InsertTaskBaseRequest insertTaskBaseRequest = new InsertConvertFormatTaskRequest();
insertTaskBaseRequest.priority = 1;
//设置插入主文件名称
insertTaskBaseRequest.mainFile = "3D.sldprt";
//插入任务
InsertTaskResponse res = yunapiClient.InsertTaskLocalFile(localFile,insertTaskBaseRequest);
System.out.println(res.taskID);
if(res.taskID > 0){
try {
//取消任务
// yunapiClient.RemoveTask(res.taskID+"");
//查询任务
BaseTaskResponse info = yunapiClient.QueryTask(res.taskID);
while (info.getCode() == 1 && info.status < 2){
info = yunapiClient.QueryTask(res.taskID);
Thread.sleep(2*1000);
}
if(info.status == 2){
System.out.println("在线预览地址" + info.previewURL);
//下载轻量化数据
ResultStatus rs = yunapiClient.DownloadNdsFile(info.outputNdsFiles,saveFile);
System.out.println("下载code:"+rs.getCode() + " msg:" + rs.getMsg());
}
}catch (Exception e) {
System.out.println("error:"+e.getMessage());
}
}
}
}