text:
Complex extrusion howto
I want to extrude a profile (either a mesh or a curve) along a "guide" curve such that:

Its local Z axis is and remains parallel to the global Z axis at every point of the extrusion
Its X axis must always intersect the center axis, parallel to the global Z axis
The rotation of the profile matches that of the guide-curve, which may be non-linear

What are my options? I am looking for an automatic way of doing it, i.e. not by a vertex-by-vertex manipulation. Should the only way possible be via python programming and you can englight me, please do so!
Perhaps you might wonder why I would want such particular restrictions, so you might find it useful to know what I am trying to do. I am trying to model a vertical wind turbine (VAWT), such as the one in this picture:
I am modeling one of the blades. Note that the blades' profiles remain perpendicular to the radius of the turbine at all times (see top view), and also remain parallel to the horizontal plane (see side view).
Update
Well I had not thought it necessary to show exactly what I was trying to model. I thought that the sample image of a VAWT would suffice to have blenders out here provide the right answer to my question. However, to quit puzzling readers, here I post an animation of the paths I want the blade profiles to follow:

So just to get this straight, 1) you want the profile to remain level with the Z-plane, 2) you want the profile to rotate on the Z-plane according to it's angle in the sweep, 3) over the vertical dimension of the blade you want to have equal distance to a given point

I think parallel is a better word, but I think you got it, 2) Assuming the local Z axis of the profile is parallel to the global Z axis but intersects the centroid of the profile, it is said that the profile must rotate about its local Z axis an angle equal to its sweep angle relative to the Z axis, and on the same rotation direction. Sorry I find this a bit difficult to express in few fords.

I have updated the description of the question so it is understood easier.

I'm very sorry that I changed the requirements a bit, putting your solutions in disadvantage, but at the first time I wrote this I was not being objective enough.

Based on the solution suggested by SteveW.
Under the assumption that the curve along which the profile will be extruded exists (henceforth called guide-curve), and also such profile, I have followed the next steps:

Convert the guide-curve to a mesh with a fine density of vertices (if it was previously a curve).
Convert the profile to a mesh too (if it was a curve before).
Set the parent of the profile mesh to be the guide-curve mesh.
In the object properties of the guide-curve mesh add Duplication of type Verts. Check the Rotation checkbox.
Tweak the Relations Extras to fit your needs. In my case I needed no tweaking.
Now you will see a series of profiles lined up with the guide-curve, when the guide-curve is selected. Convert the series into an object with Make Duplicates Real (press Spacebar and type it up if you don't know where to find it). To this point, each of the profile elements had correct Z rotation and Y rotation, but an unwanted X rotation; I solved this in the next step.
A series of new objects will be created. To fix the rotation, select all elements and with a Python command you will clear the X rotation: for obj in bpy.context.selected_objects: obj.rotation_euler[0] = 0
Now all my profiles had the correct rotation in all axes! Time to make the final edits to the mesh: bridge all the profile loops to make a faced cylinder. For this, join all the profile elements in the series, go into Edit Mode, select all profiles and Bridge Edge Loops.

Note: It can be tricky to get each element's rotation right; in my case, it was easier if the profile stayed a curve and not a mesh.

I have no idea though how I managed to get the rotation of the profile in the global Z axis right. I try to repeat it and I can't :o

There's a lot of different ways to do this. I suggest using modifiers for a non-destructive workflow. You can get the specific result you're looking for by using a few different modifiers, but perhaps the most straight forward is the Simple Deform Modifier.

Add the mesh for the propellor blade, with the origin centered along the Z-axis, and the mesh offset along the Y-axis. The origin position is key for the modifiers to work right.

2.Add an Empty, and rotate it accordingly (you will likely need to adjust the rotation after Step 3, depending on your configuration).

Add a Simple Deform modifier. This will be used for the bending of the mesh. Set the Origin field to use the Empty you created in step 2. Set the mode to Bend and adjust the Deform Angle as desired.

Add another Simple Deform modifier. This second modifier will control the amount of twist. Set the modifier mode to Twist and once again adjust the Deform Angle as desired.

The profile must be parallel to the Z-plane on every extrusion step, this solution tilts along with the curve.

@zeffii you're right, the depth does tilt along the curve but the main width stays parallel. Perhaps not an ideal solution, but it's one of the most flexible and least destructive I think.
Although, looking back, I see the first Simple Deform modifier is not needed to match the provided reference. In which case it will stay perfectly parallel.

now i'm convinced I didn't understand the question :/

If you place your 'plan' image in the background using 'Background Images' on the Properties panel:

Then go to Front Ortho view ( numpad1 ) and add a Cylinder (adjust the number of Vertices, Radius and Depth to fit the side view on the 'plan'. I found that 36 Vertices is a close match):

Then in edit mode, add enough edge loops ( ctrlR + scroll ) to give a smooth transition along the length of the blade. Select all and rotate on the Z axis until two of the vertices line up with the bottom end of the blade:

Now enable Proportional Editing and set it to Linear:

Select the top edge of vertices and rotate about the Z axis, ensuring the influence covers the whole cylinder ( scroll ), until the top opposing vertices line up with the top of the blade:

Select the edges you require, then select inverse ( ctrlI ) and delete:

I hope this is good enough for your requirements, (although it may not be 'automatic' enough).
This is my update to your update!
To get the profile you need, you could use part of a circle positioned to give you the angles you require at the top and bottom of your blades. The circle can be distorted to the correct shape by scaling X and Z and using the 3D Cursor as an anchor:

Delete unwanted vertices, and then with the Cursor back in the center, rotate the new profile to the front with RZ-90. Duplicate this SHIFTD and move it to the left GX- by half the width of the blade, then make another duplicate and move it to the right GX+ to give you the other side of the blade:

Fill in the blade using CTRLE >Bridge Two Edge Loops:

Now select the top edge and, using the 3D Cursor as the pivot, rotate about the Z axis with the proportional editing on and set to Linear as I suggested before:

Then it's just a matter of duplicating and rotating to get the desired number of blades around the turbine:

I added rings to the picture just to make it easier to see that the blade faces are perpendicular to the center.

Well this is a nice approach, I learned a thing or two. However, I need the top view to resemble the profile of the blades too. Also, the image shown is not the exact thing I want to model, I just felt it helped illustrating. Please refer to the question again which I will update right now with the right model guideline.

Well I read your update to my update yesterday and your solution indeed inspired an acceptable solution for me! I will post my own answer to explain my steps.

The Future
Blender is currently missing a option to not twist the "Bevel Object". I have now submitted a patch to the tracker for said feature.
a busy cat http://projects.blender.org/tracker/download.php/9/127/35667/25608/Twisting_None.png
Options using the current version of Blender

You can do a extrude the curve using the Screw (with 0° angle) and Solidify modifiers (this'll only keep the axis's aligned for a 2D curve).
Using NURBS:

Create you cross section as a Surface curve.
add a Clamp To constraint (found in the Properties window under Object Constraints), and add target curve object.
Create instances of the surface Alt+dz and place the desired distance between segments. Press Shift+r several times to repeat long the curve.
Select all the surface curves and press control+j to join.
tab into edit mode and press f to skin.

Alternatively you can deform a mesh along the curve via a lattice eg:

First create our objects:

Add a Cube Shift+a, m,c.
Add a Lattice Shift+a, l.
Add a Bezier Curve Shift+a, b, c.

With the Curve selected:

In the "Object Data" Shape panel, enable "Stretch" and "Bounds Clamp".

Now select the lattice:

Scale it to match the cube s, 2, Return.
"Object Data" Lattice panel, set "U" to say 48, "V" and "Z" to 1.
In "Object Modifiers" panel, add a Curve modifier and set the curve in the Object field.

Select the Cube, again in "Object Modifiers" panel:

Add a Subsurf modifier and click the simple button and set View: to 5 and optionally enable Optimal Display.
And finally add a Lattice modifier and set the lattice in the Object field.

I added a lattice with multiple points only in the direction of the length of the blade. Then added a curve modifier to the lattice so it adopts the shape of the blade but for some reason it gets centered vertically in relation to the curve, and shortened. Then adding the lattice modifier to the mesh shows completely unexpected results: the mesh does not even adopt a curve form. Could you elaborate your explanation?

One way would be to use the curve modifier. In the picture below, the curve is used to control the mesh's shape, and the mesh must have sufficient edge loops to get smooth deformation.

Pay attention too, to the curve object's axis. The mesh's Curve modifier use this information to deform the mesh along the correct axis (below right). For the curve itself, check Stretch and Bounds Clamp to make the mesh deformed using it follows its overall shape; otherwise it'd be hard to deform correctly.

this doesn't follow the constraints of the question, the profile for the extrusion must not rotate with the direction of the extrusion path.

@zeffii Yes, I haven't fully succeeded getting there with this method. I played with Curve modifier's Vertex Group setting, with a vg containing all but the tip, and both object's axis aligned. The tip doesn't follow path, but I haven't found a way to get the overall form right: http://s19.postimg.org/u9ht40oz7/curve_mod.gif

yeah it's a tricky one :)

You could always model it manually: CTRLLEFTMOUSECLICK will extrude the selected faces to the cursor. If you decide to go along this path, you can easily duplicate the object using the spin tool or the array modifier.

Well perhaps I should have specified it, but the point of the question is to find an automatic way to do the job hehe

Sure, but that's where the array modifier comes in. Model it once manually(which shouldn't take long) and duplicate it as many times as you want. It might take more time than it's worth to come up with the correct mathematical function when you can simply model it by hand in a few minutes. The example you gave would probably be faster to model by hand.


text:
Grab/Move by distance is inaccurate
I have a problem with Blender 2.76 running on Ubuntu 15.10 (and probably other systems, too.)
When I move an object in Object Mode or a vertex in Edit Mode using the Grab key G and enter a distance (e.g. 50cm on Z), the object or vertex will almost always move by a distance slightly different. Attached is a screenshot with GZ 50cm and the resulting distance of 49.9998cm.

