SolidWorks API Community

Unofficial User Site

トピック: JAVAでSolidWorks

JAVAでSolidWorks 10 年 6 ヶ月 前 #2

  • hisa
  • hisa さんのアバター
  • オフライン
  • 管理者
  • 投稿数: 12
  • 感謝を受け取りました 7
  • カルマ: 0
最近JAVAのお勉強をしているので、JAVAからSolidWorksを制御出来るか試してみました:)

JAVAからSolidWorks API(COM)を利用するには、JAVA-COMブリッジというものが必要らしく、
今回は、JCom(Java-COMブリッジ)を利用してみました。

以下、サンプルです。
import jp.ne.so_net.ga2.no_ji.jcom.*;

class testSldWorks {

	public static void main(String[] args) throws Exception {
		// ReleaseManagerを利用すると、COMのプロセスを管理してくれる。
		// これを利用しない場合、COMオブジェクト(IDispatch)を適切にreleace()する必要がある。
		ReleaseManager rm = new ReleaseManager();
		try {
			// SldWorksに接続
			IDispatch swApp = new IDispatch(rm, "SldWorks.Application");
			// IDispatch::getにて、SldWorks::GetProccessIDプロパティ取得・表示
			System.out.println(swApp.get("GetProcessID"));

			// IDispatch::methodにて、SldWorks::Visibleメソッドを実行
			swApp.method("Visible", new Object[] { true });

			// SldWorks::NewDocumentで新規ドキュメント作成
			IDispatch swModel = (IDispatch) swApp.method("NewDocument",
					new Object[] { "C:\\part.prtdot", 0, 0, 0 });

			// SldWorks::CloseDocで、作成したドキュメントを閉じる
			swApp.method("CloseDoc", new Object[] { swModel.get("GetTitle") });

			// SldWorks::ExitAppで、SolidWorks終了
			swApp.method("ExitApp", null);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			rm.release();
		}
	}
}
最終編集: 10 年 6 ヶ月 前 : hisa.
ゲストの書き込みは許可されていません。
ページ作成時間: 0.174 秒