How can I make a coil with relief (volute)? I'm trying to model a facade of an arch and I need to create a spiral as shown in these two photos.

I tried using the addon "Add curve: Extra objects" to create the spiral but  I can not remove the smoothing of vertices. Besides, I'm not sure if I'll have any problems when I change the mesh to adapt the spiral. Note that the figure in the pictures has a relief.

Is this the best way to model the figure?

Note: I'm learning Blender and I followed these instructions.

There are probably many different ways to achieve it. I used Extra Objects and F2 add ons.

Start with adding a Spiral (Add-->Curve-->Spirals). Play with its settings in a Tool Shelf (T)

Convert your curve to the mesh (press Alt+C-->Mesh from Curve). Then select the whole mesh (A) and extrude it (E) as pictured below.

Being in Edit Mode add a Circle with the equal number as the Spiral's steps number. Extrude the Circle and use the snapping tool to snap its edge loop to the bottom vertex of a curved mesh. Now use the knife tool (press K,LMB, next C for a straight cut and then Z to cut through) as pictured below. Delete vertices above and below added cuts.

Fill the gaps with F (enable the F2 add on). You may also use the bridge tool to do it.

If you want to sharpen edges with edge loops (Ctrl+R) retopologize the top part as pictured below. This kind of geometry'll also smooth the end of the curvature.

Here's my final topology (with no tris and n-gons), that allows me to crease the edges.

Use proportional editing with a Sharp falloff type to adjust volute's proportions as you like.


Syntax in the Python API I am a newbie with Python scripting in Blender.  Lately, I have been browsing the Blender API documentation to figure out how to incorporate certain features into my scripts for Python.  However, I am confused because I feel as though the documentation fails to provide the examples necessary to understand how the methods provided in the library would actually be used in a script.

For example, I am interested in (as part of a "poll" function in an operator) determining whether a object has been modified.  I found the method bpy.types.Object.is_modified.  Unfortunately, I can't make heads or tails of the information provided, as I know I can't just type in bpy.types.Object.is_modified to determine whether an object has been modified.  It throws an exception in the Python console, even when I type in "scene" and "settings" for the parameters for the function (the parameters are listed as "scene" and "settings" in the library's function definition).  I have tried leaving in "Object" in the command, and have also tried replacing "Object" with either the name of the object or a variable being used to represent the object.  Similarly, I am not really sure how any methods in bpy.types.Object are normally called, because, although I do not really know, I get the impression that they are normally called using prefixes other than "bpy.types".  Can someone please help me?

EDIT: Here is a picture showing what I have tried and the exceptions that I have received:

Take a closer look at the syntax the command needs.

bpy.types.Object is just the general class.  In basic programming terms, bpy.types.Object is only a blueprint for what an object should be. You want the instance, or copy, of the class that refers specifically to 'Plane' .
In your case, this would be: bpy.types.Object(bpy.data.objects['Plane'])

Secondly, look again at the API for is_modified(). When it says (scene, settings) it doesn't mean those literal words.

scene refers to the actual class of your scene. You want bpy.data.scenes['Scene'] (or whatever name is shown in the outliner)
settings has two options already determined for you. In the API, it says "(enum in ['PREVIEW', 'RENDER'])," meaning either of those words is what goes in the settings place. PREVIEW checks the object's modifier settings for preview mode, and RENDER checks settings for render mode (what appears when you press SHIFT + Z)

So, to do it right:

import bpy
scene = bpy.data.scenes['Scene']
plane = bpy.data.objects['Plane']

Then:

bpy.types.Object(plane).is_modified(scene, 'PREVIEW')  OR
bpy.types.Object(plane).is_modified(scene, 'RENDER')


Some walls messed up when I solidified the walls I made a house  but right here in the corner and other places to, It messes up when solidify it. Does anyone know why?

Looking at the first screenshot, I see that the wall on the left is black, and not grey like the adjacent one. Can you check the normals? If you select the face and use the spacebar and type 'flip normals', it should turn the face in the correct direction.

Barry


Texture not showing up in Blender 2.8 So I have a texture assigned to the selected object and it is UV mapped to the texture but the mesh doesn't change its appearance. Anyone know what I can do?

Looks like you have forgotten to enable the "Use Nodes" option in the Shader Editor.


Rigging is affecting both arms I've recently tried rigging for the first time, and it seems to be working fine, with one exception. When I change the right arm, it effects the left, but not vice versa. This also is not a problem with the legs, both move independently just fine, it's specifically the arms, and I'm not sure why. I made sure to check through the weight paint to make sure that the right isn't controlling the left, and it wasn't. I even made sure to subtract it from the left anyways just in case it wasn't showing up. Mirroring doesn't seem to be on, so I'm not sure what the problem is. Here's the blend file
https://drive.google.com/file/d/1KXs7VfyT4T3ggIR00GHaK-14M0KcGKzw/view?usp=sharing

Bone.008 does not respect naming conventions for mirroring:

Names on right part should finish with ".R" or ".Right" (for instance) to be recognized when parenting to bones.
In more details, the documentation:

Examples of valid separators:
(nothing): handLeft –> handRight

“_” (underscore): hand_L –> hand_R

“.” (dot): hand.l –> hand.r

“-” (dash): hand-l –> hand-r

” ” (space): hand LEFT –> hand RIGHT


Worm/Tentacle/Tail/Spine Animation with ease I wanted to rig and animate a worm using IK, so that if i move the tip of the tail i get the bend one would expect. Unfortunately using plain IK the tip will point towards the ground instead of staying parallel, easing into the slope of the arched spine.

This is what i end up with:

Ideally it should look more like a Gaussian function.

I thought that IK limits might help, but they are all relative to the previous bone and not global. To fix this i tried using rotation constraints, however, when the limit values approach usable angles the bend just "flips" along the Z axis so it's bending underground.

Consider using a Spline IK on the armature.

In the animation above the influence of the constraint is keyframed.

Animate the curve as part of your animation.
Animate influence of Spline IK constraint as part of your animation.
Your bones will flow fluidly under the control of the curve.
Save poses.  Many options.

Attach this in pose mode.

Bones in yellow conforming to a curve.  Influence is 1.0 full strength.  The image above.

No bone stretching is depicted here to have length constant.  You are the artist. You can change the setting.

The target curve of the constraint beveled in blue. The image above.

Constraint influence set to 0.0.  No strength.  Bone are [parallel] to XY plane [ground].  Image above.

In the image above you see the curve in edit mode and the bevel for visibility.  You need not render the curve.

In the image above we see only the final bone positions.  The last bone was selected for the IK Spline Constraint.  The chain length specifies how many previous bones are included.

Animation data in graph editor for the Spline IK Constraint Influence.


How to access properties of the 3d Viewport? I've just started trying to write a script to speed up my workflow in Blender, but I'm having trouble interpreting the Python commands that show up when you hover the cursor over a button.

For example, I want to toggle the "Limit Selection to Visible" button in Edit Mode, but keep getting errors. If I click the button, the log/output window shows:

bpy.context.space_data.use_occlude_geometry = True

But if I type this into the console, it gives me an error (see screenshot).

Looking at the Blender API provides some information, but not enough for someone with my limited amount of scripting experience.

Just taking the python line from the log window and pasting that into the console works for some things, but not others. Any ideas why?

Many thanks in advance.

Operators and properties are often context sensitive. It means they need to be executed from specific context (screen area). Your example needs to be run from View_3D context, so it cannot run from the Python Console.
Luckily, there is a way to access different screen areas and get their types and properties. In your case use_occlude_geometry is a property of SpaceView3D, thus only accessible from that space:
for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        if bpy.context.active_object.mode == 'EDIT':
            area.spaces[0].use_occlude_geometry = not area.spaces[0].use_occlude_geometry

You can paste and run the above example in Python Console as a multi-line command or run it from the Text Editor as usual.

However, best practice for Addons is writing your own Operator to match the context:
import bpy

class OccludeGeometryToggle(bpy.types.Operator):
    """Toggle Occlude Geometry Option in 3D View"""
    bl_idname = "view3d.toggle_occlude_geometry"
    bl_label = "Occlude Geometry Toggle"
    bl_options = {'REGISTER', 'UNDO'}

    @classmethod
    def poll(cls, context):
        return context.active_object.mode == 'EDIT'

    def execute(self, context):
        context.space_data.use_occlude_geometry = \
            not context.space_data.use_occlude_geometry
        return {'FINISHED'}

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

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

if __name__ == "__main__":
    register()

Once the operator is registered, press Space in Edit Mode (since the poll() method checks whether the active object is in the correct mode) and type "Occlude Geometry Tog...".

Note that the code above used to work till Blender 2.79. Since version 2.8+, the property use_occlude_geometry was removed from the API. A similar effect can be achieved by the property shading.show_xray -- it's not exactly the same thing though, because it also makes grid lines peek trough the object.


How to make an object go around another circular objects? I am making a sort of steampunk element and I want to have small bolts go around a cylinder. I'm not sure what would be the most precise and quick method to achieve something like that:

My current model:

p.s. Also preferably with out using a curve modifier)