Why does this happen and how is it possible to move an object or vertex exactly 50cm, 1 Blender unit, 1µm etc.? Entering 50.00000 or other values does not seem to work either.
Edit: While, as brasshat said, the error is insignificant, a value of for example 49.9998cm is aesthetically unpleasing and makes reading and editing of such values very hard.
When more complex values like 32.275 become 32.27487  (this really happens), this interferes with the workflow, especially when tight tolerances are required (CAD, 3D printing, etc.).

Also keep in mind that blender's goals are not being as accurate as a 3D CAD software for constructional purposes.

Since you don't provide information on your system, (e.g., processor, &c.,) it is possible that there is another explanation, but I have noticed the same behavior you're experiencing, and consider it to be because of the the way Blender, or C / C++ (the language in which Blender is written) handles floating point numbers. I have noticed similar discrepancies in numerical values at very low precision levels (the fourth or fifth significant digit from the far left, including those both to the left and to the right of the decimal point). This applies to all previous versions of Blender as well.
In most cases the difference between the observed and expected values to be so small that it could be ignored; a difference of .0002 in 50.0000 is four ten-thousandths of a percent, (or about two and a half inches in a mile) and in most cases is below the threshold of being noticeable.

That's right, floating point numbers are of finite precision and cannot represent all numbers: Wikipedia.

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:
How do I create a haptic interface?
I would like to use a data glove to move objects and get feedback from them. Is there a plug in product for this?

It depends on how the glove is connected to your computer, assuming it works with USB there're two common approaches (I don't know a finished plugin).
One is to use a server for the OSC protocol and receive the data in a python module in Blender. I used this for integrating a Kinect Sensor.
An example integration you find in this project's Bloop NUI zip file.
Another method would be to use the API of the glove (if available) and include this as a library in Blender to poll data. This I've used to read head tracking data from an Oculus Rift.
See How can I do a one-time Initialization? for an example on invoking methods of an external library.
If the glove comes without an API you could interface with hdiapi  and analyze the data.

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


text:
Merge vertex to face
I have a cylinder inside another cylinder and i want to remove the surface of the small cylinder in the large cylinder so i get a large cylinder with a hole in it. How can I merge the vertices of the small cylinder to the faces of the large cylinder so I can remove the faces of the small cylinder?
Allready thanks and cheers!

Please attach a screenshot of your two cylinders and I will do my best to give an answer. Generally, you don't merge a vertex to a face, but there are other solutions, such as extrusion.

I'm not entirely sure I understand how you cylinders are aligned towards each other, but it doesn't matter to much. I'm going to use the "bridge two edgeloops" operation.
Here is my starting position:

I edit both of them and remove the end caps.

Then I select them both and join them Ctrl + J. Now I again go into edit mode and select both edgeloops at the end of the cylinders. Hold down Alt to select and edge loop. Hold down Shift + Alt to select the other without deselecting the first.
Then hit space and type "bri" in the menu. It should look like this. Hit Enter

Now the two edge loops should be bridged with faces:


text:
Apply subsurf modifier to only part of an object
How can I apply a modifier only to a part of an object? I want to model a goblet with a pedestal, and if I add a subsurf, the pedestal, of course, gets an unwanted round shape. How can I avoid that? I have tried Googling it, but, to my surprise, found nothing.

The quality of all the aswers is overwhelming, thank you all very much !

This is possible on some modifiers via vertex groups, however this is not possible with subsurf modifier.
You could instead try some of these:
For reference, here is the original subsurfed mesh:

Separate the pedestal and goblet into different objects (P > By Selection). E.g. by separating the face of the cube on the +X axis:

You can Split off geometry in Edit Mode with Y. This will give basically the same result as Separate, but within a single object:

You could also use the Edge Split modifier the same way, by either using Ctrl + E > Mark Sharp, or with the Edge Angle property.

Use supporting geometry (i.e. edgeloops) to make edges less round. You could use Ctrl + R to add loopcuts, or use Ctrl + B to bevel edges (using the mousewheel to adjust the number of segments). E.g. bevel with 2 segments:

Use Mean crease to make edges less round (Shift + E). E.g. with a Crease weight of 1:

Mean Crease worked marvelously for me, thank you very very much ! before i accept your answer i want to give a chance to others to answer the question with the partial application :-) but again thanks for fast answer ... I would give +1 but i dont have 15 rep here yet -___-

@Gunslinger As far as I can tell, they are the same thing. It is called mean crease in the Ctrl+E menu, and Mean Crease (or Crease if only one edge is selected) in the properties region.

Another way would be to separate the mesh into two objects and group them.
After that you can assign modifiers as you like to the different parts of the mesh,

First select some vertices in the Edit Mode, P to Separate,

Select both objects and set one as parent Ctrl-P

Yet another way, is to use Bevel modifier. For comparison, here's the result of Edge Crease:

... and with Edge Bevel Weight + Bevel modifier:

Both are done by marking the same set of edges, the latter with Edge Bevel Weight,

... then placing a Bevel modifier atop (applied before) the Subsurf, setting its limit method to Weight so it uses each edge's bevel weight to consider which ones to bevel:

The bevel's smoothness can be further configured by tweaking the modifier's Width and Segments settings. In contrast with edge crease, this method adds vertices, even more with each additional Bevel segments:

very detailed answer +1

So I ran into this problem but have decent solution if you do not mind Triangles
select all the faces you do not want subdivided
add the subdivision modifier set the values and apply it
go to edit mode the selected area should also contain the subdivided poly's
right click
UN-Subdivide


text:
Extruding Multiple Curves At Once
I have an SVG file that I imported into Blender that uses curves. The image is split into multiple sections and I cannot figure out how to extrude multiple curves at once.
I tried selecting all of the curves by type and then tried to extrude but it only extrudes one curve. Does anyone know why?

Try adding a screenshot here, better to be a file. :) I just wonder how you extrude it.

They are possibly different objects. Do you select them in object mode or edit mode?

You can have one curve object with multiple segments or you can have multiple curve objects each with one segment. Sounds like you have multiple curve objects, in which case you need to extrude each object separately. You could joint multiple curve objects into one by selecting them all and pressing CtrlJ so that they all use the same extrude setting.
With multiple objects you can see that each one has it's own item in the outliner.

After joining them all together there is only one item.

Most of the objects are supposed to be different colors. When I do this and extrude, they all turn to one color.

You can assign different materials to parts of a curve the same as assigning materials to separate faces of a mesh. See the answer here

Your curves are independent objects. You can extrude, or set any of the other parameters, on all of those objects simultaneously by selecting them all, then holding Alt
while dragging in the numerical field on the active object. The same applies to all values you can set in the GUI.

This is gold. I think I knew this a while back but forgot. Side note for animation, it seems that this ALT method does not directly work to key-frame multiple objects. Thanks!

