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 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
                                        • 2 / 2
                                        • First post
                                          Last post
                                        Buy SketchPlus
                                        Buy SUbD
                                        Buy WrapR
                                        Buy eBook
                                        Buy Modelur
                                        Buy Vertex Tools
                                        Buy SketchCuisine
                                        Buy FormFonts

                                        Advertisement