Mar 1, 2000 - AutoCAD drawings can contain data that can be used by other computer. Attributes are independent entities attached to block inserts. The appropriate group code values for the insertion point, rotation, size and so forth. That the number of lines of code will be just about the same for each language!
Examples VBA: Sub ExampleCopy ' This example creates a circle and then copies ' that circle. The new circle is then moved. ' Create the circle Dim circleObj As AcadCircle Dim center(0 To 2) As Double Dim radius As Double center(0) = 2#: center(1) = 2#: center(2) = 0# radius = 0.5 Set circleObj = ThisDrawing.ModelSpace.AddCircle(center, radius) ZoomAll MsgBox 'Copy the circle.' , 'Copy Example' ' Copy the circle Dim copyCircleObj As AcadCircle Set copyCircleObj = circleObj.Copy ' Define the points that make up the move vector Dim point1(0 To 2) As Double Dim point2(0 To 2) As Double point1(0) = 0: point1(1) = 0: point1(2) = 0 point2(0) = 2: point2(1) = 0: point2(2) = 0 MsgBox 'Move the copied circle 2 units in the X direction.' , 'Copy Example' ' Move the circle and color it copyCircleObj.Move point1, point2 ZoomAll MsgBox 'Move completed.' , 'Copy Example' End Sub Visual LISP: (vl-load-com) (defun c:ExampleCopy;; This example creates a circle and then copies;; that circle.
The new circle is then moved. (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj));; Create the circle (setq center (vlax-3d-point 2 2 0) radius 0.5) (setq modelSpace (vla-get-ModelSpace doc)) (setq circleObj (vla-AddCircle modelSpace center radius)) (vla-ZoomAll acadObj) (alert 'Copy the circle.'
);; Copy the circle (setq copyCircleObj (vla-Copy circleObj));; Define the points that make up the move vector (setq point1 (vlax-3d-point 0 0 0) point2 (vlax-3d-point 2 0 0)) (alert 'Move the copied circle 2 units in the X direction.' );; Move the circle and color it (vla-Move copyCircleObj point1 point2) (vla-ZoomAll acadObj) (alert 'Move completed.'