@CobyRandal      Ahhh .. thanks! Your comment will fill in for anyone else looking (I was thinking more from a modeller's POV) There must be other areas where it doesn't apply, too.

I just bumped into this problem, importing an SVG with hundreds of curves, and it seems the easiest would be to write a script. Choose "Python console" in the  "Editor type" tab, and in there, to see what sort of objects you have, you can do this in the console to see relationships:
>>> import inspect
>>> inspect.getmembers(bpy.context)
... bpy.data.objects['Curve.044'], bpy.data.objects['Curve.043'], ...

>>> inspect.getmembers(bpy.data.objects[0])
[... ('cycles_visibility', bpy.data.objects['Curve'].cycles_visibility), ('data', bpy.data.curves['_x30_.1.0']), ('delta_location', Vector((0.0, 0.0, 0.0))), ...('mode', 'OBJECT'), ... ('name', 'Curve'), ('parent', None), ...

>>> inspect.getmembers(bpy.data.objects[0].data)
[... ('dimensions', '2D'), ('eval_time', 0.0), ('extrude', 0.0), ... ('name', '_x30_.1.0'), ....

So, say to see curve properties printed in the console, you'd copy this snippet and paste it in the Python console (and press Enter twice to execute):
import re # needs to be pasted only once
for ix in bpy.data.objects:
  if re.match(r'^Curve', ix.name): # curve object
    print(ix.name)
    print("  ", ix.data, ix.data.name, ix.data.extrude )

Here for my example I get:
...
Curve.038
   <bpy_struct, Curve("_x30_.1.38")> _x30_.1.38 0.0
Curve.039
   <bpy_struct, Curve("_x30_.1.39")> _x30_.1.39 0.0
Curve.040
   <bpy_struct, Curve("Curve")> Curve 0.0
Curve.041
   <bpy_struct, Curve("Curve.001")> Curve.001 0.0
...

... which means that the names of Curve objects and curve "meshes"/paths are not guaranteed to be consistent! So here you might want to rename once first, by running this script through the terminal:
for ix in bpy.data.objects:
  if re.match(r'^Curve', ix.name): # curve object
    ix.name = "MyCurve." + ix.name
    ix.data.name = '_myCurve_' + ix.data.name

... and then you could paste something like this small function (again, hit ENTER twice after pasting, so it is properly parsed into memory):
def changeCurvesExtrude(inExtrd):
  for ix in bpy.data.objects:
    if re.match(r'^MyCurve', ix.name): # curve object
      ix.data.extrude = inExtrd

... and finally you can call from the Python console:
>>> changeCurvesExtrude(0.015)

... and have only the required curves change their Extrude parameter (you can use up and down arrow keys to show the last command in the prompt, so you can change the numeric parameter there more easily)


text:
Hair particles unaffected by mist?
In Blender 2.69 I can't figure out why hair particles are unaffected by mist.
I'm using tangent shading if that makes a difference.
Does anyone know how to fix this? (see image)
Thanks!

UPDATE: Ok, I think I figured it out somewhat. And yes, I am using blender render, not cycles, sorry about that.
If I turn off 'Strand render' in the particle settings it works!

But the hairs, or needles in this case, don't render quite as well as with strand render on...

If someone knows a way around this, that would be great to know. But I'm content with the way it looks either way. Thanks again!

Are you using BI or Cycles? And is it possible you could upload a .blend?

Strand works fine for me.. Is it possible you post a screenshot of your material and particle settings or better, a blendfile?

@gandalf3, to be honest, when I tried it just now with strand it worked. But I'm still getting the same problem with my trees as before. Here's a .blend... link

That is strange.. I got better results when using the mist pass and disabling mist in the materials. Example file

That's a great alternative, thanks for the help!

It might be of use to others seeking an answer, but in my case it's because my material for the leaves has Z Transparency instead of Raytrace. Changing it to Raytrace immediately applies mist to them. (Both cases has "Use Mist" checked, and I didn't use a particle)


text:
Texture painting black artifacts in render mode but not in viewport
I tried sculpture for the first time, then I wanted to try my hand at texture painting. Everything is going well so far but in render mode I have these black artifacts everywhere, yet in viewport I don't see them. Do you have any idea of the problem?

Are you sure there isn’t a second mesh that you hid and forgot about?

What @TheLabCat said... I'm pretty sure it is the object called "Cube" which is hidden in viewport but not in render. The fact that the head object is called "Retopo_Cube" does indicate that as well in my opinion.

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


text:
Why does blender put large meshes instead of bones when importing a model with bones

I have already tried to change these bones, but only the bones change in edit mode, and there you will not be able to change the pose, only the position and size of the bones

That might be custom shapes, see my answer below. If this is not the solution, we might need your file for further investigation.

It looks like the bones have a Custom Shape applied to them. To change that, go into Pose Mode and select all bones with A.
Then go to the Bone properties tab and under Viewport Display you will find the option Custom Shape. The name which is entered there as Custom Object is the one which is used as shape. To get rid of it, hold the Alt key and click on the $\times$ to remove it (holding Alt is important to remove it from all selected bones at once, otherwise you will only remove the shape from the active bone).

By the way, if you do not want to remove the custom shape (perhaps if you have created your own, you can also give each single bone an individual shape) but just want to disable visibility temporarily or permanently, you can go to the armature's Data properties tab and there under Viewport Display disable the Shapes option.
As the Viewport Display category in both menus indicates, these shapes are only visible in the viewport. Like all armatures they will not be rendered.


text:
Black Spots in Cycle Render Render
So I am doing a character in Blender, I realized that on the lips are black spots (only on thr lips). I tried to fix my mesh but it didnt help.
close up of the dark spot problem

Seems like that has to do with the textures, not the mesh. Look at the BaseColor map and see if those spots appear there.


text:
Creating a trail of instances behind an object that moves along a curve in geometry nodes
I've been trying to create an effect that replicates droplets of water falling down a surface. I have droplets of water (as ico spheres) that move along curves that are on the surface of the object. Now the question is, how do I periodically create droplets after the object has passed this position. I would like to control the size of the intervals between trailing droplets(random value from min to max), the size of the trailing droplets(random value from min to max) and the speed at wich the leading droplet falls(sometimes with a delay or as a loop so that all of them do not start and end at the same time).
The approach I used is below:
The sample_curve node is used to move the leading droplets along the curves.
Here we can see that the trailing droplets are not at the same level as the leading one.

I have tried to use the greater_than node to create droplets whose height is greater that the leading droplet, but it failed. this method also would not allow for as much control as I wanted(written in bold). Can someone help me? This is my first post, if I have been imprecise I would love feedback to give more precise information.


text:
My tracks stop tracking
I am almost new with camera tracking and I am working on a small test. But in frame 93 15 of my 18 tracks stop tracking. The rest stops one frame later. The video ends in frame 220. Can someone help me?

Move the tracking point back to the correct position (manually) and continue tracking. If it looses track again, put it on the right track manually again.
If the video is blurry or jumpy the tracking can have problems. Rotating the camera fast will give you a blurry image.

It could also help to enlarge the search area...

go to file, preferences and then increase the cache limit.


text:
How to "peel off" segments of a sphere?
I want to make a plant that has long 'slitlike' leaves (long, and narrows to a point at each end). So I made a UV sphere and have removed the horizontal edges so i just have the slits 'on the sphere' as it were. Now I want to "peel off" each slit individually and shape it so that it has the shape of the leaf. How might I do that?
thanks
the plant should look like this: enter link description here

You can use proportional editing to get the twisted effect.

Although there are other better ways to do this, but for your question:
I think you are asking how to separate part of a object as a new one. Basically, in Edit mode, select the part you want to peel off, hit P and choose Selection to separte the selected part as a new object.

If you don't want to make it into separate objects, you can press Y and you will separate vertices. It will still be part of the same object.
Yet another option is to duplicate a segment with shift + D. This is the same as Y but the original geometry remains.


text:
Where to place lowpoly object compared to highpoly object?
I am confused, when I want to bake normal map from high poly object I need to duplicate it and make the copy the low poly object I want then
1- One tutorial I saw said that I need to place the low poly is the same place of the high poly.
2- Other tutorial said I must give it higher position on the z axis than the high poly.
So which one is it?

Please, only one question per question. I will remove your other question, please ask it again.

Normaly, the lowpoly is in the exact same place as the highpoly object. But if the lowpoly is completely flat, it could be "above" the highpoly. Look at this answer where I project the normals upwards with baking.
Creating game models for android
If your lowpoly object is not flat, you can't move it if you want to bake normals.
If you are willing to bake the lowpoly piece by piece, and each piece is relatively flat you can move details from the highpoly object. Then you must fiddle with the offset parameter and this is usually a pain to get right.


text:
How can I optimize the code to parse lines in a file?
I have a working importer that needs to handle large data sets ie. thousands of primitives.
When I import a file containing 2500 objects it takes roughly 90 seconds to import. Now if I import the same scene through the obj importer it takes about 10 -15 seconds.
What can I do to optimize this? Here is part of the code below:
    #read each line of the .ssynth file
for line in file:
    if  objCount % 25000 == 0:
        print ("Import progress report: " + str(objCount) + " objects")
        args = line.split()
        argsIndex = 0
        colR = 1
        colB = 1
        colG = 1

    #begin sphere shape. here we import any spheres
    if args[argsIndex] == "s":
        argsIndex += 1
        cx = float(args[argsIndex])
        argsIndex += 1
        cy = float(args[argsIndex])
        argsIndex += 1
        cz = float(args[argsIndex])
        argsIndex += 1
        radius = float(args[argsIndex])
        argsIndex += 1

        colR = float(args[argsIndex])
        argsIndex += 1
        colG = float(args[argsIndex])
        argsIndex += 1
        colB = float(args[argsIndex])
        argsIndex += 1

        # Set the Alpha - maybe we can use this later
        alpha = 1.0

        meshSphere =  bpy.ops.mesh.primitive_ico_sphere_add(subdivisions=2, size=radius, location=([cx, cy, cz,]))

        #convert rgb values to hex for group naming
        def rgb_to_hex(rgb):
            return '#%02x%02x%02x' % rgb

        # Let's set the Object Color
        bpy.context.object.color = (colR, colG, colB, alpha)
        # Name for grouping
        matName = rgb_to_hex((colR,colG,colB))
        # Add a material slot to each object
        bpy.ops.object.material_slot_add()
        # Find the active material
        bpy.context.object.active_material_index = 0
        # Add that material to the slot of each object
        bpy.context.object.active_material = bpy.data.materials["SSmat"]

Please narrow the scope of your question. Right now, the question is very off-topic. Please ask one specific question.

The terms Python Import Code are a little ambiguous, i was expecting to read a question about importing modules or libraries, which can get messy

Suggest not adding a new mesh for every object,
bpy.ops.mesh.primitive_ico_sphere_add
Instead you can add a sphere once, then reuse the mesh between all objects changing their scale. Its also possible for each object to have their own material so you can still share object data but have different colors.
Though you could even make do with a single material for all and just use object color.

I added object color to my answer, not intending to step on toes.

Ok, I'm hapy to say that this has worked out MUCH better. I have cut down the import time from 90 sec to around 25 sec so a hugh improvment sharing mesh data from one primitive to all objects. Thanks for the tip!


text:
Why is the curve modifier deforming strangely?
I modelled a part of a bicycle chain added an Array and a Curve Modifier
everything worked nicely until I added cogs and translated and scaled the chain parts to fit the cogs.
I tried to apply transformations, re-added the Curve Modifier but had no success, it still deforms the chain that strange:

Before I messed it up it looked like this:

How could it be fixed?
.blend

Try moving the chain object up on the Z-axis. There is some distortion of the chain links, but I'm not sure if that is part of your question or not..

Thanks moving the z-axis aligns the array to the curve again. And yes I would like to know why the chain-links get distorted shouldn't they preserve their length?

It's not their length being stretched, but their height. I can't think of any way around this except manually scaling to compensate.. Anyway, see this post for possible techniques to array an object along a curve without distortion.

OK, this is a few years old, but I found this recently so I suspect other will to. I think it's incomplete and thought I'd share.
The question was: "Why is the Curve Modifier deforming strangely?"
The short answer is: It obeys exactly what has been done to the curve.
Clarification: If you reached the current state of the curve using transforms like, Scale, rotate and Location, this will be done to the object you apply the curve to. Take a look at the Transform properties Ctrl +  N and look at the Scale and Rotate. If this is not (1;1;1) and (0;0;0) respectively, that modification will be applied to your object/array. To avoid this, apply every aspect of Transform using
Apply Object Transform Ctrl + A > Rotation & Scale before adding the curve modifier.
![Bad state when adding modifier]1
Apply Object Transform Ctrl + A + Rotation & Scale
![Good state when adding modifier][1]] [1] state when adding modifier]1
NOTE If you got of to a bad start, remove the modifier before applying transform Ctrl + A. It get's confusing when trying to adjust with the modifier in place (mute or not!). If you did it all correctly and something is still mirrored or turned inside out, fix it with clean set of factor -1 transforms and Apply transform before doing anything else.
I recently tried to apply a circular curve to an array but found it following the inside of the curve instead of the expected outside. Fixed it with a set of Scale -1 on two of the axis and Apply Scale. I think it got the result from the order in which I mirrored the object before applying the array. Aka, if you mirror from negative side of the coordinate space to the positive, it will give different result compared to starting with all positive vectors and mirror to negative side. (Applies to X, Y Z respectively with different result). This is basically an observation of previous answers "Honor the predominant axis and direction" answers I have seen.

I may also add, after having this problem even with applied transforms, that the order of the modifiers is crucial. The array modifier should come before (above) the curve modifier. Easy to miss that one.


