跳到内容
  • 福昕首页
  • 开发中心
  • SDK文档资料
  • 插件商店
  • 福昕首页
  • 开发中心
  • SDK文档资料
  • 插件商店
申请试用
  • 企业自动化
    • Compressor
  • 福昕CloudAPI
  • 福昕PDF SDK 软件开发工具包
    • 福昕PDF SDK(ActiveX)
    • 福昕PDF SDK(桌面/服务器)
    • 福昕PDF SDK(Plug-in)
    • 福昕 PDF SDK(安卓)
    • 福昕PDF SDK(iOS)
    • 福昕PDF SDK(Web)
  • 福昕管理控制台
    • 公有云
    • 私有云
    • 通用情况
  • 福昕阅读器
    • RMS插件
  • 福昕高级编辑器
    • AI助手
    • Mac版本
      • 常规问题
    • Windows版本
      • 表单
      • ECM集成
      • 互联PDF
      • 企业管理指南
      • 保护
      • 内容编辑
      • 创建PDF
      • 压缩
      • 图章
      • 安装与卸载
      • 常见问题
      • 打印
      • 注释/评论
      • 福昕插件
      • 翻译助手
      • 翻译助手教程
      • 试用与激活
      • 转换
      • 页面管理
    • 教育用户
      • 论文查重
      • 操作指南
    • 网页版
      • Foxit eSign
      • 电子签章
    • 订阅
    • 资源
  • 福昕高级编辑器Linux版本
  • 福船图纸管理系统
  • 福昕PDF SDK 软件开发工具包 > 福昕PDF SDK(Plug-in)
  • 标签:
  • 3D,3D坐标,3D模型,3D模型坐标,交互状态通知,坐标

3D 模型交互状态通知与实时坐标获取方法

  • 福昕知识库
  • 2026-05-07

编辑器 2026.2 版本完成功能更新,官方提供 3D 模型场景专属开发接口,支持开发者接收 3D 模型进出状态通知、实时接收 3D 坐标位置数据,可广泛应用于 3D 模型加载 / 退出监控、3D 位置数据实时监听等核心业务开发场景。

核心功能接口说明

3D 模型状态通知专用接口

以下两个接口用于实现 3D 模型进入、退出时的消息通知接收功能:

  • FRAppRegist3DModelHandler
  • FRAppUnRegister3dProvider

3D 坐标位置获取专用接口

以下两个接口用于实现 3D 模型进入、退出时的 3D 坐标位置数据接收功能:

  • FRAppRegistJSReceive3DPosition
  • FRAppUnRegistJSReceive3DPosition

3D 坐标位置获取示例代码

FR_3DProviderCallbacksRec m_3DProviderCallback;
memset(&m_3DProviderCallback, 0, sizeof(FR_3DProviderCallbacksRec));
m_3DProviderCallback.lStructSize = sizeof(FR_3DProviderCallbacksRec);
m_3DProviderCallback.FR3DActivate = On3DActivate;
m_3DProviderCallback.FR3DDeActivate = On3DDeActivate;

FS_LPVOID pHandler = FRAppRegist3DModelHandler(&m_3DProviderCallback);


void On3DActivate(FS_LPVOID clientData, FR_Annot p3DAnnot){
FS_WideString wsError = FSWideStringNew();
 
FR_Document frDocument = FRAppGetActiveDocOfPDDoc();
FS_ByteString annotType = FSByteStringNew();
FRAnnotGetType(p3DAnnot, &annotType);
FS_LPCSTR subType = FSByteStringCastToLPCSTR(annotType);
 
FRAppRegistJSReceive3DPosition(OnJSReceive3Dposition, p3DAnnot, &wsError);
FS_LPCWSTR wszError = FSWideStringCastToLPCWSTR(wsError);
if (!FSWideStringIsEmpty(wsError)){ AfxMessageBox(L"JSReceive3DPosition registered failed."); }

else{ AfxMessageBox(L"JSReceive3DPosition registered successfully."); }

FSWideStringDestroy(wsError);
}
 
void On3DDeActivate(FS_LPVOID clientData, FR_Annot p3dAnnot){ FRAppUnRegistJSReceive3DPosition(p3dAnnot); 
}
 
void OnJSReceive3Dposition(double x, double y, double z)
{
 std::string message = "Received 3D position: x = " + std::to_string(x) + ", y = " + std::to_string(y) + ", z = " +  OutputDebugStringA(message.c_str()); OutputDebugStringA("\r\n"); 
}

免费获取SDK试用

相关内容

如何统计 PDF 每页的图形对象数量(含按类型细分)

扫描件又歪又灰?福昕黑白去底+纠偏矫正教程来啦!

如何在「编辑」菜单工具栏中添加自定义按钮

PDF如何转为PDF/A?

无文件时进入 PDF 操作页:previewFile 必填 content 的三种应对方案

UIExtension 功能按钮隐藏与禁用最佳实践

播放多媒体条目时不使用QuickTime播放器

如何自动检测PDF文档中的URL并创建链接

如何在AI助手中接入自己的模型

如何在AI助手中接入技能

推荐内容

如何统计 PDF 每页的图形对象数量(含按类型细分)

扫描件又歪又灰?福昕黑白去底+纠偏矫正教程来啦!

如何在「编辑」菜单工具栏中添加自定义按钮

PDF如何转为PDF/A?

无文件时进入 PDF 操作页:previewFile 必填 content 的三种应对方案

UIExtension 功能按钮隐藏与禁用最佳实践

播放多媒体条目时不使用QuickTime播放器

如何自动检测PDF文档中的URL并创建链接

如何在AI助手中接入自己的模型

如何在AI助手中接入技能

产品
  • 应用行业
  • 白皮书
开发支持
  • 开发中心
  • SDK文档资料

销售咨询:010-50951668

客服电话:0591-38509808

销售咨询
微信公众号

©2026 福建福昕软件开发股份有限公司 版权所有

隐私策略