Vla-loadshapefile

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(vla-loadshapefile vla-object Name)


機能
シェイプ ファイル(.shx)をロードする。
引数
  • vla-object … VLAオブジェクト(Document)
  • Name … ロードするシェイプファイルのパス。


戻り値
新しく作成される Shape オブジェクト。


  • MEMO:このメソッドを使用すると、シェイプ ファイル内のすべてのシェイプを現在の図面で利用できるようになる。シェイプを図面に追加するには、vla-addshape メソッドを使用する。
最初に必要となった時点で、シェイプ ファイルをロードしておきく。それ以後は CAD がシェイプ ファイルをロードする。シェイプ ファイルを使用する図面を編集するたびに、シェイプ ファイルが必要になる。


サンプル
(vl-load-com)
(defun c:Example_AddShape()
    ;; typeshp.shx ファイルから BAT のシェイプを作成するサンプル
    (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
  
    ;; シェイプファイルからシェイプをロードして作成。
    ;; ltypeshp.shx が入ってないとダメ。
    (setq shapeFile ".\\ltypeshp.shx")

    (if (/= (findfile shapeFile) nil)
        (progn
            (vla-LoadShapeFile doc (findfile shapeFile))
            (setq insertionPoint (vlax-3d-point 2 2 0)
                  shapeName "BAT"
                  scalefactor 1
                  rotation 0)      ;; Radians
    
            ;; モデルに BATのシェイプを作成。
            (setq modelSpace (vla-get-ModelSpace doc))
            (setq shapeObj (vla-AddShape modelSpace shapeName insertionPoint scalefactor rotation))
        )
        (alert "シェイプファイルが無いっす")
    )
)

関連事項