text:
How can curves be converted to meshes?
Is is possible to remove the curves and only have the mesh of a tree that was created with the saplings add-on?
I'd like to apply a decimate modifier to have a few low-poly trees, but this doesn't work because of the curves. I get this message: "Cannot apply constructive modifiers on a curve."

The reason you can't use a "constructive modifier" on a curve is because a curve has to be defined by mathematical control points instead of free-floating vertices. You can visualize the decimate modifier in the viewport or render, but if you were to actually apply it you might create a shape that can't be represented by the control point equations, and then you would have broken mathematics.
The way to fix this is to convert your curve to a mesh. Select the tree and use AltC:

Here's the result:

Then any mesh-based modifiers will work fine.

Object Mode! then  Alt+C.  It does something unrelated in Edit Mode.

Is Alt-C version specific? It doesn't work in 2.80

@Jay - In 2.8 you can find curve-to-mesh in the right click context menu when a curve is selected in object mode.

In 2.8 the Alt+C shortcut no longer works.
The new way of doing it is Object Mode > Object > Convert To > Mesh

Thank you so much!

Convert to Mesh is no longer an option in the Object > Convert menu. Or I did something wrong...

@FlavorScape it simply called "mesh" now. So Object > Convert > Mesh

Just as a note, if your goal is just to reduce the number of polygons, you don't have to convert to mesh.  Select the curve and switch to curve data on the properties viewer.  By changing the preview or render resolution of the curve, you reduce the number of vertices generated per control point.  By changing the bevel resolution, you change the number of vertices used to define the thickness of the curve.  By reducing these values, you can create a curve object with a very manageable number of polygons.  (But there may be other modifiers you'd like to use, in which case conversion to mesh is appropriate.)

I'm modeling for 3d printing. It will always end up being an STL file. Thanks for the information though


text:
Where is the Screen Node?
In this amazing Blog I found a OSL Shader for fabric, but now I'm stuck because I can't find the Node called Screen. I tried the search menu Shift+A Search...

I know this is ancient but I was curios about the shader - current url is https://blog.michelanders.nl/2012/12/a-fabric-osl-shader-for-blender-cycles_55.html

That is a MixRGB node (ShiftA Add node menu > Color > MixRGB) which is set to Screen:


text:
Patch for Non-ASCII Characters
My OS (WIN7) uses non ASCII characters in the file system. Doesn't have to, but does.
I know in general it's not a great idea, but some of my directories have names which use these characters.
Blender shows it all non-readable gibberish, which makes it pretty difficult to understand what directory I'm looking at.
Is there some kind of UTF-8 patch, or update to help out here?

Blender does display unicode (utf8 and latin1), try change the system user-preferences to enable 'international fonts'.
This loads a font with a wider range of characters that may display your paths correctly.

Heh, completely forgot to check this setting in the freshly downloaded blender installation I had. Older versions I have this already set, but indeed, showing them paths with this goes OK.

Note: I had to upgrade from version 2.5x - then I found it

Though, still shows RTL backwards...


text:
Rendering smoke in Cycles?
I am trying to render smoke in cycles, but the relevant blender manual page is designed for Bender Internal. I have everything set up except for the material.
I imagine you would set up the material nodes something like this:

But the problem is that there is no Voxel Data texture node, ans I am not sure what kind of shader should be used.
Is smoke in Cycles simply not supported yet? Or do I need to go about this a different way?

Reference: Smoke material in blender internal

For now you can fake it with motion blur using this method.

related: http://blender.stackexchange.com/questions/2549/creating-volumetric-lighting-crepuscular-rays-in-cycles

You can do it now in 2.71 :) "Blender 2.71 Feature Preview: Smoke and Fire in Cycles" https://www.youtube.com/watch?v=oSiV5gg_lCs

From the Cycles Roadmap:

Probably the first release with Volumetrics will be 2.69 or 2.70.

"Probably" being a keyword - though I can say with certainty that it will not be in 2.69, and I doubt there'll be anything for 2.70 either.

As of version 2.73 from 2015:

Make sure render engine is set to cycles (BI wouldn't create the required cycles materials)
Select the object you want to emit smoke
From the menu Object/Quick Effects pick Quick Smoke

After that a material has been created that looks like:

In order to also emit flames it can easily be extended to:

Note that the attribute names have to be exactly as they  are show 'color','density' and 'flame'.
Important settings for the Domain object (besides higher-resolution):

Important settings for the Flow Object:
Add a procedural texture and animate some properties to animate the flames.

Full tutorial: http://www.blenderguru.com/tutorials/make-fire-cycles/

You can do it in Blender 2.71 or newer (which added support for volumetric data in Cycles).
Make a group in nodes that looks like on the screenshot below.
It's very important that you make the two "Attribute" nodes exactly like shown on the screenshot - "flame" lowercase and "density" lowercase - because it refers to data in the object.

The material itself:

Now use this material on smoke domain. That's all :)
I took this setup from this video: https://www.youtube.com/watch?v=oSiV5gg_lCs

Volumetrics and smoke are not currently supported by Cycles. There are some experimental builds that will support rendering static volumes, but not voxels, yet.
Version 2.70 is reported to support volumes, and voxels (for smoke) will come later.

It might be clearer to say that the development version of blender as of this commit cycles has volumetric scattering support, and that it will be in 2.70.

Ah yes, quite right.

blender 2.73: voxels can now be rendered with cycles (CPU) and static volumes can be rendered with GPU and CPU


text:
How to use grease pencil to animate embroidery?
So, this official Blender demo file has a system of geometry nodes that takes a curve and turns it into 3d embroidery stitching. My question is, can I somehow use a grease pencil drawing/animation as the input instead of just a curve? I'm trying to animate the face of a plushy. It's all black lines, if that makes it easier.
I know I can permanently convert grease pencil to curve, but that's not what I want: It needs to be animated.

I Fix this problem.
you want to drawing/animation Right
 this official Blender demo file modify with animated
explanation -->
I first calculated the geometry from the Realize Instances node and then resampled the curve using length mode in the Resample Curve node. Later we deleted the curve points using the Delete Geometry node. Converted the animation to a draw effect using the Delete Geometry node selection input. Played the animation in all frames using Greater Than and Index and Scene Time in Compare node and controlled the speed from Multiply node.

How to Use --> resample length value is increase geometry and Multiply node value control Animation speed and i join both value in group input node
and you want grease pencil to animate embroidery
like this animation youtube link
similer animation - my animation in add animation follow by curve
i hope solved your problem

Please explain at least briefly what process you used to solve the problem. Users shouldn't have to download a file and explore it to try to understand how you managed to bring a solution.

You did not pay attention to the question. I don't want the embroidery to be drawn into place progressively, I want to use an animated Grease Pencil drawing as the input.

You Want like this effect Link

@SuhelMansuri No, I do not. It's for the face of a character that is alive and moving, but meant to be a plushie, so I want a grease pencil animation, not a static drawing, to be live translated into embroidery marks on the face. Are you not familiar with grease pencil 2D animations? I don't want it to look like it's being drawn/sewn into place, I want it to look like the embroidered face is alive.

try to drawn grease pencil 2d animation per frame. This work is not possible for me. I am disabled so my hands are not stable, sorry YouTube Link


text:
Blender Split Rendering Visible but Final Render Transparent
I am rendering an 8k PNG image in Blender which forced it to split render with around 16 segments. When it is rendering each segment, everything seems fine and the render looks like its proceeding smoothly. However, once everything is complete, the final render is transparent and is completely blank

So clearly its rendering but its having issues stitching the images together. I am using GPU Cycles Compute with OpenImageDenoise if that is useful information.

Can you share your Blender project file? Instructions for sharing.

Agree, this sounds like a duplicate of radeon prorender render engine - When rendering an image the output is grey - Blender Stack Exchange. Please check the solution provided there, and also the ones linked in that question's duplicate at the very top of the page (it's a very common issue with different sources, as you can see). If none are your case, please [edit] your question with information that would let us know what's going on and we will reopen it if necessary.


text:
How can I change the centre of rotation of objects during an animation?
I have developed several puzzles in Blender, and to test them I wanted to animate them.   The first problem I encountered was the rotation of an object around a central hub.   Between keyframes the object would cut across rather than follow the circular path.   To solve this I moved the origins to the centre of rotation, and that worked fine.   The next problem was to move the rotation of one or more of the objects to another hub.   This is where it gets a bit tricky!   It's not practical to have to keep changing individual origins for every keyframe.   I've tried parenting to the hubs but this doesn't make it any easier.   Perhaps there is a way with armatures?   Maybe I've missed something very basic.
I made a small demo to illustrate the kind of rotation I mean:

Keyframe 1.

Keyframe 2.

Keyframe 3.
At this stage there are three answers to my question, and all of them require constraint influences to be turned on or off for each object that needs to change its centre of rotation. Multiply this several times and it becomes a bit of a nightmare!
I'm thinking that to position the 3d cursor at the centre of the wheel and then select all the objects required to turn for each rotation might be easier than the answers so far, but I was hoping for something more straight forward than that.
Don't get me wrong, I do appreciate the effort you guys have put in so far, thanks. :)

Did you try the Pivot constraint? http://wiki.blender.org/index.php/Doc:2.6/Manual/Constraints/Relationship/Pivot

Add multiple Child Of constraints and animate their influences as desired. But for the example usage above that's not required, merely disable the unwanted Location and Rotation transforms as shown:

+1 Nice example. Are the two rotating objects keyframed? Adding some more notes would be really helpful in general. Thank you.

This is nice but for simultaneously rotating pivots, like it's bound to happen if you have many Cubes, it will fail.

