CAD 向け Python の紹介 | カダリスト



2022 年 6 月 15 日

著者: アンドリュー・G・ロー



CAD プログラミング: オープンソース言語は、CAD プログラマーに興味深い機能を提供します。

CAD プログラマーが利用できるすべてのプログラミング オプションの中で、最も興味深いものの 1 つは Python です。 英国の喜劇グループ、モンティ パイソンにちなんで名付けられたオープンソース プラットフォームである Python は、高レベルのインタープリター型言語です。つまり、コードは比較的簡単に解読でき、開発プロセスは多くの場合、他の言語よりも高速です。

この記事では、Python の簡単なツアーを行い、CAD プログラマーに役立ついくつかの重要な機能を見ていきます。 また、Python のさまざまなフレーバー (実装) についても見ていきます。 その後、前の記事で説明したツールである Dynamo と連携して Python を使用する方法を見ていきます。 最初は用語とニュアンスに少し戸惑うかもしれませんが、ツアーを最後まで続けて、Python が提供する機能を確認してください。

Python を学ぶ理由

高水準言語である Python は、コンピューターだけが理解できる不可解なフレーズではなく、認識可能な英語のキーワードを使用します。 そのフォーマットは比較的単純で、句読点、中括弧、および他の言語で一般的に使用されるその他の記号の使用は最小限に抑えられています。 これにより、新しいプログラマーと経験豊富なプログラマーの両方にとって、Python をかなり簡単に習得できます。

インタープリター言語であるため、Python コードは実行前にコンパイルする必要がなく、プログラム開発の時間を大幅に節約できます。 インタープリターは対話的に使用できるため、コードを入力すると結果が表示されます。

柔軟な配列や辞書などの高レベルのデータ構造を持つ Python は、AutoCAD や MicroStation などのカスタマイズ可能なアプリケーションの拡張言語として使用できます。 実際、Python の拡張性により、C/C++ や Java など、まったく異なる言語で記述されたコードとやり取りすることができます。 Python では、他の Python プログラムで再利用できるモジュールを構築することもできます。

オープンソース言語として、Python は無料でダウンロード、使用、配布できます。 ドキュメントは Python の Web サイトで簡単に入手でき、多数の例も提供されています。 インターネット上に散らばっている他の Web サイトやビデオでは、追加の例とガイダンスが提供されています。

バージョンと実装

多くの商用ソフトウェア ベンダーが自社製品のさまざまなバージョンを提供しているように、さまざまなオープンソース コミュニティが Python のさまざまな実装を開発しています。 標準実装である CPython は、一般に単に Python と呼ばれます。 名前が示すように、C で記述されており、Python 標準に最も準拠したベースライン実装と見なされています。

IronPython は、.NET ランタイムに基づく Python の実装です。 オブジェクト指向の構文を使用して、.NET アセンブリを IronPython プログラムにロードできます。 また、IronPython コードをアセンブリにコンパイルしてスタンドアロンで実行したり、他の言語から呼び出したりすることもできます。

PyPy は、ジャストインタイム (JIT) コンパイルを使用してパフォーマンスを向上させるために開発されたバリエーションです。 バックグラウンドで Python コードを機械語にコンパイルすることにより、PyPy は大規模なプログラムで大幅な速度向上を達成できます。

AutoCAD プログラマー向けの pyautocad は、AutoCAD 用の ActiveX オートメーション スクリプトを作成するための Python ライブラリです。 座標、オブジェクトの反復と検索、およびデータのインポートとエクスポートを操作するのに役立ちます。 Civil 3D や Revit などの特定のオートデスク製品には、Dynamo 環境に組み込みバージョンの Python も含まれています。 これについては後で詳しく説明します。

Bentley 側では、Python 開発者シェルを特定の垂直アプリケーションで使用できます。 たとえば、Python ベースのソフトウェア開発キット (SDK) は、Bentley のビジュアライゼーションおよびリアリティ モデリング ソフトウェアである LumenRT と、地質工学分析製品である PLAXIS で利用できます。 Bentley ビジュアライゼーションおよび地盤工学解析のユーザー コミュニティでは、より多くの情報が提供されています。

他のいくつかの種類の Python も利用できます。 Python Package Index (PyPI) は、さまざまな Python 実装のリポジトリです。

Python のインストールと起動

Dynamo 環境外で Python を使用するには、まず Python をコンピュータにインストールします。 一部の Windows PC には Python がプリインストールされていますが、ダウンロードしてインストールする必要がある場合があります。 既に持っているかどうかを確認するには、コマンド ライン ウィンドウに python と入力します。 Python インタープリターからの応答が表示された場合は、最初の表示でバージョンが識別されています。 Python をインストールする必要がある場合は、Python ダウンロード ページで最新バージョンを見つけ、指示に従ってインストールしてください。

Python をインストールすると、スタートアップ メニューに表示されるか、コマンド ラインから呼び出すことができます。 Python インタープリターには派手なインターフェースはありませんが、シェルは開始するための基本的なツールを提供します。

パイソン

拡大するにはクリックしてください。

構文の基礎

Python でコードを記述する方法を学習する前に、コマンド プロンプトの直後に 2+2 などの数式を入力して、インタープリターのインタラクティブな性質を確認してください。 >>>. Python は次の行に答えを表示します。

