Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here


VBA - Create a 3D pipe along any polyline

VBA - Create a 3D pipe along any polyline

VBA - Create a 3D pipe along any polyline


Maybe we can solve this together.. The idea is to make two circles to extrude along any polyline given. I'm extruding one circle at a time. But at the moment I'm stuck while trying to get the coordinates from my polyline. I get a type '13' mismatch on "polycoords". What am I missing?

Here is the code so far for one circle:

Private Sub CommandButton1_Click()


Dim D1 As Double
Dim t1 As Double
Dim r1 As Double

Dim circlecenter(0 To 2) As Double
Dim Circle1, Circle2 As AcadCircle
Dim Region As Variant
'Dim objSolidPol As Object
Dim oEnt As AcadEntity
Dim varpt As Variant
Dim pts As Variant
'Dim rotpoint1(2) As Double
'Dim rotpoint2(2) As Double
Dim Sweep1 As Acad3DSolid
Dim PolyCoords As Variant

D1 = Val(TextBox1.Text)
t1 = Val(TextBox2.Text)
r1 = D1 / 2

ThisDrawing.Utility.GetEntity oEnt, varpt, vbCr & "Select polyline"
If Not TypeOf oEnt Is AcadLWPolyline And _
Not TypeOf oEnt Is Acad3DPolyline And _
Not TypeOf oEnt Is AcadPolyline Then
MsgBox "Method is not applicable for this entity type"
Exit Sub
End If

pts = PolyCoords(oEnt) ' Here is the mismatch

circlecenter(0) = 0: circlecenter(1) = 0: circlecenter(2) = 0

Set Circle1 = ThisDrawing.ModelSpace.AddCircle(circlecenter, r1)

Region = ThisDrawing.ModelSpace.AddRegion(Circle1)
Set Sweep1 = ThisDrawing.ModelSpace.AddExtrudedSolidAlongPath(Region, pts)

End Sub

Thanks in advance!

"If you're not part of the solution, you're part of the problem" - John McClane,Die hard

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


White Paper: Industrial Control Basics: Contactors
A contactor is an electrical device used for switching an electrical circuit on or off. Considered to be a special type of relay, contactors are used in applications with higher current carrying capacity, while relays are used for lower current applications. Download Now
Research Report: State of IoT Adoption in Product Development 2019
This research report, based on a survey of 234 product development professionals, examines the current state of Internet of Things (IoT) adoption by product design teams, its perceived importance, and what features and capabilities teams consider important when making decision about adding IoT functionality to their products. Download Now
Research Report: Augmented Reality for Maintenance, Repair and Overhaul (MRO)
The term Industry 4.0 denotes a cluster of technologies that’s poised to fundamentally reshape manufacturing and bring about a new industrial revolution. These include 3D printing (AM), the Industrial Internet of Things (IIoT), artificial intelligence (AI) and mixed reality technologies, more commonly known as virtual reality (VR) and augmented reality (AR). Download Now

Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close