sketchucation logo sketchucation
    • Login
    โ„น๏ธ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    Site Survey to 3D mesh?

    Scheduled Pinned Locked Moved Newbie Forum
    sketchup
    11 Posts 5 Posters 2.4k Views 5 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • AnssiA Offline
      Anssi
      last edited by

      The Sandbox from Contours tool has a little secret: You don't need contour lines to use it, almost any 3D geometry will do. It should perform quite well with your small forest of vertical lines.

      I used to get site surveys as 2D AutoCad DWG files with the surveyed points displayed as text objects with the surveyed height. To get that into SketchUp (it doesn't read AutoCad text) I wrote a small AutoLisp routine that did what you did - it added to every one of these texts a vertical line stretching to the surveyed height. Then I could import the file into SU and put a TIN on it with the From Contours tool.

      Anssi

      securi adversus homines, securi adversus deos rem difficillimam adsecuti sunt, ut illis ne voto quidem opus esset

      1 Reply Last reply Reply Quote 0
      • T Offline
        Torrey
        last edited by

        @Anssi, the sandbox from contours worked great! Snapped with to the top of each of my vertical line trees:)

        STILL LOOKING FOR HELP! I would still love a less painful way to create geometry for the sandbox to snap to. @Anssi mentioned how they go about this, but I am unfamiliar with the programs they used (know some autoCAD, but cannot stand the mac version) so this seems inefficient for me. How do other people do this?

        1 Reply Last reply Reply Quote 0
        • AnssiA Offline
          Anssi
          last edited by

          If you can put your 3D point coordinates into a text file, there are plugins that can import that into SketchUp as construction points and others that can form the surface automatically using these. Look for cloud.rb (its documentation will specify the exact format of the text file it understands). I haven't unfortunately used these myself.

          Anssi

          securi adversus homines, securi adversus deos rem difficillimam adsecuti sunt, ut illis ne voto quidem opus esset

          1 Reply Last reply Reply Quote 0
          • K Offline
            KrisM
            last edited by

            Cloud.rb works quite nicely. I have used this where a surveyor gave me an autocad file with just elevation points in it rather than contour lines. As Anssi says, if you can get your points in a text file, you will not need to make all the lines in Sketchup.

            1 Reply Last reply Reply Quote 0
            • KrisidiousK Offline
              Krisidious
              last edited by

              Have a look at my architecture plugins list and pay special attention to the land section.

              http://sketchucation.com/forums/viewtopic.php?f=323%26amp;t=59471%26amp;p=541170#p541170

              By: Kristoff Rand
              Home DesignerUnique House Plans

              1 Reply Last reply Reply Quote 0
              • T Offline
                Torrey
                last edited by

                Still feeling confused, and still looking for an answer.

                Let me rephrase. I have about 59 data points in 3D polar coordinates which I took with a dumpy level, survey stick, and tape measure. I have typed these into excel.

                Example:

                Length(m) Height(m) Angle(degrees)
                5-----------3.00 ------28
                2-----------0.53 ------228

                Note: the raw data is not corrected for declination, all the heights are inverse (If the level reads 3m, that means the depression is 3m below the level, so it is really -3m) and the height of the tripod is not accounted for (a reading of 0m is actually 0m+ the tripod height)

                The Problem: How do I get this data into SU 2014, and create a sandbox from them? SOMEONE HAS TO HAVE DONE THIS BEFORE!

                My currant approach: ๐Ÿ‘ฟ ๐Ÿ˜  ๐Ÿ˜ฎ ๐Ÿ˜ณ ๐Ÿ˜ข ๐Ÿ‘Š

                1. correct the polar coordinates in a new excel tab (CORRECTED DATA), i.e. add my declination to all the angels, multiply all heights by -1, then add the height of my instrument.
                2. Using the formulas

                X coord=distance x SIN(angle)
                Y coord= distance x COS(angle)

                I converted my polar coordinates to Cartesian coordinates (X,Y,Z,) and exported these as a .csv file.
                3) Using "Point Gadget" (http://extensions.sketchup.com/en/content/point-gadget) I imported these points into SU2014. SU would not let me make a sandbox from contours, so I grouped the points, deleted all the geometry but the point (the program makes each point a little colored shape), exploded them, and THEN finally made my damn sandbox.

                Issue: Something went funny, and my conversion from polar to cartesian was not correct. The distance is off. I was using a formula based off of 2D. We were assuming that the D we should use in this equation is the adjacent angle (what I physically measures) but maybe the D needs to be the Hypotenuse? In which case I am lost.

                People in real life do surveys of this kind, then model the ground. I am begging you, oh internet, to tell me how they do it FROM START TO FINISH, not just once I have a perfect .csv file of all the data in X,Y,Z, form.

                1 Reply Last reply Reply Quote 0
                • sdmitchS Offline
                  sdmitch
                  last edited by

                  @torrey said:

                  Still feeling confused, and still looking for an answer.

                  Let me rephrase. I have about 59 data points in 3D polar coordinates which I took with a dumpy level, survey stick, and tape measure. I have typed these into excel.

                  Example:

                  Length(m) Height(m) Angle(degrees)
                  5-----------3.00 ------28
                  2-----------0.53 ------228

                  Note: the raw data is not corrected for declination, all the heights are inverse (If the level reads 3m, that means the depression is 3m below the level, so it is really -3m) and the height of the tripod is not accounted for (a reading of 0m is actually 0m+ the tripod height)

                  The Problem: How do I get this data into SU 2014, and create a sandbox from them? SOMEONE HAS TO HAVE DONE THIS BEFORE!

                  My currant approach: ๐Ÿ‘ฟ ๐Ÿ˜  ๐Ÿ˜ฎ ๐Ÿ˜ณ ๐Ÿ˜ข ๐Ÿ‘Š

                  1. correct the polar coordinates in a new excel tab (CORRECTED DATA), i.e. add my declination to all the angels, multiply all heights by -1, then add the height of my instrument.
                  2. Using the formulas

                  X coord=distance x SIN(angle)
                  Y coord= distance x COS(angle)

                  I converted my polar coordinates to Cartesian coordinates (X,Y,Z,) and exported these as a .csv file.
                  3) Using "Point Gadget" (http://extensions.sketchup.com/en/content/point-gadget) I imported these points into SU2014. SU would not let me make a sandbox from contours, so I grouped the points, deleted all the geometry but the point (the program makes each point a little colored shape), exploded them, and THEN finally made my damn sandbox.

                  Issue: Something went funny, and my conversion from polar to cartesian was not correct. The distance is off. I was using a formula based off of 2D. We were assuming that the D we should use in this equation is the adjacent angle (what I physically measures) but maybe the D needs to be the Hypotenuse? In which case I am lost.

                  People in real life do surveys of this kind, then model the ground. I am begging you, oh internet, to tell me how they do it FROM START TO FINISH, not just once I have a perfect .csv file of all the data in X,Y,Z, form.

                  Sandbox is never going to produce a surface from points. It only works with Edges. You will need Cloud or similar plugin to create the surface.

                  I assume the distance and angle are horizontal. How was the distance off? Obviously the slope distance will be different.

                  Here is a method that would allow you to input the data directly into SketchUp.

                  def radial_surveyor_key
                   mod = Sketchup.active_model
                   ent = mod.active_entities
                   sel = mod.selection
                   values = UI.inputbox(["  Elev;","  H. I.","  Dist;","  H. O.;"," Angle;"],[0.0.m,1.676.m,0.0.m,0.0.m,0.0],"Polar to XYZ")
                   if values
                    elev,hi,dist,ho,ang=values
                    x=Math.sin(ang.degrees)*dist
                    y=Math.cos(ang.degrees)*dist
                    z=elev+hi-ho
                    ent.add_cpoint(Geom;;Point3d.new(x,y,z))
                   end
                  end
                  
                  

                  and this one will get the input from a .csv file.

                  def radial_surveyor_csv
                  mod=Sketchup.active_model
                  ent=mod.active_entities
                  @csv_dir ||= "c;/users/public/temp/"
                  @csv_file ||= "radial surveyor.csv"
                  dots_file=UI.openpanel("File to Import from;", @csv_dir,@csv_file)
                  if !dots_file then; return; end
                  dots_input=File.open(dots_file);
                  val=UI.inputbox(["Elev;"," H. I.;"],[0.0.m,1.5.m],"Radial Station Data")
                  if !val then; return; end
                  elev,hi=val
                  while !dots_input.eof?
                   dot = dots_input.readline
                   d,h,a= dot.strip.split(",")
                   dist=d.to_l;ho=h.to_l;ang=a.to_f
                    x=Math.sin(ang.degrees)*dist
                    y=Math.cos(ang.degrees)*dist
                    z=elev+hi-ho
                    ent.add_cpoint(Geom;;Point3d.new(x,y,z))
                  end
                  dots_input.close
                  end
                  
                  

                  Nothing is worthless, it can always be used as a bad example.

                  http://sdmitch.blogspot.com/

                  1 Reply Last reply Reply Quote 0
                  • T Offline
                    Torrey
                    last edited by

                    Update: Realized the problem with my method: Excel uses radians, not degrees. Changed my data to radians, and everything worked smoothly. Project complete!

                    I will likely be doing this again in the future, so I'd love to figure a smoother way. @Sdmitch, could you give a quick run down how I run that code? I have never messed with code in SU before. Lets get a solid set of easily followed and accessible instructions for this problem down, as I found a lot of unanswered questions of this same problem in other forums.

                    1 Reply Last reply Reply Quote 0
                    • sdmitchS Offline
                      sdmitch
                      last edited by

                      @torrey said:

                      Update: Realized the problem with my method: Excel uses radians, not degrees. Changed my data to radians, and everything worked smoothly. Project complete!

                      I will likely be doing this again in the future, so I'd love to figure a smoother way. @Sdmitch, could you give a quick run down how I run that code? I have never messed with code in SU before. Lets get a solid set of easily followed and accessible instructions for this problem down, as I found a lot of unanswered questions of this same problem in other forums.

                      Will be glad to help anyway I can. I will incorporate the two methods into a plugin and send it to you by Private Message.

                      Nothing is worthless, it can always be used as a bad example.

                      http://sdmitch.blogspot.com/

                      1 Reply Last reply Reply Quote 0
                      • KrisidiousK Offline
                        Krisidious
                        last edited by

                        Fredo posted this today...

                        http://sketchucation.com/forums/viewtopic.php?f=323%26amp;t=60179

                        By: Kristoff Rand
                        Home DesignerUnique House Plans

                        1 Reply Last reply Reply Quote 0
                        • 1 / 1
                        • First post
                          Last post
                        Buy SketchPlus
                        Buy SUbD
                        Buy WrapR
                        Buy eBook
                        Buy Modelur
                        Buy Vertex Tools
                        Buy SketchCuisine
                        Buy FormFonts

                        Advertisement