2016-12-19 16 views
1

私はETABS2015 APIを使用しようとしています。最初のステップとして、私はETABS APIヘルプからサンプルの1つを複製しています。この例はVB .NETにあります。ETABS 2015 OAPIとPython - TypeError - CreateObjectは2つの引数をとります(1が指定されています)

この例では、最初にプログラム.exeの場所を指すことによってAPIクラスオブジェクトを作成します。 。これはETABS2015におけるクラスヘルパーの方法であるのCreateObject

Set ETABSObject = myHelper.CreateObject("Path\To\EXE") 

を使用してVB .NETで実装されています。

私は同等の目的を達成するために以下のPythonを試しています。

import clr 
import math 
import System 
import sys 
sys.path 
sys.path.append("C:\\Program Files\\Computers and Structures\\ETABS 2015\\") 
clr.AddReferenceToFile("ETABS2015.dll") 
import ETABS2015 
path = 'C:\\Program Files\\Computers and Structures\\ETABS 2015\\ETABS.exe' 
eObj = ETABS2015.Helper.CreateObject(path) 

このスクリプトを実行すると、TypeError:CreateObject()は正確に2つの引数(1が指定されています)を取得します。私はこれを修正する方法がわかりません。助言がありますか?

私は同様のエラーで多くの質問に気づきましたが、ほとんどの解決にはメソッド機能の変更が必要です。しかし、この場合、私はそれがdllから読み込まれているので、メソッドにアクセスすることができません。

ありがとうございます。

答えて

1

ここでは、2つのステップ

に別々のeObj = ETABS2015.Helper.CreateObject(path)を試してみては私の例です:

import System 
import clr 
clr.AddReferenceToFileAndPath(r"C:\Program Files\Computers and Structures\ETABS 2016\ETABS2016.dll") 
from ETABS2016 import * 

path = System.IO.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles), "Computers and Structures", "ETABS 2015", "ETABS.exe") 
helper = Helper() 
csiApp = helper.CreateObject(path) 
csiApp.ApplicationStart() 
Model=csiApp.SapModel 
関連する問題