You may use an Array Modifier with the constant offset enabled.
Add an Empty (it'll be your pivot point). Next select the object, enter Edit Mode and place it as fas from Empty as you like. Being in Object Mode apply transformations (Ctrl+A) and add an Array Modifier to the object. Check the Constant Offset and Object Offset checkboxes. Select Empty below the second one.

Now just rotate the Empty (in your case by 60 degrees).


How to deal with a "non manifold edge" high count I have an object with a high non manifold edge count. Is there a way to resolve them automatically or a way to make it easier to solve them manually?

Some of them are edges without a face and others are cubes connected to the object by one edge.
The object have a high polygon count because it is the result of various modifiers applied.

__

Edit:

When I delete those edges they leave others "non manifold edges"

After deletion, the solid is open and some new non manifold edges are formed

Using  make faces creates some non manifold vertices

If your concerned about non-manifold edges then you plan to 3D print this model. In that case I would add some "material" to the edges being joined. By that I mean some solid printed material that will hold the pieces together rather than a flimsy paper thin join that can break easily.

Start by separating the joined edges. Add a small bevel CtrlB so that the new edge is wide enough. You may want to display edge sizes while doing this, see Mesh display in the properties panel. The width you use here will depend on the material you plan to use, the width of the new edge added by the bevel should be at least the minimum material thickness you can use. Repeat for the other edge.

Select the vertices or edges around both new beveled faces and bridge edge loops (in the specials menu W)

This will remove the non-manifold edges and leave you with a solid join in your printed model.

You may want to bevel these new edges to get a more rounded join.

Another option is to move the cubes together so that both beveled edges meet up and then remove doubles. This will effectively make the corner of the cubes intersect a little and depends mostly on your needs. If your using the array modifier then you can intersect each cube by using and offset a little less than 1.0, I'm not certain if this overlapping non-connected geometry is acceptable for 3D printing so you may have to manually join the overlapping areas.


Problem moving selected UV islands with Python I've read all questions and answers about moving UV island here. The most relevant are these:

How to move selected UV Island?
Python - move UV for selected items

But they do not solve my problem, my code is just not working. What is wrong with my code?

for area in bpy.context.screen.areas:
    if area.type == 'IMAGE_EDITOR':
        bpy.ops.transform.translate(value=(125, 0, 0), constraint_axis=(False, False, False), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1)
    else:
        area.type = 'VIEW_3D'

This is the result:

The other areas changed to VIEW_3D, but the IMAGE_EDITOR area did not make the translate. The translate is still happening to the object in VIEW_3D.

I've change my code, and use one "meta-code" - inside my code, I've opened an "Text Editor" area, and include another python file. At least, this is my code:

text = bpy.data.texts.load("translate.py")

for area in bpy.context.screen.areas:
    if area.type == 'IMAGE_EDITOR':
        area.type = 'TEXT_EDITOR'
        area.spaces[0].text = text

        ctx = bpy.context.copy()
        ctx['edit_text'] = text
        ctx['area'] = area
        ctx['region'] = area.regions[-1]

        bpy.ops.text.run_script(ctx)
        break

for area in bpy.context.screen.areas:
    if area.type == 'TEXT_EDITOR':
        area.type = 'VIEW_3D'

And, my translate.py code:

import bpy

area = bpy.context.area.type
bpy.context.area.type = 'IMAGE_EDITOR'
bpy.ops.transform.translate(value=(-0.449219, 0.425781, 0), constraint_axis=(False, False, False), constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', proportional_edit_falloff='SMOOTH', proportional_size=1)
bpy.context.area.type = area

Thanks everybody :)


Export files do not have carriage returns I have Blender 2.77 installed on 2 vms, xubuntu 15.04 and win7. (Parallels 10). In the linux vm there are no problems with exporting -- everything works okay.  In the win vm I can only export .ply or .stl files in Ascii. If I try to export .obj or .fbx, the output files do not have carriage returns. (All options unchecked, z-axis up). Can someone tell me why this happens? (Zip version of Blender).

thanks,
Whiffee

The answer to this is older than Blender itself and therefore not Blender-related. There's nothing wrong with your files, Windows and Unix/Linux based operating systems handle CR/LF differently.

Windows still uses the old MS-DOS "\r\n" while Unix/Linux uses "\n". You need either an editor that is capable of auto-detect the used format or (on GNU/Linux) try dos2unix to convert your files.

[Edit] Under the hood the Carriage Return + Linefeed ("\r\n") is actually 0D0A in ascii hexadecimal ... if you looked at the windows/dos created file with a hex editor.  A linux (unix) file would show just 0A.


How to switch between fk and ik when they are separate armatures? I have a model that I want to be able to switch between IK and FK. The ik and fk bones are two separate armatures but connected through bone constraints. How would I be able to switch between FK and Ik and keep the position when posing?
Kind of asking the same question here: How can I seamlessly switch between IK/FK?? but the armature in this question is all one armature instead of two like I'm asking. Also, this was asked in 2.7 and I need to know where it is in 2.8/2.9

IK/FK switches are constructed using three groups of bones: FK chain, IK chain and a deforming chain.
The deforming chain bones have a set of constraints that make them copy the FK loc rot and scale, followed by a set of constraints that make them copy the loc rot and scale of the IK chain.
By animating the influence slider of this last set of copy IK constraints (generally using a single slider, and drivers to control all the constraints at once), you will switch between IK and FK, that can be in separate rigs without problems.
The premade sliders you see in the previous answer are related to Rigify rigs only, which builds for you the IK/FK set, adding some more convenient options, like a snap IK to FK and a snap FK to IK function.


How can I display what happens in the system console inside blender's console? I have a button created by my script. I wonder how I can display what the system console displays but inside blender's console. CoDEmanX did this by running a script inside it as shown here, but I want to display what happens in the system console inside blender's console.

My .blend file can be found here:

First redirect output from Python's stdout into your own buffer,see: How to redirect output from 'bpy.ops.*'?
Then run bpy.ops.console.scrollback_append with the console space set using an override, see: https://blender.stackexchange.com/a/31398/55

Hello world example that prints text into the first console found.

import bpy

def console_get():
    for area in bpy.context.screen.areas:
        if area.type == 'CONSOLE':
            for space in area.spaces:
                if space.type == 'CONSOLE':
                    return area, space
    return None, None

def console_write(text):
    area, space = console_get()
    if space is None:
        return

    context = bpy.context.copy()
    context.update(dict(
        space=space,
        area=area,
    ))
    for line in text.split("\n"):
        bpy.ops.console.scrollback_append(context, text=line, type='OUTPUT')

console_write("Hello World")


Can't see F-Curve in Dope Sheet I am not sure why I can't see the F-Curve in Dope Sheet.  And when I hover over the Wrench symbol, it says "F-Curve modifiers are disabled."  How to fix?
Here's what I have:

And here's what was shown in an animation tutorial:

The Dope Sheet and the Graph Editor are different Editors.
Dopesheet shows keyframes only.
The Graph Editor will show f-Curves
You can toggle/switch from one to the other by pressing Ctrl+Tab
Or to access the Graph editor directly by pressing Shift+F6


3D Manipulator/Origin behaviour issues due to 'Displayer Modifier' https://youtu.be/lXeRm33Xi8E

The 3D Manipular/Origin of the individual vertices are not correctly visually displayed.

After the 'Display Modifier' is checked in an Armature Modifier to display the pose of a object in edit mode. The data for the 'origins' of the vertices remain the same, acting as if I am still looking at the 'Rest Position' instead of the 'Pose Position'

Their is some variable I am unaware of that makes it so the data, matches up with the visual aid.

No, there is no variable that allows you to do that.  But what you should look into is the Corrective Shapekeys addon, which basically makes a mesh from your pose for editing, then restores the models original pose when you're done editing.  It's bundled with Blender, you just have to enable it.


Can't select Edge loop (Alt + RMB is failing ) On my Mac I am used to select an edge loop with Alt RMB. Suddenly it does not work in the blender file I am working on. If I open a new file, create some loops in a cube and ... I can select an edge loop with ALT RMB. Why is ALT RMB not working in this one blender file here

While in Edit Mode, you have the ability to limit the kinds of selections that your cursor can make.

When I took this screenshot it was set to Vertex selection mode here, the two others are Edge selection and Face selection.

When in Vertex selection mode you can't pick edges or faces directly.
When in Edge selection mode you can't pick vertices or faces directly.
When in Face selection mode you can't pick edges or vertices directly, as a consequence this prevents edge loops from being selected

You can have multiple modes active at the same time, which can be handy, by holding down shift and click on the icon.


How to change shortcut for snap to view? When I hold  MMB  and pan/orbit and press Alt it snaps the view to front,right etc.
Is there a way to change that hotkey to Shift so that when I hold MMB  and press Shift I will snap to the view?

At the very bottom of this image you can see where the shortcut can be changed in User Prefs → Keymap.I searched "MM" (middle mouse) by Key-Binding to find it more easily.


Sleeve isn't being weighted correctly when parenting to rig I have a model that has an arm with a short sleeve on it.  At the moment, the clothing and body are all part of the same mesh (the attached images are using a simplified version of my setup).
I'm trying to rig my character using rigify.  After generating the rig, I parent my mesh to the new rig by pressing Ctrl-P and select Armature Deform with Automatic Weights.  While this does bind the arm part of my model correctly, it does not seem to affect the sleeve.
How do I bind my sleeve?

I figured out a solution.  By adding some extra control bones specifically for the sleeve, I was able to get it to bind with useful weights.


Merge touching faces on model I have a model like in the following image:

There is a mesh for this object made of many individual cubic boxes. Every individual box has its own 6 faces, so where they touch with another box, there are 2 faces on the same place touching (and some of the cubes intersect each other, so their faces are inside each other).

I want to simplify this model and

Remove internal faces (those touching each other)
After removing faces, also remove unnecessary vertices

What's the way to do this in Blender? (using version 2.66)

I suggest to

Join the objects into one object / mesh (select all cubes in Object Mode, CtrlJ)
Enter editmode, select all A (if not already) and Remove Doubles (in W menu)
Deselect all A
Select > Interior Faces
Delete > Only Faces X


Material preview mode transparency (Blender 2.8 Eevee) I am in the material preview mode in Blender 2.8, using Eevee renderer. What material settings do I need to set, to get a transparent object in the viewport? The use-case is when modelling an object with reference side/front/top images - I'd like to be able to see the image behind the object that I'm modelling. Otherwise, the image is covered by the mesh that I'm working on.

Solution 01
Add a reference image

Blender can add Reference images, that are visible in the 3D viewport, but not in renders.
They're great choice for modelling, and have many options available.
Add > Image > Reference

Solution 02
Enable transparency in Eevee

To make a material appear transparent in Material preview, use the Alpha value.
Don't forget to set Blend mode to Alpha-blend.
(If you cannot find these settings, switch to Eevee render engine in the render tab)


Is it possible to create a path from an existing object animation? Once you have an animated object using typical key-framing (other methods such as physics, driver or NLA apply too).

It could be useful to apply the motion to a path:

to adjust the evaluation time
edit curve points points may be easier
have many objects move along the same path.
ability to follow the path.

Is there a way to do this?

Note that rotation and scale won't be taken into account.

Would the BTracer Addon work for you?

It creates a bezier curve object from any animation by tracing an object, mesh vertex or particle motion path through the scene space for every frame.

Have in mind that it doesn't convert the animation for you it only traces and creates a curve object from it. You may then manually rebuild your animation to use this path, although some transformations may be lost or not translate completely as expected, like rotations.

EDIT

Select your animated object, and in 3D View > Tool Shelf > Misc Tab > BTrace Panel you will find all the settings you need.

Choose the Mesh Follow option
Expand the Settings button
Choose Object option to trace the object center.
You can also set the step size so there is less than a vertex per frame, although it probably comes at the cost of accuracy
Press the Curve Settings button bellow
Choose the desired Bezier curve interpolation (you can change here the type of handle from vector to aligned or auto)

In the end if there are too may vertex maybe you can clean up a bit with the Simplify Curves addon (in Blender by default), though again probably at the cost of accuracy.

Now I am not much into animation so I am not sure how this may go, maybe someone else more experienced as a better workflow but:

You can then either clear the animation of your object and parent it to the curve and use the Properties Window > Object Data > Path Animation for the curve object;
Or clear the animation of your object and use a Properties Window > Constraints > Relationship > Follow Path and pick your curve.

Not sure which one is best.


Bge action editor fade out I'm making a fighting game in the game engine, and I have 2 action actuators. One is always playing an idle animation on layer 1, and the other plays the attack animation when I press w on layer 0. As I can't always be sure the idle animation will be on frame 1 when the attack starts, I have it blend in to the attack animation, and it looks fine.  However, when the attack ends, it snaps back to whatever frame the idle animation was on. Is there a way to blend back to the idle animation or assure it will be on frame 1 when the animation ends? Thanks.

Add a Boolean property to it to keep track if it's active.
A Boolean is a simple True / False variable.

Have the idle animation loop while True,
then reset to the first frame when False.

Use a Property Sensor to check it's value.
https://docs.blender.org/manual/en/dev/game_engine/logic/properties.html


How can I make a specific color on my model emit? On my model I have red areas on the grey texture. I accomplish this by adding a 2nd texture and using an RGB curve to single out the dark red only.

I would like to get the red areas as you can see below, to glow as if they where hot.

Current nodes

Using Emission in place of the Diffuse BSDF for the 2nd texture:

I've tried adding emission in there, but it seems to just increase the amount of red over the surface of the rock, and cranking it's strength up increased the amount of red though the brightness stays about the same. I want to keep the amount of red the same, but make it seem as if it where hot and giving off light.

Edit: There is a pretty large chance that I'm going about this completely wrong though.

The weight factor of the red component is used for mix shader. The weight of the red component my be unsuitable. It may be too  small. If the red image has only red components keep this in mind for the math.  If red highlight image were actually bright white and black with maximum white values in some areas that would be desirable.  Multiply the weight of the red by 3 with a math node.  When red is normalized RGB->BW it may have been divided by three.  What you may have intended was ... to use the red color only as a basis for brightness and do not consider green and blue.  A single red color can only have 1/3 the brightness of bright white. Some mathematical liberties taken. It would be best if your red highlight image has very bright red areas.  Scaling by a value greater than 1, ... 3 or 4 for example,  will help to bring the brightness in the range you desire.  The highlight image may exist as black and white, rather than red, and be recolored to any other color in the Compositor.
Assuming you are using materials with emission shader. Increase the strength of emission for blinding brightness.
Your color curve may be unsuitable. All brightness may have been wiped out. Remedy. Make everything too bright.  Bring bright side to the middle.  Then reduce artistically.  My compositor color ramp may serve as an example.  Notice how the white color dominates most of the color ramp.
Know that the compositor can user Alpha Over node to lay images with transparency on top of one another.
Use an EMISSION shader and diffuse shader to the mix shader, if you continue to use the materials approach.  You clearly have a better chance of getting a bright color with the emission shader.
Compositor, compositing pixels, compositing nodes, with a color ramp can threshold colors and produce bright colors.  Next blur the edges.  Materials are a different approach.
Below is a compositor image of your original images.  I have used a color ramp to threshold the brightest color and dilated them to white.  White is easier to see then red. The border has not been removed.  This is an illustrative technique example not artistic for a single picture.

Make sure you texture coordinates are correct for UV


Character holding an object I'm trying to get a character (robot) to catch a vinyl record. I have both objected linked into a blend file. I tried to use a Child of constraint on the vinyl record and parent it to the thumb bone of the character. It's moving, but it's not following the thumb. In fact it appears like it's going in the opposite direction. below are a couple of screen caps to show my issue

I'm thinking that some how the bone axes and the object axes are not aligned. So it's not following it properly? But I'm not sure and don't know how to go about fixing that.

Any help would be much appreciated.

I think I figured it out. when I add the childof constraint I was picking the armature object. But when I used the picker took and pointed it at the armature of the robot, it showed a different object; the proxy. Once I selected that, things worked as I expected.


How to make a somewhat stiff pneumatic tube? I tried using softbody physics on a path, but, the path then behaves like a string rather than a stiff tube. I want the  pneumatic tube to behave something like the tubes in this: https://www.youtube.com/watch?v=klLI5skuwj4

You can use a cloth simulation for this.

Scene Setup
To begin with, I added a simple bezier curve, then edited and beveled it. I then converted it to a mesh object, and built the other simple cuboid mesh object you can see in the pictures.
Next, go into edit mode on the curve (now a mesh), and select the ending vertices to setup a vertex group to pin them. Add a new vertex group and assign these verts to it.

Parent the curve to the cuboid mesh (that means the curve mesh becomes the child of the other), and add a cloth simulation in the physics tab of the properties panel.
Note: All of the above should be trivial, but if you need more information, let me know.
Cloth Simulation Setup

I disabled everything in the cloth settings except for pinned vertex group.

I started with the "leather" preset, as I felt that was closest to the desired physics settings.

The quality steps is not super important to keep high, but will be noticeable if set low (e.g., below 5).

If the speed multiplier is set lower, things look more like string (they move faster); if set high, it looks more like the desired tubing (I used a value of 3 in the demo).

Make sure to setup the vertex group for pinned verts by enabling "pinning" and then setup a vertex group (assign the vertices that are on the edges of the tube) for it.

I decreased the "bending" relative to the leather preset. As the tooltip says, it basically sets the size of the waves: higher is bigger, lower is smaller.

I increased the "structural" stiffness factor because the tubing has a more stiff overall stiffness than leather would.

I decreased the "spring" damping from 25 to 15, because I wanted a bit more jiggling when I did the shake animation.

I increased the "air" damping to slow it down further. This seems to behave similarly to the "multiplier" setting, although the values are entirely different.


Inverse Kinematics in BGE not working I'm beginning in Blender and trying to create my first test game, but now I'm stuck in the creation of a aim system.

Basically I created a tank model and associated an armature in it. Then, I created a cube (IK_target) which gives the position where the tank should aim to. I used Inverse Kinematics to achieve this, and I actually did some progress.

When in Pose Mode, the Tank aims to wherever the Cube is, but when I run the game, the armature moves but the mesh didn't deform. Am I missing something?

I already used the actuator "Run Armature" in the armature, but it didn't work.
I searched internet around and found this guy with a similar problem, but I couldn't solve as he did.

Here is the blend file.

PS: Let me know if there's another way more sophisticated or simple to achieve this result.

Just quoting one solution that Daedalus_MDW gave me in another thread.

to solve your issue, you need to make the armature a parent of the mesh. but then collision wont work. heres how it should look.
-> simple collision mesh (low poly invisible physics)
-v> armature
--v> visual mesh (pretty hires stuff)
make sure everything is at (0,0,0) location, otherwise unusual things may occur.

It worked as expected :)


