text:
How to align an object by one or two edges to xyz axes?
How can I align object edge to one of the axis? For example, if I have a cube rotated 'freely' in the scene with applied rotation -- how can I realign it along x y and z axes again?
using physics engine comes to mind, but it also sounds like an overkill

Do you mean the objects origins? Or a specific vertex of the object?

in simplest case -- if I have an edge between two vertices -- how to align it to be parallel to one axis without changing shape of the object

You might be able to snap it to the surface of another aligned object, but I'm not sure.

See also: https://www.youtube.com/watch?v=NEUa1IA7NBQ

I think you can do it by tricks like parenting, constraint, snapping, addon, and scripting.

Method 1 (parenting):

Select the edge you want to align;
ShiftNumpad 7 to align view to selected edge;
ShiftS > Cursor to Selected;
Switch to Object mode, ShiftA to add an empty, F6, toggle Align to View, set it as parent to that object;
Select the empty, AltR;
Select your object, AltP > Clear and Keep Transformation. Then delete the empty.

Method 2 (constraint):

(as method 1)
(as method 1)
(as method 1)
(as method 1)
Add another empty, add a Copy Rotation constraint to it, select the first empty as Target, leave other settings as default;
CtrlA > Apply visual Transform, then delete the other two empties.

Method 3 (snapping):

Select one vertex on the edge you want to align;
ShiftS > Cursor to Selected;
Switch to Object mode, ShiftA to add a new empty, then move it for a certain distance along the expected axis;
Select all vertices of your object in Edit mode, with another vertex on that edge active (NOT the one in Step 1). Enable Snap mode on 3D View header, set Snap Element to Vertex, and make sure the Snap Target is set to Active;
CtrlAltQ to toggle Quad View, switch Pivot Point to 3D Cursor, snap the active vertex to the empty in two of the three Ortho views individually (it may depends on the actual case). Then delete that empty.

Method 4 (addon):
Luckily there is an addon called Precise Align (the latest version is 1.1), which can well handle this:

Select one face that includes the edge you want to align;
Find Precise Align tool panel in the toolbar, click Create Empty button, click Swap Empty Origin if it is not aligned with the expected edge. Make sure Parent to Object is toggled;
Back to Object mode, select that empty, AltR;
Select your object, AltP > Clear and Keep Transformation. Then delete the empty.

Method 5 (scripting):
Actually, I'm not good at scripting, but I'm sure it can be done. Welcome anyone that can complement with the scripting solution here. :)

item 4 "set it as parent to that object", how?

@AaA To parent the object to empty, first select the mesh object (Child), then select the empty (Parent) while holding Shift, then Ctrl P.


text:
Is there a way to overlay two similar UV islands with identical vertex count?
Sometimes UV unwrap has several nearly identica islands. However, more often than not they differ a little. If I want to keep identical texture for these -- is there a good way to overlap them perfectly? I know I can do it vertex by vertex, but I hope there is a better way.
I know I can do it for the whole model if it is symmetrical with Symmetrize option from mesh menu. I am talking about selected islands, not all of them.

Automatically unwrapping  identical geometry pieces one by one should produce identical UV layouts.
I.e. if you have a row of identical parts of geometry, select one, do unwrap, select another, etc. Selecting all at once may produce alike, but different islands.
If geometry is not identical, I'm afraid you're stuck with manually scaling down to zero required vertexes.

If you get the vertices close enough to prevent accidental merges, you can use the UV editor's "remove doubles" feature. It dosen't actually delete vertices like the 3d version, but it does perfectly stack them.

You can use this technique in tandem with the answers previously given here.
If I understand your question, there is a way you can perfectly snap multiple uv's to the same spot for perfect manipulation, which I figured out with some inspiration while trying to figure out this very same issue.
Using the 3D cursor (or in our case, the 2D cursor) we'll snap all of our desired selections to a single point. Here's my example, where you can see my similar UV's below:

Next, we'll use Blender's fancy-shmantsy cursor-snapping tools!
You can access Blender's Cursor-snapping tools using the hotkey ⇧ Shift +  S or through the UV dropdown right next to the image-browser

