CopyObjects 函数在C++中如何用???
<p>各位CAD开发大哥好!</p><p>小弟对CAD二次开发AutoMation非常感兴趣!</p><p>一直不明白CopyObjects函数 在C++中参数含义,恳请指教,不胜感激!!!</p><p>以下是AutoCAD联机帮助:</p><p class="1-liner">Duplicates multiple objects (deep cloning).</p><p class="h1-access"><a href="mk:@MSITStore:C:\Program%20Files\AutoCAD%202004\help\ACADAUTO.CHM::/copyobjects_see_also.htm">See Also</a> | <a href="mk:@MSITStore:C:\Program%20Files\AutoCAD%202004\help\ACADAUTO.CHM::/ex_copyobjects.htm">Example</a></p><p class="Heading-2">Signature </p><p class="syntax">RetVal = object.CopyObjects(Objects[, Owner][, IDPairs]) </p><p class="element">Object</p><p class="element-desc"><a href="mk:@MSITStore:C:\Program%20Files\AutoCAD%202004\help\ACADAUTO.CHM::/idh_database_object.htm">Database</a>, <a href="mk:@MSITStore:C:\Program%20Files\AutoCAD%202004\help\ACADAUTO.CHM::/idh_document_object.htm">Document</a><br/>The object or objects this method applies to. </p><p class="element">Objects</p><p class="element-desc">Variant (array of objects); input-only<br/>The array of primary objects to be copied. All the objects must have the same owner, and the owner must belong to the database or document that is calling this method. </p><p class="element">Owner</p><p class="element-desc">Variant (a single object); input-only; optional<br/>The new owner for the copied objects. If no owner is specified, the objects will be created with the same owner as the objects in the Objects array. </p><p class="element">IDPairs</p><p class="element-desc">Variant (array of IDPair objects); input-output; optional<br/>Information on what happened during the copy and translation process.<br/>Input: an empty variant.<br/>Output: an array of IDPair objects. </p><p class="element">RetVal</p><p class="element-desc">Variant (array of objects)<br/>An array of newly created duplicate objects. Only primary objects are returned in this array. For more information on what occured during the CopyObjects operation, or a list of objects owned by primary objects that were also copied, consult the IDPairs array. </p><p class="Heading-2">Remarks </p><p class="body">To copy objects to another open drawing, set the Owner parameter to the other drawing's model space. </p><p class="body">During the CopyObjects operation, objects that are owned or referenced by the primary objects in the Objects parameter will also be copied. </p><p class="body">NOTE You cannot execute this method while simultaneously iterating through a collection. An iteration will open the work space for a read-only operation, while this method attempts to perform a read-write operation. Complete any iteration before you call this method. </p><p>例子如下:</p><pre class="Code">Sub Example_CopyObjects()' This example creates a Circle object and uses the CopyObjects
' method to make a copy of the new Circle.
Dim DOC1 As AcadDocument
Dim circleObj1 As AcadCircle, circleObj2 As AcadCircle
Dim circleObj1Copy As AcadCircle, circleObj2Copy As AcadCircle
Dim centerPoint(0 To 2) As Double
Dim radius1 As Double, radius2 As Double
Dim radius1Copy As Double, radius2Copy As Double
Dim objCollection(0 To 1) As Object
Dim retObjects As Variant
' Define the Circle object
centerPoint(0) = 0: centerPoint(1) = 0: centerPoint(2) = 0
radius1 = 5#: radius2 = 7#
radius1Copy = 1#: radius2Copy = 2#
' Create a new drawing
Set DOC1 = Documents.Add
' Add two circles to the drawing
Set circleObj1 = DOC1.ModelSpace.AddCircle(centerPoint, radius1)
Set circleObj2 = DOC1.ModelSpace.AddCircle(centerPoint, radius2)
ThisDrawing.Application.ZoomAll
' Copy objects
'
' First put the objects to be copied into a form compatible with CopyObjects
Set objCollection(0) = circleObj1
Set objCollection(1) = circleObj2
' Copy object and get back a collection of the new objects (copies)
retObjects = DOC1.CopyObjects(objCollection)
' Get newly created object and apply new properties to the copies
Set circleObj1Copy = retObjects(0)
Set circleObj2Copy = retObjects(1)
circleObj1Copy.radius = radius1Copy
circleObj2Copy.radius = radius2Copy
ThisDrawing.Application.ZoomAll
MsgBox "Circles copied."
End Sub</pre><pre class="Code"><p>一直不明白CopyObjects函数 在C++中参数含义,恳请指教,不胜感激!!!</p></pre>
页:
[1]