[REQ/Q?] Flattening and exporting scenes as skp files.
-
Apparently it is. I'm not in my pc though... Would that work with a section?
-
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.
-
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!
-
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... -
Then how will Sketchup know it has to keep the visible entities and disregard the rest?
-
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 existall 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
-
@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 -
@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
-
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:
- I can imagine that definnig axis by scene camera or by a section plane is probably something trivial for plugin developers;
- 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;
- 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!
-
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
-
@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 itif 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:
- I can imagine that definnig axis by scene camera or by a section plane is probably something trivial for plugin developers;
- 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;
- 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
-
@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 RAMThat'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.
-
@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 -
Here is a simple model and layout example in V2013 (if you want another version please say so):
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
-
If you make everything inside a component-instance then my CADup might do what you want ?
http://sketchucation.com/pluginstore?pln=CADup -
@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]
-
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
-
@glro said:
here is the result for some scenes
i am afraid it is not convincing
TIG's plugin surely will give better resultsWell 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! -
- 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:
- Scene with a Section Plane on a Layer visible only on that scene;
- 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;
- It's also usual to create a new scene with same camera showing only the Section Cut Face.
- 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:
(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:
- 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);
- 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);
- 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).
- And they could also be assigned into layers derived from SectionCutFaces/Scenes names with an added Suffix or Prefix;
- 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;
- 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!
-
Hi here is the model:
Flatten Faces Simple Model - DWG based - 2013.skp
All scenes starting with "V" are the dwg files imported with Tig's "Xref Manager" Plugin (I'm using Sketchup Pro here), the only thing I changed was adding faces to those components wich could eventually help me design on top of them.
The process is done by hand and very labourious to setup as one has to export each dwg individually, create a lot of scenes and layers, correctly manage them and then insert dwgs and align them with model.
Alternativelly, one could import all dwg files and lay them flat in the XY plane, wich would allow for less work.
This is also similar to what CADup does and is closer to what I used to do when I worked with CAD too.
All this work could make sense on VERY complex buildings wich Layout can't really handle if they are 3D, but with this system it would handle easilly.
The file has 3 kinds of scenes:
- Standard sketchup 3D section scenes wich have no prefix. They show the model, an active section and the corresponding SectionCutFace;
- 2D Scenes with isolated SectionCutFaces wich have the "X" prefix;
- And also 2D scenes with the imported DWG files wich have a "V" prefix.
Each "X" and "V" scene has a corresponding layer wich is visible only on that scene.
I have also changed the layout file to correspond to this setup:
Simple Architectural Layout - DWG Based 2013.layout
By now my hopes are no longer very high, but I'd really wish this, or something similar would be possible to develop...
Thanks for all your input so far!
Advertisement