Indeed, additional targets will be needed for multiple cubes (there's a number of ways it could be handled) but that's beyond the scope of the question.

This is a question for our rigger gurus, but a fast answer I came up with, which is very "manual" unfortunately, is this: You have two rotation empties, each parented to a central empty, which manages the rotation around an axis like this:

Your object (Cube) has two Copy Transforms constraints, one for each of the rotation empties.
At the switchover point, you can animate the Influence values of the Copy Transforms constraints to prefer one of the two rotation empties, thus switching the parenting indirectly.

You could use a rig. Short tutorial:
1. Add two 'center bones', one at each center of the 'wheels'
Set the 3d cursor to the center of the first 'wheel' (You could use Shifts -> 'Cursor to selected', with the first wheel selected). Press Alta -> 'Armature' -> 'Single Bone'.
Set the 3d cursor to the center of the second 'wheel'. Press Tab to go to edit mode and press Alta to create the second bone.
Animate these bones to rotate the way you want.
2. Add a bone at the center of the object for each object
Go back to object mode (Tab), set the 3d cursor to the first object (Shifts), go back to edit mode (Tab), and add a bone (Alta).
Press CtrlTab to go to pose mode. First select the object, then select the 'object bone'. Press Ctrlp --> 'Bone', to parent the object to the bone. Repeat this for all the objects.
3. Add 'Child of' constraints for the 'object bones'
Go to pose mode. Select the first 'object bone' Go to the 'Bone constraints' tab in the properties window. Add two 'Child of' constraints. Set the target of the first constraint to the first 'center bone' and the target of the second constraint to the second 'center bone'. Click the 'Set Inverse' buttons for both constraints.
4. Add keyframes
Go to the frame where the 'switch' should happen. Set the influence slider of the first constraint to 1 and press I while hovering above the slider to add a keyframe. Set the influence slider of the second constraint to zero and press I again to add a keyframe for the second constraint.
Go to the next frame. Set the slider for the first constraint to zero and create a keyframe. Set the slider for the second constraint to 1 and add a keyframe.
5. Compensate 'startpoint'
The second constraint needs to start with the object at the location where the first constraint ended. However when you set the influence of the first constraint back to zero (which is necessary) the object moves back to its original position and the second constraint will start from there.
To fix this go to the frame where the switch should happen (where the influence of the first constraint is 1). Select the 'object bone'. Press I and set a 'LocRot' keyframe. Set the 3D cursor to the 'object bone' (Shifts -> 'Cursor to selected'). Find out what the total rotation of the 'object bone' is (Rotation of the first 'center bone' plus the rotation of the 'object bone' itself).
Go to the next frame, the object probably has jumped back. Set the object to the 3D cursor (Shifts -> 'Selection to Cursor') and set the rotation of the 'object bone' to the rotation you calculated above. Press I and set a 'LocRot' keyframe. Click the 'Set Inverse' button only for the second constraint.
6. Repeat step 3,4 and 5 for each object


text:
Scripting Python - Identify which textures of material are used as normal map, diffuse etc. PBR workflow
I'm writing a python script to import an asset, and doing some extractions of tree structure, materials data to save in cloud DB. In this process, while extracting metadata of materials, I'm able to retrieve all the textures(images) attached to a material. I want to figure out which one of these textures is applied as a diffuse map, which is used for normals, displacement etc.
Obviously, I can't use the image names - say "Car_Diffuse", as this may vary. so i think some property of shader nodes or something I can check to verify the same?
I went through docs and a lot of forums, still looking to find a solution.

Not a full answer, but the open source code in Blender's glTF exporter might be helpful. It searches for textures attached to particular sockets on the Principled BSDF node: https://github.com/KhronosGroup/glTF-Blender-IO/blob/main/addons/io_scene_gltf2/blender/exp/material/pbr_metallic_roughness.py


text:
How to add the drawing I need on another material
I'm relatively new to using Blender. I'm creating a model for my game in blender and I want to add the drawing on my box like it was drawn manually, but I don't know how. I know about vertex paint, but as I know this method requires high-poly model. I guess there is a better way to solve my problem. I want to make my box low-poly as much as it possible with my current skills. If there is no other option but use vertex paint, please let me know about it.  First picture is my box. Second picture is an example of  what I want to do.

Here is an example. As I said, I want this to look like it was drawn manually on the wooden box.

Paint your drawing on a transparent PNG image, mix it with your current setup with a Mix Shader, use the Alpha as Factor, plug the Normal if you want to have 3D relief on the drawing as well:


text:
How do you determine the distance traveled by an object at runtime?
Is there a way to use geometry nodes to record the distance traveled by an object? Similar to an odometer in a car while driving. The distance/value traveled should be output for further actions. I have tried it with "Accumulation Field" node and the vector "Object Info -->Location", but it does not work as soon as the location vector gets negative values.
One possibility would be to calculate the distance traveled from frame to frame with the Location Vector itself and add it up. However, this would also require the location data from the previous frame. Does anyone know of a way to do this? Unfortunately, I have not found anything in the Geometry Nodes.
Are there other possible solutions?
Thank you.

I've made a velocity/acceleration/distance meter in GN, which works with animated objects and in realtime while the animation is running, maybe check this out: How to measure velocity and acceleration in real time using geometry nodes in Blender? It's not made with the latest version, but it still works in 4.2 (I'm just not sure if some things might be more convenient to do with latest nodes).


text:
Connect hair particle to emitter mesh
I'm trying to create whiskers of a hairy animal, and I can't found a way to keep the whisker's hair particle close enough to the mesh.
Here is an illustration:

It's not a mesh instance, I'm using the Cycles Hair Rendering with a "curve segment" primitive and "Thick" shape.
Is there a way to get rid of the offset between hair's start and the emitter mesh?
I've tried to reduce the velocity and increase the length, but both seems to do the same, increasing offset.

Are you using a mesh? If so, extrude the bottom loop downwards well below the mesh origin.

Nope, it's a "built-in" hair particle (Thick Curve Segment of Cycles Hair Rendering) I edited my question.

Well, I finally found what goes wrong. It's simply due to the particle settings: I checked "B-spline" in the "render" section, which interpolate hairs shape using B-spline, and induce a shift between the root vertice of hair and its actual rendered root.

I thought using this setting be useful to have smooth shaped hairs, but in fact using "Curve segment primitive" (Cycles Hair Rendering panel) is sufficient and works great !

You just saved my day, spent two hours on the same issue!


text:
Using spline-IK for bones but keeping control over individual bones
My goal is to rig the Ears of my quadruped character, which has huge and soft ears (rabbit-like).
I've set up a Spline-IK constraint for the ear's bones chain, and added soft body physics to the curve that control this constraint. Everything is working fine at this point.
Now, I want to give control to the animator over each individual bones of this chain, so that he can animate it the same way a basic FK chain would do, but keeping the soft body effect while playing back the animation.
Unfortunately, hooking the curve with empties will override the soft-body simulation for the vertices of the curve which are hooked (which seems quite normal). In addition, there is a dependency cycle because :
 Curve depends on Armature through Bone Parent.
 Armature depends on Curve through Spline IK constraint.

I've tried several workaround (adding empties, separate the ear bones in another object...) but it always results in a dependency cycle, just with more steps :
 Armature_body depends on Armature_ears through Copy Rotation.
 Empty depends on Armature_body through Bone Parent.
 Curve depends on Empty through Parent.
 Armature_ears depends on Curve through Spline IK.

So, my question is: Is there a way to add soft body effect to a bones chain, but keeping FK control over it?
Here is a .blend file at the state of my progress: Crastor Rig B.SE blend file

So wait ,  do you mean you want to implement both IK and FK at the same time on the same armature? Just to clarify.

No, not really, I just need an FK chain to be "soft body-ed", but still controllable in the meantime.

The key is to have the hook modifiers before the soft-body on the curve, so the soft-body will take the hook-deformed curve as an input:

I also subdivided the curve to add it more control points that can be hooked (but subdivision affects the soft-body sim). Without the subdivison you could control only the end-point. The hook-Empties are parented to the head. This works like this:

So you can control the curve shape with hooks now. But you can't control the same bone-chain with IK-spline and FK at the same time without dependency issues. You would have to build 3 sets of bones - IK, FK and a final set to blend between the two. Look up IK/FK blending.
Here is the blend:

Another approach that I would prefer is to rig the character the usual way without any soft-body curves etc. and to put a soft-body after the armature modifier. With the Soft-body Goal vertex group you can control which parts of model will be giggly and which not. For good performance this should be done on a low-poly skinned Mesh-deform mesh controlling the high-poly character.

Well, this is great one. I had not thought to take into account the modifiers order, and that's the key! For the IK-FK blending, be sure I'll do that, like I did for the other parts of the character. About soft body sim on a low poly mesh-deformed mesh, that's a good idea but I think I'll stick on the method you described here. Thanks a lot, your answer deserve the bounty!

I'm facing a similar problem, where I'm trying to transfer motion from a simmed mesh to an armature that then controls a final mesh. I don't have a full answer for you, but part of the problem you face is the way that splineIK overrides everything. But if you used a method other than splikeIK, perhaps you would have more options?
The other method is to use a vertex chain instead of a curve, then constrain a bone chain to it. Use curve bones (bbones) to get your curve back. You'll want each bone to be IK constrained to a vertex group at its tip, with a chain length of 1. The bone is then Connected to the bone higher up the chain. The bone at the start of the chain will need Child Of or Copy Loc to a vertex group at it's head. This whole setup will give you the same results as spline IK. (Note that, like spline IK, this won't give you any Roll aka local Y rotation. But if you also put a copy rot on each bone to a loop running perpendicular to that bone you can get it.)
I'm not sure if you'll be able to get FK working with this either, but it may give you more options to work with, as it doesn't have the hard override that splineIK does.
It's complicated, but what if you had something like this: Your mesh, controlled by an armature. Then a second armature, controlled by the softbody sim (either through spline IK or the method above.) The second armature is locked, but you can control the first, and they are mixing their force on the object?

Thanks, I'll test it tomorrow, but the main problem here for me is that the simmed mesh (or curve in my case) should also follow the first bone... In your setup the simmed mesh must be animated by hand, the same way as the first bone. I really need to have this simmed mesh to follow permanently and automatically the first bone's location and rotation, and (to be perfect), to follow each bone of the chain... the snake bites its own tail...

Then give it an armature based on the first bone, and don't constrain that bone to it. Just constrain the rest of the chain. Have the armature before the softbody in the modifier stack. Or make a new bone that controls the mesh in the same position as the first bone, and constrain the first bone to it.
Keep in mind that for softbody, a chain of vertices and a curve will behave in the same way, just that the curve articulates between the points differently. But as the sim is only on vertices, it makes no difference.


text:
How to create a gradient backround in the compositor?
I want to add a gradient background to my render, but within the compositor (not with the actual background world setting of the scene). I would also like to don't have to use an image (neither external nor internal) to achieve that.
I rendered my image with transparent enabled in film section of render panel. Then I tried to add a ColorRamp node with an Alpha over node, but now I'm stick on how to give a Factor to this color ramp.
My thought is to give it some coordinates corresponding to Y axis of the image, but I can't find a way to.
Is there a node that give some image coordinates ? (like mapping node in materials)

Add a Texture Node with a blend texture and color ramp. You can adjust the gradient using the Color Ramp in the Textures panel. (See image)

Not my question but from what I read, this was not what I was expecting as it uses a texture. A good answer nonetheless.

Well, it actually does the trick, so I'll accept this one. Considering that a "Blend texture" isn't exactly an image... :P Thanks @rioforce!!

@Polosson I am glad I could help you. :)

Makes you wonder why every node editor in Cycles has the gradient node available except the compositor...

I don't think such a node exists. However, you can create a gradient fairly easily if you bring in an external image, convert it to BW, move it around and crop it, then blur it.
For example:

Node setup:

Good answer but I think OP was looking for something inbuilt, not external, the amount of nodes you used to blur, why not just import a gradient image or use the world settings. ;)

@iKlsR yes, you're right I was looking for something inbuilt, not using an external image (nor internal :P). Thanks for the answer BTW @CharlesL!


text:
How to add custom objects to the "add object" menu?
I want to add things like basic tables/chairs/houses I have made over the past year to my ShiftA menu. Is it possible to do this?

There is an addon called creaprim which allows you to do this.

Install and enable the addon (direct download). Some people have had issues using this addon in the 2.70, you can find a patched version here.

Select the object which you wish to add to the Add menu and press Create Primitive in Tools shelf > Tool > History > CreaPrim:

You can now add it from the Add menu:

Here's a direct link to the addon.  Perhaps you could use this instead of directing to the BlenderArtists page?

You could create a group Ctrl-G and set the object's name for each of your objects in Object Mode. To add groups to the scene use the Add Menu Shift-A Group Instance.

In case you would like to add your objects from python to the menu you could use the add_curve_extra_objects addon as a template you find it in the Blender installation directory in 2.70/scripts/addons/add_curve_extra_objects (where 2.70 is the version) see __init__.py

Also, you could create a Blender file that has all the objects you want to see in the Add Menu, then when you start with a new blender file, just append from that reference file all the groups.  And just move them all to an unseen layer.

To include your own objects in the add object menu you can create an addon. There are a few example addons available that you can look at, as well as a simple example script available in the python templates of blender's text editor.
While these examples use python code to create new objects you could have your script import an object from another blend file.


text:
How can I organize the outliner with groups?
When I learned the basics of Maya awhile back, they taught us that we could organize and clean the outliner window with groups. Anyway, it doesn't seem that I can hide multiple objects into one grouping in the Outliner in Blender.
Is there another way of doing this?

If you'd like to have groups directly in the "All Scenes" outliner, see this proposal and upvote it if you agree (that doesn't mean it will happen but more votes=more chances)

