{"id":8484,"date":"2026-05-07T16:58:06","date_gmt":"2026-05-07T08:58:06","guid":{"rendered":"https:\/\/support.fuxinsoft.cn\/?p=8484"},"modified":"2026-05-07T16:59:49","modified_gmt":"2026-05-07T08:59:49","slug":"3d-%e6%a8%a1%e5%9e%8b%e4%ba%a4%e4%ba%92%e7%8a%b6%e6%80%81%e9%80%9a%e7%9f%a5%e4%b8%8e%e5%ae%9e%e6%97%b6%e5%9d%90%e6%a0%87%e8%8e%b7%e5%8f%96%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"https:\/\/support.fuxinsoft.cn\/?p=8484","title":{"rendered":"3D \u6a21\u578b\u4ea4\u4e92\u72b6\u6001\u901a\u77e5\u4e0e\u5b9e\u65f6\u5750\u6807\u83b7\u53d6\u65b9\u6cd5"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"8484\" class=\"elementor elementor-8484\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-749058fd e-flex e-con-boxed e-con e-parent\" data-id=\"749058fd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5840bd3b elementor-widget elementor-widget-text-editor\" data-id=\"5840bd3b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>\u7f16\u8f91\u5668 2026.2 \u7248\u672c\u5b8c\u6210\u529f\u80fd\u66f4\u65b0\uff0c\u5b98\u65b9\u63d0\u4f9b 3D \u6a21\u578b\u573a\u666f\u4e13\u5c5e\u5f00\u53d1\u63a5\u53e3\uff0c\u652f\u6301\u5f00\u53d1\u8005\u63a5\u6536 3D \u6a21\u578b\u8fdb\u51fa\u72b6\u6001\u901a\u77e5\u3001\u5b9e\u65f6\u63a5\u6536 3D \u5750\u6807\u4f4d\u7f6e\u6570\u636e\uff0c\u53ef\u5e7f\u6cdb\u5e94\u7528\u4e8e 3D \u6a21\u578b\u52a0\u8f7d \/ \u9000\u51fa\u76d1\u63a7\u30013D \u4f4d\u7f6e\u6570\u636e\u5b9e\u65f6\u76d1\u542c\u7b49\u6838\u5fc3\u4e1a\u52a1\u5f00\u53d1\u573a\u666f\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u6838\u5fc3\u529f\u80fd\u63a5\u53e3\u8bf4\u660e<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">3D \u6a21\u578b\u72b6\u6001\u901a\u77e5\u4e13\u7528\u63a5\u53e3<\/h3>\n\n\n\n<p>\u4ee5\u4e0b\u4e24\u4e2a\u63a5\u53e3\u7528\u4e8e\u5b9e\u73b0 3D \u6a21\u578b\u8fdb\u5165\u3001\u9000\u51fa\u65f6\u7684\u6d88\u606f\u901a\u77e5\u63a5\u6536\u529f\u80fd\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>FRAppRegist3DModelHandler<\/li>\n\n\n\n<li>FRAppUnRegister3dProvider<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3D \u5750\u6807\u4f4d\u7f6e\u83b7\u53d6\u4e13\u7528\u63a5\u53e3<\/h3>\n\n\n\n<p>\u4ee5\u4e0b\u4e24\u4e2a\u63a5\u53e3\u7528\u4e8e\u5b9e\u73b0 3D \u6a21\u578b\u8fdb\u5165\u3001\u9000\u51fa\u65f6\u7684 3D \u5750\u6807\u4f4d\u7f6e\u6570\u636e\u63a5\u6536\u529f\u80fd\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>FRAppRegistJSReceive3DPosition<\/li>\n\n\n\n<li>FRAppUnRegistJSReceive3DPosition<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">3D \u5750\u6807\u4f4d\u7f6e\u83b7\u53d6\u793a\u4f8b\u4ee3\u7801<\/h2>\n\n\n\n<p>FR_3DProviderCallbacksRec m_3DProviderCallback;<br>memset(&amp;m_3DProviderCallback, 0, sizeof(FR_3DProviderCallbacksRec));<br>m_3DProviderCallback.lStructSize = sizeof(FR_3DProviderCallbacksRec);<br>m_3DProviderCallback.FR3DActivate = On3DActivate;<br>m_3DProviderCallback.FR3DDeActivate = On3DDeActivate;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>FS_LPVOID pHandler = FRAppRegist3DModelHandler(&amp;m_3DProviderCallback);\n\n\nvoid On3DActivate(FS_LPVOID clientData, FR_Annot p3DAnnot){\nFS_WideString wsError = FSWideStringNew();\n&nbsp;\nFR_Document frDocument = FRAppGetActiveDocOfPDDoc();\nFS_ByteString annotType = FSByteStringNew();\nFRAnnotGetType(p3DAnnot, &amp;annotType);\nFS_LPCSTR subType = FSByteStringCastToLPCSTR(annotType);\n&nbsp;\nFRAppRegistJSReceive3DPosition(OnJSReceive3Dposition, p3DAnnot, &amp;wsError);\nFS_LPCWSTR wszError = FSWideStringCastToLPCWSTR(wsError);\nif (!FSWideStringIsEmpty(wsError)){ AfxMessageBox(L\"JSReceive3DPosition registered failed.\"); }\n\nelse{ AfxMessageBox(L\"JSReceive3DPosition registered successfully.\"); }\n\nFSWideStringDestroy(wsError);\n}\n&nbsp;\nvoid On3DDeActivate(FS_LPVOID clientData, FR_Annot p3dAnnot){ FRAppUnRegistJSReceive3DPosition(p3dAnnot); \n}\n&nbsp;\nvoid OnJSReceive3Dposition(double x, double y, double z)\n{\n std::string message = \"Received 3D position: x = \" + std::to_string(x) + \", y = \" + std::to_string(y) + \", z = \" +&nbsp; OutputDebugStringA(message.c_str()); OutputDebugStringA(\"\\r\\n\"); \n}<\/code><\/pre>\n\n\n\n<p><\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-452af6d e-flex e-con-boxed e-con e-parent\" data-id=\"452af6d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-15bc2e6 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"15bc2e6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/developers.fuxinsoft.cn\/free-trial\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">\u514d\u8d39\u83b7\u53d6SDK\u8bd5\u7528<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u7f16\u8f91\u5668 2026.2 \u7248\u672c\u5b8c\u6210\u529f\u80fd\u66f4\u65b0\uff0c\u5b98\u65b9\u63d0\u4f9b 3D \u6a21\u578b\u573a\u666f\u4e13\u5c5e\u5f00\u53d1\u63a5\u53e3\uff0c\u652f\u6301\u5f00\u53d1\u8005\u63a5\u6536 3D \u6a21\u578b\u8fdb\u51fa\u72b6 [&hellip;]<\/p>\n","protected":false},"author":31,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[90],"tags":[1368,1386,1384,1369,1385,625],"class_list":{"0":"post-8484","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"hentry","6":"category-plugin-sdk","7":"tag-3d","11":"tag-1385","12":"tag-625"},"pp_statuses_selecting_workflow":false,"pp_workflow_action":"current","pp_status_selection":"publish","_links":{"self":[{"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=\/wp\/v2\/posts\/8484","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=\/wp\/v2\/users\/31"}],"replies":[{"embeddable":true,"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8484"}],"version-history":[{"count":6,"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=\/wp\/v2\/posts\/8484\/revisions"}],"predecessor-version":[{"id":8560,"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=\/wp\/v2\/posts\/8484\/revisions\/8560"}],"wp:attachment":[{"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8484"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8484"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8484"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}