How can I scale bezier points without curve anchors being affected? I made a circle, then went into edit mode. Selected two opposing points and went to scale. I'd like to prevent the amount of curve from being affected. I just want to move points uniformly.

I hope that makes sense.

Without restricting the anchors (using the circle as an example object), if you were to scale the two opposing anchors you'd end up with a peanut shape (due to the curves also scaling). What I want is to end up with an oblong oval -- using edit mode. I know I can achieve the same effect in this case by scaling along the x or y axis in this case in object mode but I figure for more complex shapes this would not be the case.

This is because the points handles type is set to Automatic by default. You can try convert them to Free before you scale it.
To do so, in Edit Mode of any Curve object :

Select the points you want to scale
Hit V (or menu: Curve > Control Points > Set Handle Type) and choose Free. The handles change color.
you can now scale points the way you want, constraining them or not, and the handles won't scale accordingly. They will keep their original alignment.
Beware to don't change their type again to Automatic, because it will re-scale them according to their point's new position.


Blender Render Smoke, vs viewport how to match? Using the quick smoke option in blender I created blue smoke,

When its disturbed is gets these great hue of color green dark blue and purple mixed in. Yet when I render it loses those properties and resolution

http://prnt.sc/e6bhpe . the domain has 256 divisions border collision is open, and density is .001 in the behavior tab. How can I match the  blender render to the viewport?

I overcame this by rendering in OpenGL. (Top left of 3D window, open "Render" tab and select "OpenGL RenderAnimation")


How can I apply color to a digital elevation model and a border? I am trying to make a map from a digital elevation model using this tutorial. So far it's working well. I have a plane where displacement is set to the corresponding color/height of the DEM. And the map looks good.
I am now trying to color the map using a vintage USGS map. The map I want to use as a base color for my DEM-plane includes both the map itself and a border. I used GIMP to cut out the map-section from the USGS map and apply it to the DEM which worked, however I am now trying to add in the border. My first idea was to add a second plane directly under the first, use the full USGS map as a base color for this plane, and then have the plane with the elevation model sitting on top of it. Unfortunately, the plane underneath cuts into the DEM-plane at low elevation areas.

Next I tried applying a mask modifier to the base-layer plane, so that it is only visible where the DEM-plane doesn't exist. Upon adding the mask modifier however, the bottom plane disappeared completely.
Am I going about this wrong? Is there a way to do something akin to a clipping mask in Adobe Illustrator, where my base-layer-plane isn't visible in areas it is overlapped by the DEM-plane, or is there an entirely different workflow that would work better? The effect I'm going for is something akin to Scott Reinhard's maps, where the elevation appears to be sitting on top of the paper it's printed on.
I'd be really grateful for any advice here. This is my first time using blender, and it probably shows. Thanks in advance for your help.

Ultimately the solution I found that seems to have worked is just adjusting the z values for the layers in question. I Set the base map at 0, then the elevation model 1. This may not be the most elegant solution (again still new to blender) but it seems to be good enough, and easier to implement than some sort of clipping mask.


