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

    [Plugin] Bitmap To Mesh

    Scheduled Pinned Locked Moved Plugins
    264 Posts 75 Posters 420.7k Views 75 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.
    • thomthomT Offline
      thomthom
      last edited by

      @unknownuser said:

      yeah, it works in sketchup..
      tt's script scales everything to a square so i made the mistake of adding more black for an overall 500x500 px (4times the recommended resolution of 250x250)..

      it came in at a modest 1.25 million entities 😄

      I'll update it with a tool for placing the mesh in the model, with correction aspect ratio and let you define a height - basically let you draw a bounding box.
      Maybe even with an option to sample less pixels.

      Thomas Thomassen — SketchUp Monkey & Coding addict
      List of my plugins and link to the CookieWare fund

      1 Reply Last reply Reply Quote 0
      • thomthomT Offline
        thomthom
        last edited by

        @thomthom said:

        Maybe even with an option to sample less pixels.

        Or... Maybe interpolate pixels... Though - the same could be done by the user by just scaling down the image...

        Thomas Thomassen — SketchUp Monkey & Coding addict
        List of my plugins and link to the CookieWare fund

        1 Reply Last reply Reply Quote 0
        • Dave RD Offline
          Dave R
          last edited by

          Dedmin, thanks. Since I haven't been able to do it yet, I don't know but I fully expect I'd have to scale the mesh to the right size. Looks like Jeff managed it, though.

          As to the excel tables into LO, yes. I did see that. You can't do anything about formatting once it is in, though. Oh well, maybe in LO4.

          Etaoin Shrdlu

          %

          (THERE'S NO PLACE LIKE)

          G28 X0.0 Y0.0 Z0.0

          M30

          %

          1 Reply Last reply Reply Quote 0
          • shuraS Offline
            shura
            last edited by

            just used an alpha map and deleted the lower part of the mesh, then flattened it. not talking about quality, but at least it looks like some sort of image tracing...

            zz.jpg

            1 Reply Last reply Reply Quote 0
            • ken28875K Offline
              ken28875
              last edited by

              Wow! 😲 😲

              You keep on amazing me with your plugins, Thomas! You're the man.

              Thank you very much,

              _KN

              Follow Your Dreams.

              1 Reply Last reply Reply Quote 0
              • Chris FullmerC Offline
                Chris Fullmer
                last edited by

                @thomthom said:

                Test with simple displacement map:

                Displacement.png

                MMMmmmm, a plugin that makes chocolate bars. I'm hungry now!

                Lately you've been tan, suspicious for the winter.
                All my Plugins I've written

                1 Reply Last reply Reply Quote 0
                • thomthomT Offline
                  thomthom
                  last edited by

                  😄

                  Thomas Thomassen — SketchUp Monkey & Coding addict
                  List of my plugins and link to the CookieWare fund

                  1 Reply Last reply Reply Quote 0
                  • MALAISEM Offline
                    MALAISE
                    last edited by

                    ThomThom , for your own knowledge, you should get advantages by visiting ImageJ community (OpenSource)http://www.google.fr/url?sa=t&source=web&cd=1&ved=0CBUQFjAA&url=http%3A%2F%2Frsbweb.nih.gov%2Fij%2F&rct=j&q=ImageJ&ei=ujqnTJXjIZGp4AbwxvGjDQ&usg=AFQjCNGnkzWAmC5t2IbtD4C8ayw1R0v7tg&sig2=e2-bW7zDggSXIeVI7vPRbA&cad=rja. They work around scientific pictures, and all the ways to extract informations .

                    Thank you really very much for all the plugins you give us.

                    MALAISE

                    La Connaissance n'a de valeur que partagée

                    1 Reply Last reply Reply Quote 0
                    • Dave RD Offline
                      Dave R
                      last edited by

                      Except with very small BMP files, I don't seem to have any luck. Even with a small BMP file it takes a long time to process but that could just be my computer.

                      Coen's comment though is intriguing. I was thinking this plugin could be a neat way to get line drawings into SketchUp. I made the attached line drawing as a quick test and got the second image as a result. I inverted the image and got the results in the third image. I wonder if it would be possible to have a control to somehow limit the range in the gray scale. Perhaps any RGB value less than, say, 250,250,250 gets read as 0,0,0? Or perhaps no height is assigned? Perhaps it isn't possible but I wonder.


                      Image001cropped.jpg


                      BMP2Mesh Results.jpg


                      BMP2Mesh Inverted.jpg

                      Etaoin Shrdlu

                      %

                      (THERE'S NO PLACE LIKE)

                      G28 X0.0 Y0.0 Z0.0

                      M30

                      %

                      1 Reply Last reply Reply Quote 0
                      • Rich O BrienR Offline
                        Rich O Brien Moderator
                        last edited by

                        Making Knuckle-Dusters Dave?

                        Download the free D'oh Book for SketchUp 📖

                        1 Reply Last reply Reply Quote 0
                        • Dave RD Offline
                          Dave R
                          last edited by

                          Maybe I should. 😄 I was just doodling on the pad using AutoDesk Sketchbook.

                          Etaoin Shrdlu

                          %

                          (THERE'S NO PLACE LIKE)

                          G28 X0.0 Y0.0 Z0.0

                          M30

                          %

                          1 Reply Last reply Reply Quote 0
                          • thomthomT Offline
                            thomthom
                            last edited by

                            @dave r said:

                            I wonder if it would be possible to have a control to somehow limit the range in the gray scale. Perhaps any RGB value less than, say, 250,250,250 gets read as 0,0,0? Or perhaps no height is assigned? Perhaps it isn't possible but I wonder.

                            It's technical possible to read values lower than 250 as 0, but I don't quite get why?
                            Though you can do it in PS (or similar) by adjusting the Levels.)

                            I have an idea of how to make the mesh less spiky though, but it needs some experimenting.

                            Thomas Thomassen — SketchUp Monkey & Coding addict
                            List of my plugins and link to the CookieWare fund

                            1 Reply Last reply Reply Quote 0
                            • Dave RD Offline
                              Dave R
                              last edited by

                              I was just thinking that setting some limit so that everything is either black or white and not shades of gray would get rid of the spikes.

                              Would it be possible to work things so that a face is created only if the value is less than some set point (250,250,250?) and the face is always at Z=0? Delete coplanar edges between faces and you'd have a raster to SKP converter.

                              Etaoin Shrdlu

                              %

                              (THERE'S NO PLACE LIKE)

                              G28 X0.0 Y0.0 Z0.0

                              M30

                              %

                              1 Reply Last reply Reply Quote 0
                              • Rich O BrienR Offline
                                Rich O Brien Moderator
                                last edited by

                                I like that idea 👍

                                Kind of Footprint or Ink Stamp tool, lots of uses for it too!

                                Download the free D'oh Book for SketchUp 📖

                                1 Reply Last reply Reply Quote 0
                                • thomthomT Offline
                                  thomthom
                                  last edited by

                                  @dave r said:

                                  I was just thinking that setting some limit so that everything is either black or white and not shades of gray would get rid of the spikes.

                                  The spikes you see if much due to the extreme height of the mesh, and part due to the current triangulation. I'm not sure if making the contrast bigger will reduce then - in either case, Ruby isn't efficient for image manipulation - you'd be just as well off just preparing the image before in an proper image editor.

                                  @dave r said:

                                  Would it be possible to work things so that a face is created only if the value is less than some set point (250,250,250?) and the face is always at Z=0? Delete coplanar edges between faces and you'd have a raster to SKP converter.

                                  It'd be an interesting new tool, but I still think it's best if the image is prepared by the user in an editor and made into complete Black and White (not grey scale).

                                  Then the tool could read all the white or black and generate a mesh - where it could then afterwards trace the outline and remove the interior lines. After running an curve simplification, like the Douglas-Peucker algorithm, and you could end up with a decent vectorized shape from your raster mask.

                                  This would have been so much better if I could read the alpha channel of PNG files. I was a looking at this some time ago, but existing too many third party libraries for my comfort which makes redistribution more complex. The alternative, making a pure standalone ruby PNG interpreter wasn't so easy either, the decompression algorithm wasn't the easiest.

                                  Thomas Thomassen — SketchUp Monkey & Coding addict
                                  List of my plugins and link to the CookieWare fund

                                  1 Reply Last reply Reply Quote 0
                                  • Dave RD Offline
                                    Dave R
                                    last edited by

                                    Well, it's all voodoo to me so I am glad we have folks like you.

                                    Etaoin Shrdlu

                                    %

                                    (THERE'S NO PLACE LIKE)

                                    G28 X0.0 Y0.0 Z0.0

                                    M30

                                    %

                                    1 Reply Last reply Reply Quote 0
                                    • thomthomT Offline
                                      thomthom
                                      last edited by

                                      Version 0.2.0b

                                      • Made into a tool so the user can easily position the mesh
                                      • Moved menu to Draw > Mesh From Bitmap
                                      • Keeps aspect ratio of image or Image element
                                      • Right click and Image element to generate a mesh. (Does not need to be BMP image - but Draw > Mesh From Bitmap still require BMP imput)
                                      • Colour BMP images will convert the RGB value to optical greyscale.
                                      • VCB support

                                      Thomas Thomassen — SketchUp Monkey & Coding addict
                                      List of my plugins and link to the CookieWare fund

                                      1 Reply Last reply Reply Quote 0
                                      • thomthomT Offline
                                        thomthom
                                        last edited by

                                        TerrainTest.png

                                        Test using sample maps from: http://www.mtgrafix.com/programs/terrain.html

                                        Also tried this: http://www.twisteddirt.com/TutorialStuff/dem_02.php Nice terrain shape - but the diffuse texture wasn't so good.

                                        Thomas Thomassen — SketchUp Monkey & Coding addict
                                        List of my plugins and link to the CookieWare fund

                                        1 Reply Last reply Reply Quote 0
                                        • D Offline
                                          dedmin
                                          last edited by

                                          or-a-24-0039.jpg

                                          2010-10-03_185534.jpg
                                          2010-10-03_185511.jpg

                                          1 Reply Last reply Reply Quote 0
                                          • thomthomT Offline
                                            thomthom
                                            last edited by

                                            308px × 1 047px - that would make the mesh ~500-600K faces?

                                            And the issue with that bitmap is that despite it being a greyscale, it's still not a height map - which is why the mesh doesn't come out looking as what the image illustrate.

                                            Thomas Thomassen — SketchUp Monkey & Coding addict
                                            List of my plugins and link to the CookieWare fund

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

                                            Advertisement