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

    [REQ/Q?] Flattening and exporting scenes as skp files.

    Scheduled Pinned Locked Moved Plugins
    38 Posts 8 Posters 4.6k Views 8 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.
    • G Offline
      glro
      last edited by

      @jql said:

      The issue is a bit more complicated than that.

      Architects using sketchup need an easy workflow to convert their 3d models into accurate drawings, to represent buildings and to share with consultants.

      The workflow involves 3d modelling of the most important parts, 2d drawing that is extracted from 3d,and 2d drawings that complement those and are still accurate

      usually the later are done in cad, but I do them in layout or sketchup.

      I want to streamline that workflow as sketchup is great at 2d drawing too if complemented with layout for text, lifestyles dimensipning and pagination.

      the issues that arise from working with layout, are also less evident when you work with 2d sketchup models/drawings.

      I tried something: here is a scaffolding model
      3d

      i made a component out of it,selected it, and applied these lines of code

      model = Sketchup.active_model # Open model
      entities = model.entities # All entities in model
      selection = model.selection # Current selection
      
      for e in selection
      echelle = Geom;;Transformation.scaling [0,0,0],1,1,0.00001
      e.transform!(echelle)
      end
      

      and this is what i get
      flat

      is it something like this you are asking for?

      1 Reply Last reply Reply Quote 0
      • JQLJ Offline
        JQL
        last edited by

        Apparently it is. I'm not in my pc though... Would that work with a section?

        www.casca.pt
        Visit us on facebook!

        1 Reply Last reply Reply Quote 0
        • jiminy-billy-bobJ Offline
          jiminy-billy-bob
          last edited by

          That scales the model on the Z axis to something close to 0 (actually 0.00001). So make sure to run in a few times to be sure that any vertical dimension gets smaller than Sketchup's tolerance.

          25% off Skatter for SketchUcation Premium Members

          1 Reply Last reply Reply Quote 0
          • JQLJ Offline
            JQL
            last edited by

            If that scales to close to 0 it means it will have all the geometry between 0 and 0.00001 right?

            It will still be 3D not 2D, it looks exactly like what I want it even get's textures.

            But isn't that, exactly the same 3D model with the same amount of information? Won't it probably give Layout the same amount of work on 3D calculations?

            Also as it isn't 2D it will be hard to export to CAD in a later stage when sharing with people that need dwg or dxf. Or it might give us errors when drawing in the 2D sketchup file.

            Also, as Jiminy pointed out, it's working in Z axis only, though that would probably be easy to make it work in any axis (I'm personally interested in a section plane's normal direction.).

            It's a shame though, as it is really looking exactly as the ideal 2D output would look.

            Thanks for your input glro and Jiminy!

            www.casca.pt
            Visit us on facebook!

            1 Reply Last reply Reply Quote 0
            • jiminy-billy-bobJ Offline
              jiminy-billy-bob
              last edited by

              Well, if you run it a few times, the dimensions along the axis will get smaller than the tolerance, and Sketchup will merge everything.
              I think...

              25% off Skatter for SketchUcation Premium Members

              1 Reply Last reply Reply Quote 0
              • JQLJ Offline
                JQL
                last edited by

                Then how will Sketchup know it has to keep the visible entities and disregard the rest?

                www.casca.pt
                Visit us on facebook!

                1 Reply Last reply Reply Quote 0
                • G Offline
                  glro
                  last edited by

                  i tried this

                      for e in selection
                      echelle = Geom;;Transformation.scaling [0,0,0],1,1,0.0000
                      e.transform!(echelle)
                      end
                  

                  it works, 0 thickness, but colors are mixed
                  and it cannot be undone, i suppose, because 1/0 doesn't exist

                  all the geometry is in the flattened component, because the size of the file is about the same, before and after, and if i unscale by scaling the flattened component 1/00001, it works

                      model = Sketchup.active_model # Open model
                      entities = model.entities # All entities in model
                      selection = model.selection # Current selection
                  
                      for e in selection
                      echelle = Geom;;Transformation.scaling [0,0,0],1,1,10000
                      e.transform!(echelle)
                      end
                  

                  It would be possible to scale along any axis

                  I tried to export the flattened model to dxf, and import it into my CAD software, designcad 9000, but it doesn't work

                  Then i tried to go back to sketchup from the dxf file exported from sketchup, and it worked, with one big difference: faces are not retrieved

                  here is the dxf file, if you want to try with another CAD software

                  flattened scaffolding dfx

                  1 Reply Last reply Reply Quote 0
                  • G Offline
                    glro
                    last edited by

                    @jiminy-billy-bob said:

                    Well, if you run it a few times, the dimensions along the axis will get smaller than the tolerance, and Sketchup will merge everything.
                    I think...

                    yes, this would probably if objects within the global component would be alone (stray?)
                    but if the objects within the global component, are components themselves, nothing is merged

                    1 Reply Last reply Reply Quote 0
                    • G Offline
                      glro
                      last edited by

                      @jql said:

                      Then how will Sketchup know it has to keep the visible entities and disregard the rest?

                      by scaling to 0.0001, the visible entities are kept visible

                      1 Reply Last reply Reply Quote 0
                      • JQLJ Offline
                        JQL
                        last edited by

                        Scaling to 0.0001 will keep this as a 3D that looks flat so face "draw order" comes from the 3D itself... I can understand that.

                        It's pretty interesting that scaling it to 0 and then scaling it back up pops up the full model!

                        I could see that as a very interesting presentation tool by itself.

                        Imagine a flat plane with a google map in it, and then, suddenly a building and terrain start poping up from it... That would be very cool.

                        But what you're saying is that if you export to dwg/dxf and open it back in sketchup, sketchup convert's it into 2D data, though it looses faces? Then all the invisible faces become visible and if I'm exporting a roof view I will probably see all the floors beneath it... That wouldn't work though what you have still looks very good.

                        There is also an unmentioned issue that relates to camera, this only works in orthogonal projection mode, but I really can live with that as that is the kind of drawings I am after (2D orthogonal projections of the model.)

                        Though I understand the potential of the concept there are also other questions envolved like defining axis, sections and export to a skp model per scene:

                        1. I can imagine that definnig axis by scene camera or by a section plane is probably something trivial for plugin developers;
                        2. Having a section can be a bit more troublesome though as there will be many sections in the model. The way you describe your plugin to work right now, it would probably be a matter of copying the whole model and a given section into a component. Then use the section inside that component to do something like Zorro2 plugin and slice the component through the section. This new component, that would now be sliced, could be scaled flat;
                        3. Then the matter of exporting this flat component to an external file, would probably be easy too.

                        So the problem I see is, still only one, the component isn't trully 2D but close to 0 thick:

                        • so it probably isn't fast to work with;
                        • it's probably innacurate to work with;
                        • and it probably creates a lot of issues when exporting to standard industry formats like dwg/dxf/dwf.

                        I'm thinking though, that if there was a way to make the component true 2D, it would be so lightweight and easy to use, that we could even not export it at all. It could be inserted in a new layer visible only in a new scene and both layer and scene could be named after the existing scene with a suffix/prefix related to the plugin:

                        • "Scene 1" - Original model view;
                        • "2D Scene 1" - Copy of Original model view, where only the 2D flat component is visible.

                        glro, I'm sorry if I'm sounding rude by saying all this so bluntly, but the fact is that I really appreciate all the input so far, and I do think the potential of this plugin is huge!

                        www.casca.pt
                        Visit us on facebook!

                        1 Reply Last reply Reply Quote 0
                        • C Offline
                          Charlie__V
                          last edited by

                          Have you tried using section cuts in SU......up to the limits of what you desire to show in LO/ 2D.
                          (think from the "back side" of the model)
                          IOW:
                          Think old western town movie prop. (facades only)

                          I modeled a small developement a couple years back and to get a "street view" in 2D I used a section plane from behind to limit the info LO had to calculate. (I recall this working well)

                          Charlie

                          Precision M1710/Win 7 Pro 64 bit/i-7 6920 Quad core 2.9 Ghz -3.8/16Gb ram/NVIDIA M5000M 8Gb

                          1 Reply Last reply Reply Quote 0
                          • G Offline
                            glro
                            last edited by

                            @jql said:

                            Scaling to 0.0001 will keep this as a 3D that looks flat so face "draw order" comes from the 3D itself... I can understand that.

                            It's pretty interesting that scaling it to 0 and then scaling it back up pops up the full model!

                            no, it has to be scaled at 0.0001, otherwise it doesn't pop up back

                            @jql said:

                            I could see that as a very interesting presentation tool by itself.

                            Imagine a flat plane with a google map in it, and then, suddenly a building and terrain start poping up from it... That would be very cool.

                            But what you're saying is that if you export to dwg/dxf and open it back in sketchup, sketchup convert's it into 2D data, though it looses faces? Then all the invisible faces become visible and if I'm exporting a roof view I will probably see all the floors beneath it... That wouldn't work though what you have still looks very good.

                            no
                            if it is scaled to 0.0001 exported to dxf imported to sketchup, faces are erased, but the model is still 3d, you can unscale it

                            if it is scaled to 0.000, only then faces are erased and it is converted into 2D data

                            @jql said:

                            There is also an unmentioned issue that relates to camera, this only works in orthogonal projection mode, but I really can live with that as that is the kind of drawings I am after (2D orthogonal projections of the model.)

                            Though I understand the potential of the concept there are also other questions envolved like defining axis, sections and export to a skp model per scene:

                            1. I can imagine that definnig axis by scene camera or by a section plane is probably something trivial for plugin developers;
                            1. Having a section can be a bit more troublesome though as there will be many sections in the model. The way you describe your plugin to work right now, it would probably be a matter of copying the whole model and a given section into a component.

                            there is no plugin, only the few lines of code i pasted in the thread;i have not tried this code when a section plane is in the model.

                            @jql said:

                            Then use the section inside that component to do something like Zorro2 plugin and slice the component through the section. This new component, that would now be sliced, could be scaled flat;

                            1. Then the matter of exporting this flat component to an external file, would probably be easy too.

                            So the problem I see is, still only one, the component isn't trully 2D but close to 0 thick:

                            • so it probably isn't fast to work with;
                            • it's probably innacurate to work with;
                            • and it probably creates a lot of issues when exporting to standard industry formats like dwg/dxf/dwf.

                            I'm thinking though, that if there was a way to make the component true 2D, it would be so lightweight and easy to use, that we could even not export it at all. It could be inserted in a new layer visible only in a new scene and both layer and scene could be named after the existing scene with a suffix/prefix related to the plugin:

                            • "Scene 1" - Original model view;
                            • "2D Scene 1" - Copy of Original model view, where only the 2D flat component is visible.

                            i don't see why being close to 0 would be a problem
                            the flattened component is as accurate as possible, in 2D
                            the size of the flattened component is not an burden for the graphic card, since it is flat, it is quicly shown; it can be for the RAM

                            @jql said:

                            glro, I'm sorry if I'm sounding rude by saying all this so bluntly, but the fact is that I really appreciate all the input so far, and I do think the potential of this plugin is huge!

                            i have just followed your idea, because i was curious, and it has been fun so far; but i don't have much time to spend on it.

                            if you send a model with a few scenes set as you wish them to be flattened, with or without a section plane, i can make a try, copy each scene flattened to an individual sketchup file so you can check the result

                            1 Reply Last reply Reply Quote 0
                            • JQLJ Offline
                              JQL
                              last edited by

                              @glro said:

                              i don't see why being close to 0 would be a problem
                              the flattened component is as accurate as possible, in 2D
                              the size of the flattened component is not an burden for the graphic card, since it is flat, it is quicly shown; it can be for the RAM

                              That's interesting. I didn't realize a flattened component would be faster on the GPU but I do understand why RAM could be an issue as many 2D flattened models/components would increase geometry drastically.

                              Being close to to 0 isn't 0. I intend on drawing uppon the flattened components and I've seen sketchup being picky with CAD imports wich such small deviations on geometry. Maybe that isn't an issue as my intention is overlaying other 2D drawings upon the flattened components.

                              However there's nothing like trying.

                              @unknownuser said:

                              there is no plugin, only the few lines of code i pasted in the thread;i have not tried this code when a section plane is in the model.

                              @unknownuser said:

                              i have just followed your idea, because i was curious, and it has been fun so far; but i don't have much time to spend on it.

                              if you send a model with a few scenes set as you wish them to be flattened, with or without a section plane, i can make a try, copy each scene flattened to an individual sketchup file so you can check the result

                              I understand there is no plugin so far, I was talking about the potential plugin or the concept for the plugin.

                              I will create a simple model wich represents one of my typical projects, but if you want I can also send you a PM with a link for a real project, not very big but with the usual complexity one of our architectural projects have. I can also send it's layout file.

                              www.casca.pt
                              Visit us on facebook!

                              1 Reply Last reply Reply Quote 0
                              • G Offline
                                glro
                                last edited by

                                @jql said:

                                there's nothing like trying.

                                OK for a typical model, each scenes should be prepared for flattening
                                the basic idea of a plugin could be ruined by memory overload or something else, so it is worth trying before going further

                                1 Reply Last reply Reply Quote 0
                                • JQLJ Offline
                                  JQL
                                  last edited by

                                  Here is a simple model and layout example in V2013 (if you want another version please say so):

                                  Flatten Faces Simple_1.png

                                  Flatten Faces Simple_2.png

                                  Flatten Faces Simple Model.skp

                                  Flatten Faces Simple Layout.layout

                                  Axonometric View has Shadows turned on but only in my best dreams would they be able to output to 2D.

                                  I hope you keep having fun 😄

                                  www.casca.pt
                                  Visit us on facebook!

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

                                    If you make everything inside a component-instance then my CADup might do what you want ?
                                    http://sketchucation.com/pluginstore?pln=CADup

                                    TIG

                                    1 Reply Last reply Reply Quote 0
                                    • G Offline
                                      glro
                                      last edited by

                                      @jql said:

                                      Here is a simple model and layout example in V2013 (if you want another version please say so):

                                      [attachment=4:2jmovtqr]<!-- ia4 -->Flatten Faces Simple_1.png<!-- ia4 -->[/attachment:2jmovtqr]

                                      [attachment=3:2jmovtqr]<!-- ia3 -->Flatten Faces Simple_2.png<!-- ia3 -->[/attachment:2jmovtqr]

                                      [attachment=5:2jmovtqr]<!-- ia5 -->Flatten Faces Simple Model.skp<!-- ia5 -->[/attachment:2jmovtqr]

                                      [attachment=6:2jmovtqr]<!-- ia6 -->Flatten Faces Simple Layout.layout<!-- ia6 -->[/attachment:2jmovtqr]

                                      Axonometric View has Shadows turned on but only in my best dreams would they be able to output to 2D.

                                      I hope you keep having fun 😄

                                      here is the result for some scenes
                                      i am afraid it is not convincing
                                      TIG's plugin surely will give better results
                                      [attachment=2:2jmovtqr]<!-- ia2 -->AL Nasc.skp<!-- ia2 -->[/attachment:2jmovtqr][attachment=1:2jmovtqr]<!-- ia1 -->PLT Cob.skp<!-- ia1 -->[/attachment:2jmovtqr]


                                      AL Nasc.skp


                                      PLT Cob.skp


                                      CL A.skp

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

                                        CADup is old, painfully slow and glitchy...
                                        I have recent;y trapped it for errors better but...

                                        http://sketchucation.com/forums/posting.php?mode=reply%26amp;f=323%26amp;t=35096


                                        Capture.PNG


                                        Flatten Faces Simple Model.skp

                                        TIG

                                        1 Reply Last reply Reply Quote 0
                                        • JQLJ Offline
                                          JQL
                                          last edited by

                                          @glro said:

                                          here is the result for some scenes
                                          i am afraid it is not convincing
                                          TIG's plugin surely will give better results

                                          Well glro, that is not great indeed but I can't thank you enough for trying and I'll never forget that.

                                          Thank you very much!

                                          @tig said:

                                          CADup is old, painfully slow and glitchy...
                                          I have recent;y trapped it for errors better but...

                                          The images you show there look very very promising Tig!

                                          You do warn not to use it on complex stuff. However I was thinking the plugin has some years old and sketchup is probably faster now... so I tried it with the model (without removing terrain) and it took a lot of time. It also revealed the terrain's mesh on AXO views but that would be uninportant.

                                          It could probably be sped up but it's functionallity doesn't fit exactly on what I have in mind
                                          as we can't select our own sections and it limits our points of view to the standard SU views. It brings the added benefit of AXO though.

                                          My feeling is that this is a perfect plugin for a lot of stuff and it might be useful in the future.
                                          So thank you very much for pointing to another possible solution and congratulations as it seems really useful. I wasn't aware of it!

                                          www.casca.pt
                                          Visit us on facebook!

                                          1 Reply Last reply Reply Quote 0
                                          • JQLJ Offline
                                            JQL
                                            last edited by

                                            • Meanwhile I've had an idea that could work.

                                            I've been thinking that this request of mine is nothing more than what we have right now. The only differences would be some minor tweaking and precise setup.

                                            What we can do to flatten and export a scene right now is simply export it to 2D graphic into DWG or DXF using Sketchup Pro.

                                            This works with any scene and creates flawless geometry very fast!

                                            Then I kept thinking further on this and I was imagining how that could fit on current workflow. I found out that most of what I needed is also already available through some plugins... Most of wich are developed by Tig. 😄

                                            So please have patience for a little more rambling of mine!

                                            Many of us have scenes setup like this:

                                            1. Scene with a Section Plane on a Layer visible only on that scene;
                                            2. Section Cut Face applied on That section plane and, with current Tig's developments, (thank you Tig) the Section Cut Face is easilly named after that scene and inserted into that layer, making it visible only in that scene;
                                            3. It's also usual to create a new scene with same camera showing only the Section Cut Face.
                                            4. Both these scenes are then sent to Layout and Juxtaposed and then the SectionCutFace heals whatever flaws the model has inside walls and we are also able to control the section profile thickness using styles.

                                            Take a look at this gif for an example of points 3 and 4:

                                            http://i.imgur.com/kFc10lF.gif

                                            (NOTE: This model, wich is rather basic has a difficult handrail and façades. Some scenes take 2-5 minutes to reload in Layout on an overclocked i7 5820K. Setting them up is a pain in itself.)

                                            So, what if:

                                            1. It would be possible to batch export DWGs of chosen scenes into a subfolder of our project (batch exporting of scenes into DWG would be an useful plugin to have for any architect around here);
                                            2. And then it would be a matter of also batch importing those DWGs back in the model as components (batch importing of DWG's would also be useful to anyone);
                                            3. But the perfect solution would be that these particular imports could allow for an option to place them preciselly aligned with the existing SectionCutFaces/Section Planes (with the same 0.1mm distance SectionCutFaces have from Section Plane).
                                            4. And they could also be assigned into layers derived from SectionCutFaces/Scenes names with an added Suffix or Prefix;
                                            5. Now, a copy of the SectionCutFace's scene could be created and it would only show that new layer, thus isolating the dwg component on that scene;
                                            6. Finally, if we wanted we could reexport any scene to DWG and reload it as the DWG would be Xrefed as a component.

                                            Tig, I'm sorry for being so blunt, but this would be fit for you:

                                            • SectionCutFaces is your thing! 😄
                                            • CADup is something that adresses this same issues (Point 3 above could optionally, import dwg's flat on XY plane and this would mimic CADup's functionallity.).
                                            • And then you also have Xref manager plugin that deals with the reloading of CAD files already (and you're saying it needed a revamp for so long...)

                                            A plugin that would blend these 3 would solve the issue wouldn't it? 😛

                                            So please! Can you consider it? 😳

                                            I will build a model using that workflow above and attach it here for your consideration! 😄

                                            www.casca.pt
                                            Visit us on facebook!

                                            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