Jump to content

Creating a topographic map from Survey Data


celittle

Recommended Posts

Hello All,

 

Thank you for welcoming me into your community. I am in quite a pickle. I have to create a 3D topographic map from survey data, using polylines and interpolation. The contour interval is 2'. The survey data is already in a dwg file (elevation and postion). I am using AutoCAD 2010. My knowledge in AutoCAD is really small and I really don't know how to start. Later in the project I have to cut a road in the topograph and measure the amount of soil I have removed. It is due this evening and I don't know what to do. Please help. Thank you in advance for your response

 

Screen for my project.jpg

Link to comment
Share on other sites

You really should be using a civil program not plain AutoCAD to do this. Isn't it a bit late in the game to be popping in with this question? Due tonight? Yikes!

 

Try a Search of the forums using the words create topo map and see what it brings up. You definitely have your work cut out for you.

Link to comment
Share on other sites

That's the feeling I get, but I have to used AutoCAD

 

AutoCAD does not have a built-in capability to interpolate contours from spot elevations. You would need some sort of add-on program or you would have to extract all the elevations (with their northing and easting coordinates) to a file that could be used by a topographic program to do it. Then you would have to get the contours out of the program and back into AutoCAD and use them to create a solid. At least that's the way I see it.

 

Hpw many spot elevations are you working with?

Link to comment
Share on other sites

Is it possible also get additional interpolated points, connect those points with 3D polylines and create a surface from there. I have an short application for interpolation. I am running it, but I don't know where the data is ending up.

Link to comment
Share on other sites

Is it possible also get additional interpolated points, connect those points with 3D polylines and create a surface from there. I have an short application for interpolation. I am running it, but I don't know where the data is ending up.

 

What application? Do you know what the file type is for the data?

Link to comment
Share on other sites

Here is the application code

 

;; This program was written to interpolate even contour intervals

;; from data provided by a survey.

;;

;;

;; Written for Civil Engineering Graphics 170 class project.

;; Kent Hobson

;; Department of Mechanical Engineering

;; University of Wisconsin - Madison

;; October, 14 1992 - 2001

;;

;; Standard disclaimers apply: I am not responsible for anything that goes

;; wrong with this program. If you can not make

;; this autolisp program work, then do it by hand.

;;

;;

(defun datumchk ()

;;calc delta elevation 1*********

;;which datum is larger

(if (> p1ee p2ee)

(progn

(setq diff1 (- p1ee p2ee))

(setq newc (fix p1ee))

(setq refel p1ee)

(setq lowel p2ee)

(calccnt p1eb p2eb refel lowel)

)

(progn

(setq diff1 (- p2ee p1ee))

(setq newc (fix p2ee))

(setq refel p2ee)

(setq lowel p1ee)

(calccnt p2eb p1eb refel lowel)

)

)

 

;;calc delta elevation 2***********

;;which datum is larger

(if (> p1ee p3ee)

(progn

(setq diff1 (- p1ee p3ee))

(setq newc (fix p1ee))

(setq refel p1ee)

(setq lowel p3ee)

(calccnt p1eb p3eb refel lowel)

)

(progn

(setq diff1 (- p3ee p1ee))

(setq newc (fix p3ee))

(setq refel p3ee)

(setq lowel p1ee)

(calccnt p3eb p1eb refel lowel)

)

)

;;calc delta elevation 3*********

;;which datum is larger

(if (> p2ee p3ee)

(progn

(setq diff1 (- p2ee p3ee))

(setq newc (fix p2ee))

(setq refel p2ee)

(setq lowel p3ee)

(calccnt p2eb p3eb refel lowel)

)

(progn

(setq diff1 (- p3ee p2ee))

(setq newc (fix p3ee))

(setq refel p3ee)

(setq lowel p2ee)

(calccnt p3eb p2eb refel lowel)

)

)

;;select the next set

(setq ans (getstring (strcat "\nDo another set?

"y" ">\\n ")))

(cond ((= ans "y") (gdata))

((= ans "Y") (gdata))

((= ans "") (gdata))

((= ans "n") (princ))

((= ans "N") (princ))

(t nil)

)

)

;_____________________________________________________________

;;find the first contour to print

(defun calccnt (a b hel lel)

(if (/= (rem newc ci) 0.0)

(progn

(setq rem_v (rem newc ci))

(setq newc (fix (- newc rem_v)))

)

)

(while (>= newc lel)

(progn

(drawpt a b hel lel newc)

; (princ "\nnewc - ci ")

; (princ "newc ")

; (princ newc )

(setq newc (fix (- newc ci)))

)

)

)