Basically you can use Groups and Parenting to organize your scene.

Grouped objects are displayed hierarchically in the group view.

Parented objects would be displayed hierarchically in the outliner's default view.

See the Outliner Documentation for more detailed information.

I found the "add to group" under the Object's "Object: Object" property pane.

It is also possible to use layers to organize complex scenes


text:
How to play an animation on a mesh?
I have a pre-rendered animation that I want to play on a TV model in my new scene animation, and I really don't know how.
Would I do it within Blender, or should I make the material on the TV screen green, so I can green-screen it on?

You could use an animated texture to do this.

What do you mean by "TV"? Are you talking about the TV clips, or the real device?

Blender Internal:

Add a new texture and set the type to image or movie.

Select a file, then set the source to either Sequence or Movie depending on the format your rendered animation is in. (e.g. Sequence for an image sequence, or Movie for a single video file.)

Cycles:

Add a new Image Texture node and open a file.

Add an image file to the node, or pick an existing image, then set the Source to either Sequence or Movie (this option will only appear after you select an image file), again depending on the format your rendered animation is in.

I always render out image sequences. Its a force of habit since i've had to work with such crappy computers in the past. Anyways, thanks man.

@Starius me too... it is more fail-safe that way

This is nice, however I am looking for more advanced possibility to control the speed also of the playback independent from global animation speed, I could do this via the amount of source images to be selected, but within Blender would be better?

@Thomas It is a hack and a bit of a fuss to set up but that is possible this way: https://blender.stackexchange.com/a/15855/599


text:
How to create snow particle physics?
Image 1:

Image 2:

Any help or thoughts would be awesome!

You could probably somewhat simulate it with soft bodies and particle systems, however, the Disney snow simulator is much more advanced than a simple particle system.

You could also try this addon.

The closest thing blender has to your example is a great add on called molecular.
You can watch the demos on youtube to get a feel for what this add on can do.
molecular download
The documentation for molecular is on the same site.


text:
Create reusable action/animation?
I created a tank turret and I was wondering if there was a way to create script or a "property" for firing the turret instead of animating it firing each time manually (telling it to reload shells (visible to viewer), create smoke, create shell, add physics to said shell, add recoil that is based on turret angle, etc.)?
If so, are there any examples that I could watch/read to understand it a bit better?

I have edited your question to try and make it more clear. If I you disagree with my edits, please feel free to roll them back :)

A few options comes to mind: NLA Editor, Rigging, Drivers, and finally Python script. Are you using or familiar with these features? Detailed answer coming soon.

No, I only know really the basics of each one of those.

You can actually quite a bit with just a few drivers.
Result

I'm not going to explain the entire process, but I'll cover a lot of the more interesting points.
If you haven't already, learn how drivers work (here's a tutorial I made). They're an extremely powerful way to control different object attributes.
For the barrel recoil, I created a driver that makes the barrel follows the position of an empty (the one moving back and forth). The position of each section of the barrel is just controlled by a custom curve (offset for the back section so it follows slower). This is the curve of one section:

There are three bullets at the beginning of the animation hidden in the back of the barrel. I couldn't figure out how to dynamically add them while the animation was playing. There might be a hacky way to do it with a particle system, but I decided that hiding them was the simplest solution.
The first thing to note about the bullets is that they're dropping as they follow the empty. All I did was create a driver that calculates the trajectory of the projectile using the Y position of the empty for the current distance. Because it was long (and hard to type into the expr bar), I just put it in a Python script:

Then all you have to do in the expr box is put: calc_path(x, ang, height, velocity).
Finally, the bullets are set to be animated rigid bodies. That way they can interact with the other rigid bodies in the scene. When I wanted them to simulate and bounce around on the ground, I simply animated the animated attribute in the rigid body settings:

The result isn't completely elegant, but it certainly does cut down on the amount of animation you have to do.
If you're interested in dissecting the .blend yourself, you can download it.


text:
Grease Pencil "Rim Effect" acting weird with Camera Animation
So, I am working on a short test animation with Grease Pencil. For this, my intention is to have a rough unfinished esthetic to the overall visual language. After arriving at a desirable point, I noticed that the "Rim Effect" I added to my Grease Pencil object is acting weird in relation to the camera dolly out animation. There's this squared off section that reveals the rim Light effect at the right corner of the viewport. It behaves as if the camera dolly out is revealing the rim light effect
See pic below:
Now I thought this was just some viewport camera glitch and that it won't appear in my final render but low and behold, It did. :D
See pic of render stills below below:

This "Mask" seems to be over the rim light effect alone. Once it's turned off every other thing works fine. And regarding mask, no I didn't use masking here.
I would really appreciate any help/advice. So far, I like where I am going with this look. And fixing this issue would mean that I can stick with it. Thank you


text:
What's the suggested method for modeling arched openings in a cube?
I'm trying to create something like this:

I've tried creating the arches in a couple ways. I modeled the outlines of the arches and used the Knife Project tool on a cube. That wasn't great. Then I Solidified the shapes so they intersected a cube and used Boolean to remove the arched shapes:

I like where it's going, but I'd like to know if I'm going about this the wrong way. Is there some better technique to produce a similar but cleaner result?

I'd prepare the mesh for one and array it. Yes, the resulting mesh would have more edges/vertices, with the vertical loops between archs and horizontal loops between levels, but you will have full control over triangulation and an easier time beveling.


text:
Deleting all keyframes causing the rig completely broken
I was animating my rig but if I tried to delete all keyframes my model completely bugged out.
It doesn't matter which keyframes I deleted, but once a bone has no more keyframes they all broke.
After I deleted all keyframes and hit "Clear scale", this is how my model and rig turned out. No clue why this is happening... Any help will be appreciated!
The .blend file

Have you tried also pressing Alt+G and Alt+R to clear the Location and Rotation as well?

I do, and that didn't do anything
I wonder if I accidently did anything when I was animating, but can't recall

I don't have time to check deeply, but try to go to pose mode, select all bones (even hidden layers), set scale to 1,1,1, hold Alt key and press Enter, so to set scale 111 to all bones (some were on 000, causing the issue).

It fixed the issue!!! I suppose it's just that I didn't check every bones but only the controllers... lamo
Still not sure why that happens, but thanks!


text:
how to make "operator_menu_enum" keep the selected value displayed
I created a drop-down menu, with a operator_menu_enum referring to an EnumProperty.
When I select an entry in this menu, it closes, and display the default text string, instead of displaying the selected entry's string.
How to keep the selected entry displayed in the menu's head after selection ?
Edit : Here is an example script of the way I make the menu :
import bpy

class STUFF_PANEL(bpy.types.Panel):
    bl_idname = "SCENE_PT_stuffSelect"
    bl_label = "Stuff selection"
    bl_space_type = "PROPERTIES"
    bl_region_type = 'WINDOW'
    bl_context = "scene"

    def draw(self, context):
        layout = self.layout
        row = layout.row()
        row.operator_menu_enum("stuff_list.menu", 'stuffList', text="Stuff list")
        if bpy.props.selectedStuff:
            row = layout.row()
            row.label("Selected stuff :")
            row.label(str(bpy.props.selectedStuff[1]))

