hi all, i have a question: i’m trying to do “hidden lines” in blender of an architectural model that i’m working on. i’m trying to get like “elevations” or “axonometric” views of the model as wireframe (ie: things behind a wall won’t be visible, etc.) to export that to inkscape (or similar) to illustrate it there. any ideas if it’s possible in blender? thanks for help, a
you can try rendering the scene without any lights (everything will be pitch black, i know) and with edge enabled to outline every visible polygon with a white edge. This should be what you are looking for.
I make fake blueprints using the edge tracing. There is an example at the bottom of this page:
The background was set to white. All the materials were set to “Toon Render” with a pure white material. COL textures were deleted, but NOR or DISP textures were retained. The renderer’s outline function was turned on and set to 25, with all the other options on. Two hemispheric lights were added, one above and one below. The cameras were spaced around the model, and set to Ortho mode with scaling to make the image just fit the scene.
The faint gray shading can be eliminated entirely for true blueprints, I left it in for the first image because I found it artistically interesting, the shadless version is the second. The shading is removed by setting each material to "shadedless".
Controlling the line width is a problem. Sometimes I had to make the rendered image huge (like 1600 x 1200) in order to get the faint detail to appear yet not have the main detail become a black tangle. I would later take the huge image into a paint program and reduce its size.
thank guys! i’ll try the solutions you described here and post the results. my plan is to have a complete workflow for my architectural projects (i’m an architect running my own studio - www.studioa.org ) from scratch to finish using just opensource software (and running on linux completely). right now i’m placing together the pieces of the puzzle (i use qcad, gimp, inkscape, openoffice, etc. and of course blender & yafray). thanks again!
Would this work for you ?
The major advantage is the very fast workflow.
- Add a new world setting and make it plain white
- Make a new material, full white, full emit
- Make a cube on layer 20 or out of the way anyway. Give it the white material and in the draw extra (Draw panel, Object context F7, sub-context Object) press the ‘Wire’ button
- Use Ctrl+U to make this in your default settings.You’re set for life.
Whenever you’ll want to make some “blueprints” just select all the objects you want a shot of and the cube last. Use Ctrl+L > Materials and Ctrl+C > Drawtype so all your objects will be white and have edges that show. Set the world to white.
Make one 3D window just about the size you set the rendering in the scene context : this just to help framing. Position whatever object you want in this window. Go into textured mode to see the white world color and take your shots with the OpenGL rendering button on the header. It’s lightning fast.
If you use Macouno’s excellent Caliper script you could even have important dimensions set right inside Blender.
Hope this helps.
Thanks ShiftingClouds! Your method is much faster than mine. I like it.
Yes, maybe, but yours is sexier : I like it when some of the volume is revealed.
This one has a quite complicated setup but once it’s done it can be used on any objects and the effect modulated. I don’t know if this can be of use to studioa ? Don’t want to clog BA with useless .blend files.
I will use it on my buildings though. Sometimes, interesting NPR renderings is quite sell able, when clients don’t want to pay for long Indigo (darn gorgeous) renderings.
looks good and I’ll give it a try. There is one extra step I want to add to the process: export the file (I mean the wireframe) as a vector based file (.svg, .ai or similar) that way I can import it in Inkscape (or similar) and add notes, backgrounds, etc.
if you take a look at these:
that is the final produt I want to get. So I need to render as “wireframe” export that as a “vector-based” image (.svg , .ai, etc.) import that in Inkscape/Gimp and add colors, arrows, notes, etc.
Thanks for all your help! a
To my knowledge Blender doesn’t render to any vector graphic format : does it ? Could it be done ? Do you need it just for further editing/montage in Inkscape ? Will your end product, whatever image you end up publishing, selling, printing need to be in vector format ?
If not, I see no need whatsoever to go outside of Blender to build your image.
It has just too many powerfull tool for you not to find what you need and once the workflow is established (just a .blend to load or append really…) it is really faster than anything.
Just an example : I am a lazy b. so I cheated with wire material on the bench. Total time : less than 5 minutes and I had no workflow established,
firstof all: thanks for your replies!
being a vector based is not “mandatory” however, it can be edited further away. maybe i’m following a rigid path that i learned while working for other architectural practices: build the architectural model in 3d (usually formz), setup elevations in ortogonal views, run “hidden lines” and export as a .dxf or .ai and import into a program ( autocad or illustrator), after that delete all the un-needed lines. once cleaned, the “elevations” or other “axonometric/perspectives” were edited to be delievered ( as .dxf) to “production” department that was producing the “construction drawings” or to “marketing” (the .ai files) to create images to promote the project to media (newspapers, web sites, etc.). what i’m trying right now on my practice is to have a similar flow, so to be able to build architectural models and “extract” views that are “to scale” in a vector format (or .dxf) , views that are accurate and editable (in a program such as qCAD, OpenOffice, Inkscape, etc. = opensource).
thanks again for your help and suggestions. i guess by the end of this discussion we will end up having a complete (or almost) workflow/procedures to do this thing. best, a
Well, maybe we will get there.
OK : so you need the vector files for the marketing guys.
Well you are in luck : Jean-Michel Soler has built an SVG exporter that seems to do the trick. I went on the Zoo, one French Blender newsgroup, and ask for this and there it was, already made.
Here’s the page : http://jmsoler.free.fr/didacticiel/blender/tutor/py_bezcurve2svg.htm
I will notify him of this conversation and maybe he will bring a few pointers to help.
Look, I never did any vector graphic so you will have to experiment with that. I will help as much as I can. Here’s what I did for a first try.
What I have in mind is :
- Set up the object in a top view for your shot.
- Select the edges you want on that shot.
- Separate them and remove ‘Only Faces’ the faces
- Use the Script > Mesh > Edges to Curves
- Click Bezier in the Edit contex (F9), Curve Tools panel, Convert group.Now you are ready to use the script :
It works on the selected objects.
The resulting SVG file is what you saw in the top view.
I sent my newly created curves to a separate layer to unclutter the view.
Ran the Script > Export > Bezier Curve to Svg path.
The File selector replaced the Script window and the SVG file was ready to be saved. It had the name of my .blend but with a .svg suffix instead of the .blend suffix.
The file opened no trouble in Inkscape.
Your turn : please tell me if and how it worked.
Thanks ShiftingClouds! I had a client who wanted a ship blueprint in SVG or PDF format. I’ll have to see if this does the trick.
I saw another application that looked like it would do the trick, trouble was it cost over a thousand dollars.
I’m going to check out that exporter too.
You are aware, of course, that a PDF can be easily created by printing to PDF via freeware such as PDF995 (though some may not realize this).
In fact, using a print driver is often better than using the actual Acrobat I.E. tool, because the I.E. tool saves it exactly as it is on the screen instead of as it would have printed. (Eg, a page with a coloured, much else a BLACK background, etc, is enough to swallow an ink cartridge in a single gulp)
Well, consider that JMS has a Python answer for almost everything.
Would you tell us how it turned out ?
sorry , i’m a lazy boy myself , not done yet , i’ve tried just “parts” … i have to work for my own arch_studio (arch projects) as well as family commitments … i guess monday i’ll “fix” the problem/process/work flow and i’ll post a result as a “howto” … a
Hey ShiftingClouds, can you tell me your settings?
I tried playing around with the suggestions on this thread, and got this. (see attch). The world is white. The material is white and uses Toon shaders with the ambient shader using a high “smooth” setting. Amb Occlusion is turned on, but at a very low energy level. And there’s a single Hemi-light. Seems good to me.
Best if I give you the .blend.
I left it here : http://blenderforyou.org/jerome_toon000.blend
Please tell me when you’ll download it : I don’t want it there too long.
You’ll notice that the main difference is that each object has it’s special lighting set up (layer controlled) so it is possible to give to each a different character.
I have downloaded and played with it… You can take it off the server.
I am not very good at layers, so will explore it fully later.
Btw, I like the color choices, except the turquoise blue on the saucer. Strange!
I will experiment with all sorts of colors : here the turquoise matches the yellow in a violent contrast that I just saw that summer day when I was walking by a cafe terrace. I think that it was keeping the patrons awake better thant the coffee itself LOL
The layer thing is very simple : sometimes we want a lamp to shed its light only at certain places or on certain objects to attain a hard to get effect. What is done then is to place the object on a certain layer (objects can be on more than one layer at the same time) which it’ll share with the lamp. By checking the ‘Layer’ button for the lamp we ensure that only the objects of this layer will be lit by this lamp.
In this case varying the intensity of the hemi will reveal more or less of the volume of the cup and only the cup.