首页 / 浏览问题 / 组件GIS / 问题详情
如何使用iobject java,使用java调用idesktop的api
4EXP 2022年04月07日
使用产品:iiobjectsjava 操作系统:win10 x64
数据类型: revit文件rvt格式
问题详细描述:如何使用iobject java,使用java调用idesktop的api实现对revit的rvt文件自动转换和上传
问题重现步骤: 如何使用iobject java,使用java调用idesktop的api实现对revit的rvt文件自动转换和上传

1个回答

您好,我们的桌面同样用的是iObject开发的,在iObject上是一样的没有额外功能。

桌面端rvt导入是revit二次开发接入实现的,不是组件自带的功能。

我们有提供学习交流使用的revit导入工具,您如果有需求的话可以参考来实现开发。

资源连接:http://support.supermap.com.cn/DownloadCenter/DownloadPage.aspx?tt=ProductAAS&id=134

希望可以帮助到您。

10,553EXP 2022年04月07日

你们前期也回复了会用到RevitToolkit.dll,现我们想用java调用这个dll,不知是否可行?或者你们怎么调用的能不能给一个简单的例子?

这个功能主要不是我们软件这边支持,我们是基于revit开放提供的二次开发接口来实现的。

RevitToolkit.dll 这个只是我们封装提供的一个参考辅助工具,并不属于我们的正式产品线。

主要是因为rvt数据格式并不是开放标准格式 ,读取解析需要revit方的数据引擎才可以实现,因此更多需要revit那边来支持到。

我们现在自行封装提供交流学习的确实只有.net端的 RevitToolkit.dll ,更多是因为revit的引擎是.net的而不是跨平台java的。

因此java这边您要使用的话,java原生是有方法可以把.net的库封装厂java的库或者引用的,建议从这个方面考虑实现。

至于直接通过revit原生的接口直接进行二次开发读取rvt来实现导入这个路线不建议,过于麻烦。

你好,我运行附件中的示例时,报错

引发的异常:“System.IO.FileNotFoundException”(位于 RVT2SuperMap.exe 中)
“System.IO.FileNotFoundException”类型的未经处理的异常在 RVT2SuperMap.exe 中发生 
未能加载文件或程序集“SuperMap.Data.dll”或它的某一个依赖项。找不到指定的模块。

查询到其他问题回复在https://blog.csdn.net/supermapsupport/article/details/64444418

请问Install_x64.bat文件在哪里?我下载的supermap-iobjectsdotnet-10.2.1-20429-92256-win64-all-Bin.zip中没有?

另外安装组件是不是要先安装SuperMap iDesktop 10i(2020)?

能否加QQ839922523远程指导一下
System.IO 的报错需要您看一下你程序这个库的引用,这个是windows的库不是超图的。

《未能加载文件或程序集“SuperMap.Data.dll”或它的某一个依赖项。找不到指定的模块。 》

这个问题你需要完整配置.net组件的环境,这个插件上面和您说过是基于超图.net组件开发和revit二次开发一起实现的学习参考demo,不是独立产品。

因此就是和您发的这个链接里说的一样,需要使用的话您是需要配置.net环境的。

包括环境变量的添加和dll的引用以及该产品的许可, Install_x64.bat 只是注册环境变量的自动批处理软件,手动添加环境变量也可以的。

.net组件开发利用Install_x64.bat安装完成,运行附件中的示例还是同样的报错

利用Tools下DEPENDS_x64.exe检测SuperMap.Data.dll

如图,这是什么问题?怎么解决?

1.你电脑有没有.net的许可

2.你报错的这个路径下有没有这个data的dll?没有的话重新引用一下

3.你用visual Studio直接跑一下.net的工程看下都有什么跑错来一个个解决

重启一下已经解决,非常感谢!!

现程序已可以启动,且能打开revit文件

到convert.Export(datasource, Docs.ToArray());时报错

原代码是: RevitConvert convert = new RevitConvert(Parameter);编译时就报错,

我修改为:RevitConvert convert = new RevitConvert(RevitCore.Instance,Parameter);

此语句下一条就是: convert.Export(datasource, Docs.ToArray());

修改完可以编译,然后就是以上错误,请帮忙查看原因?非常感谢!!

...