AutoCAD与JAVA的接口

时间:2009-05-13 09:28:46

标签: java autocad objectarx

通过JAVA程序与AutoCAD连接的任何想法。我正在寻找一种可以直接与AutoCAD会话(甚至启动一个)连接的解决方案,它与AutoCAD的.NET扩展一起使用。或者通过JAVA使用ObjectARX的任何方式,绝对不会在其上编写完整的JNI包装。

补充:我们正在寻找开源的东西。如果没有,我们准备在开源中创建一个,如果有人可以伸出援助之手解释如何完成它。我们看了JNA和JaWin。与JNI合作的JNA可能有所帮助,但太难看了。另一方面,JaWin在过去的4年里没有更新过,所以对它的使用持怀疑态度。

4 个答案:

答案 0 :(得分:2)

我唯一能想到的就是使用Java< - > .Net桥如JNBridge。我在其他场景中使用过它并且工作正常。从未使用Java和AutoCad做过任何工作,但可能还有其他更便宜的解决方案。

答案 1 :(得分:2)

如果您尝试与AutoCAD应用程序进行交互,那么您将面临艰难时期。 如果你想与dwg文件本身进行交互,那么开放设计联盟就有了一些库,可以在没有AutoCAD的情况下使用dwg文件。

答案 2 :(得分:2)

您可以尝试使用JavaBeans ActiveX桥和COM Automation打开AutoCAD并对其进行操作。

也就是说,JavaBeans ActiveX桥在一段时间内没有发展(我在2003年使用它),Autodesk正在认真投资.Net,用于与AutoCAD中的扩展和自动化相关的所有内容。

答案 3 :(得分:1)

我们正在开展类似的项目。我们正在做的是用C#编写集成代码,用Java编写项目的业务逻辑。

我们正在利用一个利用JNI将Java调用转换为C ++的C ++桥接器,然后将它们转换回C#,反之亦然。需要从C#到Java的每个函数都必须在桥代码中实现。这是相当复杂的,并且使得非托管C ++代码与C#一起工作存在一些问题,以及将Jstrings转换为C#字符串等的标准开销。在我们做了一些优化以确保我们没有为每次调用Java层启动和停止JVM之后,结果相对较快。

我们之前使用的是AutoCAD插件调用的COM对象,因此这将是另一种方法。