Python スクリプトの制約
Python スクリプト方式のエクステンション、およびスクリプトエディタで Python を使用する際の制約です。
外部モジュールの動作保証
Python の標準モジュール、および外部モジュール(pip 等でインストールしたパッケージ)の動作は保証対象外です。
利用できない名前空間
以下の名前空間に属する型、およびそれらの型を引数とする API は Python では利用できません。
NextDesign.Core.EditingCapabilitiesNextDesign.Desktop.CustomUINextDesign.Desktop.DocumentGeneratorNextDesign.Extension
利用できない非同期メソッド
非同期を定義できる Python のバージョンに互換していないため、以下の非同期メソッドは利用できません。
IAsyncValidateContext.ValidateAsync()
注意が必要なオーバーロードメソッド
引数の数と型の指定する順序が同じで、かつ引数の IEnumerable 型の列挙子の型が異なるオーバーロードメソッドは、列挙子の型を誤認するため、そのままでは利用できません。
対象メソッド:
IModel.IsIn(IEnumerable<string> classNames, bool fuzzy = true)IModel.AsIn(IEnumerable<string> classNames, bool fuzzy = true)IWorkspace.LoadModelUnits(IProject project, IEnumerable<string> unitFilePaths)
回避策:
引数名を明示的に指定し、デフォルト引数も明示的に指定してください。
# NG: 列挙子の型を誤認する
result = model.IsIn(["クラス名A", "クラス名B"], True)
# OK: 引数名を明示的に指定する
result = model.IsIn(classNames=["クラス名A", "クラス名B"], fuzzy=True)