1

3D ポイント (x、y、z データ) を CAD ソフトウェア CATIA にインポートする必要がよくあります。現在、Java ライブラリを使用して Excel スプレッドシートを作成し、Excel 内から Visual Basic マクロを実行してデータを CATIA に追加することでこれを行っています。現在、私はあまり VB を使用していません。そのため、Excel の手順をスキップして、データを CATIA に直接送信したいと考えています。これを行う方法はありますか?VBコードを呼び出せるようにするためのJavaライブラリでしょうか?それとも、私が使用できる CATIA への Java API があるのでしょうか?

よろしくお願いします。

4

1 に答える 1

3

幸運にもCAAライセンスを取得できない限り、CATIAV5で公開されているAPIはVBのみです。良い点は、これが実際にはCOMインターフェイスであり、VBAからだけでなく、このプロトコルをサポートするさまざまな言語からも呼び出すことができることです。(C ++、Python、Java、...)。

Javaの場合、COM、つまりCATIAAPIにアクセスするためのライブラリが必要です。私にとって最も簡単なのはJacob(http://danadler.com/jacob/)です。

Jacobを使用したサンプルコードは次のとおりです。

import java.net.UnknownHostException;

import com.jacob.com.Dispatch;
import com.jacob.com.Variant;

import com.jacob.activeX.ActiveXComponent;

class TestMacroInvocation
{
    public static void main( String [] args ) throws Exception
    {
        ActiveXComponent catia = new ActiveXComponent("CATIA.Application");
        catia.setProperty("Visible", new Variant(true));
        Dispatch oDocuments = catia.getProperty("Documents").toDispatch();
        Dispatch oDocument = Dispatch.call(oDocuments, "Open", "C:\\Users\\Me\\Desktop\\TestRib.CATPart").toDispatch();

        Dispatch.call(catia, "StartCommand", "MyMacro");
        Dispatch.call(catia, "Quit");
    }

これは、CATIA VBA APIを使用するための別の方法であり、DassaultSytèmesが提供するドキュメントに依存する必要があります。

お役に立てれば。

于 2012-01-16T12:35:05.237 に答える