Finally, we can get to the goodies! When we try snapping with the method presented above, (the method is Snapping > Selected to Cursor [Offset]) Each UV will be moved by its exact centerpoint, landing directly on top of the 2D Cursor! (Brilliant, right? Don't you just love inspiration?) Inspiring examples below:

Important Note: Make absolutely certain that you don't choose the default Selected to cursor option, and instead choose the Selected to Cursor (Offset) option! That Offset is your lifeblood, my young padawan! If you forget to choose the one with offset, your UV will collapse into an infinitesimally small point and cease to be recognizable as anything other than the essence and epitome of your sheer and utter failure to read a storming stack-guide. It is entirely unrecoverable, regardless of how many wanton tears you shed for it.
 L, ⇧ Shift +  S >  7
L while hovering over the desired UV to SELECT, and then you SPAM-SPAM-SPAM that ⇧ Shift +  S >  7 combo, (pressing  7 is just a faster way of clicking that little Selected to cursor (Offset) thingy, allowing you to bypass the fiddling trouble with the mouse.

You can download the free addon and use the Stack operator

Select all the UV islands, then in the UV Editor try UV > Align and UV > Snap to point.

Under Blender 4.#, select first UV island, go to the menu UV > Copy UVs. Then select the second island, UV > Paste UVs.

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
Can I use Compositor to colorize image?
I often need to change color of a texture to create differently colored models. Usually I do it in Photoshop by selecting "Colorize" checkbox in Hue/Saturation and then modifying the Hue. Is there a way to achieve similar effect with Compositor in Blender? There is a Hue/Saturation node, but it does not have "Colorize" option. It would be great to use 32 bit EXR files directly.

Yes.
Try using a mix node with the blend mode set to Color:

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
How to copy/paste X, Y, Z coordinates in one step
Is there a way to copy and paste all 3 coordinates from the Properties (N) menu in 3d view? I can do it one at a time, but not all 3 at the same time.

It is not possible to copy these in one step from the properties panel, perhaps you can say what you are trying to achieve, there might be another way.

I do use xyz coordinates when I want a fine control over positon of objects related to each other. Usually I can also use mirror or move in these situations as well. Just was curious...

Even so, if you were to copy all 3 coords in one step, the only use that could have in the way you described above is to have another object set to those exact coordinates. There are several ways of doing this.

I like to do it through coordinates because it helps me to think in coordinate system when I model. Just a personal preference.

How about shift+S "cursor to selected" to copy position. Then shift+S "selected to cursor" to paste?

For those using Blender 2.8, as of 2019:

First select the object you want to move
Select the object whose location you would like to copy
Then press Shift + S
Choose Selection to Active.

Is the English wrong, or is my understanding of English bad?

I think at 2 it should say 'Shift+select'

Try the following steps:

Select the object(s) you want to move (the one you'd be "pasting" coordinates to).
Shift+Select the object with coordinates you want to copy, making it the Active Object.
In the 3D View's Properties region (N), right-click any one of the Location coordinate fields and choose Copy to Selected from the menu that appears
All selected objects will have the same location as the active object. This also works for scale and rotation.

A related trick of changing all values at once is to click and drag down from the top location coordinate to the bottom, and then change all values (they must be equal). Great for setting all of them to 0 for example. It works also for rotation and what not.

Meanwhile in blender 2.79 you can "Copy all to selected" from the RMB menu making this even more effective.

Clicking and dragging doesn't seem to work for me.

In Blender 3.2 mouse over a value in rotation or location in the N menu.  Use Ctrl + Alt + C.  Then go to mouse over the value you want to paste over and Ctrl + Alt + V.  It will copy and paste X Y and Z.
Works great for me for keeping 1 foot planted during a complicated walk cycle.
Reference:
https://youtu.be/g2_8KXbGbzQ is where I got the method (great channel)

this works great when having an object selected. But when a vertex is selected it just copies a single value, any way to get the same behavior for vertices?

Not exactly one step, but close, using Python scripting - in Python Console, first paste the following script, which uses the xsel program (Linux) to manipulate the clipboard (for more on the complications of piping into xsel, see Getting os.system to work in Python Console?):
import os, subprocess, shlex
def getCurSelLoc():
  print(bpy.context.active_object)
  mydat = str(bpy.context.active_object.location)
  # os.system("echo '%s' | xsel -b" % mydat) # nowork, see:
  # https://blender.stackexchange.com/questions/16329/getting-os-system-to-work-in-python-console
  # also, cannot use stdin=mydat: AttributeError: 'str' object has no attribute 'fileno'
  p1 = subprocess.Popen(shlex.split("echo '%s'" % mydat), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
  p2 = subprocess.Popen(shlex.split("xsel -b"), stdin=p1.stdout)
  out, err = p2.communicate()
  print(out, err)
  print(mydat)

... and press Enter twice to have it parsed; then, with (say) the default Cube selected, type or paste in the Python Console getCurSelLoc():
>>> getCurSelLoc()
<bpy_struct, Object("Cube")>
None None
<Vector (0.0000, 0.0000, 0.0000)>

Clearly, you get the location and the name of the selected object in the Python Console - but if you "paste" in a text document after this action, then you would have <Vector (0.0000, 0.0000, 0.0000)> pasted as text.
After you've ran getCurSelLoc() in the Python Console once, it ends up in the command history, so re-running it is as easy as pressing Up arrow key to recall last command, and pressing Enter. This could probably be re-done to function as an UI script, but I'm not that well versed with that part for the time being.

This looks really legit, and I'm familiar with Python, but I've never gotten scripting to work.  Any tips where to start?


text:
Can I use existing curves with the "Stroke method -> Curve" in "Texture Paint"?
Curve stroke in the Texture Paint mode is very handy at times. In my case I want to use an existing curve instead of creating one by hand. However it does not show in the Paint stroke curve selection menu. Is there a way to use existing curves to project a brush stroke on texture?

Stroke method curves, though stored and named for recall, do not function as regular curve objects or can they be converted to regular curve objects. This is actually something I asked for as a feature request - that they be able to be converted to and from stroke curves just like mesh objects can be converted to curves and back again.


text:
Each camera may always keep the same resolution?
I have an object with different cameras that these have different resolutions, but every time I make a render, the camera has changed the resolution of the previous camera, is it possible that this does not change the resolution?
thanks

See this answer.

As far as I know, the answer is no.
The resolution is a global property used by all camera objects in the scene.
One way to work around this is to create a new scene:

Create a new scene with Link Objects in Info > Header by pressing the + button:

This will make copy the current scene into new one and make object mesh data and transforms linked from one scene to another, so if you move or edit an object in one scene, the corresponding object in another scene will move to match it.
Set the other camera as active in the new scene (CtrlNumpad 0)
Change the resolution in the new scene.
To render, select the scene which has the active camera and resolution you want and press F12

Note that it is probably simpler and easier to set the resolution manually when you render.

I think you're right; though a script that temp replaces the render resolution with values from a custom property on the camera would be quite useful and probably strhightforward.


text:
remove buttons from header
¿is it possible to remove some buttons from the header?, I want to customize the header to have only the shader buttons.
Attached image
thanks

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
How can I set the Lamp type using Python scripting?
I am trying to set the Lamp type using Python scripting. I've got the Lamp object:
Lamp = bpy.data.objects["Lamp"]

But Lamp.type seems read-only. How can I set it without creating a new lamp?

I'll assume you're using blender 2.7x get the lamp from bpy.data.lamps not objects then be sure to set it with caps('HEMI', 'AREA', 'SPOT', etc). Also i wouldn't recommend using Lamp as a name since it is a named structure.

Confusion between object and its data
Blender has many object types, 'LAMP' is one of them. It is set by the data type on creation and is read only.
>>> D.objects['Lamp']
bpy.data.objects['Lamp']

>>> D.objects['Lamp'].type
'LAMP'

>>> D.objects['Lamp'].type = 'LAMP'
Traceback (most recent call last):
  File "/usr/lib/python3.6/code.py", line 91, in runcode
    exec(code, self.locals)
  File "<blender_console>", line 1, in <module>
AttributeError: bpy_struct: attribute "type" from "Object" is read-only

A 'LAMP' type object (bpy.data.objects) has a lamp (bpy.data.lamps) object as its data. Just like a 'MESH' object has a mesh (bpy.data.meshes)  The type of lamp can be set on the data part.
>>> D.objects['Lamp'].data
bpy.data.lamps['Lamp']

>>> lamp = D.objects['Lamp'].data
>>> lamp.type
'SPOT'

>>> lamp.type = 'HEMI'
>>> lamp.type
'HEMI'

It is not read only. Try:
Lamp = bpy.data.objects["Lamp"]
Lamp.location = (0, -2, 3.7)


text:
Fastest way to keep the last frame of a clip persistent
I have a video clip I would like that the last frame of this video clip last more seconds so the user can see it very well. Which is the fastest way to keep the last frame of a video persistent on the screen for a determinate amount of time without stretching all the video clip?

To hold the last frame simply drag the tail handle to the right. It will repeat or hold the last frame. If you want to do this in the middle of a strip then make a hard cut (not a soft cut) shift-k, this will remove the ghost handle, seen after trimming or soft cutting. You can then drag the tail out for a freeze frame again.

Thanks! I really needed this answered, and it was right there! Thank you!


text:
How can I move lights in Blender 2.8?
I am not able to move lights in Blender 2.8 in my MacOS. I place the light but I can't move it around, I've tried every key I could find.

Can you show a picture of you scene? What is your process?
Select the light in the viewport, press g, move the mouse, and then click. does the light move?

@person132 yes that solved my problem sorry for the newby question

Just so this question has an answer for anyone else who might find it:

Select the light in the viewport by left clicking on it - it should be highlighted in yellow.
press g, then move your mouse to move the object. If you want to move it along a specific axis, you can press g, and then press, for example, x, to move it along the x axis. if you want to moe it a specific amount, you can type the number of meters to move it after the axis of movement (e.g. G > X > 0.5 to move it 0.5 in the +x direction).

I'm able to move the light. But is there anyway to have the position of the light reflected in Layout mode?


text:
Create an highlighter effect for highlighting specific region of an image or text loaded in Blender
I see often this effect of virtually highlighting a text of a manuscript or report. I found a good tutorial using after effects https://www.youtube.com/watch?v=a0T3kcizcOY. I have tried to reproduce it using Blender, and importing the image as a plane. However, I can't find a modifier that helps me to achieve this effect, in my case also a simple change of brightness on the part of the text I am interested in could work. I was wondering if somebody had already faced this issue and could point me to the solution.

Hello, have you looked into Dynamic Paint?

@moonboots thanks a lot that seems very promising, I will study it in the next days


text:
how to copy drivers to multiple Objects?
I want to copy one driver to all selected objects at once, but the "copy to selected" function copies solely the current value of driver, and not the driver itself.
Is there a possibility to copy also the driver to all selected objects?

You can copy the driver with Right click > Copy Driver, but I'm not sure this is what you want.

My issue is more about how to paste the driver to all selected objects at once. just like Right click > Copy to Selected, but it copies only the current value of the selected driver.

I'm not completely sure how to implement this, but you might be able to make some sort of "copy drivers to selected" operator, or use python to paste drivers for objects automatically

yeah, I have to dig a bit into that. hope i can come up with something :D

I'm going to say there is not yet a quick way to do it.
The closest I can come to accomplishing your mission is this python script (which you can put in a Text Editor panel and use the Run Script button on the right of the toolbar, which means you might need to widen the panel)
Select all your objects, and select the source object last (so it is the active object), then click Run Script.
import bpy
import sys

def copyDriver(src, tgt):
    if tgt.animation_data is None:
        tgt.animation_data_create()
    print(tgt)
    if False:# or isArrayPath(src.data_path):
        d2 = tgt.driver_add(src.data_path, src.array_index)
    else:
        d2 = tgt.driver_add(src.data_path)

    d2.driver.expression = src.driver.expression
    for v1 in src.driver.variables:
        copyVariable(v1, d2.driver)

def copyVariable(src, tgt):
    v2 = tgt.variables.new()
    v2.type = src.type
    v2.name = src.name
    try:
        v2.targets[0].data_path = src.targets[0].data_path
        v2.targets[0].id_type = src.targets[0].id_type
        v2.targets[0].id = src.targets[0].id
    except:
        print("dang, %s %s"%(src.targets[0].id, sys.exc_info()[0]) )

def isArrayPath(path):
    return path == 'location' or path == "dimensions" or path == "rotation"

print ( isArrayPath("location") )
print ( isArrayPath("text_box[0].x") )

scn = bpy.context.scene

src = bpy.context.active_object

for obj in scn.objects:
    if (obj==src):
        continue
    if obj.select:
        print("object")
        if not src.animation_data is None:
            for dr in src.animation_data.drivers:
                copyDriver(dr, obj)
        print("data")
        if not src.data.animation_data is None:
            for dr in src.data.animation_data.drivers:
                copyDriver(dr, obj.data)

I have tested this only partially.  I did not even attempt to copy modifiers.  I'm sure there are some other driver doodads I'm not properly copying.
Anyway, I expect if someone can find a reliable API function to replace my copyDriver() kludge, your life will get a lot easier.
In the mean time, feel free to point out shortcomings and I'll see if I can kludge a way around it.

what about bpy.ops.anim.copy_driver_button()?

I am highly suspicious of EVERYTHING from bpy.ops because it relies on editor state, and I routinely run across functions whose input environment is inscrutable.  For the copy_driver_button() you have found, how do you specify the "highlighted button" ?

I don't think you're supposed to call bpy.ops.anim.copy_driver_button() from a script, these driver copy\paste operators are in the context-menu for drivable buttons: https://github.com/dfelinto/blender/blob/master/source/blender/editors/interface/interface_handlers.c#L6879-L6884

The super simple solution is in the menu Object -> Make Links -> Animation data. This also copies all animation but for me it proved to be invaluable since manually copy-pasting drives can be tedious when there are dozens of those objects. Like with any data copying in Blender, it copies from active object to all selected objects.


text:
How do I delete an object?
I want to delete an object. So I press the Delete button and then a menu pops up and I select vertices. But then the object still appears in the outliner. I still see "cube' there.

Deleting in Edit mode only deletes the geometry elements of the object. Other data (Modifiers, location, rotation, etc.) is still there.
To delete an object, you need to delete in Object mode.

Set the mode to object mode. There are two ways to do this:

Pressing Tab toggles Edit mode. (Pressing Tab while in Edit mode switches to the last mode used before Edit mode)
Directly setting the mode to Object from the menu in the 3D view > Header:

Select the object you want to delete and press Delete or X> Delete:

For more information about modes, see the wiki:

Modes are a Blender-level object-oriented feature, which means that
  the whole Blender application is always in one and only one mode, and
  that the available modes vary depending on the selected active
  object’s type – most of them only enable the default Object mode (like
  cameras, lamps, etc.). Each mode is designed to edit an aspect of the
  selected object. See the Blender’s Modes table below for details.

I like your answer but you include too much information  .

@Yppie Actually, the information provided is quite important. In Blender, the object-mesh distinction can be very useful or a total headache depending on whether or not you understand it.

There should be some kind of in-app usage tutorial which comes with Blender and automatically runs everytime you've gone more than a month without using it. Because I forget the basics like this every freaking time (Blender is not my day job. Sometimes I just need a rough model and I need it right freaking now for whatever I'm working on, so I don't have time to ask someone else to make it, so I fire up blender and struggle with the basics for 2 hours.)

@user23775 is the cube the active object (white outline)? Right click objects to make them active

In 2021, the answer is to go into Object Mode and hit X, not the Delete key.

Welcome to Blender's Stack Exchange. The option to delete the object from object mode with the x-key has already been explained in the accepted answer. Please try to avoid posting duplicate answers.

I'm pretty sure the Delete key does delete objects, even in the latest version (2.92)

Correct, the delete key still works. The difference is x-key asks for confirmation, delete-key doesn't.

Maybe it's just a problem specific to my M1 arm64 build. Not sure why my Delete key isn't working for 2.94 alpha.


text:
Create threaded drill bit from cone
I'm trying to create something like this.

This is what I've gotten so far. It's not what I want it to be.

How can I create the shape like in picture 1?

Something like that ?

I'll show you how to model it as a one mesh with a clean topology.

Start with enabling the Extra Objects add on. Then add a Spiral (Add-->Curve-->Spirals). Play with its settings in a Tool Shelf (T).

Convert your curve to the mesh (press Alt+C-->Mesh from Curve). Fill the gaps with the F key (enable F2 add on).

Add the edge loop (Ctrl+R) as pictured below.

Use knife (K) to cut away the very top of the cone. Make the topology as pitured below.

Add a loopcut between the other two. Snap the cursor to selection (Shift+S-->Cursor to Selected), and scale it evenly with Alt+S.

You may now finish modeling and add the edge creases (Shift+R) or create a topology like the one pictured below to make the edge loops  for creasing work.

Add final two edge loops to crease the blade even more. Enable Subsurf Modifier and smooth the faces. You may also cut the bottom of the drill with the knife to make its base flat.

This is direct towards paul gonet, (because i don't have enough reputation to comment yet) i enabled extra shapes and was frustrated to find the simple spiral curve has been removed and replaced by others which none of them seem to get the same result. I could be blind but it seems that this is no longer a viable solution in the current version of blender.

In 2.78c, I get the exact same curve as that shown in Paul Gonet's example using Archimedian, Poly and Clockwise for the spiral type, and then setting the other settings the same as his example (turns: 5, steps: 8, radius: 0, radius growth: 2, height: -6). I think the only thing that changed was the old settings weren't named.

I'll present two quick ways of achiving a similar result.
1) From a cone:
Shwrinkwrap a Spiral
Create a spiral (you can find it in the menue after enabling Extra Object: Extra Curves add-on) in cone's top view whith the wanted features and project it on the Z-axis to the cone:

Create another guiding profile or duplicate and scale the previous one

Convert both to mesh and fill faces. Then add an edgeloop and scale the vertices on the XY plane.

Result:

2) From scratch:
Array modifier (Object offset)
The idea is to create a profile curve, duplicate it several times around an axis and it smaller and smaller while it goes up.
First thing: create a spikey profile and move it a little bit far away from the origin that represts our rotation axis location pivot.
If you would like to match a given cone, just build the profile starting from a cone's edge or use it as reference.

Add an array modifier pointing to an empty

Increase the number of duplication and tweak the empty's z-location, z-rotation and x=y=z-scale till you are satified with the result

Make a stacked Copy of the modifier, hide the last and apply the first in order to access the baked the geometry. Then create some faces as in the picture:

Delet all but the created faces and unhide the remaining modifier:

Notice that you can still seamslessly add new faces with the array modifier to complete the tip.

Final result after bisect, matcap, smooth shading and edge split modifier:

If you need to keep the profile always the same size, with a constant theread distance, things gets probably harder. I managed to achieve a result with Sverchock nodes, but the setup really depends on what exactly you want to achieve:


text:
Proportional Editing - Vertices moving for no reason
I have an arm mesh. When I try to rotate some vertices with proportional editing some vertices move with it for no reason.

This doesn't happen with all vertices.
blend file

You have turned on 'X Mirror' for edit mode. This is a a tool which will mirror changes in edit mode across the object's local X axis.
In edit mode you can turn this off by going to the 'Options' tab in the 3D view toolbar (T) and turning off 'X Mirror'.

authors: Станислав Соколов


text:
What is non-manifold geometry?
I am not quite sure what non-manifold geometry is. I thought non-manifold geometry was just floating vertices and hole in a mesh. From my experience this is not always the case however. What is non-manifold geometry and what are the types of it and how do I avoid it? Is there a case where it is acceptable?

Non-manifold geometry is essentially geometry which cannot exist in the real world (which is why it's important to have manifold meshes for 3D printing).
As JulianHzg points out in the comments, intersecting geometry (faces sticking through other faces) is not technically non-manifold geometry on it's own. However it will often cause the same issues as non-manifold geometry, i.e. confused volume calculations.

Non-manifold geometry can be problematic, because it complicates some tools & operations:

Rendering of refractive effects

Fluid simulations

Boolean operations

3D printing

Among many other cases.

You might want non-manifold geometry in some kind abstract model (as non-manifold geometry cannot exist in the real world), or as an approximation of a very thin object (e.g. paper, leaves, etc.)
Common causes of non-manifold geometry:

Disconnected vertices and edges:

Internal faces:

Areas with no thickness:

Fixing non-manifold geometry:
You can select all non-manifold geometry in the 3D view, in edit mode, under Select > Select All by Trait > Non Manifold (CtrlShiftAltM in the 2.7x keymap)

Internal faces can be selected by pressing 3D view > Header > Select > Internal Faces in edit mode.
Loose geometry (elements without any other connecting elements) can be selected with 3D view > Header > Select > Loose geometry. Note that it only selects vertices, edges, and faces depending on the current selection mode.
Other useful tools for repairing non-manifold geometry:

ShiftG (Select Similar). This is often useful to select vertices with only one connecting edge, etc.

CtrlL (Select Linked). This is often useful in combination with Select loose and Select similar to select all geometry connected to the selected geometry.

W> Specials > Remove doubles Doubles, (multiple vertices in the same place) are usually non-manifold (not always).

Since a common cause of non-manifold geometry is lack of thickness, the solidify modifier can also be useful.

Just a note about You might want non-manifold geometry in some kind abstract model since it can't exist in the real world.  “Thin walled” objects, such as leaves, flower petals, silk, etc. should almost always be modeled with no thickness (a single layer of faces), especially if they are partially transparent or translucent.

I think it's worth noting that while non-manifold surfaces enclose objects that can't exist in the real world, there are many manifold surfaces that also represent objects which cannot exist in the real world - an example would be the Klein bottle. So being manifold is necessary, but not sufficient, for a "realistic" object - it should also be orientable.

@JulianHzg http://www.kleinbottle.com/images/7-Klein-BottlesA.jpg

@Dan these are not Klein bottles because they have an extra hole in the bottle (which the "neck" passes through)

The ctrl shift alt m shortcut doesn't work for me, so if anyone else is stumbling across this post you can select non manifold geometry by going to into edit mode, open the select tab>Select all by trait>Non Manifold

How To Find Non Manifold Areas in a Mesh
While in Edit mode, you can select all non manifold areas with CTRLSHIFTALTM.
Overlapping Edges
One type of non manifold situation is when you have overlapping edges.
For example, I'd frequently have a mesh that'd look fine, like this:

But then when I checked for non manifolds, I would get an edge highlighted like this:

I discovered the reason this edge was highlighted was because there were overlapping edges.
The way to find the overlapping edges is to grab one of the middle vertices in the highlighted area (circled in green), drag it around and see if you discover a hidden edge, like the white one here:

Once you find that edge, delete it, then put the dragged vertex back into place. One trick I discovered about how to put the vertex back into place easily is when you are first dragging it out out of place, only drag it on one axis, rather than freely in 3, because then you only have to snap it back to that one axis, rather than 3.

When Non-Manifold Geometry is Useful or OK
Ok, I haven't found any uses for interior faces or overlapping edges, but I find open ended meshes and intersecting ("sunken") sub-meshes to be useful in some situations, provided you are:

NOT making an object that's supposed to be transparent, translucent, refractive, or have other internal light effects
NOT making an object that's expected to hold up in simulation by itself
NOT doing that 3d-printer stuff

This is probably mostly useful for lowpoly modelers, though I use it with solid subsurf stuff sometimes as well. Here is a device I've been working on for a modding project:

It's made up of several mesh object. The front iPhone-colored-specular-map-showing one is protruding into the rear cargo unit so that no gaps are visible. If we hide the back one with the hatches, we can see:

There isn't actually a inside-rear to this part. Also you can see that the sidelights also have open edges sticking into the head mesh, and that the grate-things are protruding into the head a little too despite being closed objects. In this case, users probably aren't going to be able to get close enough to the object that modelling any more detailed connections between things would be meaningful.
One more thing to note about open edges like this: you can actually loop select them. If you were to fill the hidden area with an N-gon or an efficient triangle spread, you wouldn't be able to loop select anymore, which I find kind of annoying.

Debatable Cases
When making environmental static meshes for games and such, some designers go for designs like this to save polygons:

(In these examples, presume that the giant yellow UV map is some ugly/error texture that the users are hopefully never to see, and the other three colors are proper textures)
The problem with this design, is that each tiny error in meshing by the map designers can cause a huge immersion-breaking mess for the users:

From my experience wandering artificial environments, these errors, like software bugs, are not so much a 'if' as a 'how many, how bad, and where' situation.
It does cost some extra polygons, but I find I much prefer making a backing hull for this kind of mesh:

In this case, after extruding the top and bottom edges and creating the rear face, I created an N-gon in each side loop and then triangulated it for a minimal fill. I unwrapped the UVs on these faces and shrunk them to a tiny dark spot in the corner of the map. If I were making lightmaps, I'd try to minimize all these faces to a combined pixel or so as well.
The result when looking at the messed up seam:

I find the pretense of solid mass here much less immersion breaking, even though the unintended faces are minimally texture. Even when you look dead on through the gap:

You can barely even see the 'bad texture' texture.
As a final note, some game engines -- or at least later versions of Unreal engine as of UDK a bit before UE4 was announced -- require solid, enclosed meshes to make their magical static-mesh-occlusion-optimization-magic work, which is important for managing framerate and so when putting maps together.

by any chance, was this an some sort of Energy weapon (based on the reloadable rocket launcher)  for a small ship in Space Engineers

@X-27 Actually it was the spiffed up version of my laser welders that I never finished, but yes for space enginees. :3

I recognized the cargo port immediately :)

The question is not well stated. There is nothing like non-manifold geometry. Non-manifoldness is a topological property and when we come to computers non-manifoldness is a combinatorial property.
Given a bunch of triangles you can build a manifold or a non-manifold stitching together edges in different ways.
Manifoldness of what comes out do not depends of the shape of triangles you use. You can end up in a nightmare of self intersecting triangles but this can not be considered strictly
related to non-manifoldness. You can choose other vertexes or  you can let yourself float out of 3D to a nD space and all intersections can go away, pushing n high enough. Nevertheless if you stitch a segment to a triangle vertex the broomstick you get is a non-manifold even if you can see all the dimensions of the String Theory.
Defining non-manifoldness could be surprisingly daunting.
Manifoldness is a black night in which all the cows are black. Recognizing manifold cows is obvious for triangulated meshes (a.k.a. 2-complexes) and tetrahedralization (3-complexes) but recognizing if a n-complex is a manifold, in general, cannot be done for n greather than six (let alone the String Theory...). That has something to do with the Halting Problem.
So, all manifolds are equal but some are more equal. There are Pseudomanifolds, Lienhardt's Quasi Manifolds and Initial Quasi Manifolds, the latter being something that you cannot decide easily how to decompose into parts.    There is a linear time algorithm for a non-preemptive decompositon of a non-manifold into  Initial Quasi Manifolds.
What hell do I mean for a non-premptive decomposition?
Take this tetrahedralization   Without being too preemptive you might consider this natural decomposition
Next you cannot decide how to go on (seriously?). The orange edge is a non-manifold edge. If you look at this complex as a triangulation then you can see that there is a unique natural option, i.e. to inflate it.

However if you consider this as a tetrahedralization you have several options to decompose but none is more equal than the others. You can take this four component decomposition

and decide to stitch one or two of the lonely tetrehedra (marked 1 and 2) to one of the two pies or both to the same and get either a three or two component decomposition. Furthermore, a one component decomposition can be obtained cutting at the orange edge and thru one of the thick black triangles.  However, There is no good reason to chose one of these decomposition. Interested in this? See the Maths behind this here.
So in the end non-manifoldness is a combinatorial property that depends on how I stitch together things. If I am not careful at the way I stitch together things I end up in a non-manifold.
However, looking at a non-manifold it is not always possible to tell which was the wrong stitching. Sometimes you (or an AI system) look at the 3D non-manifold object and see its assembly, sometimes you can't.

Manifolfdness seems as easy to detect as describing the state of Schrodinger's zebra (a special case of the cat, where the animal can be alive and dead, and strips horizontal and vertical, all at the same time).

It's not so tricky to define non-manifold in the context of Blender.  Non-manifold is what shows up when you use the select non manifold operation.
Non-manifold is better defined by instead defining what "manifold" means:

Every edge connects two and only two faces.
Every vertex is part of a face.
As we travel along one side of the mesh, every normal we come across points toward us; or, from the other side of the mesh, away from us.

Non-manifold meshes are just meshes for which one or more of those characteristics is not true.
If we use the select non manifold operation, we can see that there are multiple options for this.  Note that the "extend" option is not actually a non-manifold characteristic, but just means to add the selection to our old selection, so we'll ignore that.  Let's go through the other options to demonstrate:

Wire.  Edges that are not involved in any faces are selected.  These edges do not meet our first criterion above:

Boundary.  Edges that are connected to only a single face are selected.  Again, this does not meet our first criterion:

Multiple faces.  Edges that connect more than two faces are selected.  First criterion:

Non-contiguous.  Edges where the normals flip direction when crossing over the edge are selected.  This does not meet our third criterion:

Vertices.  Straight from the manual: "Selects vertices that belong to wire and multiple face edges, isolated vertices, and vertices that belong to non-adjoining faces."  This is the only mode that actually selects vertices (other modes select vertices only via the edges they select), and it selects based on several criteria, but will catch those verts that violate criterion 2 above:

Is non-manifold geometry ever acceptable?  Absolutely, yes!  This is visual art.  Everything is permitted!  Non-manifold geometry is acceptable.  But if you want to use non-manifold geometry, you'll want to know that you're using it.  (And, for most rendering meshes, you probably won't want to use non-manifold geometry.)
The biggest issue with non-manifold geometry is how it affects your normals.  That's particularly true with smooth-shaded normals, which are interpolated across your faces from vertex normals; and vertex normals are calculated from the face normals of the faces they form.  If those faces switch normals, consider that we're interpolating from a negative normal to a positive normal.  That creates a line of singularity of zero normals (or infinity normals), although our samples aren't likely to see it.  It also affects our lighting across the entire face.
Normals are also used by many operations-- booleans, physics, more-- to determine what's the inside of the mesh and what's the outside.  For example, the difference between a cave and a rock is simply which direction the normals are pointing.  When we have non-manifold geometry, there is no clear inside or outside to the mesh, and these operations are going to fail, or act in unexpected ways.
There are also plenty of operations we can do that are built around an expectation of manifold geometry.  Catmull clark subdivision is likely to do what we want with manifold geometry; it is not likely to do what we want with non-manifold geometry.
However, there are some clear cases where non-manifold geometry is not only acceptable, but ideal!
Thin meshes-- meshes that fail the "boundary" condition-- are routinely used in 3D rendering.  Think of hair cards as an example.  The fact that these meshes do not have a clear inside or outside doesn't matter, because we're not doing anything with them that needs a volume defined.  The fact that their normals aren't defined by a full complement of faces doesn't matter, because the normals are consistent-- and besides, if we wanted, we could give them custom normals, or use a normal map.
Non-rendering meshes are also routinely non-manifold.  The easiest way to make a bone that can have only a few specific, arbitrary positions is to shrinkwrap it, nearest vert, to a mesh composed only of verts.  Soft body physics meshes routinely have loose edges so that we can create and control forces to affect their operation (and then mesh deform a rendering mesh from these physics meshes.)
And if we're making an emission mesh, then its normals don't affect rendering, and we can make a mesh that violates contiguous or multiple faces conditions and just not worry about it, even though those are the conditions that we are usually most concerned with.
Note also that just because non-manifold geometry causes rendering artifacts, that doesn't mean that all geometry that causes rendering artifacts is non-manifold.  A degenerate quad (with three collinear verts, or joining another quad by two of its edges) is just as bad news as multiple faces for smooth shaded normals, but it is not non-manifold geometry.  Understanding what non-manifold means, and why to avoid it (or why not to!) is an important part of understanding how to create good topology, but it is not the only part.


text:
Python - absolute position of face
How can I get the absolute position in 3d space of a face using python. I can get the position relative to the object origin using face.calc_center_median() this is not the absolute 3d position.
Here is how I got the relative position:
import bpy
import bmesh

# get current mesh
current_mesh = bpy.context.object.data

# create empty bmesh, add current mesh into empty bmesh
current_bm = bmesh.new()
current_bm.from_mesh(current_mesh)

# TODO: get absolute position
# get location of face (atm it relative to object origin)
for face in current_bm.faces:
    face_location = face.calc_center_median()
    normal = face.normal
    x = face_location[0]
    y = face_location[1]
    z = face_location[2]
    print('index: '+str(face.index), x, y, z)  # DEBUG

# current_bmesh back to mesh
current_bm.to_mesh(current_mesh)
current_bm.free()

In this scene for example the cube is a good distance from the world origin, the absolute 3d shall reflect this.

These are the reported coordinates of each face (they are relative to the origin of the object)

Multiply it with the object's world matrix.
loc_world_space = obj.matrix_world * loc_obj_space

where loc_obj_space is a 3d mathutils.Vector
There is an addon View3D-> Math Vis(Console) available to visualize vectors and matrices directly in the viewport.
I.e. paste the following lines to the interactive console
obj = bpy.context.active_object
lobj = [vertex.co for vertex in obj.data.vertices]
lworld = [obj.matrix_world * vector for vector in lobj]

This also works for converting the face normals to world coordinates!

A note: in today's Blender scripting, you need to use the Python @ operator to multiply matrices and vectors: obj.matrix_world @ vector for vector in lobj.


text:
How to make shift drag even slower?
In blender you can use shift when moving something, this will reduce the amount it is moved giving you finer control. Is there a way to make the shift drag slower than it already is?

Currently this is hard coded, do you think it would be useful to make this a user-preference? (perhaps its annoying if applied everywhere)

@ideasman42 I was kind of surprised that this was not in the user preferences, I think it would be a good idea to let the user chose.

Yes, you can use Alt and ShiftAlt too. However, this only seems to work in a few places.
It worked in some number sliders, it didn't in others. It didn't work in any of the modal operators I tested

It seems like there's some inconsistency in the UI with these controls.  For example, selecting an object and hitting G X, you can then use SHIFT to slow it down (but not SHIFT ALT), while with the X location slider in the N-menu, you can use both.  For moving a strip in the VSE by hitting G X, you can use SHIFT (but not SHIFT ALT), while changing the Start Frame slider in the N-menu, you can't use either.

In a blender, you can use "Shift" while moving something, which reduces the amount of movement and helps you control it better.
But currently, I've lost that function. Is there any way to get it back ?

You haven't really addressed the question. If you have a related question, please create a new post for it by clicking the Ask Question button.

This does not really answer the question. If you have a different question, you can ask it by clicking Ask Question. To get notified when this question gets new answers, you can follow this question. Once you have enough reputation, you can also add a bounty to draw more attention to this question. - From Review


text:
Switch between sculpting brushes
When sculpting I often want to switch between brushes. I find this a rather lengthy process. I have to open the sidebar and click on the icon and then click on the new brush I want to use. Is there a faster way to switch between brushes?

CTR+D toggles on\off Dyntopo. Dont thank me:)

There are letter shortcuts for most brushes, S for smooth, D for brush/draw, etc. as well as number shortcuts (1 for blob, 2 for brush, etc. Note that the number shortcuts depend on the order of the brushes in the menu, so 1 is always the first brush but necessarily blob)
For a full list, go to CtrlAltU> User Preferences > Input and search for "brush":

And then scroll down to the Sculpt section:

There are options (for which brush to select) available if you expand a shortcut entry:

You can easily create your own shortcuts by

Pressing Add New
Set the shortcut actuator options (mouse or keyboard, modifier keys, shortcut key, etc.)
Type in paint.brush_select as the operator.
Select Sculpt as the paint mode (note that it will be grayed out until you select it).
Select the sculpt tool.

Also note that the Smooth brush can be activated without switching to another brush by holding Shift.

M = Mask Painting
K = Snake Hook Brush
Shift+C = Crease Brush
C = Clay Brush
Shift+T = Flatten/Contrast Brush
L = Layer Brush
G = Grab Brush
I = Inflate/Deflate Brush
P = Pinch/Magnify Brush
S = Smooth Brush

1 = Blob Brush
2 = Clay Brush
3 = Clay Strips Brush
4 = Crease Brush
5 = Fill/Deepen
6 = Flatten/Contrast Brush
7 = Grab Brush
8 = Inflate/Deflate
9 = Layer Brush
0 = Mask

Shift+1 = Nudge Brush
Shift+2 = Pinch/Magnify Brush
Shift+3 = Rotate
Shift+4 = Scrape/Peaks
Shift+5 = SculptDraw
Shift+6 = Smooth
Shift+7 = Snake Hook
Shift+8 = Thumb
Graphic below, slightly outdated. Twist was renamed Rotate and Shift+Number hotkeys re-assigned.

Current as of Blender 2.79a

If I use my installation I have brushes called Brush on Draw mode on shortcut 2 and Polish on shortcut Shift+4, There isn't Rotate brush, but there's Twist. While Factory settings don't have brush called Brush on Draw mode as well as Polish and Twist is called as Rotate. I didn't really think my brushes aren't default ones.

Here is another fast way: Enable Pie Menu: 3D Viewport Pie Menus and enable Sculpt Pie: Hotkey: 'W' in the settings. When sculpting just hit the W key to pick your desired brush. Some of them are nested.

Or Sculpt/Paint brush menus addon, Alt+V will be for brush settings

@BrysonJack in what version did they rename the brushes? That image is from 2.79b.

Seems these hotkeys do not work anymore in Blender 3.1

authors: Евгений Гейзер


text:
How to convert edge selection to outer edges only?
I have a selection of edges. I would like to convert my selection to the outer edges only. How do I do this automatically.

Ensure you are in edge selection mode CtrlTab > Edges.
Then in the 3D view header Select > Select Boundary Loop

Alternatively you could (for such a simple selection) just hold Alt and RMB  on the first edge, then ShiftAltRMB  on the second edge.

Or even faster, Ctrl Alt RMB on the edge ring.

this helped me select boundaries of comples shapes, where I wanted to mark seams for unwrapping.


text:
Armature moving points for no apparent reason
I am experiencing some odd behaviour in my rig where vertices with 0 weight are moving when they shouldn't be. I have tried painting different weight onto those vertices but it does not seems to help.

blend file

There could be two solutions to this problem. However, you can fix this problem easily. Solution #1 Go into the vertex groups menu, select the vertex group  For the bone that is causing your problem,  go into edit mode for your character's object, select only the vertices you don't want to be effected by the bone, and press remove. this will remove any un-wanted vertices from the bone's influence.
Pressing assign will add any selected vertices to the vertex group with 100% influence.
Pressing remove will remove any selected vertices from the vertex group's influence

Solution #2 You have no weight for the vertex causing the problem on any of your foot bones. Thus, when you move the Thigh L bone, it moves the lower leg and all the foot bones with it, but because that single vertex has no weight, no bones will move it. to fix this, go into weight paint mode, select an appropriate foot bone, and paint on some weight. Or you can select that vertex, then select the bone's vertex group and click assign.


text:
Make Camera System Look at Empty
I have a camera System that is supposed to look at the empty in my scene. It should only move, not rotate. It should rotate in two parts. One, the actual sensor body and the other, mount plate. Rotating these two parts the camera should be pointing straight at the object. I assume this should be done using constraints.

blend file

Have you tried "Track to" constraint?

Yes, but it just flips my mesh the result looks totally weird.

You do realize that in five or six months that blend file will be a dud link?

It's not easy to setup sometimes, but this might a help: https://cgcookie.com/blender/2011/09/19/blender-tip-using-the-track-to-constraint/ - here is a camera cube track to: http://www.pasteall.org/blend/35649 as simple example.

This is exactly what the Locked Track constraint is for.
First you need to set up your camera objects. Parent the lens to the mount. Then the mount to the base. This hierarchy will enable you to get the motion you are looking for in all the pieces.
Add a Locked Track constraint to the lens object.  Notice the axis the lens is pointing on (you may want to turn on axis display in the object tab of the properties window) in my example it is looking down the Y axis. So it is tracking along the Y, and rotation is locked to only the X axis.

Add another Locked Track constraint, this time to the mount object. It has similar settings, except that the rotation is locked to only the Z axis.
Blend File

As a bonus step add a Limit Rotation constraint to the lens object, to stop it from rotating through the base. If your camera is looking along the same axis as mine, then you only need to limit the X axis.

Good solution, worked well.


text:
Reset OpenGL lights?
I recently changed the lighting in the viewport in the system preferences.

How can I rest the positions of the lights? The Reset to Default Value does not work. it simple sets them all to a top light.
How can I reset the direction of the lamps without restoring factory defaults?

This is really inconsistent, by having it reset to this, one would think that these are the true defaults and the actual startup has modified values. Perhaps open a ticket?

@iKlsR I will post a bug report

@Vader This is a known issue, see my answer here.

You can find the defaults by opening a new instance of blender and loading the defaults (without saving the default.blend) and using python to get the default values:
import bpy

for light in bpy.context.user_preferences.system.solid_lights:
    print(light.direction)

Which will print:
<Vector (-0.8920, 0.3000, 0.9000)>
<Vector (0.5880, 0.4600, 0.2480)>
<Vector (0.2160, -0.3920, -0.2160)>

So to set the light directions to the defaults, run:
import bpy

bpy.context.user_preferences.system.solid_lights[0].direction = (-0.892, 0.3, 0.9)
bpy.context.user_preferences.system.solid_lights[1].direction = (0.5880, 0.4600, 0.2480)
bpy.context.user_preferences.system.solid_lights[2].direction = (0.2160, -0.3920, -0.2160)


text:
How to evenly space vertices?
I have a edge loop that has vertices on it. Is there a way I can separate the vertices on the the edge evenly without moving the end points? I would also like for the vertices to maintain the current shape.

I usually just select them one at a time and double tap 'g' which gives a tool similar to Vertex Slide.  This gives to full control over the shape, but not mathematical precision.

I just learned you can combine subdivision with vertex sliding to fine-tune a curve. As long as you're careful, you can handle off-axis curves much easier that way.

There is an add-on bundled with Blender called Loop Tools which has an option for this.
Enable it in CtrlAltU > Preferences > Addons:

The operator you want is accessible through W > Loop Tools > Space:

In Edge Select Mode (CtrlTab > Edge), select the edges which you want to equalize:
Before/After:

Vader asked to also maintain the shape, surely this is not possible as the position of the vertices have to change to provide the spacing.

What does the 3d cursor do when using this tool. I see when the pivot is set to cursor it behaves differently.

is there a way to prevent the end points from moving

@Neil I think the OP meant "approximately maintain the current shape".

How do you control the resulting mesh resolution? This answer mostly worked well for me but I would like to add more (evenly spaced) points.

In Blender 2.8+, the "Specials" menu is gone.  Looptools is available through the context menu (right click in edit mode)

Mark the two vertices to the left, set the cursor to selected (Shift+S). Delete the other ones. Set the pivot point to cursor (it's to the right of the shader button...). Then duplicate one of the vertices, and rotate it 60 degrees. Repeat. Now add edges between them (F).

Maybe Smooth Vertex operation can do the job?


text:
Reduce number of edge rings
I have a tube that has too many edge rings. I would like to reduce them with a 10:1 ratio or something similar. When I try and use a decimate modifier I get bad topology. Is there a non-manual way to do this?

Related: Select every other edge loop

In the upcoming 2.71 release there is a better way to achieve this.

Select edge ring (Ctrl+Alt+RMB)
Checker De-deselect, See note below!
Select -> Edge Loops
Mesh -> Delete -> Edge Loops

Note:
In 2.71 support has been added to deselect alternate edge-ring, See: https://developer.blender.org/T40324
This is detected automatically.

Previous answer, obsoleted by the method above
This is possible but a little cumbersome

In vertex mode select a loop running along the length
Select -> Checker De-seelct
Hide
Set edge mode
Unhide
Deselect the vertical loop
Select -> Edge Loop
Mesh -> Delete -> Edge Loop

Footnote, it may be worth adding a skip option to edge-ring select, which would make this only 2 steps.

This is not ideal but it works.

A tool/option to select every nth edge/face ring would be awesome if it could be done ;)

@gandalf3, probably we'd just add an option to the existing edge-ring select tool.

Updated with a less cumbersome method.

Try using the dissolve tool... its available in the same menu as the delete options...
1: select edge/vert
2: press X
3: select your dissolve option
this basically deletes the selected edge/vert without affecting the geometry around it (ie: remove an edge without deleting the connected faces and thereby joining them)
sorry I can't find a single step (automated) way to do this...
related docs:
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.63/BMesh


text:
Is there an easy way to color pick pixel with bigger sample?
This is a question that I had for quite a while and surprisingly no body else seems to be asking this question.
In Photoshop, when pixel sampling color picker, I could specify 1x1, 3x3, or 5x5 samples. Basically averaging color based on that area.
I am not sure if Blender Color Picker can already do this, but I would like to be able to do this using Python.
I am aware of this one:
How to get screen color under mouse cursor?
But that is a little bit over complex. All I need is sampling pixel color from area in 2D View and then store the data in the buffer to paste.

From the code at above link, I realized there is this "c" value which has this: Buffer(GL_FLOAT, [[0.22352942824363708], [0.22352942824363708], [0.22352942824363708]])
And I am not sure how to get the RGB from that Buffer.
But anyhow on top of that, I am wondering still if we can get bigger sampling area and average the pixels within the area.

col = c.to_list()
bpy.data.objects['Cube'].color = (col[0][0], col[1][0], col[2][0], 1.0)


text:
Python - Undo script if script fails
Sometime when writing a python script I will run into an error such as syntax or some Exceptions. The script will partially execute, but not everything. This is frustrating because I have to manually undo what the script executed before I can run the script again. Is there a way that I can have the script undo what it has done if it fails. I want the script to only make permanent changes if it ran without error.

You could enable Undo support for your operator. Below
bl_label = "Simple Object Operator"

add
bl_options = {'REGISTER', 'UNDO'}

But I wouldn't make the operator undo itself on errors, rather let the user do it if necessarily. However, your script shouldn't raise exceptions in the first place, but check in the operator's poll() classmethod, if all pre-conditions are met. Or let it return {'CANCELLED'} inside the execute() body before something is damaged.

Wrap your script in an operator. You will only need one undo step then. Just replace the main function of this (shortened) template from Text Editor -> Python -> Operator Simple
import bpy

def main(context):
    #your script here
    pass

class SimpleOperator(bpy.types.Operator):
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"

    def execute(self, context):
        main(context)
        return {'FINISHED'}

bpy.utils.register_class(SimpleOperator)
try:
    bpy.ops.object.simple_operator()
except Exception as e:
    print("something went wrong")
    #raise the exception again
    raise e

(See CoDeman's post). Using blender's undo system with bpy.ops.ed.undo is rather unreliable.
You may:

check if requirements are met before performing your actions
save some data with python and restore it if an error occured
write a backup to disk and load it if an error occurred


text:
Mirror vertex groups
I have already weight painted and assigned geometry to the left half of my model. I would like to copy thee contents to the right half of the model. How do I this?

.blend file

Please see this answer: http://blender.stackexchange.com/questions/16504/is-there-any-way-to-copy-the-weight-of-one-bone-over-to-anotherforgot-to-use-x

Go to the vertex group panel and choose Copy Vertex Group (from the drop down menu) for each group you want to mirror. Then select the copy and choose Mirror Vertex Group.

I tried that, and I get this error:
https://media.discordapp.net/attachments/236590267791048706/419289112814551060/unknown.png


text:
How can I compare different renders?
I am rendering an object and am making changes and then rendering again. Is there any way to compare my different renders. By compare I mean just quickly swap between the different renders so I can see the minute changes. My interest in is in this to be quick way to judge my last change.
Saving the individual renders to a file and then using an image viewer would allow me to do this, however it is tedious and time consuming. Is there a way to do this in blender?

One common way is using render slots.. but there are up to 8 of them and they tend to end up quickly. It's kind of possible to create linked copies of the scenes and use compositor with Backdrop feature to connect render of desired scene to the Viewer node but it's a bit tedious as well.

In the UV editor, you can select different render slots.  Select Slot 1, for instance, render... then select Slot 2, render again.  Switch back and forth between the slots to compare using J and Alt + J
EDIT:
Only adding by request... in addition to using J and Alt + J, Lukas also pointed out in his answer that the number keys at the top of the keyboard (not Numpad) can be used to select the slot to view.
It should be noted that pressing J will auto-cycle the renders.  If you only have renders in slots 1, 4, and 8, it will only cycle those slots.  So it can be handy.

You can also press number keys 1-8 to go straight to a specific render slot.

Can you add the keyboard shortcuts to the answer @bertmoog?

@sambler - Thanks, but Lukas already pointed out the number keys.  I offered the alternative (J) for when you're stepping through several renders and you don't want to keep up with which number key you're pressing.

You can use the slot feature in the UV image editor.  Render your first image, then in the editor switch to slot 2.  Press esc, make your changes and then render again. Now switching between slot 1 and 2 will toggle between your renders.
You can use the top row number keys when in the UV image editor to quickly change slots.

"Press esc, make your changes and then render again", what is the purpose of pressing esc?

You could of course render them to files and upload them to comparison websites like this one online-image-comparison.com or using Desktop/CLI-Tools.


text:
Hair Particles - How to make them stand straight up
I have a flat plane I want to distribute some object on. The object should be standing straight up. There should be some slight variation in the Z rotation, while still standing straight.

Go to your particle object's original instance, enter edit mode and rotate it accordingly.
Generally speaking if your object as no rotation or if you apply it's rotation, it should be "laying down" in the XY plane (don't ask me why I also find this extremely annoying and counter intuitive) for it to be "standing up straight" in the particle system.
Alternatively in your particle system in the Render Panel activate the Rotation option if you do not want to alter the objects shape and prefer to rotate it in object mode, and the adjust the particles rotation in object mode.
You can then use the options under the Properties Window > Particles > Rotation Phase Random or Initial Orientation Random to add variation to your particles.


text:
Create flat coil
I am trying to make a flat coil/helix out of a cylinder like this:

I have tried playing with the screw modifier but couldn't get anything close to the image.

Is there a modifier to do this or will I have to do it manually?

Related: http://blender.stackexchange.com/q/5755/599

A easy way is to use Extra Objects addon. And choose Spirals. You can get an expected curve with a few tweakings in the left-hand Tool bar. Then use either one of the following four methods to find out the best one for you:

Added a Demo File.
I personally recommend to use Solidify modifier here, since it is easy to control, and with caps on both ends.

in OPs illustration there is a gap between each of the rings(S). In your case there is no gap.

@Vader Gap can be controlled by the Depth, as shown in the screenshot.

Solidify gives me "faces needed for useful output" could you give instructions on how to use it?

Never mind, you can ignore that warning in such case. :) Just make sure to define an Extrude value in Geometry panel for that curve. However, the Solidify modifier cannot be applied on curve. If you are going to convert the modified result into mesh, just press Alt C > Mesh from Curve/Meta/Surf/Text.

@Qwertieϟ Did it work for you? Or anything more that I can help?

I'm not sure you will get exactly what you are asking with this method. Maybe close enough.
Use the array modifier.
Start like this. It could also be a cylinder or anything.

Scale it up along the X axis 10%.
Add an array modifier. Uncheck relative offset. Check Object offset. Create an empty and select that as the object to offset.
Rotate the empty 90 degrees around z-axis. Scale it up 10%.

Increase the count in the array modifier.

That last image is exactly what I was looking for

Good. I was thinking that maybe you wanted the width to stay constant. Now it is scaled up 10%^4 for each complete turn.


text:
How can I model coilled support wires that look like metal springs?
I'm trying to model the coilled support wires around a sphere that look like metal springs.

I've been trying to create a curve to use a guide for a spring model, but haven't had success. I find it tough to get my curves the right distance off the sphere; it's also tough to get the right curvature.

Here's another example of my problem; I can't figure out how to get good curve placement such that it sits nicely on the surface of my sphere.

Is there a better workflow that I could use to model this?

You can draw with grease pencil on the mesh and convert it to curves

@brasshat I'm not asking about how to model a spring; my problem is creating the guide curve

Honestly, I think hand-placing the curve is your best option.  Just keep adjusting your view and viewing from different directions and tweaking until it looks good.  I usually tackle making curves like this by getting the basic shape first with a couple control points, then keep subdividing the curve and tweaking as I go along.

@Denis Your suggestion here is easy and even more accurate. You should post this as answer (IMHO).

The best way is still to place it by hand, because only like that you will get the imperfections and gaps. If it's too perfect it will look artificial.

In complement to the answer given by Duarte Farrajota Ramos you can use a shrinkwrap modifier on the curve.
That can allow you to set the curves around the sphere the way you want and keeping a constant offset from the sphere.

In order to make it work well, give a subsurf to the sphere, because of the "nearest surface point" option in the shrinkwrap modifier.
If you do that before curving the spiral, once your placement is good :

Add more resolution to the curve (in the curve panel "preview U")
Convert the curve in a mesh Alt + C then "mesh from curve/..."
Then come back to a curve : Alt + C and "curve from mesh" in order to curve the spiral.

Go to File > User Preferences > Addons and search for Add Curve: Extra Objects and activate this addon
In the 3D view add a new curve object from the Spiral type. Adjust its settings as desired.
Add a new curve circle with a radius similar to the sphere.
Now to the spiral curve apply an Array modifier fit to a curve using the circle as length definition.
Next add a curve modifier to it using again the circle as deformation curve.

You can now freely adjust the bezier curve circle as desired to match desired length and radius. Set it's handles to Free and then subdivide it to make shorter segments.

EDIT
The trick here is using a bezier circle as deformation in the Curve modifier, since it will guarantee a perfect fit around the sphere as long as the body is truly spherical. You can then rotate both objects at the same time (curve circle and spring-like spiral) at will and it should always fit around the curve.

I think he already has the making the spiral part down (look at the 3rd screenshot), he is asking how to position the curve across a surface.

I think this method covers placement too. If the 'body' part of the 'creature' is a sphere the trick here is to use a bezier circle as deformation. That will yield a perfectly circular deformation which will guarantee a perfect fit around the sphere with any desired rotation, as shown in the second GIF

Yeah, I think before I try to manually place curve points, I'm going to try piecewise circle segments like in this.. not sure which'll end up doing the trick.


text:
Array not following curve shape
I have modeled a section of a wall. That section can be arrayed so that it looks like one seamless wall. I have an array modifier on the wall. I also have am uneven terrain. I have a curve that guides the wall. I have shrinkwrapped the curve so that it sits on the terrain. I expect the the wall to be on the terrain. Instead the wall is hovering in the air although the curve is doing what I expect it to do.

The wall is not following the terrain because the curve has an unapplied modifier on it. You need to apply the shrinkwrap modifier to it. After you apply it the wall will follow the path like you expect.


text:
Curve very sharp after converting from mesh
I have converted an edge loop to a curve. The edge loop itself was fairly low poly. I want the curve to look smooth so I tried to increase the resolution of it but it looks exactly the same.

Is there a way I can get the curve to be a smooth interpolation of the edge loop?
blende file

This is because the converted curve is a Poly spline.
To convert it to a smoothly interpolated curve:

Convert it to a Bezier or NURBS spline in 3D view > Tool shelf > Curve Tools > Set Spline Type:

Then convert all the Control Vertices to Auto (or something besides vector) by pressing A> Select all V> Automatic.

Now you can adjust the Resolution as desired to adjust the "smoothness":

After converting the mesh to a curve, go into edit mode, then in the Modeling section of the Tools tab, click on Smooth several times.


text:
MagicMouse and Trackpad Orbiting/Zoom
Here is my set up: I'm running Blender 2.76 on a Macbook with an Magicmouse attached. I'm quite happy that in this version as opposed to older versions (this changed around 2.6ish) the two finger dragging on the trackpad acts more naturally (rotating instead of zooming) but unfortunately this messes up the magic mouse as well (scrolling is changed to rotating as opposed to zooming). This video illustrates a method to return this to the old way, but this removes the new trackpad behaviour.
Is there a way to have the trackpad behave the new way while having the magic mouse behave the old way at the same time?

I don't think Blender can distinguish between the two devices. I think OS X sends Blender cursor and scroll data and Blender handles it according to Blender's Prefs. If I were you I'd either get a 3-btn Logitech (or equivalent) mouse, or learn to use Blender with the Emulate 3-btn Mouse setting enabled using only the Magic Trackpad.

What I've been currently doing is using my mouse to rotate and pinching to zoom on my trackpad with my other hand. There might be a way to combine this with and extra utility such as bettertouchtool to distinguish between the two?

Honestly, when you alternate between two input devices like that you lose valuable time as your hand changes position. It's more effective to have one hand reserved for keyboard shortcuts and the other for your mouse or trackpad. A 3-button mouse is the most natural solution, but a trackpad is also totally workable with "Emulate 3-button Mouse" enabled - just takes some getting used to. Even with BetterTouchTool or MagicPrefs you can't physically feel where the buttons are on a Magic Mouse.

This answer might be a bit late for you but may help other users.
I have found that ctrl + trackpad-scrolling or ctrl + magic-mouse-scrolling zooms.


text:
Getting raw data from object track
I have a slow motion video of an object falling under gravity with an aproprete scale in the background. It was filmed from a tripod so there is no camera movement in any plane.
What I would like to do idealy is use blender's object tracker to produce graphs of the objects position over time. As I have a lot of clips to process and I don't care about the objects rotation I though of using just a single marker. I have already tracked it.
My question now is how do I get the tracking data to a format that can be imported into exel such as plain text numbers? I see a number of solving options such a planear track but they require more markers. Is there such an option like 2D solve?

How the data should look like (I think there are too many possibilities)? Do you only need the position of the trackers? Or do you only need a way to access the data? BTW: What you want to do with it afterwards?

I just need the position however @wardrums method seams to add an extra degree of accuracy with the plane track. I want to use this to plot positions for falling objects over time

You can use a Follow Track constraint to 'project' a single track onto an object.

track your point, you dont need to solve the camera.
make a plane, and position it perpendicular to the camera... how you want to set this up is up to you, but it will effect the numbers you get out at the end.
add the constraint to an object, i just used the default Cube, and refer to the image bellow on how i set it up.
in the viewport image, I have calculated the motion paths, and you can see the path of the track is on the plane.
click the Constraint to Fcurve button, and it will bake the constraint to XYZ values.
Edit: Some times this button doesn't work. An alternative is: Search->Bake Action
you can then write some python to convert your animation to CSV format.

This would be ideal! I have it setup like you do and the track is working, however the Constraint to F-Curve buttons isn't working :( (2.72) Ill try updating to 2.73

Ok, Search->Bake Action did it for me

the pasteall link you included isn't working anymore. could you post your script as part of your answer?

@cegaton have done


text:
Animate view layer transition
I'm trying to achieve an effect where I have one object in different styles (colourful, wireframe, voxelized) and I'm trying to animate fading between them in a scene with a moving camera. I've come up with several options but they all feel clunky for what seems like a simple problem
Options I've tried:

Animate the alpha of the materials in eevee. This works great however some objects have multiple materials that would all need to be keyframed to fade together.

Put one object per view layer. Then composite them back together using the compositor achieving the fade effect by keyframing the mix node factor. This shows a lot of promise however experimenting with the timing is very slow because I can only see the entire effect once I render the animation - there is on option to preview it like in the view port (I have to press the render button on the render layers input node).

This feels like a very standard problem so I wonder if there is an obvious solution I'm missing (animating opacity at the object level). Or perhaps there is a workflow I'm not aware of with the compositor?

"Put one object per view layer. Then composite them back together using the compositor" This would be the standard procedure, scrubbing the time line should suffice to update previews. Note that you should first render the whole animation as image sequence then composite from static files in a separate .blend specifically for this purpose. Alternatively if it is just simple fading, use the VSE instead

+1 to Duarte ... just a note to your first solution - you can create a node group with keyframed  alpha and place this group as part of each material ... like that you can control transition from one place for all materials

I ended up setting up drivers to control all the material alphas together. I'll look into the node group solution

Great you found solution ... Don't hesitate to fully answer your question here so others can learn from you. Thank you


text:
Grid Fill not working
I have a selection of vertices that I want to bridge. I would like to use the grid fill tool because there are vertices in between. I am however getting an error Edge Loop Vertex mismatch

Can you upload your blend? :)

@ThomBlairIII I already fixed it manually. I thinks this shape should be easy enough to re-create

This question appears to be off-topic because it is an incorrect use of the tool, not an issue with the tool itself.

@CharlesLyes I know, I closed voted it myself. Not sure if that or deleting it is the appropriate action

I get a "Connecting edges vertex mismatch" error if I rip a vertex at the side and leave it in place, that is one of the un-selected verts on the side is actually two disconnected verts. In fact the unconnected faces drawn at each corner would indicate you have disconnected duplicates at each corner.

"Edge loop vertex count mismatch" Error
"Edge loop vertex count mismatch" error occurs when the number of selected vertices of the two edges you want to use Grid Fill on are not equal, as seen here:

So, maybe you have a vertex selected on one side that's not selected on the other side.

I know why I am getting the error - _ -. But in my case they match up.

Maybe you have a hidden duplicate vertex?

Hmm I don't know anymore


text:
How to render low resolution textures
I have a low resolution image. It is 16 by 16 pixels. I want to use this texture in cycles. When I apply this texture to a mesh it becomes blurry. This is because blender uses linear pixel blending, I would want the pixel blending to be set to closest. I see no options in cycles to change this. I want to image to look blocky, even in cycles. How can maintain the low resolution of the image? I could create a larger version of the same image, but that would be a waste of disk space.

blend file


text:
Show length for surrounding edges as well
With edge length displaying enabled I can see the length of the currently selected edges. Is there a way I can show the length of all edges without selecting them all?

While transforming the lengths of connected edges will show.
But there is no way to make them display at all times.


text:
How to rig flaps
I have modeled a simple air plane. It has flaps. I would like to easily animate the flaps. THe flaps are part of the plane mesh. How can I rig the flaps so that I have a single control for the flaps?

Add a bone object, place it so that the header is on the hinge axis.
First select the mesh object, then hold Shift and select the bone, CtrlP > With Empty Groups.
Select all vertices on the flap, Click Assign on the Vertex Groups panel, so that the flap will be singly controlled by the bone.
Fore more flaps, you need to add more bones for the armature in step 1.

NOTE: You need to enter Pose Mode to control the bone(s).

This does not work for me, here is what I did.
Add bone, Place bone
,Select mesh than bone.
,Parent with empty groups
,Select mesh
,in edit mode select flap
,In vertex groups assign to bone

The entire mesh is rotating with the bone

@Vader It should work. In that case, I'm curious about what you exactly made. Will you upload the file?

It really works good to me by following the steps above. What I mean actually is whether you could upload the final rigged file, which is problematic as you mentioned.

Nevermind I fixed it, turns out I was rotating the bone in object mode rather that pose mode.

Yes. Because the armature becomes parent here. You can either add another bone to control the body part, or, I personally suggest to separate flaps as individual meshes for easy control, and you can finally parent the armature(s) to the body (of course, you can do this without bones by doing so).


text:
Rigid Body Issues (Chain is passing through object and not following the mesh)
I created a simulation setup where chains fall on the object and the object moves and physically the chain should move along but it is not happening so. The chain stays there and the object moves away.

This might be what you're trying to achieve except the slap is moving down and not across... - https://blender.stackexchange.com/questions/154838/rigidbody-change-dynamic-simulation-to-animatic/154886#154886 - If no good, leave a comment and I'll get back.

Well that's a different case, in my case, there are a lot of chain elements which are being simulated with physics too and then they have to collide with the object underlying and then they all must follow him. It is an experiment to check if the things work, I want to attach this chain to a human and make it react to his body when he is running.

This example uses the same arrangement mentioned in my comments above in that the falling object is parented to another which is to drag it along (or down) with it.   It's been done in Vers 2.77a. (Blend file below)

With this one, a necklace wouldn't be rigid when it lands, so it's best to keep the array and curve modifier's active so both can be adjusted to emulate real world physics. i.e. deform the necklace's curve.
Soft-body physics etc. can be tried but for this sort of job emulating physics with a few simple keyframes and hooks is arguably more effective and efficient.
To begin with, a circle curve in Edit mode has just 4 control points.  Intermediate CP's can be added by selecting two adjacent points and using "Subdivide". (press W)  Reshape the necklace as necessary at frame 1.
Six CP's are used here.  Nth, East, Sth & West, with two subdivides, SE & SW.
If it's going to be noticed, the chain's array modifier's link offset-value, will need minute adjustment via a keyframe when the array comes to rest.  This will prevent an overlapping link appearing at the array's original starting link.
Animate the hooks to deform the curve-circle and emulate physics.  The Graph editor makes this a relatively simple task, reshaping each hook's curves accordingly.  (See the Blend file -> Graph Editor)
-============-
The large circle-empty designated "Nav" (navigation), parents everything involved with the necklace. i.e. the original array, the curve circle, and hooks, to keep it all together.  The 'Nav' in turn is parented to the bust.
It's the Nav-empty that's keyframed to take the whole thing down initially, and on impact the hooks take over to deform the necklace's curve-modifier.  The bust when moved, takes the whole thing with it.
You would do the same thing when the bust (or character) is moving about, simply deform the necklace's curve to suit and emulate physics once more.
If you're looking to the physics engine to do it all for you as a game engine might, I'm not sure that would be practical in Blender.

Hey thanks alot for your great effort in this, but the file which you sent me have the objects kinda locked, I cant select them to see it properly.
But what I have got is that you added hook modifiers to the curve and then added the rigid body to that ones so that they can move according to the gravity and collide with the mesh?

I can be a tad clumsy at times so I lock things down!  To undo that, hover over the Outliner and press 'HOME'.  Everything with dependencies will be expanded.  Hold the left MB over the first shaded arrow and drag the pointer down.  All arrows you travel over will be reactivated and their objects accessible again.  Some may have the eye & camera icons shaded also.  You'll also need those on to access.

Your second question - I'm going on memory now (not on the big machine) but I don't think I used physics at all, just emulated gravity and physics with keyframes on the hooks to deform the curve.  There was no 'Rigid body' as such, just a 2-link chain, arrayed and sized to become a necklace.


text:
Mech Fingers mesh folds into itself

I'm having a problem with the hands with the Rigify generated rig(using the deformation rig) as this is a mecha robot, the fingers are clipping into itself too much. I tried fixing the vertex groups on the hands and nothing. As I can't seem to find any answer for this, is there a way I can have more mechanical fingers that won't deform as much like that of a human finger would with Rigify rig?

Here is the file if anyone wants to take a look at the problem: https://pasteall.org/blend/210dab92b3fa43c49cdfcd163830d9fa

for machines you should use Parent > With Empty Groups rather than With Automatic Weights, this way you're sure that it won't deform like something organic

Oh yes I forgot to add that this is Parented with Empty Groups which is odd of why its bending the way it is.

mmh it seems like it's parented With Automatic Weight, for example each hand is one object, phalanx are not separate, so each finger phalanx can't behave like separate objects

when I first was figuring out the rigging, I first tried "With Automatic weights" but it gives me the Bone Heat Error. So yeah its parented with Empty Groups. Should I use a different rig then?

If you reparent With Automatic Weight it will works rather fine, so the solution may be to make hands separate objects, parent With Automatic Weight, then if necessary join back to the rest:

If you don't want to reparent With Automatic Weight for some reasons, then you need to give some manual corrections in order to extend a bit the influence of each bone. First thing, display the layers with the bones that deform your mesh and the ones that command:

You need then to extend a bit the influence of each phalanx, before:

After:

It will work better:

Use the Paint Mask option to make it easier to paint on the right faces, also make sure that you enable all the options that allow to paint through (in the N panel):

You can also do all the corrections through the Vertex Groups list and Assign button, which may be quicker:

Ah thank you. Ok going to try this out and I'll let you know if I can get the same results


text:
Rigify: Teeth controls not connected to the teeth
I'm testing and weight painting my rig(I used Rigify that I customize) when I tried to move both the top and bottom row of teeth and they don't move at all. Both of teeth controls are not attached to the teeth as shown below:
Now the teeth are group with the eyes, eyelashes, and eyebrows as I wanted to textured them on one UV map so its hard for me to just select to the top row and parent to the Teeth.T bone. the Teeth.T and B bones doesn't show up in DEF but in ORG they do but you can't edited those.
Anyone know how to attach the each control to each row of teeth? Blender I'm using is 2.79b

Not sure about 2.79, but I think you can select the ORG Teeth.T bone, check its "Deform" option, create a new vertex group with the exact same name and assign all top teeth vertices to it. Similar for bottom row.

Ok. I'll try that out and get back if it works.

EDIT(couldn't edit my other comment anymore):Hmm didn't work. Does it need to be rename ORG-teeth.T or DEF-teeth.T(I did this one and nothing happened)

Better not change the names, the only fundamental thing is to copy the name and paste it as Vertex group name. Bone has to have its "deform" option enabled. Capital case sensitive.

Oh I didn't change the bones names. I named the new vertex group the bones names but was asking if the names should be ORG or DEF for the vertex groups. EDIT: oh nvm I got it to work! Had to use ORG name for the vertex group. Thank you for the help.


text:
Adding extra eyes and eyelid bones controls within the Metarig?
I have a character who has a Boa that has moveable eyes and eyelids, however, I having a very hard time trying to add extra eye and eyelid bones; which I duplicate the set up from the pitchipoy metarig. If I duplicate them while still attached to the face bone, it makes the rig but there are no controls for the Boa eyes or eyelids like the face does(yes I did rename them).
Now if I unparent them from the face bone and try to either parent it to their side shoulder bones or make a new face bone inside the spine bone like that of the face bone, I get errors.
How should I go about this? I have not found an answer or set up for extra eyes controls to the metarig anywhere. I'll upload my Blendfile here(Note that I use 2.79b and cannot update to Blender later versions).

What do you mean by "a character who has a Boa ..."? A Boa is a snake? The character in the blend file looks like this: https://i.sstatic.net/vJsOk.jpg and the rig looks like a Rigify rig with extensions for the wings and that "horns". Have you tried to generate the rig? There is a button "Generate Rig" where you see the warning in my screenshot. The generated rig comes with controls for the eyes. Usually, they need some manual weight paint and you need to parent the eyeballs to MCH bones. But I don't know the old Rigify rig. Switching to Legacy makes my Blender crash.

I mean like a feather boa(but its made of bugs), anyways, on my version of Blender 2.79, the rig does generate just fine with no problems.

Ah, got it. If the eyes don't move properly you can parent them to the MCH-eye.L and *.R bones as described here: https://blender.stackexchange.com/a/217525/107598 (if it's relevant for the 2.79 rig)

Ok. I solved my answer. I just added a pitchipoy tentacle from the Rigify Buttons list and added it around the Boa's eye frames and then changed the first bones in Pose mode to "simple tentacle" control then offset parent them to their shoulder bones and it was able to generate the rig with the controls for the Boa's eye frames with no errors. Someone can close this question. Thanks.

Post your comment as an answer to mark it as "solved". After 2 days delay, you can accept your own answer to indicate this is the correct one that helped you.


text:
Pouring liquid from one cup to another
So, the title basically explains it. I am trying to create an animation in which I want to pour liquid from one cup to another but I don't know my way about it. Any help will be appreciated.

What did you try? where are you finding problems?

A litlle bit more information of what you tried and where you got stuck wwould be great - there are a lot of Tutorials out there that can help you.
Once you get stuck and can`t figure it out update your question.


text:
Simulating Shadings Losses for Solar Field, like PVsyst
About Me:
I'm an electrical engineer by Profession with some programming experience in Python and applied Machine learning. I am involved in modelling, optimization and data analysis of renewable energy systems using Python, third - party software such as PVsyst, SAM etc. I have no experience in Blender or any animation software. If the following problem is solved using Blender, I shall be more than happy to learn.
Problem:
I have always wanted to simulate the working of a Solar PV Plant (in it's entirety). The traditional tools do the Job such as PVsyst. But  the software, to be honest does not operate on micro level.
A major problem is the shading scene. So a shading scene may involve parameters as follows;

This involves the use of Topography and building plans; ray tracing techniques for optical problem solving...etc..
My objective is to calculate the shade falling on the PV Planes at different angles of the sun after mutual shadings.
Simple.
I look forward to use Blender and the expertise of forum to tackle such a problem.


text:
Setting field of view in Blender 2.8 from half angles of horizontal and vertical field of view of camera
I would like to position a camera around a scene to reproduce some perspective images. I was given the camera's extrinsics and intrinsics and my camera seems to be at the right position and facing in the right direction. However, the field of view (fov) of the camera seems off and I was able to get a similar fov as that of the perspective images by manually adjusting the focal length and sensor width parameters in Blender.
I was given xfov and yfov which are the half-angles of the horizontal and vertical fields of view of the camera in radians (the angle from the central ray to the leftmost/bottommost ray in the field of view) and the image dimension is 1280x720. I do not have information about the sensor width of the camera. How do I use this information to determine the correct values for the focal length and sensor width of my camera in Blender?

The combination of sensor size and the length of the lens, in mm, determine the field of view. If you don't have a sensor size , then use just the field of view instead of lens size, and set it to the value you need. Be aware that in blender the field of view is in degrees, not radians, so make the conversion accordingly.

Usually the camera matrix contains information on the center of the lens for x and y (in pixels or mm) you can also use that information to determine sensor size.

@no-can-do thanks for your reply. If I set the field of view (in degrees) instead of lens size, the field of view will still be affected by the sensor width which I don't have. Also, the camera intrinsic matrix has information about the center of the image (in pixels) which I believe is different from the center of the lens right? Can I use the center of the image to determine the sensor width?

I found what I was looking for from https://blender.stackexchange.com/a/40835/99643 .
The following equations were helpful from that answer:
sensor_width_in_mm = K[1,1]*K[0,2] / (K[0,0]*K[1,2]);
s_u = resolution_x_in_px / sensor_width_in_mm;
focal_length_in_mm = K[0,0] / s_u;

I found what I was looking for from https://blender.stackexchange.com/a/40835/99643 .
The following equations were helpful from that answer:
sensor_width_in_mm = $K[1,1]*K[0,2] / (K[0,0]*K[1,2])$
$s_u$ = resolution_$x$_in_px / sensor_width_in_mm
focal_length_in_mm = $K$[$0,0$] / $s_u$


text:
need help to model turbo compressor housing

tried torus but I'm unable to achieve these fused results and just how to make it small as it goes down?

start from a cylinder, you add a bend modifier, and a curve to which the cylinder is bound by using ctrl+p >> follow-curve.

thanks a lot, it added a lost basic knowledge into my skill

Enable the add extra curves addon.

Then add a curve->Spirals->Archemedian

Give the spiral some height

In the geometry section. give it some bevel depth

Then you can edit the radius of one of the end segments to make is smaller

For further editing convert from curve to mesh

thank you very much


text:
need help modeling a flower(Chrysanthemum morifolium)
so,I want to make a Chrysanthemum morifolium
specifically this type.

and the closest I can get to is this.

using hair emitter and vertex groups.

so, what should I do now?

can you provide blend file so we can try improve it?

One source could be Erindale on flowers with Geometry Nodes. It might take you a while to filter down to the right stuff, but it's good.

You could try shortening the hair length and scaling the model up?

I looked at the source and it will be really helpful for completing my project, thank you very much for such a useful source @RobinBetts

Update: use of geometry nodes and maths can help achieve the desired results in terms of flowers , do check it out, start with phyllotaxis.


text:
Hide part of object during animation
I am animating the opening of a shutter door. I don't want to deform this door like in real life, just move it on the Z axis.
How would I mask or hide the part that will obviously stick through the roof?

boolean modifier with a not rendered object?

Use some transparent object and make the boolean difference with the door.
Modifier setup on right below:

Alternatively, if for instance the boolean fails, you can modify the door material so that everything above an empty is set transparent:

The node setting compares the empty position (object texture coordinates, so one location) to the correspondant location on the object surface (also one location). If the Z part of these locations are showing that the door is upper the empty, alpha is set to zero.

Really like the second idea, has scope for so many other uses. Thanks