class STUFF_LIST_OT_Menu(bpy.types.Operator):
    bl_idname = "stuff_list.menu"
    bl_description = "select something here"
    bl_label = "Menu"

    def get_stuff(self, context):
        return bpy.props.config_stuff_list

    stuffList = bpy.props.EnumProperty(
        items = get_stuff, name = "Stuff", description = "The stuff list")

    def execute(self, context):
        bpy.props.selectedStuff = [
            n for i, n in enumerate(bpy.props.config_stuff_list)\
            if n[0] == self.stuffList][0]
        return{'FINISHED'}

def register():
    bpy.props.selectedStuff = False
    bpy.props.config_stuff_list = [
        ("1","stuff 1","0"),("2","stuff 2","0"),("3","stuff 3","0")]
    bpy.utils.register_module(__name__)

def unregister():
    del bpy.props.config_stuff_list
    del bpy.props.selectedStuff
    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()

Could you pose a simple example script?

Ok, edited my question with an example of how I use the APi to make the menu.

NameError: name 'bpy' is not defined, please test the example and make sure it works.

Checked the example, looks like you may be better off not to use the API like this, can you explain what this is for?

This is part of a script which allows user to modify a configuration file, within the UI. (using python 'configparser' and so on). More precisely, this part correspond to a section of the config file which contains a list of json values, so the user have to choose a value to be able to modify the json content.

This feature isn't supported by operator_menu_enum, the purpose of this is to be a submenu containing options. Not a persistent drop-down selection box, you may be better off to add an update callback to an enum property, then selecting an option can run some python code.
What you wan't can be done, but I think you're looking in the wrong place.
Simple answer:
You could replace the row.operator_menu_enum line with this.
    if bpy.props.selectedStuff:
        label = str(bpy.props.selectedStuff[1])
    else:
        label = "Stuff list"
    row.operator_menu_enum("stuff_list.menu", 'stuffList', text=label)

Longer answer:
it looks like this is not using the API correctly. You can't easily access operator properties from a panel (when the operator isn't running), you're better off to add a property-group to the scene that contains all your tool properties, then have the operators invoke function initialize from these settings (this is how most Blender operators do this).
Note:

Setting attributes in bpy.props is bad practice, just store this in the script. (as a class attribute for example)

Your 'simple answer' works great at the moment, if I have enough time I'll go more in-depth with the other one. Thx!


text:
Blender doesn't show "Jack" in user preferences system audio
I would like to use Blender with Jack (Jack Audio Connection Kit), but it's not available in user preferences > System tab...

I'm using Blender 2.77 on Linux Kubuntu 16.04 and jack2 (v1.9.11), with Cadence and snd-aloop (alsa-to-jack trick). I also tried with pulseaudio jack-sink module, and also without any audio bridge, with no more luck.
I tried to launch Blender with "setaudio" option, while Jackd is running :
blender -setaudio JACK

No warning message, but still nothing in the audio device list.
I found on the web that Blender needs to be compiled with "Jack enabled in user-config.py". Thanks to @batFINGER I know now that official Blender release from blender.org actually IS compiled with jack support. (tested it by typing bpy.app.build_options.jack in python console, and it returned True.)
Any help on that subject will be much appreciated.

If jack is enabled should be in user pref sound menu.  To check type bpy.app.build_options.jack into the python console, will be True or False.  Have you considered  building blender yourself on linux, enable WITH_JACK and use the latest jack2.

Thanks @batFINGER. build_options.jack returns True, but no Jack button in user prefs menu. So it seems the problem comes from my system and not from Blender... I'm using jack2 (v1.9.11, see here about versions). I also use pulseaudio-jack-sink so maybe this confuses Blender to recognize Jack? Thanks for your help.


text:
How to Smoothen Hands and Add Fingernails to Avaturn Avatar in Blender for Unity VR Project
I created my avatar with Avaturn (V2) and now I want to make it more realistic with Blender. I want to smoothen the hands in Blender (current state in screenshot) and add fingernails. Unfortunately I can only find tutorials on how to create hands from scratch, but not how to customise them. I don't know how to smoothen the hands and add the fingernails or how to begin. Later I want to import the avatar into Unity for my VR project. I appreciate any help, I am still very new to Blender.

It's gonna be pretty rare that you're gonna find a tutorial that will tell you how to do exactly every thing you want to do, without including any parts you don't need. You have to start learning how to take what you can from tutorials and leave what you don't need. If at that point you're still lost you should just go through some beginner tutorials and learn the basics before trying to make a whole VR project.

All this to say, the tutorial that tells you how to "smooth a hand and add fingernails" is the same as a tutorial that shows you how to make a hand, except without all the parts that aren't about smoothing a hand and adding fingernails. Add a subsurf modifier to smooth it. Duplicate the model and extract the fingernail geo to add fingernails. And so on.


text:
How do I delete all bones from a scene that DONT have any weight information for meshes in the scene using python
I have a .blend file that contains a armature and clothing from a character. But the Base Character mesh has been removed from the blend file.
all parts of this armature may have weights referencing other deleted meshes. but some of them only have weights for the clothing, IE the feet bones are not going to have valuable weights for a t-shirt.
How do I programmatic go through using python and delete any of these bones that are not useful for the remaining meshes in the scene.
import bpy

def remove_unused_bones(blend_file):

    # Load the Blender file
    bpy.ops.wm.open_mainfile(filepath=blend_file)

    for armature in bpy.data.armatures:
        bones = armature.edit_bones

        # Iterate over each bone
        for bone in bones:
            # Check if the bone has any weights on any mesh
            for mesh in bpy.data.meshes:
                # I cant seem to figure out how to link the vertex data to the mesh.

            # If the bone has no weights, remove it
            if not has_weights:
                bpy.ops.armature.delete_bone()

        # Save the modified Blender file
        bpy.ops.wm.save_mainfile(filepath=blend_file)

if __name__ == "__main__":
    import sys
    if len(sys.argv) < 2:
        print("Usage: python remove_unused_bones.py <blender_file>")
        sys.exit(1)
    remove_unused_bones(sys.argv[1])

The object knows the vertex groups. Have a look here: https://blender.stackexchange.com/q/145972/107598. So, you need to iterate over the bpy.data.objects, not over the meshes. Also, you should create a (copy) list of the bones names first, because you cannot iterate over a list and remove entries from it at the same time. It will result in an error or even worse unpredictable behavior or a crash.

Was this code generated by some AI chat assistant or other LLM powerwed tool? If so please provide attribution to the used tool or site.

Thanks @blunder For pointing me in the right direction.
Here is a working function that does what I wanted.
def objHasAnyWeights(obj,vgroup):
    group_index = vgroup.index
    for i, v in enumerate(obj.data.vertices):
        for g in v.groups:
            if g.group == group_index:
                if g.weight > 0:
                    return 1  # Return 1 immediately upon finding a positive weight
                break  # No need to check further weights in the same vertex
    return 0  # No positive weights found

def walkTreeGetDelete(thisbone,weightless_bones,result):
    if not thisbone: #cant have weight if you dont exist.
        return False
    haschildwightedbone = False
    for bone in thisbone.children: #recurse
        if walkTreeGetDelete(bone,weightless_bones,result):
            haschildwightedbone = True
    if haschildwightedbone: #if any of the children have weight just return true
        return True
    if thisbone.name in weightless_bones: #non of my children have weight, do i have weight?
        result.append(thisbone.name)
        return False
    return True #I have weight

def remove_unused_bones(blend_file):

    # Load the Blender file
    bpy.ops.wm.open_mainfile(filepath=blend_file)
    bpy.ops.object.mode_set(mode='EDIT')

    # Create a set to store bones that have weights on meshes in the scene
    weightless_bones = []
    result=[]

    # Iterate over each armature
    for armature in bpy.data.armatures:

        # Iterate over each object
        for obj in bpy.data.objects:
            group_vertexcount = {}

            #Iterate over each group on object, these should be the name of the bone.
            for group in obj.vertex_groups:
                #Vertexes hold the data? Semms a bit backwords but ok.
                for vertex in obj.data.vertices:
                    #each vertex has a vertex group.
                    for vg in vertex.groups:
                        if group.name not in group_vertexcount:
                                group_vertexcount[group.name] = {}
                                group_vertexcount[group.name]['vertices'] = 0
                                group_vertexcount[group.name]['weights'] = 0
                        if(group_vertexcount[group.name]['vertices'] == 0):
                            group_vertexcount[group.name]['vertices'] = len(obj.data.vertices)
                        #This is terribly slow, but it works. doubt I can thread it
                        if group_vertexcount[group.name]['weights'] == 0: #If i havent found a weight yet, check each vertex
                            group_vertexcount[group.name]['weights'] = objHasAnyWeights(obj, group)
                if group.name not in weightless_bones and group_vertexcount[group.name]['weights'] == 0:
                    weightless_bones.append(group.name)
                print(f"{obj.name} -> {group.name} : {group_vertexcount[group.name]['vertices']} vertices {group_vertexcount[group.name]['weights']} weight")

        walkTreeGetDelete(armature.edit_bones[0],weightless_bones,result)

        for bone in result:
            armature.edit_bones.remove(armature.edit_bones[bone])

        # Save the modified Blender file
        bpy.ops.wm.save_mainfile(filepath=blend_file)

I think its a bit backwards that i have to iterate over each vertex to get its group, but its the only way i found it works. Its terribly slow since i have to loop over every vertex then loop again.
Wish there was an easyer way.


text:
Automated rig transfer between armatures
So I know how to manually transfer 1 armature to another mesh in blender.
See: https://www.youtube.com/watch?v=bR_Vke__voU
But is there a way to do this automatically with python?
Its just pressing the same buttons over and over, can I just make function calls?

A answer pointing to where and how function calls are made and where I can lookup functions and specify there arguments would be ideal.


