ChatGPTでこんな質問をしてみたら・・・「REVIT2022で自動描画するpythonプログラムの例を書いてください」
ChatGPT大先生の御回答
「REVIT2022で自動描画するPythonプログラムの例を以下に示します。この例では、一つの壁を描画します。
import clr clr.AddReference("RevitAPI") from Autodesk.Revit.DB import * doc = __revit__.ActiveUIDocument.Document uidoc = __revit__.ActiveUIDocument # 壁を作成するためのパラメータを設定 level = FilteredElementCollector(doc).OfClass(Level).FirstElement() wall_type = FilteredElementCollector(doc).OfClass(WallType).FirstElement() start_point = XYZ(0, 0, 0) end_point = XYZ(10, 0, 0) wall_height = 10 # 壁を作成 line = Line.CreateBound(start_point, end_point) wall = Wall.Create(doc, line, wall_type.Id, level.Id, wall_height, 0, False, False) # 壁をビューに表示 uidoc.ActiveView.ShowElements(wall.Id) # コミットして保存 TransactionManager.Instance.TransactionTaskDone() doc.Save()
このプログラムでは、RevitAPIを使用して、必要なパラメータを設定し、Wall.Create
メソッドを使用して壁を作成します。最後に、壁をビューに表示し、変更をコミットしてドキュメントを保存します。このプログラムを実行すると、Revitのビューに壁が描画されます。必要に応じて、このプログラムを変更して、他のタイプの要素を作成できます。」
あざっす!早速やってみますわ。www
P.S.
以下のエラーが出てぽしゃった。
Traceback (most recent call last):
File "C:\Users\User\Desktop\revit.py", line 2, in <module>
clr.AddReference("RevitAPI")
System.IO.FileNotFoundException: ファイルまたはアセンブリ 'RevitAPI'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。
ファイル名 'RevitAPI' です。'RevitAPI'
場所 System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
場所 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
場所 System.Reflection.Assembly.Load(AssemblyName assemblyRef)
場所 Python.Runtime.AssemblyManager.LoadAssembly(AssemblyName name)
場所 Python.Runtime.CLRModule.AddReference(String name)
=== 事前バインド状態情報 ===
ログ: DisplayName = RevitAPI
(Partial)
警告: 部分的バインドの情報がアセンブリに提供されました:
警告: アセンブリ名: RevitAPI | ドメイン ID: 1
警告: アセンブリの表示名の一部分のみが提供されると、部分的なバインドが発生します。
警告: これにより、不適切なアセンブリをバインダーが読み込む場合があります。
警告: アセンブリの完全に指定されたテキスト ID を提供することをお勧めします。
警告: このような ID は、簡易名、バージョン、カルチャ、および公開キー トークンで構成されます。
警告: この問題の詳細および解決策については、ホワイトペーパー (http://go.microsoft.com/fwlink/?LinkId=109270) を参照してください。
ログ: Appbase = file:///C:/Users/User/AppData/Local/Programs/Python/Python311/
ログ: Initial PrivatePath = NULL
呼び出しているアセンブリ: Python.Runtime, Version=3.0.1.0, Culture=neutral, PublicKeyToken=5000fea6cba702dd
===
ログ: このバインドは LoadFrom の読み込みコンテキストで開始します。
警告: ネイティブ イメージは LoadFrom コンテキストで調査されません。ネイティブ イメージは、Assembly.Load() を使用するなどの既定の読み込みコンテキストでのみ調査されます。
ログ: アプリケーション構成ファイルは見つかりませんでした。
ログ: ホスト構成ファイル を使用します。
ログ: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config からのコンピューター構成ファイルを使用します。
ログ: 現時点でポリシーは参照に適用されません (プライベート、カスタム、部分的、または場所ベースのアセンブリ バインド)。
ログ: 新しい URL file:///C:/Users/User/AppData/Local/Programs/Python/Python311/RevitAPI.DLL をダウンロードしようとしています。
ログ: 新しい URL file:///C:/Users/User/AppData/Local/Programs/Python/Python311/RevitAPI/RevitAPI.DLL をダウンロードしようとしています。
ログ: 新しい URL file:///C:/Users/User/AppData/Local/Programs/Python/Python311/RevitAPI.EXE をダウンロードしようとしています。
ログ: 新しい URL file:///C:/Users/User/AppData/Local/Programs/Python/Python311/RevitAPI/RevitAPI.EXE をダウンロードしようとしています。
ログ: 新しい URL file:///C:/Users/User/AppData/Local/Programs/Python/Python311/Lib/site-packages/pythonnet/runtime/RevitAPI.DLL をダウンロードしようとしています。
ログ: 新しい URL file:///C:/Users/User/AppData/Local/Programs/Python/Python311/Lib/site-packages/pythonnet/runtime/RevitAPI/RevitAPI.DLL をダウンロードしようとしています。
ログ: 新しい URL file:///C:/Users/User/AppData/Local/Programs/Python/Python311/Lib/site-packages/pythonnet/runtime/RevitAPI.EXE をダウンロードしようとしています。
ログ: 新しい URL file:///C:/Users/User/AppData/Local/Programs/Python/Python311/Lib/site-packages/pythonnet/runtime/RevitAPI/RevitAPI.EXE をダウンロードしようとしています。