1. ## Drawing cylinders

Registered forum members do not see this ad.

I use AutoCAD 2007 and program in VBA. Could you help with drawing cylinders in VBA. The "AddCylinder" draws only in WCS meaning I get cylinders in only one direction. I need cylinders to the UCS I set using the VBA program.

2. Originally Posted by Ramesh PK
I use AutoCAD 2007 and program in VBA. Could you help with drawing cylinders in VBA. The "AddCylinder" draws only in WCS meaning I get cylinders in only one direction. I need cylinders to the UCS I set using the VBA program.
you can rotate the cylinder after creating it

here's a quick and dirty code combinating two AutoCAD Active X and VBA reference examples
Code:
```Option Explicit
' This example creates a cylinder in model space.

Dim center(0 To 2) As Double
Dim height As Double

' Define the cylinder
center(0) = 0#: center(1) = 0#: center(2) = 0#
height = 20#

' Create the Cylinder (3DSolid) object in model space
ZoomAll
MsgBox "Cylinder created"

' Change the viewing direction of the viewport
Dim NewDirection(0 To 2) As Double
NewDirection(0) = -1: NewDirection(1) = -1: NewDirection(2) = 1
ThisDrawing.ActiveViewport.Direction = NewDirection
ThisDrawing.ActiveViewport = ThisDrawing.ActiveViewport
ThisDrawing.Regen True

' Define the rotation axis with two points
Dim rotatePt1(0 To 2) As Double
Dim rotatePt2(0 To 2) As Double
Dim rotateAngle As Double

rotatePt1(0) = -3: rotatePt1(1) = 4: rotatePt1(2) = 0
rotatePt2(0) = -3: rotatePt2(1) = -4: rotatePt2(2) = 0
rotateAngle = 30
rotateAngle = rotateAngle * 3.141592 / 180#

' Draw a line between the two axis points so that it is visible.
' This is optional. It is not required for the rotation.
axisLine.Update
MsgBox "Rotate the box 30 degrees about the axis shown.", , "Rotate3D Example"
' Rotate the box
cylinderObj.Rotate3D rotatePt1, rotatePt2, rotateAngle
ThisDrawing.Regen True
MsgBox "The cylinder is rotated 30 degrees.", , "Rotate3D Example"
End Sub```

3. ## Thanks

Registered forum members do not see this ad.

Thanks for a quick response..!