Loading... <!-- wp:paragraph {"style":{"typography":{"fontSize":"16px"}}} --> <p style="font-size:16px">S3DWebAPI从2018版本开始,不支持低于这个版本的S3D。轻量化,兼容性更好的Web端应用已经是一个趋势,很多公司都在开发各种前端平台,前端的开发技术相对也比较成熟和统一,人才也好找,所以如果我们想在前端更好地去管理和呈现各类设计工具,就需要各类设计工具提供相应的WebAPI,这也是前后端分离的一个典型应用场景。几年前,鹰图就发布了Smar API Manager,为了统一管理各个设计工具的WebAPI,以及认证方式的加强。下面我们就来看看S3D的WebAPI都能做哪些事情吧。</p> <!-- /wp:paragraph --> <!-- wp:paragraph {"style":{"typography":{"fontSize":"16px"}}} --> <p style="font-size:16px">首先目前鹰图所有设计工具的WebAPI都属于OData RESTful类型的API,采用了统一的设计规范,了解其中一款后,其他基本类似。它们的本质就是一个服务,前端应用发送请求,后台服务响应请求,获取相关数据,以json的形式返回给前端。</p> <!-- /wp:paragraph --> <!-- wp:paragraph {"style":{"typography":{"fontSize":"16px"}}} --> <p style="font-size:16px">https://Host/WebApp/s3d/v1/Sites(‘Site Alias’)/Plants(‘Plant Name’)/Remaining Resource<br>Path/Query Options</p> <!-- /wp:paragraph --> <!-- wp:paragraph {"style":{"typography":{"fontSize":"16px"}}} --> <p style="font-size:16px">查询3D的各类数据,这应该是S3DWebAPI最主要的作用了。利用GET方法和一些参数,我们能得到几乎3D里的所有数据。例如,我们查询某根具有特定公称直径的PipeRun,就可以像下面这样写请求URL。<br><em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">GET https://MyServer.domain.com/WebApp/s3d/v1/Sites(‘MyS3DSiteAlias’)/Plants(’MyS3dPlant’)/PipingRuns?$filter=NPD eq 4</mark></em></p> <!-- /wp:paragraph --> <!-- wp:image {"id":2163,"sizeSlug":"large","linkDestination":"media"} --> <figure class="wp-block-image size-large"><a href="https://mrgeng.com/usr/uploads/2022/05/S3DWebApi-Get-PipeRuns-json.jpg"><img src="https://mrgeng.com/usr/uploads/2022/05/S3DWebApi-Get-PipeRuns-json-1024x446.jpg" alt="" class="wp-image-2163" style=""></a></figure> <!-- /wp:image --> <!-- wp:image {"id":2162,"sizeSlug":"full","linkDestination":"media"} --> <figure class="wp-block-image size-full"><a href="https://mrgeng.com/usr/uploads/2022/05/S3DWebApi-Get-PipeRuns-json-visualize.jpg"><img src="https://mrgeng.com/usr/uploads/2022/05/S3DWebApi-Get-PipeRuns-json-visualize.jpg" alt="" class="wp-image-2162" style=""></a></figure> <!-- /wp:image --> <!-- wp:paragraph {"style":{"typography":{"fontSize":"16px"}}} --> <p style="font-size:16px">API里还内置了一些POST方法,可以执行3D内的一些对象,比如ExecuteS3dFilter,根据某个3D内的已有过滤器查询对象,ExecuteReports,运行3D内的Report模板。另外还可以查询某个3D对象存在于哪些图纸中,某张图纸中包含有哪些3D对象。预览和下载图纸,报告等。</p> <!-- /wp:paragraph --> <!-- wp:image {"id":2161,"sizeSlug":"large","linkDestination":"media"} --> <figure class="wp-block-image size-large"><a href="https://mrgeng.com/usr/uploads/2022/05/S3D-Web-API-Download-file.jpg"><img src="https://mrgeng.com/usr/uploads/2022/05/S3D-Web-API-Download-file-1024x519.jpg" alt="" class="wp-image-2161" style=""></a></figure> <!-- /wp:image --> <!-- wp:paragraph {"style":{"typography":{"fontSize":"16px"}}} --> <p style="font-size:16px">接下来的一个重要功能就是写入属性了,在我们的API里这个请求的方法叫PATCH,可以针对某一个对象进行属性写入,也可以批量写入。</p> <!-- /wp:paragraph --> <!-- wp:paragraph {"style":{"typography":{"fontSize":"16px"}}} --> <p style="font-size:16px"><em><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">POST https:/MyServer.Domain.com/s3d/v1/Sites('MySiteAlias')/Plants('MyPlant')/Com.Ingr.Smart3d.V1.BulkUpdate <br>{ <br>"ids": [ <br>"{0000272E-0000-0000-1F04-B0E9B7541306}", <br>"{0000272E-0000-0000-1F04-B0E9B7541307}" <br>], <br>"properties": { <br>"StringPropName": "MyStringValue", <br>"IntPropName": 1 <br>}, <br>"shouldCommitInErrorState": false <br>}</mark></em></p> <!-- /wp:paragraph --> <!-- wp:paragraph {"style":{"typography":{"fontSize":"16px"}}} --> <p style="font-size:16px">另外,从V13版本开始,3D的WebAPI还增加了Admin模块,这个模块就提供了更多高级方法,能做的事情就更多了,例如创建Site,Plant,Catalog,升级项目,备份和恢复项目,重生成RDB,增删改接口,属性,Codelist。</p> <!-- /wp:paragraph --> <!-- wp:spacer {"height":"48px"} --> <div style="height:48px" aria-hidden="true" class="wp-block-spacer"></div> <!-- /wp:spacer --> <!-- wp:paragraph {"style":{"typography":{"fontSize":"16px"}}} --> <p style="font-size:16px">用户只需将精力集中于业务层面,前端层面,而不是研究各类设计工具的底层和后台,自己花费大量精力编写各类API,就属于本末倒置了。所以鹰图官方的WebAPI也好,中国团队开发的API也好,能够帮助客户快速得开展表现层,业务层的开发就是好东西。</p> <!-- /wp:paragraph --> 最后修改:2025 年 03 月 13 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