選択した図形のDXF情報を取得するLISP

  • URLをコピーしました!

(defun c:OI ()

(setq Obj (car (entsel))) ;図形名を得てObjに入れる
(entget Obj);Obj(図形名)からDXF情報を得てEntに入れる

)

このコードは、選択した図形のDXF情報を取得します。

コードの説明

  • (defun c:OI ()

この行は、関数「OI」を定義します。関数名は「c:」で始まり、これはAutoCADのカスタムコマンドの命名規則に従っています。

  • ()

この行は、関数の引数を定義します。この関数には引数はありません。

  • **(setq Obj (car (entsel))) ;図形名を得てObjに入れる

この行は、プロンプト「図形を選択:」を表示し、ユーザーが図形を選択できるようにします。選択された図形の名前を変数「Obj」に代入します。

  • **(entget Obj);Obj(図形名)からDXF情報を得てEntに入れる

この行は、変数「Obj」に代入された図形の名前から、DXF情報を取得します。取得したDXF情報を変数「Ent」に代入します。

コードの実行例

図面に、線分と円と文字が1つずつあるとします。このコードを実行し、線分のDXF情報を取得すると、以下のようになります。

図面を開く

線分を選択する

コマンドウィンドウに「OI」と入力してEnterキーを押す

すると、コマンドウィンドウに、線分のDXF情報が表示されます。

コードの修正

このコードは、以下の点が改善できます。

  • プロンプト「図形を選択:」を、より具体的にするとよいでしょう。たとえば、「図形のDXF情報を取得する図形を選択:」とすると、ユーザーが何をすべきかが明確になります。
  • 取得したDXF情報を、よりわかりやすい形式で表示するとよいでしょう。たとえば、JSON形式やXML形式で表示すると、ユーザーがデータを処理しやすくなります。

修正後のコード

修正後のコードは、以下のとおりです。

コード スニペット

(defun c:OI ()

(setq Obj (car (entsel "図形のDXF情報を取得する図形を選択:")))

(princ (json-encode (entget Obj)))

)

コードは慎重に使用してください。詳細content_copy

このコードでは、次の変更を加えました。

  • プロンプトをより具体的にしました。
  • 取得したDXF情報をJSON形式で表示するようにしました。

この修正により、コードの使い勝手が向上し、ユーザーがデータを処理しやすくなります。


DXF情報とは、AutoCADなどのCADソフトウェアで作成された図面の情報を記述したファイル形式です。DXFは、Drawing Exchange Formatの略称で、図面の属性情報やジオメトリ情報などを記述できます。

DXF情報には、以下の情報が含まれます。

  • 図形の属性情報
    • 図形の種類
    • 図形の色
    • 図形の線種
    • 図形の線幅
    • 図形の重ね順
  • 図形のジオメトリ情報
    • 図形の始点座標
    • 図形の終点座標
    • 図形の中心座標
    • 図形の半径
    • 図形の角度

DXF情報は、CADソフトウェア間で図面を交換するために使用されます。また、図面のデータを処理するためにも使用されます。

DXF情報は、テキスト形式で記述されています。そのため、テキストエディタで開いて確認することができます。また、AutoCADなどのCADソフトウェアで開いて確認することもできます。

DXF情報は、次の方法で取得することができます。

  • AutoCADなどのCADソフトウェアで、図形を選択して「属性表示」コマンドを実行する。
  • AutoCADなどのCADソフトウェアで、図形を選択して「DXFエクスポート」コマンドを実行する。
  • 第三者製のDXFビューアやエディタを使用する。

DXF情報は、図面のデータを処理するために便利なツールです。DXF情報を取得して、図面のデータを処理することで、図面の編集やデータ変換などを効率的に行うことができます。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

Contents