sketchucation logo sketchucation
    • 登入
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    [Plugin] Export Vertices to CSV

    已排程 已置頂 已鎖定 已移動 Plugins
    51 貼文 17 Posters 39.1k 瀏覽 17 Watching
    正在載入更多貼文
    • 從舊到新
    • 從新到舊
    • 最多點贊
    回覆
    • 在新貼文中回覆
    登入後回覆
    此主題已被刪除。只有擁有主題管理權限的使用者可以查看。
    • P 離線
      pichuneke
      最後由 編輯

      @tig said:

      What format does your Topo software need.
      The format:
      137.0 122.0 -2.0
      Looks to have the standard '.' as the decimal-point NOT ',' as you might use in Spain... and is separated by a space OR a TAB ? Using a ',' wouldn't work with that in the numbers too !
      Also what units are expected etc?
      The numbers after the decimal point truncate to .0 if there are no more ?
      There are various ways of exporting things like this around the forums.
      For example, do you really want to export 'vertices' ?

      It's separated by a ","; and the '.' is the decimal separator. Anyway the software used to read it it's not a problem. I mean, I have copied the text numbers from a text editor. Anyway, if you want, you have here from notepad:

      142.0,120.0,-0.0
      142.0,122.0,-0.0
      143.0,120.0,-0.0
      140.0,120.0,-1.0
      140.0,122.0,-0.0

      So the text editor is not a problem. Sketchup generated that file as you read it.

      I would like something like 142.24, 129.89, -0.025 (at least 2 decimals, or cm). It's for a topographical map I made by photogrametry. I am experimenting, to be honest, trying to find if this way of making maps is useful for my work.

      I have to leave to go to lunch in 20 minutes, see you this evening. (The spanish lunch, a lot of food. But no siesta.) 😄

      Forgive my spanglish...

      1 條回覆 最後回覆 回覆 引用 0
      • TIGT 離線
        TIG Moderator
        最後由 編輯

        If I load the original .rb from the first post of this thread and then type Exportvertices2csv.new etc; then with the Model Info > Units set as 'meters', with 0.000 and no 'm' suffix etc, it works fine on the selected geometry's vertices.
        Vertices with exact 'm' values report as whole numbers
        1,2,3
        but when with 'mm' parts they appear as
        1.234,5.67,8.9
        etc...
        So I don't see how you are getting these results 😕
        With the same Model Units setting as above, as a test preselect a simple face [but one that is NOT 'flat' in 3d] and copy/paste this code-snippet into the Ruby Console + <enter> and report the output.

        Sketchup.active_model.selection[0].vertices.each{|v|puts v.position.x.to_s.gsub(/^~ /,'').to_f.to_s+','+v.position.y.to_s.gsub(/^~ /,'').to_f.to_s+','+v.position.z.to_s.gsub(/^~ /,'').to_f.to_s}
        

        Are the values as you might measure 'on screen' ???

        TIG

        1 條回覆 最後回覆 回覆 引用 0
        • P 離線
          pichuneke
          最後由 編輯

          Before doing what you told me (copy and paste your code), and after reading you, I selected mm instead of m.

          These were the results for the first 5 lines:

          142416.0 120527.0 -532.0
          142416.0 122200.0 -13.0
          143444.0 120527.0 -13.0
          140002.0 120527.0 -1720.0
          140002.0 122941.0 -965.0

          After that, I selected again "m" (meters), and these were the results:

          142.0 120.0 -0.0
          142.0 122.0 -0.0
          143.0 120.0 -0.0
          140.0 120.0 -1.0
          140.0 122.0 -0.0

          A workaround would be to obtain the results in millimetres, and divide them by 1000, so I can obtain 142.416 and so on.

          Now I am going to do what you told me.

          With "meters" as the selected unit, I choose a face (a triangle):

          @unknownuser said:

          Sketchup.active_model.selection[0].vertices.each{|v|puts v.position.x.to_s.gsub(/^~ /,'').to_f.to_s+','p+v.position.y.to_s.gsub(/^~ /,'').to_f.to_s+','+v.position.z.to_s.gsub(/^~ /,'').to_f.to_s}
          

          Error: #<SyntaxError: (eval):155: compile error
          (eval):155: syntax error, unexpected tIDENTIFIER, expecting '}'
          ....gsub(/^~ /,'').to_f.to_s+','p+v.position.y.to_s.gsub(/^~ /,...
          ^>
          (eval):155

          With "millimetres" as the selected unit:

          @unknownuser said:

          Sketchup.active_model.selection[0].vertices.each{|v|puts v.position.x.to_s.gsub(/^~ /,'').to_f.to_s+','p+v.position.y.to_s.gsub(/^~ /,'').to_f.to_s+','+v.position.z.to_s.gsub(/^~ /,'').to_f.to_s}
          

          Error: #<SyntaxError: (eval):155: compile error
          (eval):155: syntax error, unexpected tIDENTIFIER, expecting '}'
          ....gsub(/^~ /,'').to_f.to_s+','p+v.position.y.to_s.gsub(/^~ /,...
          ^>
          (eval):155

          Hope it helps.

          Forgive my spanglish...

          1 條回覆 最後回覆 回覆 引用 0
          • Dave RD 離線
            Dave R
            最後由 編輯

            Out of curiosity, to what is 'Precision' set when you are using metres as the units?

            Etaoin Shrdlu

            %

            (THERE'S NO PLACE LIKE)

            G28 X0.0 Y0.0 Z0.0

            M30

            %

            1 條回覆 最後回覆 回覆 引用 0
            • TIGT 離線
              TIG Moderator
              最後由 編輯

              The precision for 'meters' MUST be 0.000 ! to get up to 3dps reported...

              Sorry but there was a typo in the line of code.
              Retry copying it again from the earlier post.
              It should return a list of values:

              Please also try this line too

                  Sketchup.active_model.selection[0].vertices.each{|v|puts v.position.x.to_s+','+v.position.y.to_s+','+v.position.z.to_s}
              

              It might be down to you using a ',' as a decimal-point rather than a '.' ?

              TIG

              1 條回覆 最後回覆 回覆 引用 0
              • P 離線
                pichuneke
                最後由 編輯

                @dave r said:

                Out of curiosity, to what is 'Precision' set when you are using metres as the units?

                @unknownuser said:

                The precision for 'meters' MUST be 0.000 ! to get up to 3dps reported...

                As a curiosity, some of Mars Curiosity instruments were tested in the place I am trying to make the topographic map (and thanks for teaching me the meaning of the expression "Out of curiosity") 😄

                I attach you a capture with the settings I've been using. In spanish, but you'll understand it. And yes, I've been using a precision of 0,000 , as you can see in the attached image.

                Image Capture of the settings

                Tig, with the new code, the results are:

                @unknownuser said:

                Exportvertices2csv.new
                #Exportvertices2csv:0x1a8911dc
                Sketchup.active_model.selection[0].vertices.each{|v|puts v.position.x.to_s+','+v.position.y.to_s+','+v.position.z.to_s}
                -141,225,-82,242,-19,325
                -142,207,-82,242,-20,532
                [#Sketchup::Vertex:0x1a4423d8, #Sketchup::Vertex:0x1a42d8e8]

                I think you are right, Tig. Now I am trying to find way to change it in my preferences (although you know that the use of "," and "." varies a lot between countries). It's always been a problem, for example I use Libreoffice in Spanish and the use of the numeric punctuation in Libreoffice Calc is problematic, Mexicans use a system, here in Spain we use another...

                Forgive my spanglish...

                1 條回覆 最後回覆 回覆 引用 0
                • TIGT 離線
                  TIG Moderator
                  最後由 編輯

                  I see the issue now. 😲
                  It is related to ',' versus '.'
                  I'll post an update...

                  TIG

                  1 條回覆 最後回覆 回覆 引用 0
                  • TIGT 離線
                    TIG Moderator
                    最後由 編輯

                    Here's v1.2 http://sketchucation.com/forums/viewtopic.php?p=298614#p298614
                    A ',' can now be used as a decimal-point, as well as a '.'... AND keep the d.p. values set in Model Units...

                    This fixes pichuneke's problem 😄

                    TIG

                    1 條回覆 最後回覆 回覆 引用 0
                    • P 離線
                      pichuneke
                      最後由 編輯

                      @tig said:

                      Here's v1.2 http://sketchucation.com/forums/viewtopic.php?p=298614#p298614
                      A ',' can now be used as a decimal-point, as well as a '.'... AND keep the d.p. values set in Model Units...

                      This fixes pichuneke's problem 😄

                      Thanks a lot, I'll send you a private message with a image of the results of my experiments 😍

                      Forgive my spanglish...

                      1 條回覆 最後回覆 回覆 引用 0
                      • TIGT 離線
                        TIG Moderator
                        最後由 編輯

                        I'd be grateful for the feedback. 😄
                        I'm sure this'll fix your locale issue... but I can't test it directly ! 😕

                        TIG

                        1 條回覆 最後回覆 回覆 引用 0
                        • P 離線
                          pichuneke
                          最後由 編輯

                          It works!

                          142.416,120.528,-0.533
                          142.416,122.201,-0.013
                          143.444,120.528,-0.013
                          140.002,120.528,-1.721
                          140.002,122.941,-0.965

                          😄

                          I'll make the map later 😉

                          Forgive my spanglish...

                          1 條回覆 最後回覆 回覆 引用 0
                          • V 離線
                            vislaw
                            最後由 編輯

                            Forgive me, but I am new to Sketchup. I have Sketchup Pro 8.0 and I VERY VERY MUCH am excited about your plug-in that permits export of CSV files from terrains. In fact, it is amazingly exactly what I have been looking for.

                            Alas, probably because I am a newbie I am having no luck getting it to work.

                            I installed the .rb file in the plug-ins as stated and I pasted "Exportvertices2csv.new" in the Ruby Console.

                            I get this result:

                            Exportvertices2csv.new
                            Error: #<NoMethodError: undefined method uniq!' for nil:NilClass> C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/exportvertices2csv.rb:30 (eval):0:in new'
                            (eval):0

                            Can somebody help me understand what I'm doing wrong? Could it be because I am using the Eval version? Or, am I just dumb as a rock and missing something obvious.

                            16Feb2014: Figured it out and am MOST appreciative of this very useful tool.

                            1 條回覆 最後回覆 回覆 引用 0
                            • V 離線
                              vislaw
                              最後由 編輯

                              I absolutely LOVE this tool and want to thank you, TIG, for your generosity.

                              One thing, though. It seems that when I bring the resulting CSV file into another application to generate a terrain, I get some artifacts that seem to be almost linear whereby some of the points are too high and some too low. See the images below. The top is the terrain inside Sketchup and the bottom example is from SiteTOPO showing the sort of linear artifact lines that are showing up in my generated terrains:

                              http://www.transforensics.com/download/ForTIG.jpg

                              I've imported files into several different applications (ARAS 360HD, AutoCAD MAP3D, SiteTOPO) and all show the same artifacts so I assume it is somehow occurring as the grid is generated in Sketchup. It is a pain to clean up the artifacts so I'm hoping somebody can help solve this for me.

                              1 條回覆 最後回覆 回覆 引用 0
                              • TIGT 離線
                                TIG Moderator
                                最後由 編輯

                                I assume if you view the original mesh SKP in Monochrome mode with View > Hidden Geometry ON, you don't see these 'artifacts' ???

                                Can you post [or PM] the original mesh SKP and resultant mesh after export.
                                I suspect it's something to do with perhaps 'vertical' or inverted faces ?
                                Once we see the SKP we can hopefully find out...

                                TIG

                                1 條回覆 最後回覆 回覆 引用 0
                                • V 離線
                                  vislaw
                                  最後由 編輯

                                  @tig said:

                                  I assume if you view the original mesh SKP in Monochrome mode with View > Hidden Geometry ON, you don't see these 'artifacts' ???

                                  Can you post [or PM] the original mesh SKP and resultant mesh after export.
                                  I suspect it's something to do with perhaps 'vertical' or inverted faces ?
                                  Once we see the SKP we can hopefully find out...

                                  Thank you so much TIG. This happens on all the terrains I've generated so far. I'm attaching the SKETCHUP file and also the CSV file that is generated from your script. Here's what the terrain looks like when I bring the CSV file into my terrain generator:

                                  http://www.transforensics.com/download/OriginalTerrainArtifacts.JPG

                                  As you can see, there are pits and spikes that shouldn't be there.

                                  I really appreciate your help as this would be an incredibly useful tool for me to have.

                                  Many many thanks for your generosity. I sent you a donation and will encourage my compadres to do so as well.


                                  OriginalMeshInSketchup.skp


                                  OriginalMeshInSketchup_verts.csv

                                  1 條回覆 最後回覆 回覆 引用 0
                                  • TIGT 離線
                                    TIG Moderator
                                    最後由 編輯

                                    I'll try and look at it on Wednesday...
                                    At first sight I can't see why it should do that...

                                    It's a very simple script so it ought to work and/or be fixable 😕

                                    TIG

                                    1 條回覆 最後回覆 回覆 引用 0
                                    • TIGT 離線
                                      TIG Moderator
                                      最後由 編輯

                                      Here's v1.3 http://sketchucation.com/forums/viewtopic.php?p=298614#p298614
                                      Get it from the PluginStore download link, or AutoInstall it from within SketchUp itself...

                                      The recently reported issues of 'artifacts' appearing in exported meshes was caused by having the Model Units set to 'Fractional' [already advised against!] but it is is now trapped - the Units LengthFormat is temporarily reset to 'Decimal' whilst it is exporting, and it's reset afterwards as needed.
                                      It also now in a 'TIG' module.
                                      It has a new easy to use File menu item TIG.exportvertices2csv to run it.
                                      Or you can still use the clunky Ruby Console 'command-line' [note that you now must type TIG.exportvertices2csv ]

                                      TIG

                                      1 條回覆 最後回覆 回覆 引用 0
                                      • V 離線
                                        vislaw
                                        最後由 編輯

                                        Beautiful work. I tip my hat to you for making this great tool. This provides me with a very easy way to bring 3D Google Earth terrains into an external application. Bravo TIG!

                                        1 條回覆 最後回覆 回覆 引用 0
                                        • I 離線
                                          Isher
                                          最後由 編輯

                                          Hi TIG,

                                          The export2CSV does not extract the points in the proper manner. You may export a circle and draw a Scatter Graph in MS Excel. The lines appear out of order.

                                          Would appreciate if there is any improvement

                                          1 條回覆 最後回覆 回覆 引用 0
                                          • TIGT 離線
                                            TIG Moderator
                                            最後由 編輯

                                            @isher said:

                                            Hi TIG,

                                            The export2CSV does not extract the points in the proper manner. You may export a circle and draw a Scatter Graph in MS Excel. The lines appear out of order.

                                            Would appreciate if there is any improvement
                                            It just exports the vertices.
                                            It does not order them.
                                            A 'Delauney' algorithm is probably needed to arrange them...

                                            TIG

                                            1 條回覆 最後回覆 回覆 引用 0
                                            • 1
                                            • 2
                                            • 3
                                            • 2 / 3
                                            • 第一個貼文
                                              最後的貼文
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement