Appends one or more entities to the specified group.
Supported platforms: Windows only
Signature
VBA:
object.AppendItems Objects
- object
-
Type: Group
The object this method applies to.
- Objects
-
Access: Input-only
Type: Variant (array of any drawing objects)
An array of objects to append. The array can consist of any drawing objects.
Return Value (RetVal)
No return value.
Remarks
To query items in a group, use the Item method.
To remove individual items from a group, use the RemoveItems method.
Examples
VBA:
Sub Example_AppendItems() ' This example creates a group and several objects. ' It then appends the objects to the group. ' Create the new group Dim groupObj As AcadGroup Set groupObj = ThisDrawing.Groups.Add("TEST_GROUP") ' Create a Ray object in model space Dim rayObj As AcadRay Dim basePoint(0 To 2) As Double Dim SecondPoint(0 To 2) As Double basePoint(0) = 3#: basePoint(1) = 3#: basePoint(2) = 0# SecondPoint(0) = 1#: SecondPoint(1) = 3#: SecondPoint(2) = 0# Set rayObj = ThisDrawing.ModelSpace.AddRay(basePoint, SecondPoint) ' Create a polyline object in model space Dim plineObj As AcadLWPolyline Dim points(0 To 5) As Double points(0) = 3: points(1) = 7 points(2) = 9: points(3) = 2 points(4) = 3: points(5) = 5 Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points) plineObj.Closed = True ' Create a line object in model space Dim lineObj As AcadLine Dim startPoint(0 To 2) As Double Dim endPoint(0 To 2) As Double startPoint(0) = 0: startPoint(1) = 0: startPoint(2) = 0 endPoint(0) = 2: endPoint(1) = 2: endPoint(2) = 0 Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint) ' Create a circle object in model space Dim circObj As AcadCircle Dim centerPt(0 To 2) As Double Dim radius As Double centerPt(0) = 20: centerPt(1) = 30: centerPt(2) = 0 radius = 3 Set circObj = ThisDrawing.ModelSpace.AddCircle(centerPt, radius) ' Create an ellipse object in model space Dim ellObj As AcadEllipse Dim majAxis(0 To 2) As Double Dim center(0 To 2) As Double Dim radRatio As Double center(0) = 5#: center(1) = 5#: center(2) = 0# majAxis(0) = 10: majAxis(1) = 20#: majAxis(2) = 0# radRatio = 0.3 Set ellObj = ThisDrawing.ModelSpace.AddEllipse(center, majAxis, radRatio) ZoomAll ' Iterate through the model space collection. ' Collect the objects found into an array of objects ' to be added to the group. ReDim appendObjs(0 To ThisDrawing.ModelSpace.count - 1) As AcadEntity Dim I As Integer For I = 0 To ThisDrawing.ModelSpace.count - 1 Set appendObjs(I) = ThisDrawing.ModelSpace.Item(I) Next ' Add the array of objects to the group groupObj.AppendItems appendObjs ThisDrawing.Regen acActiveViewport End Sub
Visual LISP:
(vl-load-com) (defun c:Example_AppendItems() ;; This example creates a group and several objects. ;; It then appends the objects to the group. (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; Create the new group (setq groupObj (vla-Add (vla-get-Groups doc) "TEST_GROUP")) ;; Create a Ray object in model space (setq basePoint (vlax-3d-point 3 3 0) secondPoint (vlax-3d-point 1 3 0)) (setq modelSpace (vla-get-ModelSpace doc)) (setq rayObj (vla-AddRay modelSpace basePoint SecondPoint)) ;; Create a polyline object in model space (setq points (vlax-make-safearray vlax-vbDouble '(0 . 5))) (vlax-safearray-fill points '(3 7 9 2 3 5 ) ) (setq plineObj (vla-AddLightWeightPolyline modelSpace points)) (vla-put-Closed plineObj :vlax-true) ;; Create a line object in model space (setq startPoint (vlax-3d-point 0 0 0) endPoint (vlax-3d-point 2 2 0)) (setq lineObj (vla-AddLine modelSpace startPoint endPoint)) ;; Create a circle object in model space (setq centerPt (vlax-3d-point 20 30 0) radius 3) (setq circObj (vla-AddCircle modelSpace centerPt radius)) ;; Create an ellipse object in model space (setq center (vlax-3d-point 5 5 0) majAxis (vlax-3d-point 10 20 0) radRatio 0.3) (setq ellObj (vla-AddEllipse modelSpace center majAxis radRatio)) (vla-ZoomAll acadObj) ;; Iterate through the model space collection. ;; Collect the objects found into an array of objects ;; to be added to the group. (setq I 0 totalObjs (vla-get-Count modelSpace)) (setq appendObjs (vlax-make-safearray vlax-vbObject (cons 0 (- totalObjs 1)))) (while (>= (- totalObjs 1) I) (vlax-safearray-put-element appendObjs I (vla-Item modelSpace I)) (setq I (1+ I)) ) ;; Add the array of objects to the group (vla-AppendItems groupObj appendObjs) (vla-Regen doc acActiveViewport) )