パイソン

拡大するにはクリックしてください。

Python は一般的な英語のフレーズを使用する高水準言語ですが、従うべき規則がいくつかあります。 Web サイトには詳細なドキュメントが含まれているため、ここですべてを説明することはしませんが、いくつかのハイライトを次に示します。

  • ご覧のとおり、数値式を入力すると、インタープリターが値を書き込みます。 数学演算子 +、-、*、および / は、他のほとんどの言語と同じように機能します。

  • 文字列またはテキストは、単一引用符 (‘Hello’) または二重引用符 (“Hello”) で囲むことができ、結果は同じになります。

  • リストは、角括弧の間の一連のコンマ区切りの値として記述できます。 例えば: レイヤー = [0, 1, 2, 10]

  • 関数は特定のアクションを実行します。 たとえば、print() 関数は、括弧で囲まれた引数の値を書き込みます。

パイソン

拡大するにはクリックしてください。

  • メソッドは、特定のオブジェクトに関連付けられた関数です。 多くの組み込みデータ型には定義済みのメソッドが付属しており、独自のメソッドを作成することもできます。

  • 次のようなさまざまなロジックおよびフロー制御ツールが利用可能です。 もし、のために、 と その間 ステートメント。

Python コードは、任意のテキスト エディターで記述できますが、Visual Studio Code や Notepad++ などのより高度なテキスト エディターを使用するとメリットが得られる場合があります。 Python シェル インターフェイスから、再利用するためにコードを保存するには、 キュー | 保存 ファイルに名前を付けます。

パイソン

拡大するにはクリックしてください。

そして今、完全に異なる何かのために。 . . Python とダイナモ

(見出しにあるモンティ・パイソンのリファレンスを見つけましたか?) Python の基礎をいくつか説明したので、Python が CAD プログラマーに提供するものに目を向けることができます。 AutoCAD プログラマーが Python コードを活用する 1 つの方法は、Dynamo 環境を使用することです。

以前の記事では、Dynamo を使用してラインを作成する方法と、コード ブロックを使用して Dynamo スクリプトを簡素化する方法を学びました。 Python と Dynamo を組み合わせることで、両方の環境のツールを組み合わせてカスタム アプリケーションを構築できます。 オートデスク製品は、Dynamo 内に組み込みバージョンの Python を含めることで、このプロセスを支援します。

Civil 3D 2022 では、CPython と IronPython インタープリターの両方を使用できます。 CPython は現在バージョン 3 ですが、IronPython はバージョン 2 でしか使用できないため、これは主に互換性の理由によるものです。他のオートデスク製品で使用できる Python のバージョンはバージョンによって異なる場合がありますが、Dynamo 環境内で Python にアクセスする機能は、 CAD プログラマーにとって重要なステップです。

Dynamo の最初の記事では、定義済みのポイント座標を使用して AutoCAD ラインを作成する方法を紹介しました。 Dynamo グラフは次のようになります。

パイソン

拡大するにはクリックしてください。

各座標値に入力ノードを使用する代わりに、Python スクリプトを使用して、ノードの一部またはすべてに同じ入力を提供できます。 実証するために、Python を使用して Y2 値を確立します。

1. Civil 3D (または Revit) 図面を開き、上記のような Dynamo セッションを作成します。 (これらの手順の要約については、最初の記事を参照してください。その例を既に実行している場合は、スクリプトを再利用できます。)

2. Dynamo の[ライブラリ]ペインの[検索]ボックスに「Python」と入力して、Python 環境にアクセスします。 クリック Python スクリプト このノードをワークスペースに追加します。

パイソン

拡大するにはクリックしてください。

3. Python Script ノードの下部をダブルクリックして、Python Script エディタを開きます。 ウィンドウの左下部分の近くに、利用可能な 2 つのバージョンの Python を示すドロップダウンがあることに注意してください。 この例では、CPython を使用します。

パイソン

拡大するにはクリックしてください。

4. Python スクリプト エディターには、今のところ無視できる定型コードの行が多数含まれています。 最後の行を次のように変更します。

OUT = Y2

5. 最後の行のすぐ上に、次のように新しい行を挿入します。

Y2 = 7
6. Python Script ノードの出力を Point.ByCoordinates ノードの Y 値に接続します。 変更された Dynamo グラフは次のようになります。

パイソン

拡大するにはクリックしてください。

7.クリック 走る Dynamo ウィンドウの左下隅にある をクリックして、スクリプトを実行します。 (Dynamo を自動モードで実行している場合は、この手順をスキップできます。) Python によって生成された Y 値で描画された新しい線が表示されます。

これは簡潔にするために非常に単純化された例ですが、Python を使用してプログラミング ツールボックスに追加の機能を提供する方法を見ることができます。 ロジックやフロー制御などの Python のより堅牢な機能と、プログラムをすばやく作成するための Dynamo のグラフィック環境により、カスタム アプリケーションの作成は無限に広がります。

Dynamo、Python、およびその他のツールの使用方法については、今後の記事で引き続き説明します。 プログラミングのトピックについて具体的なアイデアがある場合は、お気軽にメールでお問い合わせください。

.

Leave a Comment

Your email address will not be published. Required fields are marked *