;_____________________________________________________________________

(defun drawpt (a b hel lel newc)

;;calc the distance between data points

(setq d (distance a b))

;(princ "distance = ")

;(princ d)

;;calc the angle between data points

(setq pangle (angle a b))

;(princ "newc = ")

;(princ newc)

 

;;calc a real elevation difference to be plotted

(setq zvalue newc)

(setq zpt (rtos zvalue 2 4))

;(princ "\nzvalue = ")

;(princ zvalue)

 

;;interpolate the location of the new contour point

(setq diff2 (- hel newc))

(if (/= diff1 0.0000)

(setq deltax (/ (* diff2 d) diff1))

(setq deltax 0.0001)

)

;(princ "deltax = ")

;(princ deltax)

 

;;plot a new point and write elevation text

(setq startpt (polar a pangle deltax))

(setq xpt (rtos (car startpt) 2 4))

(setq ypt (rtos (cadr startpt)2 4))

;(princ "\n\n\nthis point is for plot")

(command "point"

".xy"

(setq plotpt startpt)

(setq 3pt (* 12 zvalue))

)

;(princ "\n3pt = ")

;(princ 3pt)

(command "text"

".xy"

(setq txtpt (polar plotpt 0.0 (+ r 0.2)))

(setq mpt 3pt)

""

"0.0"

(setq prntxt newc)

)

)

 

;get contour interval

(defun getci ()

(setq ci (getstring "\nEnter the Contour Interval: "))

(setq ci (atof ci))

(setvar "pdmode" 35)

(setvar "cmdecho" 0)

(command "layer"

"n"

"1_tmp_data"

"c"

"6"

"1_tmp_data"

"s"

"1_tmp_data"

"off"

"1_tmp_data"

"y"

""

)

)

 

 

;enter datum information for first point from contour map

(defun gdata ()

(graphscr)

(initget (+ 1 4))

(setq p1 (entsel "\nSelect data point 1:"))

(setq p1data (entget (car p1)))

(setq p1eb (cdr(assoc 10 p1data)))

(setq r (cdr(assoc 40 p1data)))

;;change the color

(setq x1r (polar p1eb 3.14159 r))

(command "chprop"

(ssget (osnap x1r "qua"))

""

"c"

"red"

""

)

; (princ bdata)

(setq p1e (entsel "\nSelect the elevation of pt 1: "))

(setq p1elev (entget (car p1e)))

(setq p1ee (cdr(assoc 1 p1elev)))

(setq p1el (cdr(assoc 10 p1elev)))

(setq p1ee (atof p1ee))

 

;; pick the second datum point from the contour map

(setq p2 (entsel "\nSelect data point 2:"))

(setq p2data (entget (car p2)))

(setq p2eb (cdr(assoc 10 p2data)))

;;change the color

(setq x2r (polar p2eb 3.14159 r))

(command "chprop"

(ssget (osnap x2r "qua"))

""

"c"

"red"

""

)

(setq p2e (entsel "\nSelect the elevation of pt 2: "))

(setq p2elev (entget (car p2e)))

(setq p2ee (cdr(assoc 1 p2elev)))

(setq p2ee (atof p2ee))

 

;; pick the third datum point from the contour map

(setq p3 (entsel "\nSelect data point 3:"))

(setq p3data (entget (car p3)))

(setq p3eb (cdr(assoc 10 p3data)))

;;change the color

(setq x2r (polar p3eb 3.14159 r))

(command "chprop"

(ssget (osnap x2r "qua"))

""

"c"

"red"

""

)

(setq p3e (entsel "\nSelect the elevation of pt 3: "))

(setq p3elev (entget (car p3e)))

(setq p3ee (cdr(assoc 1 p3elev)))

(setq p3ee (atof p3ee))

 

(datumchk)

)

 

; Run it

(defun C:int ()

(getci)

(gdata)

)

Link to comment
Share on other sites

Well it looked promising anyway.

 

I'm only half-blind. One eye is totally shot. That's why it takes me twice as long to read a post and code just makes my visual orb go all moist. LOL

Link to comment
Share on other sites

  • 2 weeks later...

Lol, hey well if you get it working with autocad, leave a messege on how you did it, i too have been wanting to do this with autocad, but many have said its impossible without other software, 1 thing ive heard of is Rhino, but it cost around 200 i think

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...