reading 3Dpolyline vertices from a file and drawing it in Au
CADForums.net Forum Index CADForums.net
Discussion of AutoCAD and other CAD software.
 
 FAQFAQ   MemberlistMemberlist     RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
Google
 
Web cadforums.net
reading 3Dpolyline vertices from a file and drawing it in Au

 
Post new topic   Reply to topic    CADForums.net Forum Index -> VBA
Author Message
Johann
Guest





Posted: Wed Nov 23, 2005 9:10 am    Post subject: reading 3Dpolyline vertices from a file and drawing it in Au Reply with quote

I have come across a problem I'm unable to solve:

I have a text file, where each line contain such data as X, Y and Z
coordinate and a index number telling whether this point is a separate
point (empty or 0) or a member of a 3Dpolyline (for example all points
with number 1 are on one polyline and all points with index number 2
are on another polyline). Luckily, if there's a polyline in the file,
points on a specific polyline are one after the another.

So, I made a code which reads a line from the file, gets the
coordinates and the index number. In a case of a point, it just draws
the point but what about the polyline?

' if the index number shows this point is a part of a polyline
Case Else
strIndexNumberOfNextInputLine = strIndexNumber
' because the program has already read a line,
' those points have to be assigned as the first vertex
' of a polyline
dbl3DPolylineVertices(0) = Mid(strLine1, 30, 12)
dbl3DPolylineVertices(1) = Mid(strLine1, 47, 12)
dbl3DPolylineVertices(2) = Mid(strLine1, 60, 12)

Do Until strBreaklineNumber <> strIndexNumberOfNextInputLine
intVertexCount = 3
Line Input #1, strLine1
strBreaklineNumber = LTrim(Mid(strLine1, 9, 8))
dbl3DPolylineVertices(intVertexCount) = Mid(strLine1, 30,
12)
dbl3DPolylineVertices(intVertexCount + 1) = Mid(strLine1,
47, 12)
dbl3DPolylineVertices(intVertexCount + 2) = Mid(strLine1,
60, 12)

intVertexCounter = intVertexCount + 3
Loop

' now i know how many vertices there are in the line
' [it was defined as "Dim dbl3DPolylineVertices() as Double"]
ReDim Preserve dbl3DPolylineVertices(0 To intVertexCount - 3)

Set ent3DPolyline =
ThisDrawing.ModelSpace.Add3DPoly(dbl3dpolylineVertices)


I guess the problem is that the vertex information gets lost and the
difficultiness of programming because of reading one row at a time from
the text file.

I managed to do this when I defined the number of vertices beforehand
in the beginning (like "Dim dbl3DPolylineVertices(0 to 5) as Double"),
but in my files the polylines can have different number of vertices.

Any ideas how to solve this or make the whole thing better?

Thanks!

Johann.

Back to top
 
Post new topic   Reply to topic    CADForums.net Forum Index -> VBA All times are GMT
Page 1 of 1

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




Windows Server DSP VoIP Electronics New Topics
Contact Us
Powered by phpBB