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.
    • jemagnussenJ Offline
      jemagnussen
      last edited by

      Hi TIG,

      It also showโ€™s the Z value rounded up to the nearest "whole" (not sure if this is the right expression in English) figure i.e. 1.23 becomes 1.0 and 0,635 also becomes 1.0 and shown as that in the Ruby Console as well as the Excel sheet.
      It is, as you pointed out, probably due to the fact that the model is Geo Located and therefore rather far away from the 0,0,0. As you can see from the points I'm drawing in 1:1 at the right location as this makes it much easier to swap data with our surveyor's.
      Is there an easy workaround this issue...?

      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

        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