メンバー オブジェクトを作成し、それを適切なコレクションに追加します。
サポートされているプラットフォーム: Windows のみ
VBA:
RetVal = object.Add(InsertionPoint, Name)
タイプ: Blocks
このメソッドが適用されるオブジェクト。
アクセス: 入力のみ
タイプ: バリアント型(3 要素の倍精度浮動小数点数型配列)
Blocks オブジェクトが追加される位置を指定する 3D WCS 座標。
アクセス: 入力のみ
タイプ: 文字列
コレクションに追加するブロックの名前。
VBA:
RetVal = object.Add(Origin, XAxisPoint, YAxisPoint, Name)
タイプ: UCS
このメソッドが適用されるオブジェクト。
アクセス: 入力のみ
タイプ: バリアント型(3 要素の倍精度浮動小数点数型配列)
UCS を追加する位置を指定する 3D WCS 座標。
アクセス: 入力のみ
タイプ: バリアント型(3 要素の倍精度浮動小数点数型配列)
UCS の X 軸上の正の点を指定する 3D WCS 座標。XAxisPoint および YAxisPoint は、どちらも Origin と同じ位置に指定することはできません。
アクセス: 入力のみ
タイプ: バリアント型(3 要素の倍精度浮動小数点数型配列)
UCS の Y 軸上の正の点を指定する 3D WCS 座標。(Z 軸は、右手の法則に従います。)
アクセス: 入力のみ
タイプ: 文字列
コレクションに追加する UCS の名前。
VBA:
RetVal = object.Add(Name [, Description] [, NamedLocation])
タイプ: Hyperlinks
このメソッドが適用されるオブジェクト。
アクセス: 入力のみ
タイプ: 文字列
追加するハイパーリンクの名前。
アクセス: 入力のみ; オプション
タイプ: バリアント型
追加するハイパーリンクの説明。
アクセス: 入力のみ; オプション
タイプ: バリアント型
AutoCAD の名前の付いたビューやワードプロセッサのブックマークのような位置。AutoCAD 図面のジャンプ先の名前の付いたビューを指定すると、ハイパーリンクが開かれたときに AutoCAD は該当のビューを復元します。
VBA:
RetVal = object.Add(Name [, ModelType])
タイプ: PlotConfigurations
このメソッドが適用されるオブジェクト。
アクセス: 入力のみ
タイプ: 文字列
コレクションに追加するオブジェクトの名前。
アクセス: 入力のみ; オプション
タイプ: ブール型
VBA:
RetVal = object.Add(Name)
タイプ: Dictionaries、DimStyles、Documents、Groups、Layers、Layouts、Linetypes、Materials、PopupMenus、RegisteredApplications、SelectionSets、TextStyles、Toolbars、Views、Viewports
このメソッドが適用されるオブジェクト。
アクセス: 入力のみ; オプション(Documents オブジェクト)
タイプ: 文字列
コレクションに追加するオブジェクトの名前。Documents の場合、この名前は使用する図面のテンプレートを示し、URL アドレスまたは完全修飾されたパス名またはファイル名を受け入れます。
タイプ: Block、Dictionary、DimStyle、Document、Group、Hyperlink、Layer、Layout、Linetype、Material、PlotConfiguration、PopupMenu、RegisteredApplication、SelectionSet、TextStyle、Toolbar、UCS、View、Viewport
新たに追加されるオブジェクト。
このメソッドを使用して線種を作成して Linetypes コレクションに追加できますが、線種は既定のプロパティでのみ作成されます。このバージョンの ActiveX オートメーションでは Linetype オブジェクトのプロパティを変更できないため、Load メソッドを使用して既存の線種を図面にロードしてください。
画層は、既定の色プロパティおよび線種プロパティで作成されます。既定の色は白で、既定の線種は標準です。
Documents: セキュアな URL にアクセスするとき、ユーザに必要なパスワード情報の入力を求めるダイアログ ボックスが表示されます。このときに、メッセージ ボックスも表示されます(ブラウザでこの動作をオフにしていない場合)。ファイルをダウンロードするときに内部処理用のテンポラリ ファイルが作成されます。このテンポラリ ファイルにはアクセスしないでください。このファイル内の情報は、AutoCAD セッションが終了する時点で削除されます。
Group: 長すぎる Name、スペースを含む Name は指定しないでください。このような名前は、[グループ]ダイアログ ボックスで正しく扱えない、コマンド ラインに入力できないという問題があります。
VBA:
Sub Example_Add()
' This example adds a block, dictionary, dimension style,
' group, layer, registered application, selection set,
' textstyle, view, viewport and UCS using the Add method.
GoSub ADDBLOCK
GoSub ADDDICTIONARY
GoSub ADDDIMSTYLE
GoSub ADDGROUP
GoSub ADDLAYER
GoSub ADDREGISTEREDAPP
GoSub ADDSELECTIONSET
GoSub ADDTEXTSTYLE
GoSub ADDVIEW
GoSub ADDVIEWPORT
GoSub ADDUCS
GoSub ADDMATERIAL
Exit Sub
ADDBLOCK:
' Create a new block called "New_Block"
Dim blockObj As AcadBlock
' Define the block
Dim insertionPnt(0 To 2) As Double
insertionPnt(0) = 0#: insertionPnt(1) = 0#: insertionPnt(2) = 0#
' Add the block to the blocks collection
Set blockObj = ThisDrawing.Blocks.Add(insertionPnt, "New_Block")
MsgBox blockObj.name & " has been added." & vbCrLf & _
"Origin: " & blockObj.origin(0) & ", " & blockObj.origin(1) _
& ", " & blockObj.origin(2), , "Add Example"
Return
ADDDICTIONARY:
' Create a new dictionary called "New_Dictionary"
Dim dictObj As AcadDictionary
' Add the dictionary to the dictionaries collection
Set dictObj = ThisDrawing.Dictionaries.Add("New_Dictionary")
MsgBox dictObj.name & " has been added.", , "Add Example"
Return
ADDDIMSTYLE:
' Create a new dimension style called "New_Dimstyle" in current drawing
Dim DimStyleObj As AcadDimStyle
' Add the dimstyle to the dimstyles collection
Set DimStyleObj = ThisDrawing.DimStyles.Add("New_Dimstyle")
MsgBox DimStyleObj.name & " has been added.", , "Add Example"
Return
ADDGROUP:
' Create a new group called "New_Group" in current drawing
Dim groupObj As AcadGroup
' Add the group to the groups collection
Set groupObj = ThisDrawing.Groups.Add("New_Group")
MsgBox groupObj.name & " has been added.", , "Add Example"
Return
ADDLAYER:
' This example creates a new layer called "New_Layer"
Dim layerObj As AcadLayer
' Add the layer to the layers collection
Set layerObj = ThisDrawing.Layers.Add("New_Layer")
' Make the new layer the active layer for the drawing
ThisDrawing.ActiveLayer = layerObj
' Display the status of the new layer
MsgBox layerObj.name & " has been added." & vbCrLf & _
"LayerOn Status: " & layerObj.LayerOn & vbCrLf & _
"Freeze Status: " & layerObj.Freeze & vbCrLf & _
"Lock Status: " & layerObj.Lock & vbCrLf & _
"Color: " & layerObj.Color, , "Add Example"
Return
ADDREGISTEREDAPP:
' Create a registered application named "New_RegApp" in current drawing
Dim RegAppObj As AcadRegisteredApplication
' Add the registered application to the registered applications collection
Set RegAppObj = ThisDrawing.RegisteredApplications.Add("New_RegApp")
MsgBox RegAppObj.name & " has been added.", , "Add Example"
Return
ADDSELECTIONSET:
' Create a selectionset named "New_SelectionSet" in current drawing
Dim ssetObj As AcadSelectionSet
' Add the selection set to the selection sets collection
Set ssetObj = ThisDrawing.SelectionSets.Add("New_SelectionSet")
MsgBox ssetObj.name & " has been added." & vbCrLf & _
"The number of items in the selection set is " & ssetObj.count _
, , "Add Example"
Return
ADDTEXTSTYLE:
' Create a textstyle named "New_Textstyle" in current drawing
Dim txtStyleObj As AcadTextStyle
' Add the textstyle to the textstyles collection
Set txtStyleObj = ThisDrawing.TextStyles.Add("New_Textstyle")
MsgBox txtStyleObj.name & " has been added." & vbCrLf & _
"Height: " & txtStyleObj.height & vbCrLf & _
"Width: " & txtStyleObj.width, , "Add Example"
Return
ADDVIEW:
' Create a view named "New_View" in current drawing
Dim viewObj As AcadView
' Add the view to the views collection
Set viewObj = ThisDrawing.Views.Add("New_View")
MsgBox viewObj.name & " has been added." & vbCrLf & _
"Height: " & viewObj.height & vbCrLf & _
"Width: " & viewObj.width, , "Add Example"
Return
ADDVIEWPORT:
' Create a viewport named "New_Viewport" in current drawing
Dim vportObj As AcadViewport
' Add the viewport to the viewports collection
Set vportObj = ThisDrawing.Viewports.Add("New_Viewport")
MsgBox vportObj.name & " has been added." & vbCrLf & _
"GridOn Status: " & vportObj.GridOn & vbCrLf & _
"OrthoOn Status: " & vportObj.OrthoOn & vbCrLf & _
"SnapOn Status: " & vportObj.SnapOn, , "Add Example"
Return
ADDUCS:
' Create a UCS named "New_UCS" in current drawing
Dim ucsObj As AcadUCS
Dim origin(0 To 2) As Double
Dim xAxisPnt(0 To 2) As Double
Dim yAxisPnt(0 To 2) As Double
' Define the UCS
origin(0) = 4#: origin(1) = 5#: origin(2) = 3#
xAxisPnt(0) = 5#: xAxisPnt(1) = 5#: xAxisPnt(2) = 3#
yAxisPnt(0) = 4#: yAxisPnt(1) = 6#: yAxisPnt(2) = 3#
' Add the UCS to the UserCoordinatesSystems collection
Set ucsObj = ThisDrawing.UserCoordinateSystems.Add(origin, xAxisPnt, yAxisPnt, "New_UCS")
MsgBox ucsObj.name & " has been added." & vbCrLf & _
"Origin: " & ucsObj.origin(0) & ", " & ucsObj.origin(1) _
& ", " & ucsObj.origin(2), , "Add Example"
Return
ADDMATERIAL:
Dim oMaterial As AcadMaterial
Dim oMaterials As AcadMaterials
Set oMaterial = ThisDrawing.Materials.Add("TestMaterial")
oMaterial.Description = "This example demonstrates how to add a material to a database."
ThisDrawing.ActiveMaterial = oMaterial
' Display the status of the new layer
MsgBox oMaterial.Name & " has been added." & vbCrLf & _
"Name: " & oMaterial.Name & vbCrLf & vbCrLf & _
"Description: " & vbCrLf & vbCrLf & _
oMaterial.Description
Return
End Sub
Visual LISP:
(vl-load-com)
(defun c:Example_Add()
;; This example adds a block, dictionary, dimension style,
;; group, layer, registered application, selection set,
;; textstyle, view, viewport and UCS using the Add method.
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
;; ADDBLOCK:
;; Create a new block called "New_Block"
;; Define the insertion point
(setq insertionPnt (vlax-3d-point 0 0 0))
;; Add the block to the blocks collection
(setq blocks (vla-get-Blocks doc))
(setq blockObj (vla-Add blocks insertionPnt "New_Block"))
(alert (strcat (vla-get-Name blockObj) " has been added."
"\nOrigin: " (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-Origin blockObj)) 0) 2 2) ", "
(rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-Origin blockObj)) 1) 2 2) ", "
(rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-Origin blockObj)) 2) 2 2)
)
)
;; ADDDICTIONARY:
;; Create a new dictionary called "New_Dictionary"
;; Add the dictionary to the dictionaries collection
(setq dictionaries (vla-get-Dictionaries doc))
(setq dictObj (vla-Add dictionaries "New_Dictionary"))
(alert (strcat (vla-get-Name dictObj) " has been added."))
;; ADDDIMSTYLE:
;; Create a new dimension style called "New_Dimstyle" in current drawing
;; Add the dimstyle to the dimstyles collection
(setq dimStyles (vla-get-DimStyles doc))
(setq dimStyleObj (vla-Add dimStyles "New_Dimstyle"))
(alert (strcat (vla-get-Name dimStyleObj) " has been added."))
;; ADDGROUP:
;; Create a new group called "New_Group" in current drawing
;; Add the group to the groups collection
(setq groups (vla-get-Groups doc))
(setq groupObj (vla-Add dimStyles "New_Group"))
(alert (strcat (vla-get-Name groupObj) " has been added."))
;; ADDLAYER:
;; This example creates a new layer called "New_Layer"
;; Add the layer to the layers collection
(setq layers (vla-get-Layers doc))
(setq layerObj (vla-Add layers "New_Layer"))
;; Make the new layer the active layer for the drawing
(vla-put-ActiveLayer doc layerObj)
;; Display the status of the new layer
(alert (strcat (vla-get-Name layerObj) " has been added."
"\nLayerOn Status: " (if (= (vla-get-LayerOn layerObj) :vlax-true) "1" "0")
"\nFreeze Status: " (if (= (vla-get-Freeze layerObj) :vlax-true) "1" "0")
"\nLock Status: " (if (= (vla-get-Lock layerObj) :vlax-true) "1" "0")
"\nColor: " (itoa (vla-get-Color layerObj))
)
)
;; ADDREGISTEREDAPP:
;; Create a registered application named "New_RegApp" in current drawing
;; Add the registered application to the registered applications collection
(setq regApps (vla-get-RegisteredApplications doc))
(setq regAppObj (vla-Add regApps "New_RegApp"))
(alert (strcat (vla-get-Name regAppObj) " has been added."))
;; ADDSELECTIONSET:
;; Create a selectionset named "New_SelectionSet" in current drawing
;; Add the selection set to the selection sets collection
(setq ssets (vla-get-SelectionSets doc))
(setq ssetObj (vla-Add ssets "New_SelectionSet"))
(alert (strcat (vla-get-Name ssetObj) " has been added."
"\nThe number of items in the selection set is " (itoa (vla-get-Count ssetObj))
)
)
;; ADDTEXTSTYLE:
;; Create a textstyle named "New_Textstyle" in current drawing
;; Add the textstyle to the textstyles collection
(setq textStyles (vla-get-TextStyles doc))
(setq txtStyleObj (vla-Add textStyles "New_Textstyle"))
(alert (strcat (vla-get-Name txtStyleObj) " has been added."
"\nHeight: " (rtos (vla-get-Height txtStyleObj) 2 2)
"\nWidth: " (rtos (vla-get-Width txtStyleObj) 2 2)
)
)
;; ADDVIEW:
;; Create a view named "New_View" in current drawing
;; Add the view to the views collection
(setq views (vla-get-Views doc))
(setq viewObj (vla-Add views "New_View"))
(alert (strcat (vla-get-Name viewObj) " has been added."
"\nHeight: " (rtos (vla-get-Height viewObj) 2 2)
"\nWidth: " (rtos (vla-get-Width viewObj) 2 2)
)
)
;; ADDVIEWPORT:
;; Create a viewport named "New_Viewport" in current drawing
;; Add the viewport to the viewports collection
(setq viewports (vla-get-Viewports doc))
(setq vportObj (vla-Add viewports "New_Viewport"))
(alert (strcat (vla-get-Name vportObj) " has been added."
"\nGridOn Status: " (if (= (vla-get-GridOn vportObj) :vlax-true) "1" "0")
"\nOrthoOn Status: " (if (= (vla-get-OrthoOn vportObj) :vlax-true) "1" "0")
"\nSnapOn Status: " (if (= (vla-get-SnapOn vportObj) :vlax-true) "1" "0")
)
)
;; ADDUCS:
;; Create a UCS named "New_UCS" in current drawing
;; Define the UCS
(setq origin (vlax-3d-point 4 5 3)
xAxisPnt (vlax-3d-point 5 5 3)
yAxisPnt (vlax-3d-point 4 6 4))
;; Add the UCS to the UserCoordinatesSystems collection
(setq UCSs (vla-get-UserCoordinateSystems doc))
(setq ucsObj (vla-Add UCSs origin xAxisPnt yAxisPnt "New_UCS"))
(alert (strcat (vla-get-Name ucsObj) " has been added."
"\nOrigin: " (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-Origin ucsObj)) 0) 2 2) ", "
(rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-Origin ucsObj)) 1) 2 2) ", "
(rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-Origin ucsObj)) 2) 2 2)
)
)
;; ADDMATERIAL:
;; Creates a material named "New_UCS" in the current drawing
(setq oMaterials (vla-get-Materials doc))
(setq oMaterial (vla-Add oMaterials "TestMaterial"))
(vla-put-Description oMaterial "This example demonstrates how to add a material to a database.")
(vla-put-ActiveMaterial doc oMaterial)
;; Display information about the material
(alert (strcat (vla-get-Name oMaterial) " has been added."
"\nName: " (vla-get-Name oMaterial)
"\nDescription: " (vla-get-Description oMaterial)
)
)
)