Can Windows Blender load a project from a WSL2 filesystem file? Windows can access WSL2 paths as \\wsl$\Ubuntu-20.04\home\me\scene.blend but I can't type that path into blender's File>Open dialog box (2.93 alpha nightly of 2021-01-18) to load my project into Blender running on windows. Is there another way to load projects from a WSL2 distro (or otherwise use weird NTFS path names like this) into Windows blender? (Other than copying the .blend file to Windows filesystem of course)

As recommended by @AllenSimpson, the simplest answer is to create a Windows symlink:
mklink /d c:\wsl2-home \\wsl$\Ubuntu-20.04\home\me and then in Blender you can open c:/wsl2-home/scene.blend as usual.


How do I get rid of curved edges that bridge the two edge loops together in attached model below? I have a model of a Rook, after applying a sub div modifier and creasing a few edge loops I am left with these curved edges that form the bridges between the edge loops as shown in the image. Auto smooth is enabled. I want the curvature of the upper edge loop to continue.

link to model: https://drive.google.com/open?id=1pOFzSxaiFRGXxxMSYnYX707fe1JY9bKK

Reasons:

The edge is missing a crease, so the Subdivision Modifier deforms it.
You've enabled the On Cage option in the modifier panel, which prevents you from noticing it.
Your model is too low poly, the Subdivision modifier doesn't know which way to curve the edges.

Solution

Add a crease to the edge, or add some loopcuts.
Disable the On Cage option - it has no benefit here, only hides real geometry.
Add more geometry, so you can better control the curvature.

Add more geometry.
If you only add loopcuts, you'll need to correct the shape.
It's easier to rebuild the model with more sides.


Hiding any mesh when another mesh touches it I have a bunch of balls [Meshes], I want them to disappear or hide when another object [Mesh] (A specific Mesh) touches it.

Describe the way they should disappear. You can use dynamic paint.

But it seems like a job for Animation Nodes: https://github.com/JacquesLucke/animation_nodes


Problem when scaling on X axis I am trying to scale the following selected area along the x axis, so that it goes wider and will allow me to develop the shoulder area

However when I do so, some of the vertices seem to go inwards rather than outwards (see red in second image), which is causing problems

Any ideas what I can do?

Many thanks
Adam

You seem to have some sort of mirroring applied: all your vertices on the left half of the mesh are just mirror images of the vertices on the right. Therefore, the median point of your selection is not at the middle of the mesh, because it only takes into account "real" vertices, the ones on the right. When you "Scale", your vertices will all move away from that point.

Make sure that your 3D cursor is somewhere on the middle plane (it looks like it already is), then select "3D Cursor" as your pivoting point:

Finally, you should be able to { S, X, move your mouse } to scale.


Exporting keyframed Shape Keys to .gltf in Blender 2.80 I have been trying to export a sequence of shape keys that I imported from an .mdd file using the .gltf file format in Blender 2.80. I defined the sequence as an action in the shape key editor and checked sample all animations in the exporter, but when I import the created file back into Blender the shape keys are there but the animation is not. Any ideas what could be going wrong?

The Blend file

I checked that file, I did that steps: exporting .mdd file, creating a new cube and imported previously created .mdd file. All works fine and animation works.


How to iterate a texture more times? I added material (tiles on floor) into my object and after that it looks like below

No of tiles are added automatically when I adding material. But I need to add more tiles(small tiles). Is there any way to do it in properties?
Please help me

In Cycles you can do this by using the Mapping Node and adjusting the Scale values.

The higher the Scale values, the more times your texture will repeat within the texture space.

If using Blender Render you can change the scale of the texture here:

If this will be for a game you may consider scaling the UV Layout instead.


Can't assign a shortcut to "Randomize" When I navigate through the menu to Randomize and try to assign a shortcut, it doesn't take.

Trying to assign a shortcut manually isn't working either:

I've tried lots of different shortcut combinations, so I don't think it's a key conflict.
What could be the problem?
(Using Ver2.9.0)

So basically what you are facing is a shortage of appropriate shortcut options . You want to assign a shortcut which has R in it but you know that r is for rotating in all the modes , so you could've tried ctrl R but thats loop cut , alt R is clear rotation and shift r is repeat last action , so the final option is that you can go and add some other key like combinations of O for the shortcut because we are running out of shortcuts


No option seen to export .3ds in 2.8 How can i export in .3ds format in 2.8. I can't find option. I have search in addon also.

See the developer discussion about it here: https://developer.blender.org/T62576

It seems it is dropped officially. Personally, I still use it because sometimes that's the only format I can get models I need in, but while it's inconvenient, it is still possible to import 3ds to Blender 2.79 and copying models from 2.79 to 2.8 is no problem. As for exporting, there does not seem to be a direct way at the moment. I think the only convenient and straight forward option is to find another suitable format for your needs, and that should not be difficult. There is also a good chance someone will make an addon as 3ds is apparently still widely used and scripting the addon is probably not extremely difficult so it might just be a matter of time till it comes back.


How to deform a surface 3-dimensionally with two curves I was trying now for a few hours, no chance. As seen on the screenshot, I want to deform that triangle 3-dimensionally so that it looks a bit like a tent. The red marked edge and vertex on the opposing side (the anchors) have to stay right in place because I apply other modifiers in the next steps. I too apply the Mirror Modifier which is active on that screenshot.
I want to deform it as follows: the orange edge has to be deformed on the "Z" and "Y" coordinates to get the shape a little bit like the yellow curve. Same with the turquoise edge to its corresponding curve on the "X" and "Y" axis. The rest of the vertices have to follow proportionally. Well... I tried it manually by proportional editing, but that would be very difficult to achieve what I want.

EDIT: I edited my question so it would be understandable without a picture.

Ok, a triangle with one straight edge, two concave edges, and a concave bridge between them.
Let's start by making a triangle out of a plane like this:

Then delete only the face by selecting everything and pressing X, N.

Subdivide all three edges with 2 cuts and extrude and scale inward about this far.

Using individual origins (. for pie menu), scale the edges up until the corners are close enough to merge.

Press M and merge by distance. Increase the distance until the message at the bottom shows 3 vertices have been removed.

Select everything and fill with F.

Add a subsurf.
Holding Alt, click twice on a boundary edge to select the whole boundary. You can then set the edge creases to 1 with ShftE.
Tweak the vertices to your liking and you will get something like this:

If the normals are flipped, in edit mode, just press ShftCtrlN to calculate the normals to face opposite the "normal" direction (since the mesh is concave).


Map a procedural texture like an image texture Is it possible to map a procedural texture like an image texture?

Image textures have the posibility to be mapped flat, cubic, spherical etc.

Can I take for example the x and y part of a procedural and map it cubic, so this x and y canvas is mapped equaly to every side of a cube?

EDIT:
Sorry qeustion was asked wrong: I wanted this for Cycles Renderer.

Blender Internal:

Yes, procedural textures can be projected the same way as image textures. In the texture tab, scroll down the procedural texture's settings to the Mapping group. You can find the projection and axes drop downs there.

Cycles:

Cycles does not offer shape projections (cube / sphere / tube / flat), but using but a Texture Coordinate Input node set to Generated or Object, and a Vector Mapping node, a similar effect can be achieved. Just play with the scale and rotation values to fine-tune the effect:


Shape keys problems deformation? My question is about shape keys and how we can use them properly.
the shape key doesn't work well, I can't figure it out what the problem is and how to solve it?

is you can see in the picture I cant rotate it 90 degrees without the deformation problem, can I rotate it 90 degrees without any problem? thanks in advance.

A shapekey interpolates the position of each vertex linearly.

As you can see in the exemplary illustration, positions both points halfway between the Shapes will result in a new shape, which resembles neither of the keys.

You are seeking a rigid deformation, this is best done with Armatures. Since you are only animating a single object, you can simply key its transformation by pressing I and selection LocRot (for Location and Rotation). Then translate and rotate it on the desired frame and key it again.

An object's or a bone's animation will perform a matrix transform on the vertices, which is what you want, since it will keep their relative structure unlike the morph between two shapes.

Shapekeys are best used for deformations (like mouth shapes) where the transformation is not rigid.


