sketchucation logo sketchucation
    • Login
    โŒ› Sale Ending | 30% Off Profile Builder 4 ends 30th September

    [Plugin] Export Cpoints to CSV v1.0 20110913

    Scheduled Pinned Locked Moved Plugins
    28 Posts 6 Posters 17.1k Views 6 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.
    • TIGT Offline
      TIG Moderator
      last edited by

      When you 'geo-locate' your SKP its origin [0,0,0] represents a real world location - taken from the set long/lat.
      You do not model hundreds of kilometers away from that origin [unlike how you might in AutoCAD].
      As I said... very large [or very tiny] distances will break Sketchup/OpenGL which is designed to model things like furniture, windows, buildings, city-blocks etc, BUT not entire countries or swiss-watches!
      Model everything within the [0,0,0] origin logically - perhaps at a corner etc.
      Make sure everything is visible and unlocked and move what you have picking a point and typing in [0,0,0] - i.e. with the []
      When you have the exported CSV data tell the recipient that [0,0,0]=>[123456.1,789012.3,123.4] or whatever OR the long/lat data from the geo-location info...
      When you import survey data in CAD format do NOT preserve the origin - especially if you know it's located miles away!
      If you want to keep the CAD origin - because perhaps you have earlier under/overlay CAD info that must align - then relocate the imported parts to be nearer [0,0,0] before starting SKP work on them.
      Also check that none of the imported objects [CAD-blocks] have the axes [insertion-points] far far away from their geometry - this can also mess with the SKP... and is one of the causes of the clipping-plane issue when parts of your model vanish as you zoom... ๐Ÿ˜’

      TIG

      1 Reply Last reply Reply Quote 0
      • jemagnussenJ Offline
        jemagnussen
        last edited by

        Hi again,

        Ok, so I will have to re-locate the model and then make a sort of converter for the data that I take out from the cpoints to be able to reference them back in their origins. Reason for the csv file was to have the correct Lat/Lon and Z data so it is possible to continue work with them in AutoCad Civil 3D that our surveyors use. It is a bit strange that the Lat/Lon data comes out fine but not the Z levels, when it is possible to see the right level in a Querry from the tools menu, but that's probably something that we normal mortal creatures should not understand anyway... :O)

        Thank's again for all your help, it's really appreciated,
        Best regards
        Jesper

        HP ZBook 15, Windows 10 64 bit
        Intel Core i7-6820HQ @ 2.70GHz
        32 GB Ram
        NVIDIA Quadro M2000M

        1 Reply Last reply Reply Quote 0
        • TIGT Offline
          TIG Moderator
          last edited by

          There's a command in AutoCAD called 'BASE' which allows the users to specify an adjusted 'origin' in the DWG file - so then the kilometer sized coordinates >> [1,2,3] (a bit like using a UCS). The DWG's contents are still located in the world correctly... BUT it makes using a sensible 'site' based coordinate system easier to handle, all taken from a local datum. Perhaps they'd simply need to agree with you what they do with that, when they import your data - or they simply relocate it to suit afterwards by an amount you can advise... It's be easy enough to write a short script at the CAD end - alternatively apply some factors to your CSV's XYZ columns using three simple Excel formulas to convert them back to their crazy 'world' coordinate-system, and give them that adjusted CSV file...
          ๐Ÿ˜•

          Incidentally there's a tool of mine - 'coords text tag tool from datum' - that let's you set an XYZ 'datum' relative to the SKP's origin and then you can export those as a CSV with long/lat or whatever... it has several tools to import/export and add cpoints etc - see http://forums.sketchucation.com/viewtopic.php?p=284829#p284829

          TIG

          1 Reply Last reply Reply Quote 0
          • jemagnussenJ Offline
            jemagnussen
            last edited by

            Hi TIG,

            Need to bother you a bit more. I have now relocated the model to the 0,0,0 in Sketchup World and placed in the right height to be able to take out the Z value of the CPoints only in this location.
            Could you have a look to see what is wrong - as it just won't work...? I still get only the Z values rounded up to nearest whole number... even as you can see from the with a red circle marked point the values in querry shows -17.482, 197.420, -1.293 (lon/lat/Z)

            Best regards
            Jesper


            model

            HP ZBook 15, Windows 10 64 bit
            Intel Core i7-6820HQ @ 2.70GHz
            32 GB Ram
            NVIDIA Quadro M2000M

            1 Reply Last reply Reply Quote 0
            • TIGT Offline
              TIG Moderator
              last edited by

              I get no such problems.
              Since the units setting are in the SKP it's not that.
              Do you get the curtailed values in the Ruby Console as well as in the CSV ?
              I've attached the CSV file [zipped] that I got and here is an extract...test_cpoints.zipCapture1.PNG

              TIG

              1 Reply Last reply Reply Quote 0
              • jemagnussenJ Offline
                jemagnussen
                last edited by

                Hi TIG,

                Strange... Yes the Ruby Console shows the same as in the csv file, it has removed the decimals and rounded up on all figures....

                7.0,129.0,0.0
                7.0,130.0,0.0
                6.0,137.0,0.0
                6.0,140.0,0.0
                4.0,140.0,1.0
                0.0,138.0,2.0
                0.0,140.0,2.0
                15.0,196.0,-1.0

                Best regards
                Jesper

                HP ZBook 15, Windows 10 64 bit
                Intel Core i7-6820HQ @ 2.70GHz
                32 GB Ram
                NVIDIA Quadro M2000M

                1 Reply Last reply Reply Quote 0
                • jemagnussenJ Offline
                  jemagnussen
                  last edited by

                  • and the Excel sheet has all 3 figures in same column "A"... could it be some language issue as the Danish Excel version I use use "," as decimal seperator and "." as thousand seperator....?
                    Normally not a problem as I anyway most of the time has to work with formatting csv files, most of the time I get the data as Lon/Lat and Z and not Lat/Lon and Z and with lots of spaces in between instead of ","'s but that's normally no problem.

                  Brgds
                  Jesper

                  HP ZBook 15, Windows 10 64 bit
                  Intel Core i7-6820HQ @ 2.70GHz
                  32 GB Ram
                  NVIDIA Quadro M2000M

                  1 Reply Last reply Reply Quote 0
                  • TIGT Offline
                    TIG Moderator
                    last edited by

                    In the SKP do you have a decimal-separator as '.' or ',' ?
                    I have '.' ??
                    The code will [should] write the CSV as 1.234,45.678,9.012 etc
                    If you open the .rb file with Notepad you can edit the two lines
                    sep="," ### <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ext="csv" ### <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    to read
                    sep="\t" ### <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ext="tsv" ### <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    Then the file will be a TabSeparatedVariable TSV file, rather than a CommaSeparatedVariable CSV file; both will open in Excel.
                    1.234,45.678,9.012 >>> 1.234\t45.678\t9.012 [\t is a 'TAB']
                    You could open the resultant TSV file in Notepad and do a find+replace for '.'>>>','
                    Then open it in Excel as a Danish-friendly version ?
                    1.234\t45.678\t9.012 >>> 1,234\t45,678\t9,012
                    ๐Ÿ˜ฒ

                    TIG

                    1 Reply Last reply Reply Quote 0
                    • jemagnussenJ Offline
                      jemagnussen
                      last edited by

                      Hi TIG,

                      After changing the file it now says: exportcpoints2csv.new
                      Error: #<NameError: undefined local variable or method `exportcpoints2csv' for main:Object>
                      (eval):982

                      Brgds
                      Jesper

                      HP ZBook 15, Windows 10 64 bit
                      Intel Core i7-6820HQ @ 2.70GHz
                      32 GB Ram
                      NVIDIA Quadro M2000M

                      1 Reply Last reply Reply Quote 0
                      • TIGT Offline
                        TIG Moderator
                        last edited by

                        What have you done ??? ๐Ÿ˜’
                        Here's a new version that does it as a TSV file with ',' as the decimal separator!
                        Exportcpoints2tsv.rb

                        TIG

                        1 Reply Last reply Reply Quote 0
                        • jemagnussenJ Offline
                          jemagnussen
                          last edited by

                          Hi TIG,

                          Yes, one could wonder what happened, I believe I just did as you instructed, changed the "," to "\t" in the first line and "csv" to "tsv" in second line, but something must have gone wrong. Maybe it has to do with the fact that I did a classic! I was too quick to use Notepad to edit the rb file and forgot to remove the "Use always this program" sรฅ now all the rb files is shown as "Notebook" files... ๐Ÿ˜ฎ(

                          Here is the result of the new file you made:

                          7,0 129,0 0,0
                          6,0 140,0 0,0
                          0,0 138,0 2,0
                          0,0 140,0 2,0
                          15,0 196,0 -1,0
                          1,0 180,0 2,0
                          22,0 169,0 -1,0
                          -8,0 168,0 -1,0
                          21,0 189,0 0,0
                          -16,0 180,0 0,0

                          As you can see it still round up all figures, so it must have something to do with the exporting as Sketchup itself shows it with 3 decimals, the setting is with 3 decimal in Model Info and it can't have anything to do with Excel as the file now is exported to a text file... this is strange...

                          Brgds
                          Jesper

                          HP ZBook 15, Windows 10 64 bit
                          Intel Core i7-6820HQ @ 2.70GHz
                          32 GB Ram
                          NVIDIA Quadro M2000M

                          1 Reply Last reply Reply Quote 0
                          • jemagnussenJ Offline
                            jemagnussen
                            last edited by

                            Hi again,

                            Just a question, is it somehow possible to force the numbers of decimals to say fixed 3 decimals on all the 3 figures (LLZ)?

                            Best regards
                            Jesper

                            HP ZBook 15, Windows 10 64 bit
                            Intel Core i7-6820HQ @ 2.70GHz
                            32 GB Ram
                            NVIDIA Quadro M2000M

                            1 Reply Last reply Reply Quote 0
                            • TIGT Offline
                              TIG Moderator
                              last edited by

                              @jemagnussen said:

                              Hi again,

                              Just a question, is it somehow possible to force the numbers of decimals to say fixed 3 decimals on all the 3 figures (LLZ)?

                              Best regards
                              Jesper

                              To export to 3dp always including trailing .000 would be possible... BUT the XYZ code would need revisiting - I'll come back later today when I have a moment...

                              TIG

                              1 Reply Last reply Reply Quote 0
                              • TIGT Offline
                                TIG Moderator
                                last edited by

                                Here's the updated version
                                (c) TIG 2011
                                Type
                                Exportcpoints2tsv.new
                                in the Ruby Console.
                                Exports all Cpoints is a Selection to a X,Y,Z 'TSV' file.
                                The sep="\t", the decsep=',' and ext='tsv'.
                                Change decsep='.' IF you want 1.234 rather than 1,234 OR run with arguments
                                as shown below...
                                Model Units are used and get exported to the TSV in say meters as 1,234 -
                                it always forces 3dp even when not needed - e.g. 0,100
                                Check that your locale Excel uses ','/'.' matching your output.
                                You can affect output by adding an argument to the command line, e.g.
                                It returns XYZ format by default BUT if you type
                                Exportcpoints2tsv.new 1
                                it will then use YXZ format.
                                To change from ',' to '.' as the decimal separator, type
                                Exportcpoints2tsv.new 2
                                To change from ',' to '.' as the decimal separator AND use YXZ, type
                                Exportcpoints2tsv.new 3

                                1.0 20110914 First issue.
                                1.1 20110915 Forces 3dp always, command-line argument to change format.Exportcpoints2tsv.rb

                                TIG

                                1 Reply Last reply Reply Quote 0
                                • jemagnussenJ Offline
                                  jemagnussen
                                  last edited by

                                  Hi TIG,

                                  Voila... that did the trick, now I get the decimals, also from the model that is geolocated so this is really a big help. Can't thank you enough for your kind assistance.

                                  Have a lovely day,
                                  Best regards
                                  Jesper

                                  HP ZBook 15, Windows 10 64 bit
                                  Intel Core i7-6820HQ @ 2.70GHz
                                  32 GB Ram
                                  NVIDIA Quadro M2000M

                                  1 Reply Last reply Reply Quote 0
                                  • TIGT Offline
                                    TIG Moderator
                                    last edited by

                                    I get there eventually ๐Ÿ˜‰

                                    TIG

                                    1 Reply Last reply Reply Quote 0
                                    • W Offline
                                      wsellers89
                                      last edited by

                                      Sorry to bother you, but I got referred to this post from the newbie section. I had asked the following:

                                      I am laying out a porous plate and was wondering if there is an easy way or perhaps a script that will read the construction points (e.g. centerpoints) of each of the circles representing the holes. If it could write out the points to a file would be great, but if it would print to the console -- I could write them down. There are a couple of hundred holes that is why I would like to automate this.

                                      Operating system: Mac OS X
                                      SketchUp version: V8

                                      This script sounds exactly like what I need. I placed the ruby script in the Main folder:
                                      MacHD/Applications/Library/Application Support/Google SketchUp 8/SketchUp/plugins/

                                      but when I relaunch SketchUp I don't see the script in the Plugins pull down menu. Am I missing something?

                                      Sincerely,
                                      Bill

                                      1 Reply Last reply Reply Quote 0
                                      • GaieusG Offline
                                        Gaieus
                                        last edited by

                                        The instruction says

                                        @tig said:

                                        Type
                                        Exportcpoints2csv.new
                                        in the Ruby Console...

                                        Open the ruby console from the window menu and simply copy paste that line there (at the bottom) then press enter

                                        Gai...

                                        1 Reply Last reply Reply Quote 0
                                        • TIGT Offline
                                          TIG Moderator
                                          last edited by

                                          As Gaieus said... it's a rarely used tool, so it is used without a menu item - as explained in the instructions on the download page...
                                          Type
                                          Exportcpoints2csv.new
                                          in the Ruby Console.

                                          You can export any selected cpoints to CSV using this 'Export CSV' tool...

                                          To mark all of the selected Arcs/Circles centers with cpoints, BEFORE you do that final CSV export, you can run this one liner: Copy/Paste the code into the Ruby Console + <enter>

                                          m=Sketchup.active_model;ae=m.active_entities;s=m.selection;as=[];s.each{|e|next unless e.kind_of?(Sketchup;;Edge)and e.curve and e.curve.kind_of?(Sketchup;;ArcCurve);as<<e.curve};as.uniq.each{|ar|ae.add_cpoint(ar.center)}
                                          

                                          A cpoint is added to every Arc/Circle's center for you, select them.
                                          The 'Export CSV' tool filters for only cpoints so you don't need to be too carefully making the selection as long as you include the cpoints you want...

                                          TIG

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

                                          Advertisement