text:
Quick Smoke Domain is Solid Black
So I have installed a fresh copy of Blender 2.69. I launch it. Open a new project. Hit the space bar and type Quick Smoke. I select Quick Smoke.
On load of the Quick Smoke the Domain for Smoke is Solid Black and will render only as solid black. I have not modified any other settings.
I tried a new file with Quick Fluid. I get a solid Grey/blue Domain and no render of the fluid. It seems that blender is not working properly.
Please advise.
Mind you I have Not change any settings and am loading Quick Smoke and Quick Fluid from a fresh start new session.
Thanks,
P.S. yes I did search and found 1 familiar topic however the answers provided were not correct for this issue.

Did you launch the animation (Alt+A) in order to compute a minimum of smoke simulation frames ? And, for fluid, did you click on the 'Bake' button in the Physics tab ??

Could you attach a .blend in which this is occurring? Then we can determine whether this is a bug or a setting.

The Correct Answer was that the Laptop was using a Intel Integrated Graphics Chip-set that currently bugs out when rendering in Blender 2.69. This is a Blender 2.69 Bug for that Chipset.

@Marcelo Requena, you should post your workaround as a new answer. I had the same problem with my laptop and your workaround worked for me.

A general answer to this is because there are either no lights in your scene or you haven't computed the smoke simulation yet. To add a lamp to your scene, use ShiftA > Lamp and choose one. To simulate the smoke, you can just hit AltA or bake it to disk under Smoke Cache in the Physics panel (you must save the file first).
Also, the default Point lamp is a bit weak and might not illuminate the smoke properly depending on the angle viewed. A Hemi or Sun lamp should be sufficient for most tests.
Without any light

With a hemi lamp

This is because before render, you must launch animation (hit ALT A) in order to compute smoke simulation. When you play the animation, you'll see the smoke throwing up the cube.
Then, be sure there is some lights in your scene, and render!
Also, you need to assign the Smoke Domain a material with Volume shaders when rendering with Cycles.

The scene will still render as black before/after smoke is computed.

I'm pretty certain there is a point light that comes with the default cube and camera when you start a default new session. (not 100% still, coz it's been a long time I changed the default settings)

Polosson, actually you are right. Using the default scene, the smoke needs to be computed first, but it will render black without any lamps. (my default scene doesn't have any lamps so I forgot abt that).

A computer with an integrated graphics chip (IGC) may lack the minimum requirements needed to render (display) objects correctly in the 3D viewport.  The OpenGL minimum requirements for the current official release of Blender is OpenGLv.2.1.  Some older model computers contain IGCs that are OpenGLv.2.0 or earlier version.  To determine your computer's system OpenGL version go to the text editor inside of Blender.  Select it from the bottom left corner of a port (window) where an icon with a drop down menu is located.  Once you enter text editor, go to top menu and select Help > System Info.  A file named system-info.txt will automatically be generated.  Now, go to second icon with drop down menu.  It is located to the right of the first icon you selected at the bottom menu.  You will see the file "system-info.txt".  Click it.  Scroll down the contents of the file to the OpenGL section.  Is you IGC's version 2.1 or newer?  If not, this may likely be the cause of the black cube.


text:
Is it possible to use a slider toggle from FK to IK, in a armature?
I've seen in older Blender character rigs (such as Big Buck Bunny), character armatures had some floating slide toggles that affected whether a rig appendage was Forward-Kinematic or Inverse Kinematic (FK/IK), but newer rigs (such as Sintel) don't.
What is the current "best practice" way of creating an FK/IK toggle (is it part of the core application?), and what version of Blender did that become available?

For the former, it was never version specific and can still be done with later versions, people have desisted from doing so since there are several more efficient ways to do so.
The method I personally use and I think is most people use is a blend of constraints, drivers and a little scripting to create GUI components in the sidebars to toggle from FK <-> IK. I cannot say exactly when this became available but it is a core part of the application.

Could you please share with me the .blend file to do this have the script for the silder?

@Tak Yikes, 3 years ago, I'll have to poke around.

Thank you very much. So to do this, I run the script and then select my IK bone then I should find the slider?

@Tak It's not plug and play, the bones need to be named accordingly for one, and you need a property on the bone. I don't remember the exact details sorry but this should be way easier to understand than any other example you'll find anywhere I should think. Also you really don't need a script, this looks like a good basic tut https://www.youtube.com/watch?v=rxF45UV1wU0

I've adjusted the right_foot = Foot.Base.IK.R to right_foot = IK where IK is my IK bone then modified this part as well layout.prop(pose_bones["Foot.Base.IK.R"] to be layout.prop(pose_bones["IK"] but still the panel is empty. I already watched this tutorial before but I want it to be done with scripting instead of manual process as I have 100's of rigs which I want to apply this to. Any advice please? and Do you reckon I post a new question?

@Tak Sorry, I haven't used Blender for rigging in ages, really rusty in that area. A last resort would be this old tutorial I found archived on cgcookie. Patrick explains the steps very well and uses scripts as well as constraints etc. https://cgcookie.com/archive/?fwp_library_search=creating%20fk%20ik

This is from Ben Dansie's Sintel Lite (found here)
Granted, I haven't really rigged that much since Sintel, but the image above captures a convention that has gone on since Sintel.  The rig you downloaded probably has IK/FK toggles in the 'Rig Main Properties', or something to that effect. Hit 'N' in the 3d view and see what's there.
Or are you asking about the actual mechanics of rigging the arms?  I think they're still done using three separate chains for each arm/leg(possibly 4 if there's a slave rig).


text:
a question about add-ons
I am just a beginner in blender but  I want to know if it is possible for some add-ons in blender to not show.Cause I am searching for the  "align tool" add-on and I am not finding it
Could someone consider please helping me out
Thanks in advance


text:
Arm IK bone constraints problem
I'm new to blender, I'm having problems moving this arm properly using IK bone constraints, instead of the arm moving with the large bones it bends on the smaller bones which are for rotations. is there a way for me to make the small bones (for rotation) follow the Large bones (for movement) using IK?
the model is a premade model from Playbox
the 1st image highlights the small bones for rotation
2nd image highlights the big bones for movement
3rd image highlights the unwanted bending on the small bones
4th image is how I want the bones to act

It appears that the parenting hiearchy of the bones is incorrect. In the second image, it is clear that the forearm bone is not a connected child of the upper arm bone like it should be. It seems to be a child of the upper arm twisting bone instead. The twisting bones should have no children, and should themselves be disconnected children of whatever limb segment they are twisting. Read about how to change bone parents here.


text:
How to select every nth animation keys?
I have an animation with keys in every frame. I need to select each 2 keys of the animation and remove them, then place the remaining keys so that they stand each frame again.

You can use a python script for that.
The following can be run from the script editor or using the toolshelf addon:
import bpy

def unselect_nth_keyframes(n, invert=False):
    selected_objects = bpy.context.selected_objects

    if not selected_objects:
        print("No selected objects with animation data.")
        return

    for obj in selected_objects:
        if not obj.animation_data:
            continue

        action = obj.animation_data.action
        if not action:
            continue

        for fcurve in action.fcurves:
            keyframe_points = fcurve.keyframe_points
            selected_keyframe_indices = [i for i, keyframe in enumerate(keyframe_points) if keyframe.select_control_point]

            for i in selected_keyframe_indices:
                if invert:
                    # Invert ON: unselect every nth key
                    if (i % n) == 0:
                        keyframe = keyframe_points[i]
                        keyframe.select_control_point = False
                        keyframe.select_left_handle = False
                        keyframe.select_right_handle = False
                else:
                    # Invert OFF: keey only every nth key selected
                    if (i % n) != 0:
                        keyframe = keyframe_points[i]
                        keyframe.select_control_point = False
                        keyframe.select_left_handle = False
                        keyframe.select_right_handle = False

# Example usage:
unselect_nth_keyframes(4, invert=False)

The last line calls the function, you can choose the nth keyframe base and the deselection action (see comments).
If you need this often, then use this script instead:
import bpy

class OBJECT_OT_unselect_nth_keyframes(bpy.types.Operator):
    """Unselect Every Nth Keyframe Operator"""
    bl_idname = "object.unselect_nth_keyframes"
    bl_label = "Unselect Nth Keyframes"
    bl_options = {'REGISTER', 'UNDO'}

    n: bpy.props.IntProperty(
        name="Frequency",
        default=2,
        min=1,
        description="Unselect every Nth keyframe"
    )

    invert: bpy.props.BoolProperty(
        name="Invert",
        default=True,
        description="Invert the unselection behavior"
    )

    def execute(self, context):
        # The original function
        def unselect_nth_keyframes(n, invert=False):
            selected_objects = bpy.context.selected_objects

            if not selected_objects:
                self.report({'INFO'}, "No selected objects with animation data.")
                return

            for obj in selected_objects:
                if not obj.animation_data:
                    continue

                action = obj.animation_data.action
                if not action:
                    continue

                for fcurve in action.fcurves:
                    keyframe_points = fcurve.keyframe_points
                    selected_keyframe_indices = [i for i, keyframe in enumerate(keyframe_points) if keyframe.select_control_point]

                    for i in selected_keyframe_indices:
                        if invert:
                            # Invert ON: unselect every nth key
                            if (i % n) == 0:
                                keyframe = keyframe_points[i]
                                keyframe.select_control_point = False
                                keyframe.select_left_handle = False
                                keyframe.select_right_handle = False
                        else:
                            # Invert OFF: keep only every nth key selected
                            if (i % n) != 0:
                                keyframe = keyframe_points[i]
                                keyframe.select_control_point = False
                                keyframe.select_left_handle = False
                                keyframe.select_right_handle = False

        # Call the original function with the operator properties
        unselect_nth_keyframes(self.n, self.invert)
        return {'FINISHED'}

def register():
    bpy.utils.register_class(OBJECT_OT_unselect_nth_keyframes)

def unregister():
    bpy.utils.unregister_class(OBJECT_OT_unselect_nth_keyframes)

if __name__ == "__main__":
    register()

It creates an operator. You can run it in the script editor to register it, then search for the operator via the F3 operator search menu:

It will show options to change the frequency and deselection behavior, which you can change on the fly:

You can also add it to your Blender_User_Directory/scripts/startup directory, so to always have it available in the operator search without having to add it to your script editor and run it there first.