从Excel / VBA访问Enovia的python界面?

2cmtqfgy  于 2022-12-14  发布在  Python
关注(0)|答案(6)|浏览(144)

我们使用的是Enovia软件。
我想从Excel / VBA内部查询Enovia。
经过一番搜索,Enovia似乎有一个名为Abaqus的编程接口。
http://www.3ds.com/products-services/simulia/services/training-courses/course-descriptions/introduction-to-the-abaqus-scripting-interface/
我想直接在VBA中访问此接口,但我没有找到任何与此相关的内容。
我发现了两个项目,它们可能允许Excel/VBA与python组件或至少与python脚本对话。
它们如下
用于Excel的Python http://opentradingsystem.com/PythonForExcel/main.html
以及已停产的excelpython github.com/ericremoreynolds/excelpython,它集成在xlwings www.example.com中xlwings.org
我对python和这两个项目都不熟悉,我不确定他们是否会允许我做我想做的事情。
我可以学习一些Python来做这件事,但我的主程序和用户界面是在excel。
我想我可以做一些简单的python脚本,然后通过python解释器从excel中用shellexecute调用它们,但我认为这不是一个非常优雅的解决方案。
欢迎提出任何建议
谢谢!

8iwquhpp

8iwquhpp1#

ENOVIA没有Python编程接口。
Abaqus是一个FEA仿真软件,可以使用其自己的Python编程接口编写脚本。
ENOVIA是PLM软件解决方案。它们是用于完全不同应用的不同软件。作为编程接口,您可能会看到this
简而言之,您可能需要联系您的达索系统当地支持团队,为您指明正确的方向。

wqlqzqxt

wqlqzqxt2#

使用tcl和mql可以解决这个问题。
TCL|MQL

wz8daaqr

wz8daaqr3#

最新Enovia版本3DEXPERIENCE支持基于Rest的Web服务。您可以在enovia中创建一个Rest API,并可以在Excel中使用vb脚本调用Rest服务。
3DEXPERIENCE Enovia Rest webservice Framework

m3eecexj

m3eecexj4#

上述Rest框架可能不适用于2014 X版本。您必须尝试基于SOAP的服务或JAX-RS。

选项1

Enovia是基于java的应用程序,不支持VBA ADK直接处理后端数据。但是,Web服务可以用于不同平台的应用程序之间的通信或由不同的编程ADK管理。
为此,您需要创建自己的服务(REST/SOAP)。为此,您需要访问服务器,首先您必须编写一些java代码(REST/SOAP服务),并将类/jar更新到2014服务器(tomcat)中。然后您可以在您的vba函数中使用该服务。同样,您必须决定数据的种类是xml还是json,这是单独的主题。

选项2

正如我前面所说的Enovia是基于Java的应用程序,它提供JAVA ADK来扩展其功能。
示例代码显示了如何获取上下文并使用Enovia ADK。

matrix.db.Context ctx = new matrix.db.Context("http://myserver-nocas:8080/enovia");
ctx.setUser("Test Everything");
ctx.setPassword("");
ctx.connect();
System.out.println("Is context set "+ctx.isConnected());

正如您提到的,您当前正在使用3DEXPERIENCE,则3DPassport可能会阻止上述URL方法连接,因此您需要传递NO-CAS URL。
你可以从本地eclipse运行上面的java代码来获得上下文。使用这个ADK你还可以调用MQL查询并无缝地工作。

import com.matrixone.apps.domain.util.MqlUtil;
String strPartFamily  = MqlUtil.mqlCommand(ctx,"temp query bus Part * * select attribute[Length]");

但是,这是基于java的解决方案,而不是VBA。
最后,3DEXPERIENCE在服务器中提供了MQL控制台,以便以更友好的方式使用SQL查询来处理所有数据。Enovia还提供了基于Web的MQL控制台,但您需要有相应的许可证(管理员应具有访问权限)。

tnkciper

tnkciper5#

使用TCL浏览Excel表格,非常简单。使用“/t”分隔数据。

xzabzqsa

xzabzqsa6#

Enovia使用**MQL**语言编写脚本。有一些可用的指南,如http://emdros.org/MQL-Programmers-Guide.pdf
我会推荐一些培训,如http://www.techniatranscat.com/services/education/mql-and-tcl-intro,因为这似乎不是一个非常常见的语言。
不要与MetaQuotes软件公司的金融交易语言MQL4/MQL5混淆。

相关问题