ブロック配列を挿入します。
サポートされているプラットフォーム: Windows のみ
VBA:
RetVal = object.AddMInsertBlock(InsertionPoint, Name, XScale, YScale, ZScale, Rotation, NumRows, NumColumns, RowSpacing, ColumnSpacing [, Password])
タイプ: Block、ModelSpace、PaperSpace
このメソッドが適用されるオブジェクト。
アクセス: 入力のみ
タイプ: バリアント型(3 要素の倍精度浮動小数点数型配列)
ブロックの配列の挿入先の 3D WCS 座標。
アクセス: 入力のみ
タイプ: 文字列
MInsertBlock の名前。
アクセス: 入力のみ
タイプ: 倍精度浮動小数点数型
X 方向の尺度。
アクセス: 入力のみ
タイプ: 倍精度浮動小数点数型
Y 方向の尺度。
アクセス: 入力のみ
タイプ: 倍精度浮動小数点数型
Z 方向の尺度。
アクセス: 入力のみ
タイプ: 倍精度浮動小数点数型
ラジアン単位で表した回転角度。
アクセス: 入力のみ
タイプ: 長整数型
配列の行数を示す正の整数。
アクセス: 入力のみ
タイプ: 長整数型
配列の列数を示す正の整数。
アクセス: 入力のみ
タイプ: 倍精度浮動小数点数型
配列の行間隔。
アクセス: 入力のみ
タイプ: 倍精度浮動小数点数型
配列の列間隔。
アクセス: 入力のみ
タイプ: バリアント型
図面を開いて挿入する際に必要なパスワード。
次の図は作成されたブロックの配列を示します。
元のブロック
挿入されたブロックの配列
VBA:
Sub Example_AddMInsertBlock() ' This example creates a new Block in the current drawing, adds a ' Circle object to the new block, and uses the newly created block ' to create a rectangular array of block references using AddMInsertBlock Dim circleObj As AcadCircle Dim centerPoint(0 To 2) As Double, InsertPoint(0 To 2) As Double Dim radius As Double Dim newMBlock As AcadMInsertBlock Dim newBlock As AcadBlock ' Define the Circle object that will be inserted into the block centerPoint(0) = 0: centerPoint(1) = 0: centerPoint(2) = 0 InsertPoint(0) = 1: InsertPoint(1) = 1: InsertPoint(2) = 0 radius = 0.5 ' Create a new block to hold the Circle object Set newBlock = ThisDrawing.Blocks.Add(centerPoint, "CBlock") ' Add the Circle object to the new block object Set circleObj = ThisDrawing.Blocks("CBlock").AddCircle(centerPoint, radius) ' Create a rectangular array of Circles using the new block containing the Circle ' and the AddMInsertBlock method Set newMBlock = ThisDrawing.ModelSpace.AddMInsertBlock(InsertPoint, "CBlock", 1, 1, 1, 1, 2, 2, 1, 1) ThisDrawing.Application.ZoomAll MsgBox "A rectangular array has been created from the original block." End Sub
Visual LISP:
(vl-load-com) (defun c:Example_AddMInsertBlock() ;; This example creates a new Block in the current drawing, adds a ;; Circle object to the new block, and uses the newly created block ;; to create a rectangular array of block references using AddMInsertBlock (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; Define the Circle object that will be inserted into the block (setq centerPoint (vlax-3d-point 0 0 0) InsertPoint (vlax-3d-point 1 1 0) radius 0.5) ;; Create a new block to hold the Circle object (setq blocks (vla-get-Blocks doc)) (setq newBlock (vla-Add blocks centerPoint "CBlock")) ;; Add the Circle object to the new block object (setq circleObj (vla-AddCircle newBlock centerPoint radius)) ;; Create a rectangular array of Circles using the new block containing the Circle ;; and the AddMInsertBlock method (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 "A rectangular array has been created from the original block.") )