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

    [Plugin] OBJexporter v3.0 20130131

    Scheduled Pinned Locked Moved Plugins
    304 Posts 96 Posters 451.3k Views 96 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.
    • S Offline
      Sound
      last edited by

      Well, I'm just reporting a bug. A cube, having 8 vertices, is exported with 24 vertices 😲
      This is a wrong representation of the object and has a very noticeable impact on all uses of the OBJ file when topologic integrity is required (3D printing is one example).

      Of course I expect nothing from you, being it freeware. Whether you want to fix this bug or leave it there is entirely up to you.

      Sadly, your code is not even covered by an open source license (it's "all rights reserved"), so people are not allowed to fix this bug and redistribute a fixed version. 😒

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

        @Sound

        The vertex 'duplication' isn't actually a 'bug', since that would suggest that it isn't doing what it is intended to do: and it currently does exactly what it is coded to do.
        However, I do take your [inelegantly put] point that vertex entries could be 'reused' if they are 'shared' by more that one facet...

        So I now have an idea on to make an adjusted version of the code that will now does this: and it can also have a few other tweaks; to reduce the file size further, to optimize the processing time etc.

        I'll post it soonest...

        PS: Although I do 'reserve all rights' to my code... please feel free to make your own improvements to any of my tools, and either PM me or post them here, of course for free unfettered use by all members... The only thing I ask is not to post whole scripts in the same thread as it'll cause confusion... πŸ˜’

        TIG

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

          Here's v2.8 http://sketchucation.com/forums/viewtopic.php?p=294844#p294844
          The D.P. accuracy is not now applied to 'whole numbers', and any -0 values becomes 0.
          Any shared-vertex entries are now 'reused'.
          The OBJ file size is minimized and the processing time is optimized.

          TIG

          1 Reply Last reply Reply Quote 0
          • S Offline
            Sound
            last edited by

            TIG, thank you very much for working on that and for clarifying your terms about modifying the script.
            I will test the new version as soon as possible and report success or failure.
            Have a good day.

            1 Reply Last reply Reply Quote 0
            • S Offline
              Sound
              last edited by

              I can confirm this works for any model I tried.
              Thank you! Exported OBJ is now topologically correct and thus suitable for a lot more uses.

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

                Good.

                TIG

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

                  Here's v2.9 http://sketchucation.com/forums/viewtopic.php?p=294844#p294844
                  Merging of shared vertices is now optional, as it slows down processing for larger models considerably; and it is only required by some more picky mesh-apps, but renderers etc don't seem to mind non-merged vertex data at all.

                  TIG

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

                    Here's v3.0 http://sketchucation.com/forums/viewtopic.php?p=294844#p294844
                    It has a much improved shared-vertex merging algorithm that is now slightly faster than a non-merging version, so the option 'not to merge' has been removed because it is now of no benefit.

                    Where possible, shared-vertex data is always reused, ensuring correctly formed geometry.
                    This can mean that a SKP export containing 100,000 faces and therefore potentially 300,000 vertices can be 'compacted' to use perhaps 50,000 shared-vertices [but of course this depends on each SKP's geometry, grouping etc]: this 'compaction' also reduces processing time [which will now be perhaps ~60 seconds for this sized example], and when combined with the latest optimized 'numerical-entries' gives much smaller OBJ file sizes, and faster processing in 3rd-party apps too.

                    TIG

                    1 Reply Last reply Reply Quote 0
                    • andybotA Offline
                      andybot
                      last edited by

                      Great work, as usual, TIG!! This plugin is very essential for me. Many thanks for your development efforts!

                      http://charlottesvillearchitecturalrendering.com/

                      1 Reply Last reply Reply Quote 0
                      • cottyC Offline
                        cotty
                        last edited by

                        Thank you for this update!

                        my SketchUp gallery

                        1 Reply Last reply Reply Quote 0
                        • S Offline
                          samurai1789
                          last edited by

                          What simple instructions???? What ever i do i cannot find it HELP!!!!

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

                            @samurai1789 said:

                            What simple instructions???? What ever i do i cannot find it HELP!!!!
                            They are on the download page ! http://sketchucation.com/forums/viewtopic.php?p=294844#p294844
                            There are also some simple dialogs as you go after the tool is started...
                            What problems do you have otherwise ?

                            TIG

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

                              @tig said:

                              The D.P. accuracy is not now applied to 'whole numbers', and any -0 values becomes 0.

                              What made you chose to do this? Are there applications that doesn't handle these values well? I'm curious because I've been looking at the OBJ format this weekend.
                              (Is there an official specification somewhere? I find multiple sources around...)

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

                              1 Reply Last reply Reply Quote 0
                              • pilouP Offline
                                pilou
                                last edited by

                                See the external links at the end of the page πŸ˜„

                                Frenchy Pilou
                                Is beautiful that please without concept!
                                My Little site :)

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

                                  @unknownuser said:

                                  See the external links at the end of the page πŸ˜„

                                  Is that the official specs though? "martinreddy.net" ...

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

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

                                    @thomthom said:

                                    @tig said:

                                    The D.P. accuracy is not now applied to 'whole numbers', and any -0 values becomes 0.

                                    What made you chose to do this? Are there applications that doesn't handle these values well? I'm curious because I've been looking at the OBJ format this weekend.
                                    (Is there an official specification somewhere? I find multiple sources around...)
                                    It just minimizes the OBJ file size, an importer reads 0 as 0.0, so making it 0.000000 is pointless, -0==0 so it might as well be 0 !... so all trailing zeros are now omitted, it speeds up the writing by a few % and I also the importing at the 3rd party end...
                                    There's an OBJ Wavefront Wiki...

                                    TIG

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

                                      Are you sure all importers manage to read an int instead of a float which the specs appear to indicate? Just wondering in case the parsing is implemented in a stricter language...

                                      @tig said:

                                      I also the importing at the 3rd party end...

                                      Something missing from that sentence? πŸ˜•

                                      @tig said:

                                      There's an OBJ Wavefront Wiki...

                                      This one? http://en.wikipedia.org/wiki/Wavefront_.obj_file

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

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

                                        I have used OBJ files exported like this in many apps [Octane, Blender, MeshLab, MeshMan, AC3D etc] and they all import just fine.
                                        As far as I can tell they expect a 'number', so 0 == 0.0 == 0.000000 etc, 1 == 1.0 == 1.000000...
                                        They even take -0 == 0 when -0 is not really a number.
                                        I also trap for 'NaN' and 'Infinity' which would break them...
                                        Sharing vertex data is also permissible if you correctly reference the vertices.

                                        Try it yourself using a box that is located at, and offset from, the ORIGIN by whole 'meter' distances. The native OBJ exporter using m/triangulation, flipped-YZ etc gives a similar result to my 'free' tool BUT 1.000000 >> 1 in mine... Now import the two OBJ files into an app like Blender and you get the exact same result... If you make the two much more complex you'll find mine loads into the app a tiny % faster. Of course it takes longer to write the file because the native exporter is a swifter exe...

                                        TIG

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

                                          There are no way to define faces with holes in OBJ, is it?

                                          I see that OBJ files can support bezier patches - which is interesting for Bezier Surface.

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

                                          1 Reply Last reply Reply Quote 0
                                          • M Offline
                                            Mra
                                            last edited by

                                            I'm getting a crash during export, albeit its a large file, the obj gets up to about 5mb and sketchup crashes without warning.

                                            I'm aware this would be highly scene dependant but is there anything I can do? I'd be happy to send in a scene somewhere for debug. πŸ˜„

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

                                            Advertisement