Uploading to Sketchfab I'm new to 3D modeling but familiar with Sketchfab and the model creation process through photogrammetry. I'm trying to create realistic transparent clouds in Blender using the Cloud Generator plugin:
[

They look great in Cycles renderer. I've unwrapped UVs from the cloud mesh and saved the image as a .png. I've uploaded the model using the integrated uploader in Blender, and I've manually added the .png in Sketchfab, but all I get is something that looks like this:
[

I've also tried enabling "automatically pack into .blend" in Blender as described in this Sketchfab article. The final effect I'm going for is something like this cloud.

Sketchfab does not always show the image of your model as published but reverts it to the original state before you modeled it in their viewer, looking for an answer to this issue also but till then I have been using this method to be sure the viewers see the work product I wish to show.
I have been using screenshots loaded to google storage and adding a link
above the model description .


2 questions: 1 - what is wrong with the tip of my mesh? 2 - Why does the bevel modifier have 2 different effects? About the first(I have mirror, bevel and subdivide on it)

About the second(same as the first one, just bevel doesn't work the same for 2 meshes and I want them both to look like the left blade)

EDIT: here's the file -

Problem 1.

Sometimes a Mirror modifier enforces triangles in a mesh which can be removed after the modifier is applied. In this particular case, when the triangles are eventually removed, the pinch will go, too. (The surface isn't illustrated here, just the topology)

Problem 2.

The width of the bevel created by the Bevel modifier is not being defined by the modifier's 'Width' setting, but being limited in both meshes by the 'Clamp Overlap' constraint. That constraint is different in the two meshes. If you set the 'Width' of the Bevel to a much smaller number, say about 0.01, then you can achieve the same actual bevel width in each mesh, as on the left, below.

If that width is not acceptable throughout your meshes, then you could, for example, make more selective Vertex Groups, and bevel to different degrees for each Group.


How to enable double sided normals or double sided faces for rendering in python API? How to enable double-sided normal rendering in the python API of blender?

You can set Mesh.show_double_sided flag to True for all mesh objects:

import bpy

for obj in bpy.data.objects:
    if obj.type == 'MESH':
        obj.data.show_double_sided = True

Alternatively you can iterate through the mesh data blocks and set the flag:

import bpy

for mesh in bpy.data.meshes:
    mesh.show_double_sided = True


Can I copy my objects to another scene? In my game every level is a different scene and i want my character to be in all of them. Also is there a way to make changes that only affect my character in a particular scene?

You can make as many copies of your character than you need by selecting it and using Shift+D repeatedly. The copies will not be linked, thus you can modify each one in any way you want without affecting the others.


OBJ files coming out gray, no color My OBJ file for a model on the game robux has color but when I import it into the blender it comes out gray? Can anyone assist me

Depends in what way the mesh is colored. Vertex colors or texture. Obj file format is officially not able to transfer Vertex color. You would need another file format to do so. FBX for example.

When the "color" is a texture, then this texture is most probably missing. Have a look that the texture is in the same folder than the obj file, and that there is a *.mtl file available. That's part of the *.obj file, and defines the material settings.

When this doesn't fix it then the path to the texture inside the *.mtl file might be wrong. Most probably an absolute path with a C:\ at the beginning. Like C:\myfolder\mytexture.png. Open it with a text editor, search for the map_kd part and change it to a relative path. Which is basically just the texture name: mytexture.png

Cycles is not able to import the texture from an obj file yet. You have to have Blender Internal renderer activated. So when the previous step also doesn't help, then simply add the texture inside Blender.


Array modifier not working as expected I'm trying to create a car rim in Blender. However when I try to add array modifier, and rotate the instances around empty, they are not in the same distance from the center (as shown in the image). I can't figure out, how to put them in the same distance from centerpoint and I haven't found a satisfying answer. Thank you in advance.

Unless you specifically need the driver for the relative offset, turn off relative offset and remove the driver.

The Object Offset doesn't work the way you're expecting it to. The second item in the array will be moved the same distance from the first item, as the first item is from the empty. The second item will be rotated as many degrees from the first, as the first is from the empty.

So, to get the effect you want follow these steps:
NOTE: Even if the origin of your rim "piece" is already supposed to be at the center of the rim, these instructions will be the same. You'll just have a few things on top of each other.

Set the array "Count" to 1 (just for now)
Place the first element on the rim exactly where it should be
Place the empty in the exact same location as that element, with the exact same rotation as the element
Place the 3D cursor at the EXACT CENTER of your existing rim
Change your pivot center to "3D Cursor"
Select the element (without selecting the empty)
Set your array count to the number of elements you want to end up with (5, I think?)
Then rotate just that first element and the rest will project ahead of it
Adjust until the desired effect is achieved
???
Profit

Hope that helps!


How to texture large objects? I have recently completed a model of a maze, however, I am having a hard time texturing it. It's one big object, and I have no idea how to texture it to get a good resolution, can anyone tell me how to texture it with a good resolution.

I see there are a lot of boxes and hard angles in your mesh. As a result, you could try something like this, if you are okay with a certain level of randomness.

Basically, it uses Blender-generated Texture Coordinates and the Box preset found in the Image Texture node. The scale values on the Mapping node determine how much the texture is spread out. You can adjust different ones until the texture displays to your liking. There is also a Bump node to make the plants look less flat. If you so desire, you could also look into the Displace modifier for additional bumpiness. All of this info is fed through a standard Diffuse BSDF shader.

I found a simple leaf texture on textures.com. It is seamless, so you should not be able to tell where one iteration start/ends. You can simply download a low-res version here:

Lastly, this is an example of how the texture might look on your maze.

Hope this helps and happy Blending!

=Puck


How can I select every nth objects? I converted a particle system to "real" objects.

I got thousand of them...
I would like to be able to select every nth object.

I've seen it is possible to select items with a pattern, but is it possible to select every n item ?

Thanks.

Hoorray

I made my first Blender python script, and it works !
See here.

"""
nthObjectSelector by gordielachance
This will reduce your current selection of object to nth objects.
https://gist.github.com/gordielachance/ba32a3087f8d327bfdeb9d0ea7fb4935
"""
import bpy

#SETUP
nth = 3 #Specify your nth value here !

#list of selected objects
list_all = bpy.context.selected_objects

#start by unselecting everything
for obj in list_all:
    obj.select = False

#now only select nth
list_reduced = list_all[::nth]

for obj in list_reduced:
    obj.select = True

#debug
print("nthObjectSelector ({}) : selected {} out {} objects".format(nth,len(list_reduced), len(list_all)))


What causes this different bone influence? I have added some bones to a mesh, and I have parented them using "Parent -> With automatic weights" in Blender 2.82.
It looks like this:

Now when I rotate the lowest bone (Blender named it "Bone"), it rotates the entire mesh like this:

However, when I rotate the smallest bone (Blender named it "Bone.001"), it only rotates a very small part of the mesh. Here is what it looks like:

What causes this difference in the rotation effect? Why is the behaviour so different? I guess it's not the bone size.
The mesh shown is part of a zombie face. In my game, the hero can shoot zombies, and at a head shot, part of the zombie's face is ripped apart.
The ripped apart skin is still attached to the head, but waves like a flag in the wind with every move.
To do this, I have created a mesh for the part that should be ripped apart. Then I have added bones to this mesh in order to simulate its movement.
Then, in Unity, I haved used the tool "Dynamic Bone" to simulate the movement.
This tool required a "root", and I have used "Bone" as the root.
The script then however moved the entire mesh.
To check why it did that, I have used posing in Blender to check what happens if I rotate the bones. That is how I got to know that the bone do not all work the same.
Thank you!

Your first bone, called Bone, is the parent of all the bones, so, when you move it, it will move the part of the mesh it is supposed to influence, but it will also move all its children bones and therefore all the parts of the mesh that these other bones influence.
When you move the small bone, called Bone.001, it only moves itself + the part of the mesh it influences.
If you want each bone to influence its own part of the mesh and be independent you need to unparent with altP > Unparent.
If you need a root bone, create a new bone wherever you want next to the others. Select this bone and go in the Properties panel > Bone, deactivate the Deform option. Now, to parent all the other bones to this one: select them all, select the root at the end, press CtrlP > Keep Offset.


Adding checkbox overlay for addon i'm working with stats show addon

But i really want to add checkbox for visibility here

How to propetly get layout of this panel and add checkbox?

Upd

Solved by AFWS

Download final script

You would prolly have to edit the overlays file to get it in that location. Pretty easy to add settings to overlays though.

import bpy

def draw_stats_overlay(self, context):
    layout = self.layout
    win = context.window_manager

    layout.label(text="Show Stats")
    layout.prop(win, 'stats_toggle')

def register():
    bpy.types.VIEW3D_PT_overlay.append(draw_stats_overlay)

    bpy.types.WindowManager.stats_toggle = bpy.props.BoolProperty(
        name = "Toggle Stats",
        default = False
      )

def unregister():
    bpy.types.VIEW3D_PT_overlay.remove(draw_stats_overlay)
    del bpy.types.WindowManager.stats_toggle

if __name__ == "__main__":
    register()

Edit:

You might could do something like this.

Remove just the guides settings.

import bpy

bpy.utils.unregister_class(bpy.types.VIEW3D_PT_overlay_guides)

Add the settings back with the new setting.

import bpy

def guides_with_new_settings(self, context):
    layout = self.layout

    view = context.space_data
    scene = context.scene

    overlay = view.overlay
    shading = view.shading
    display_all = overlay.show_overlays

    col = layout.column()
    col.label(text="Guides")

    col = layout.column()
    col.active = display_all

    split = col.split()
    sub = split.column()

    row = sub.row()
    row_el = row.column()
    row_el.prop(overlay, "show_ortho_grid", text="Grid")
    grid_active = (
        view.region_quadviews or
        (view.region_3d.is_orthographic_side_view and not view.region_3d.is_perspective)
    )
    row_el.active = grid_active
    row.prop(overlay, "show_floor", text="Floor")

    if overlay.show_floor or overlay.show_ortho_grid:
        sub = col.row(align=True)
        sub.active = (
            (overlay.show_floor and not view.region_3d.is_orthographic_side_view) or
            (overlay.show_ortho_grid and grid_active)
        )
        sub.prop(overlay, "grid_scale", text="Scale")
        sub = sub.row(align=True)
        sub.active = scene.unit_settings.system == 'NONE'
        sub.prop(overlay, "grid_subdivisions", text="Subdivisions")

    sub = split.column()
    row = sub.row()
    row.label(text="Axes")

    subrow = row.row(align=True)
    subrow.prop(overlay, "show_axis_x", text="X", toggle=True)
    subrow.prop(overlay, "show_axis_y", text="Y", toggle=True)
    subrow.prop(overlay, "show_axis_z", text="Z", toggle=True)

    split = col.split()
    sub = split.column()
    sub.prop(overlay, "show_text", text="Text Info")
    sub = split.column()
    sub.prop(overlay, "show_cursor", text="3D Cursor")

    if shading.type == 'MATERIAL':
        col.prop(overlay, "show_look_dev")

    split = col.split()
    sub = split.column()
    sub.prop(overlay, "show_annotation", text="Annotations")

    #Add my new setting here
    sub = split.column()
    sub.prop(context.window_manager, "stats_toggle", text="Toggle Stats")

def register():
    bpy.types.VIEW3D_PT_overlay.append(guides_with_new_settings)

    bpy.types.WindowManager.stats_toggle = bpy.props.BoolProperty(
        name = "Toggle Stats",
        default = False
      )

def unregister():
    bpy.types.VIEW3D_PT_overlay.remove(guides_with_new_settings)
    del bpy.types.WindowManager.stats_toggle

if __name__ == "__main__":
    register()

Addon example

bl_info = {
    "name": "Overlay Stats Test",
    "version": (0, 0, 2),
    "blender": (2, 82, 0),
    "location": "",
    "description": "",
    "warning": "",
    "wiki_url": "",
    "category": "3D View",
}

import bpy

#Guide settings with new setting added
def guides_with_new_settings(self, context):
    layout = self.layout

    view = context.space_data
    scene = context.scene

    overlay = view.overlay
    shading = view.shading
    display_all = overlay.show_overlays

    col = layout.column()
    col.label(text="Guides")

    col = layout.column()
    col.active = display_all

    split = col.split()
    sub = split.column()

    row = sub.row()
    row_el = row.column()
    row_el.prop(overlay, "show_ortho_grid", text="Grid")
    grid_active = (
        view.region_quadviews or
        (view.region_3d.is_orthographic_side_view and not view.region_3d.is_perspective)
    )
    row_el.active = grid_active
    row.prop(overlay, "show_floor", text="Floor")

    if overlay.show_floor or overlay.show_ortho_grid:
        sub = col.row(align=True)
        sub.active = (
            (overlay.show_floor and not view.region_3d.is_orthographic_side_view) or
            (overlay.show_ortho_grid and grid_active)
        )
        sub.prop(overlay, "grid_scale", text="Scale")
        sub = sub.row(align=True)
        sub.active = scene.unit_settings.system == 'NONE'
        sub.prop(overlay, "grid_subdivisions", text="Subdivisions")

    sub = split.column()
    row = sub.row()
    row.label(text="Axes")

    subrow = row.row(align=True)
    subrow.prop(overlay, "show_axis_x", text="X", toggle=True)
    subrow.prop(overlay, "show_axis_y", text="Y", toggle=True)
    subrow.prop(overlay, "show_axis_z", text="Z", toggle=True)

    split = col.split()
    sub = split.column()
    sub.prop(overlay, "show_text", text="Text Info")
    sub = split.column()
    sub.prop(overlay, "show_cursor", text="3D Cursor")

    if shading.type == 'MATERIAL':
        col.prop(overlay, "show_look_dev")

    split = col.split()
    sub = split.column()
    sub.prop(overlay, "show_annotation", text="Annotations")

    #Add my new setting here
    sub = split.column()
    sub.prop(context.window_manager, "stats_toggle", text="Toggle Stats")

#Guide settings without new setting
def guides_without_new_settings(self, context):
    layout = self.layout

    view = context.space_data
    scene = context.scene

    overlay = view.overlay
    shading = view.shading
    display_all = overlay.show_overlays

    col = layout.column()
    col.label(text="Guides")

    col = layout.column()
    col.active = display_all

    split = col.split()
    sub = split.column()

    row = sub.row()
    row_el = row.column()
    row_el.prop(overlay, "show_ortho_grid", text="Grid")
    grid_active = (
        view.region_quadviews or
        (view.region_3d.is_orthographic_side_view and not view.region_3d.is_perspective)
    )
    row_el.active = grid_active
    row.prop(overlay, "show_floor", text="Floor")

    if overlay.show_floor or overlay.show_ortho_grid:
        sub = col.row(align=True)
        sub.active = (
            (overlay.show_floor and not view.region_3d.is_orthographic_side_view) or
            (overlay.show_ortho_grid and grid_active)
        )
        sub.prop(overlay, "grid_scale", text="Scale")
        sub = sub.row(align=True)
        sub.active = scene.unit_settings.system == 'NONE'
        sub.prop(overlay, "grid_subdivisions", text="Subdivisions")

    sub = split.column()
    row = sub.row()
    row.label(text="Axes")

    subrow = row.row(align=True)
    subrow.prop(overlay, "show_axis_x", text="X", toggle=True)
    subrow.prop(overlay, "show_axis_y", text="Y", toggle=True)
    subrow.prop(overlay, "show_axis_z", text="Z", toggle=True)

    split = col.split()
    sub = split.column()
    sub.prop(overlay, "show_text", text="Text Info")
    sub = split.column()
    sub.prop(overlay, "show_cursor", text="3D Cursor")

    if shading.type == 'MATERIAL':
        col.prop(overlay, "show_look_dev")

    split = col.split()
    sub = split.column()
    sub.prop(overlay, "show_annotation", text="Annotations")

def register():
    #Check to make sure overlay guides panel is registered
    if hasattr(bpy.types, 'VIEW3D_PT_overlay_guides'):
        #Unregister if overlay guides is registered
        bpy.utils.unregister_class(bpy.types.VIEW3D_PT_overlay_guides)

    #Append guide settings with new setting when addon is registered
    bpy.types.VIEW3D_PT_overlay.append(guides_with_new_settings)

    #Remove guide settings without new setting when addon is registered
    bpy.types.VIEW3D_PT_overlay.remove(guides_without_new_settings)

    bpy.types.WindowManager.stats_toggle = bpy.props.BoolProperty(
        name = "Toggle Stats",
        default = False
      )

def unregister():
    #Remove guide settings with new setting when unregistering addon
    bpy.types.VIEW3D_PT_overlay.remove(guides_with_new_settings)

    #Append guide settings without new setting when unregistering addon
    bpy.types.VIEW3D_PT_overlay.append(guides_without_new_settings)

    del bpy.types.WindowManager.stats_toggle

if __name__ == "__main__":
    register()
```


Units and measurements and such 2.79 and 2.80 I am trying out both 2.79 and 2.80 and notice the behavior being the same.

I set the units to imperial and then changed the size of the default scene cube to something reasonable like 5cm. Then I applied the scale. My goal at this point was to make a radial array of 4 items, so I moved the cube 10cm on the x axis. Then I attempted to add an EMPTY cube which seems to come out huge.So I attempted to resize it by changing the dimensions, but it seems that I can put all sorts of numbers and units in the dimension boxes and in response blender just changes these values to some random number/unit combination even so far as up into miles and km.

It also seems odd that though I can choose units such as mm or inches, when looking at things the dimensions are shown in whatever blender seems to be in a whim to show, such as "thou" or "ft" with lots of decimal places.

Either:
 1. there is a bug, and it carries over between 2.79 and the current beta of 2.80, (my gut tells me this is unlikely)
or
 2. I, personally, and not handling units correctly perhaps missing a step somewhere. (as a n00b this would be my guess, since it seems pretty complex of a program)

If I am just doing it wrong, can someone point me in the right direction for how to do it right?

I don't see units other than 1 in 2.7 when setting the scene scale; I don't see mm or centimeters or meters (in the properties panel > scene tab)?

  I can put all sorts of numbers and units in the dimension boxes and in
  response blender just changes these values to some random number/unit
  combination

Blender adjusts from Meters to Centimeters to Millimeters as needed I think, eg.: when you scale from 99cm to 100cm it changes to 1m automatically (in the N panel).

  Then I attempted to add an EMPTY cube which seems to come out huge.So
  I attempted to resize it by changing the dimensions, but it seems that
  I can put all sorts of numbers and units in the dimension boxes

I don't see any dimensions boxes, just "scale" in the N properties panel, and "size" in the "empty" data tab of the properties panel.  I did notice the scale seems to be double what it should be, ie. mesh cube was 10cm but the empty cube was the same size, but says 5cm.  May be a bug or maybe a sort of radius measurment (measured from the origin)? Idk.
GL OP : )


Is there a way to determine why Blender is running so slow? I have a pretty large project (about 1GB, 4 scenes) and recently Blender has become too slow too use.  A couple of annoying things, other than just lagging are:

I can not scale or move objects with the mouse, (nothing happens) so I have to type in values

I have tweaked my GPU settings several times and used this project on Windows and Linux (dual boot) and see the same problems on each.

Is there any sort of performance monitor or profiling that would be able to say what part of the project is running so slowly?

Another guess would be that it could be an issue with the hardware. Perhaps the CPU is having a hard time because of the number of cores? Another possible theory is that there are other programs in the background taking up all of the extra resources to speed things along. Another possibility is that the number of vertices in the scene is high that it lags. You may have to, as neighborlee suggested, to do something to reduce the high poly count.


How do you remove the overlap of two mirrored, hollow, conical, cylinders? How do I remove the overlapping middle sections of these two merged cones? I need to remove the part of these two cones that makes it look like a Venn diagram; so that the two cones are one shape with one large opening and two small openings.
I'm trying to represent binocular vision, if that helps you understand.
Here are a couple screenshots:

Create a bottomless cone object centered around the midpoint between the two cones.
In Edit Mode move all the geometry to one side the required distance so the cone is centered on the eye.
Now add a Mirror Modifier to the cone and turn off clipping. Activate bisecting for the X axis (or whatever orientation fits your particular model) and it will cut the cones at the bisecting plane.


How do I make objects not renderable in OpenGL Render / overlays disabled on Blender 2.8? I have some mesh that i do not want to be visible when disabling the overlays button but they still do so, in Blender 2.79 checking the Render only box was enough but here it doesnt work like that. any ideas?

p.s., the object is not supposed to be rendered in render mode either

I believe you can disable it in your collections, I generally put the meshes I don't want rendered in a separate collection, then when it comes time to render out I turn off that collection.  Hope this helps


Im new to blender and I'm having issues with colour differences in solid mode and render mode In the pictures theres quite alot of difference in colour, is it an issue to do with light or material?
help ;-;

This is Eevee
It may have to do with the lighting and or HDRI viewport settings see pic


Keyframe Transform Problem Hello I'm making a rifle reload animation, so when my animation ends, my rifle should go default transform but when i copy first keyframe and paste as a last keyframe, i see they are not same transform. What are the possible reasons?

On the first frame, have you keyed all your selected channels with 'i' pressed -> Location/Rotation or whatever transform you are animating?


Geometry distorting in Camera View I was doing a YouTube tutorial called Easy Soft Body Simulation and ran into an issue where the plane that I set up for the background is distorting in camera view.

It's a very simple set up with one plane for a wall and one for a floor. In the layout view, the wall is a solid 90 degree plane painted black, but when I put it in camera mode (using 50mm), the wall is shortened significantly and slanted back at an angle. To be clear, the wall is not slanted in any way other than in camera view.

Because of this, there is a small triangle that shows in the render, where the wall and floor meet. As soon as I move the camera even slightly, the issue vanishes, but reappears in camera mode.

Is this user error (me, the noob) or a bug of some kind?

It's a clipping issue. If you increase the far plane of the camera you will see the entire wall.

With the Clip End set to 1000m it looks like this:

I'm no sure if you intended to scale your models that large. Perhaps it would be a good idea to scale all of them down. Your ball is currently 5.77m in diameter.


why does my smoke animation shown in the viewport shading but not shown in the render shading this is the tutorial that I followed https://www.youtube.com/watch?v=k8lHVnQdtSA&t=615s
I did everything on the blender 2.8, but I did not see the buttom that enables the volumetric render, and I dont know if that is my part of the problem.
Here is some setting that I took, and the screen that shows the volumetric render option but not the buttom that can enable it

I guess you are missing the text in the attribute node, but in my opinion if you use Blender 2.8, instead of using the old way, you can try the new way using new volume shader, Principled Volume Shader


How do I check if a line or a linear object 3d is perfectly straight along the X axis for example? Being a not too complicated question I have found a myriad of similar questions about it but it seems to me that they do not fully answer what I am looking for, which is actually much simpler than it seems. If there is already any question that can answer this please link it to me.
In my walls the different sections are clearly crooked, so when I go to join them, a small crack remains. I tried to fix everything manually but sooner or later something gets distorted somewhere else. My question is this:
1). Is there a tool similar to the '' leveler '' that can tell me if the object or the selection line is perfectly straight along its axis?
2). Alternatively, is there a way to straighten everything, in this case along the x axis, horizontally?
I have already tried different methods, I always use shortcuts to make sure I always move straight along the axes, but now I don't know what is straight and what is not.
Thanks in advance.

Here's a video- This could be a way for you to do this.
Video: Blender: How to Align Vertices, Edges or Faces - Revised

Also the align tools options. Video: Align tools

For more exact dimensions there's a good tutorial that has helped me.  I do a lot of 3D printing and I use Blender as my CAD modeller along with the Cad Transform plug-in.
Video: Cad Transform plug-in


Why some objects are not rendered in the final rendering? So this is how it looks when I get a preview rendering in the 3D viewport:   https://imgur.com/a/7r0Wk1k

This is how it looks when I press render for a final result:

https://imgur.com/a/rzbA0eO

I have no idea what's happening. Can someone help me figure the problem out?

I figured it out. I have to go to the OBJECT MODE -> W -> Clear

Objects can be set to 'Restrict Render' - effectively to exclude them from the render (the camera icon in the Outliner window). The W shortcut brings up a Specials menu with 'Restrict Render Unselected' and 'Clear All Restrict Render' options - the first option sets all objects except those currently selected to be hidden, while the second option sets everything back to render.


Delayed Line Paths Animation How would I make an object follow a line path, but not right away?

For example make a character do something while standing still for a while, then make him start walking on the line path, then stop, and continue doing something else?

Whenever I use “follow path” constraint, The object changes location even if the origins of the object and the line are in the same spot. So keyframing the influence bar will move the character.

Any ideas?

When you create a Follow Path constraint, it automatically gives the curve an Animation Generator modifier. If you want to control this animation manually you need to delete this generator in the Graph Editor > properties panel (N). Then you'll be able to give some keyframes in the Properties panel > Data > Path animation > Evaluation Time value of your curve.

You can test: when you change the Evaluation Time value, it moves your object along the curve. So put your cursor where you want in the timeline, move the object where you want along the curve with this Evaluation Time value, then put your cursor over the Evaluation Time and press i, then create a second keyframe wherever you want on the timeline, and the object will interpolate.


Rigged object suddenly not rendering I've been working on this model for days, finally got the texture right and the rigging right (ish).  Until I started posing the rig, everything rendered beautifully.
Then I had a boatload of trouble with the rig caused by a very large cat, and I ended up having to unparent the mesh from the rig and re-parent it.  Ever since then, I have not been able to get the mesh to render.  Spent hours searching the internet looking for a solution but so far no suggestions have worked.  I'm using Blender 2.78 on a Macbook Pro.

Okay, found the problem; somehow, under Duplication, I had Group chosen instead of None.

I blame the cat.


Paint with FillBrush I am trying to paint parts of the model with FillBrush, but when I apply the fillbrush it paint all the model

I want to be able to paint of white some part, not the whole model

My model is on a black background and I am trying to paint some parts white

Test:
-If I paint a part green and then I use fillbrush on green, green change to white

-If I paint on the model (texture paint) it paint all the model (from black to white)
-If I paint on the UV map(black background) on a piece, All model is painted

It feels like I am filling 'colours' intead of 'parts'

The Fill Brush does not do what you are expecting it to do.

The fill brush simply fills the entire image, irregardless of color, back facing, occluded faces or anything else. That is true when used in the UV Image Editor or the 3D view.

There is no way with the fill brush to fill just one color, like can be done with in photoshop's paint bucket tool.

The only way you can limit the fill brush's reach is by masking the faces.

In texture paint mode hit Tab, that will bring you to edit mode.
Select the faces you want to paint.
Press Tab again to go back to texture paint mode. Now press M to turn on the masking feature. (Do note that you can select and unselect faces in texture pain mode when the masking is turned on by  ShiftRMB  on the faces.)
Now when you use the Fill Brush it will only effect the selected faces.


Move and extrude axis locked? Introduction

I am new to blender in general but got half a dozen CAD-Systems in my toolbelt. While I am used to each system having it's own quirks Blenders idea is quite different from a classic cad-system used in engineering, leaving me kinda dumbstruck.

Issue

My problem is simple: Whenever I try to transform an object or extrude an edge or vertice, my extrude axis is locked to Z.

Additional Informations

My Object has a modifier to mirror on the z-x plane (normal to y), and the selected vertices/edges can be all found on the z-y plane (normal to x).
My scales are 1/1/1, I think it has something to do with me using shift to move the view during extruding. But I cannot find where I can see if an axe is locked or not, any help would be greatly appreciated.
Snap is turned off.

Solution attempts:

I tried using mmb to switch the locked axis, I tried e + direction trying to enforce extruding direction, I tried shift + direction to lock and unlock different axis. I am kinda frustrated since these are basic commands anybody uses and I got no clue where they are even shown :(

Are you certain it is locked to the Z axis, and not the normal axis?
Both the normal and the Z axis have a blue color, so it is easy to mix them up.
You can see to which axis the extrusion is locked in the status bar while extruding.

You can change the axis the extrusion is locked to by pressing the key corresponding to the respective axis, so either one of X, Y or Z.
Pressing one of these keys twice switches between global and local axis, pressing a third time removes all axis constraints during extrusion.

If the selected face normals are not parallel or perpendicular to the global XYZ axii, you will not be able to align to the global XYZ-axis using middle mouse button, as that references the face's normals.

It's also important to know that the default hotkey for extrude(E) will not 'just' extrude as it actually is 'Extrude and Move on Normals'.
This means that, by default, it will always try to extrude along the normal axis of the selected face.

If you want to change this behavior, you can change this in the settings. This will change the E hotkey to extrude without aligning to any axis, requiring you to set the axis yourself each time you extrude.

Blender 2.79 and older:
File > User Preferences > Input: Make sure the search bar is set to 'name' and search for 'extrude'.
Under 'Mesh', there is the option 'Extrude and Move on Normals'. Expand that setting and change view3d.edit_mesh_extrude_move_normal to mesh.extrude_region_move. Click 'Save user settings' at the bottom of the window.
You can reset this value by clicking 'Restore' to the right of 'Mesh' in this same window if required.

Blender 2.80:
Edit > Preferences > Keymap:
Make sure the search bar is set to 'name' and search for 'Extrude'. Expand the option and change view3d.edit_mesh_extrude_move_normal to mesh.extrude_region_move.
You can reset this value by clicking 'Restore' to the right of 'Mesh' in this same window if required.


How do you make the perfect S curve? I have tried using the Curve Modifier but it doesn't form a perfect S curve. The Bezier curve is perfectly curved but objects with Curve Modifier are not perfectly curved.

The mesh and the curve need to start in the same place for best results.
Your mesh is probably a bit offset.

Set both origins to the same place
Make sure both curve and mesh start at their origin point
Done.


Any simple way to merge two cube objects together? I've just started using Blender to try to make some basic 3d models for games. I must admit I'm finding it very difficult to get to grips with, but AFAIK it's the best 3d software to use with Unity for animations etc. so I am going to keep at it (unless anyone can recommend using alternatives, which will import easily into Unity).

Basically like the title says, i want to merge cubes. Im making some block artwork and its done with layers of cubes.

I've spent ages try to link them, tried CTRL-J and lots of stuff on 'W' menu. And some other things, I can't believe its not just a case of dragging mouse over everything and selecting merge tbh.

Here is the picture to illustrate what I mean:

So my end result I need is for this shown above to be a 'seen' as a single piece.

EDIT: So thanks for the answers, I've tried to follow along but I find the UI very hard to understand still. I'm looking for this View Header so I can change my merge settings as described:

and

Thanks to advice from these helpful fellows, here is the finished article :)

two options - first, try turning on AutoMerge Editing option in the 3d viewport header in Edit mode so that vertices moved into the same position get merged. Might be able to just to press G to grab without moving, confirm action with LMB, and get the vertices to merge if Removing Doubles is not merging good enough when increasing the threshold in the Last Operator panel (press F6 to open after operator execution).

Second way can be to use the Array Modifier to model with Merge checkbox in modifier's options enabled, and then apply the modifier in Object mode.


How to extrude and leave the original in place? How can I extrude a part of a surface, while leaving that part in place? That would mean the extrude function makes a copy.

For example, when I subdivide a face of a cube in 9 squares and extrude (E) the middle square, I get a little cube on top of the initial cube. However, when I hide the top face of the little cube it's clear that the little cube has no bottom. How can I extrude while leaving the bottom in place?

The most practical procedure on ANY mesh would perhaps be select the Face, Shift+D (duplicate), cancel (Esc), extrude (E)


Clearing info with python script I am planning to log operator usage in blender. For that I found this operator - bpy.ops.ui.reports_to_textblock() collects all the info data into a text block.

I need to clear the info screen every time after collecting the data.
Pressing A & then X , helps clear the screen , but how can I do it with python script ?

Also I want to do it once every 5 mins. Is there a way to setup time recurring tasks in blender?

Using the bpy.ops.info operators

Here is a quick little test script.  The info area operators' context are overriden to emulate running in the info area.

Assumes the info area is screen.areas[0]
Assumes no prior selection of reports.

Script:

import bpy

context = bpy.context
info = context.screen.areas[0] # do properly
c = context.copy()
c["area"] = info

# test call
bpy.ops.info.select_all_toggle(c)
bpy.ops.info.report_delete(c)

Script version of Is there a way to clear the "info" editor?.  Might need to run all or some twice to make sure all is removed.


Bend a cylinder by its middle I would like to know if there's a way to bend a cylinder by its middle so that I can have different versions of it with different bend angles (see picture below). It looks like with a Bend modifier it will bend the whole shape, that's not what I want, but perhaps I miss something. In the picture below I've tested Array + Curve modifier but it's not controllable enough. I also can do it with bones and Copy Rotation Constraint but I was wondering if there was a different way. Thanks by advance!

Array modifiers are actually an interesting way of doing this. Start- and endcaps make all the difference.

First I defined the radius with am empty and extruded a circle, rotating it 5 degrees into a wedge around the empty. Then I fitted the start and end cap. Start cap is easy, end cap needs a bit of tweaking.

The rest is another empty that I rotated 5 degrees around the pivot empty to act as Object Offset for the modifier.

Simply adjust the steps in the modifier, duplicate and apply. Pipe factory.

And that's the result:

As long as you don't need a pentagon, the 5° increments will cover most cases.


Problem of distorsion using the displace modifier with an external displacement map Here my mesh, a simple tunnel with 2 modifiers :

1)  Subdivision surface

2)  Displace Modifier

In particular the displace modifier is created with the default library of Blender, Clouds like the image above shows.

Now i have imported this seamless map below and i want to use it instead of Clouds. There it is:

This is my workflow:

1) I upgrade my definition with sub. surf. modifier, getting almost 200k vertices (this new displacement map need a mesh with more resolution in order to have a decent result).

2) I apply the sub modifier.

3) I select all my mesh in Edit Mode and I used Smart Uv Project for having a Uv Map with these stats below.

4) I open the displace modifier and insert the new displacement map. Here the stats I used:

The final results is pretty decent but there is a problem: there are 3 seams, that I underlined in red.

What could be the problem causing this distorsion? I tryed with many seamless texture and there are always these three lines.

Is there a method to fix it?

Here's the file, just in case

Thank you!!

EDIT: the problem could be created from seams of smart uv project. I tried with the unwrap and the results is this:

There is a way to fix it?

Just make one seam along the whole tube (not around). Simply unwrap it. You should get a square. If it matches the whole UV space it will be seamless.


Weird heightmap borders I want to make a Heightmap into a waterproof body. I create a plane - x times subdivide and then I put a Displace Modifier over it. If I select the texture I get weird edges. Unfortunately, I do not know the technical term for this and therefore have not found a solution. I would like to have the edges just below the lowest point of the terrain at the same height and close the surface. Can someone suggest a workflow to me?

it might be because of the texture.
one quick solution is to make a uv on the object and make it a little bigger then the texture and after that set the Displace modifier to use you uv in texture coordinate options.


How to capture leftmouse up event by python? After seeing bpy.types.Event https://docs.blender.org/api/current/bpy.types.Event.html, and some code examples, I cannot find the event of leftmouse up, only LEFTMOUSE is available. (correct me if it is wrong)

I want to ask how to capture the leftmouse up event using python. Thanks.

As mentioned in the document, the Event.type will tell you which key or mouse button sent the event and the Event.value specifies if pressing or releasing happened.

So you can do something like below in the modal method of an operator for example:

Here ctx is the current context in Blender and the evt is bpy.types.Event instance

def modal(self, ctx, evt):
    if evt.type == 'LEFTMOUSE':
        if evt.value == 'PRESS':
            print('LMB Pressed')
        elif evt.value == 'RELEASE':
            print('LMB Released')
    return {'RUNNING_MODAL'}

A thorough example of using modal event handler is at the link below.

https://developer.blender.org/diffusion/B/browse/master/release/scripts/templates_py/operator_modal.py


Easily Cropping a Video I recorded a video at 1080x1920px resolution, and wanted to crop this video, by removing a little bit from the top and a lot from the bottom.

I went about it by -

Importing the video (drag and drop)
The video was being squished, I managed to fix this by Right clicking on the video -> Movie Strip -> Set Render Size.
I calculated exactly how many pixels I wanted to crop from the top by clicking on the preview and noting down the readings on the Y axis.
I then did some basic math and converted the Y axis readings to the appropriate offsets and used the Adjust -> Crop to enter these offsets.
I then changed the Render dimensions by calculating the difference between the original height and the sum of the offsets.
Ensured the height is divisible by 2.

This was quite cumbersome. Is there an easier way to do this in Blender? Ideally I would love it if I could just drag a box over the desired area and Blender does all these calculations for me.

Grap the Transform Tools add-on: https://github.com/tin2tin/VSE_Transform_Tools


Making a hollow, 3-D pipe/duct: after joining two cubes, how can I delete the surface inside the pipe/duct to make it hollow? What is the simplest possible method for making a 3-D hollow pipe/duct out of two cubes in Blender?  One example of what I'd like to achieve is shown above (I would like to do this many times and change the dimensions of the joined bodies).  This question has been asked before.  I have spent the last couple of days googling and trying to understand explanations, but either I get lost or nothing has worked for me.  It seems like many of the available explanations are designed for 2-D and I can't extend them to my setup.

More detail:
I have to use two cubes of different size to make a pipe/duct.  I will have to do this many, many times, so would prefer to find a fast method.  I can't eyeball/estimate anything about the fit or size or orientation of the cubes because I'm trying to make a geometry for use in a simulation.  My problem is that when I join the cubes, I have a surface crossing the pipe/duct at the join (in the figure below, this surface is oriented the same way as the grid).  I have tried using the "knife project" tool, but I don't have vertices in the right place to use it and can't figure out how to get them.  In one online resource, someone mentioned a "Union" addon, but it doesn't appear in my list of add-ons.

Is there a simple way to do this?  All I need to do is get rid of one surface of each cube and then join the cubes.

First of all, I don't know if I quite understood the question correctly, but  what I got out of it tells me you have a shape like this:

And that you want to make sure that the intersection there is clean, and not screwy.

This can be accomplished with Loop-Cut-an-Slide tool. It can be accessed in edit mode by pressing Ctrl + R. when you place it on the upper cube, it looks like this:

Don't bother sliding it, just click and place it there for now. Next you're gonna want to turn on vertex snapping, it can be found on the bottom bar of your 3D view-port. Click the magnet to turn on snapping, then click the grid icon just right of it and change it to vertex, portrayed by a grey cube with two white studs on it

once this is enabled you can select the four vertices of the loop you added and hit G + Z to Grab them down on the Z axis.

now, if you mouse over one of the vertices of your bottom cube until an orange circle appears around it, then click to finish placement.

Now all you have to do is remove those inner four vertices to get a clean cut.

If you add two loop-cuts on the bottom cube and hitS + X
 to Scale them on the X axis and then snap them to the new bottom of your top cube. Now remove doubles and your gold!

You can also do this by simply grabbing the four vertices that you don't like and G + Z to Grab them up on the Z axis until they snap with the top of the top cube.

Sorry for the super long answer. :D hope this helps, Ciao!


Blender 2.82 Properties cannot be added and used within an operator? I was trying to go along with a 2.80 scripting tutorial.. But property names cannot be defined.

Invoke works as intended but no idea why this is failing.

import bpy
from bpy.types import (
    Operator,
    Panel,
    PropertyGroup,
)
from bpy.props import (
    BoolProperty,
    IntProperty,
    )

class Subdivide_operator(bpy.types.Operator):
    """Subdivide"""
    bl_idname = "object.subdivide_operator"
    bl_label = "Subdivide"
    bl_options = {'REGISTER', 'UNDO'}

    sub_visible: bpy.props.BoolProperty()
    sub_levels: bpy.props.IntProperty()

    def invoke(self,context,event):
        return bpy.context.window_manager.invoke_props_dialog(self)

    def execute(self, context):
        subdivide = bpy.context.object.modifiers.new(type="SUBSURF",name="Qsubd_subdv")
        subdivide.show_viewport = sub_visible
        subdivide.levels = sub_levels
        bpy.ops.object.modifier_apply(apply_as='DATA', modifier="Qsubd_subdv")

        return {'FINISHED'}

class A_Panel(bpy.types.Panel):
    bl_label = "Layout Demo"
    bl_space_type = 'PROPERTIES'
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"

    def draw(self, context):
        layout = self.layout
        layout.operator("object.subdivide_operator")

def register():
    bpy.utils.register_class(A_Panel)
    bpy.utils.register_class(Subdivide_operator)

def unregister():
    bpy.utils.unregister_class(A_Panel)
    bpy.utils.unregister_class(Subdivide_operator)

if __name__ == "__main__":
    register()

Annotations are properties of the class instance

Bold question title, for what in the end is a python syntax error.

The error is because the property annotations of the operator need to be referenced from the instance (self)

subdivide.show_viewport = self.sub_visible

Without, the script is looking for a local variable sub_visible that is not defined. Error message in question

Recommend looking at the templates that come with blender Text Editor > Templates > Python and reading the documentation.

A clean up...  spot the difference between this and question code.  I use the nvim editor.  It does a lot of clean up for me, or flags unused imports etc.

If imported, use the imported types and props.
Use the recommended naming convention for operator and panel types.  See Docs.
When context is passed, use it. Don't get into the habit of bpy.
everything.

Added min and max for subdivision property value. 0 and below will produce an error, trying to set to 12 could produce a meltdown.

A poll method as it requires an object and object mode and a mesh  context.object.type == 'MESH'

import bpy
from bpy.types import (
    Operator,
    Panel,
)
from bpy.props import (
    BoolProperty,
    IntProperty,
)

class OBJECT_OT_subdivide(Operator):
    """Subdivide"""
    bl_idname = "object.subdivide"
    bl_label = "Subdivide"
    bl_options = {'REGISTER', 'UNDO'}

    sub_visible: BoolProperty()
    sub_levels: IntProperty(
        min=1,
        soft_max=6)

    @classmethod
    def poll(self, context):
        ob = context.object
        return ob and ob.mode == 'OBJECT' and ob.type == 'MESH'

    def invoke(self, context, event):
        return context.window_manager.invoke_props_dialog(self)

    def execute(self, context):
        subdivide = context.object.modifiers.new(
            type='SUBSURF',
            name="Qsubd_subdv")
        subdivide.show_viewport = self.sub_visible
        subdivide.levels = self.sub_levels
        bpy.ops.object.modifier_apply(
            apply_as='DATA',
            modifier=subdivide.name)

        return {'FINISHED'}

class OBJECT_PT_subdivide(Panel):
    bl_label = "Layout Demo"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'

    def draw(self, context):
        layout = self.layout
        layout.operator("object.subdivide")

classes = (OBJECT_PT_subdivide,
           OBJECT_OT_subdivide,
           )

def register():
    for cls in classes:
        bpy.utils.register_class(cls)

def unregister():
    for cls in reversed(classes):
        bpy.utils.unregister_class(cls)

if __name__ == "__main__":
    register()


Shape key driver not working with IK bones Blender version 2.79: I configured a shape key driver for when the leg rotates in X, to repair the "shoulders", but the problem is that the repair shape key shows all the time, even when the bone is not rotated. Here is the file:

You should try some or all of the following things:

Unlock the shapekeys:

In your Driver Editor, choose Type > Averaged Value:

Create a Modifier > Generator with a X value of -1: