Vla-addminsertblock

提供:GizmoLabs - だいたい CAD LISP なサイト
2015年2月1日 (日) 17:51時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-addminsertblock ''vla-object'' ''InsertionPoint'' ''Name'' ''XScale'' ''YScale'' ''ZScale'' ''Rotation'' ''NumRows'' ''NumColumns'' ''RowSpac...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-addminsertblock vla-object InsertionPoint Name XScale YScale ZScale Rotation NumRows NumColumns RowSpacing ColumnSpacing [Password] )
機能
ブロック配列を挿入する。


引数
  • vla-object … VLAオブジェクト(Block、ModelSpace、PaperSpace)
  • InsertionPoint … ブロックの配列の挿入先の 3D WCS 座標。
  • Name … MInsertBlock の名前。
  • XScale … X 方向の尺度。
  • YScale … Y 方向の尺度。
  • ZScale … Z 方向の尺度。
  • Rotation … ラジアン単位で表した回転角度。
  • NumRows … 配列の行数を示す正の整数。
  • NumColumns … 配列の列数を示す正の整数。
  • RowSpacing … 配列の行間隔。
  • ColumnSpacing … 配列の列間隔。
  • Password … 図面を開いて挿入する際に必要なパスワード。


戻り値
新しく作成されるブロックの配列の VLAオブジェクト


サンプル
(vl-load-com)
(defun c:Example_AddMInsertBlock()
    ;; この例では、現在の図面に新しいブロックを作成し、そのブロックを
    ;; 元にブロック配列を作成
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; ブロックに挿入される円のオブジェクトを定義する
    (setq centerPoint (vlax-3d-point 0 0 0)
          InsertPoint (vlax-3d-point 1 1 0)
          radius 0.5)
    
    ;; 円オブジェクトを保持する新しいブロックを作成します。
    (setq blocks (vla-get-Blocks doc))
    (setq newBlock (vla-Add blocks centerPoint "CBlock"))
    
    ;; 新しいブロックオブジェクトに円オブジェクトを追加
    (setq circleObj (vla-AddCircle newBlock centerPoint radius))
    
    ;; 円を含む新しいブロックを使用してAddMInsertBlockから矩形配列を作成する。
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq newMBlock (vla-AddMInsertBlock modelSpace InsertPoint "CBlock" 1 1 1 1 2 2 1 1))
        
    (vla-ZoomAll acadObj)
    
    (alert "長方形配列は、元のブロックから作成。")
)

関連事項