text:
Vertex texture painting does not work because of scale
When I want to vertex texture paint I can't paint anything. I can paint other objects in the same scene until I scale an object. Apply scale does also not work. I just want a simple vertex texture paint on a plane :'(

can you add a simple blend file that shows the problem? (How to add a blend file)

I’ve noticed a problem with texture painting that seems to have the brush lining up in the wrong place. This might be a bug…


text:
The object's orange point disappeared in the edit mode, when I use the key tab ( blender : coffee cup level 3 part 2 )

I don't know why after using the tab key
the coffee cup's orange point has disappeared.
Did I lock something or missed something?
Could you mind teach me to solve the problem?
Your are my superhero! Thank You!

you mean vertices by "orange point"? If yes use "1" key to come back to vertex selection mode.

yes!yes!yes!!!Thank you!!!!!!!Thank you!!!!!!!Your are my superhero !

lol, I did well to come...

❤❤❤you saved me!!!!!

source: Stack Exchange

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

sort: votes


text:
How to combine head and body materials?
I have created a character using - head-face from AvatarSDK
body from 3rd party, and I joined both objects.
Now the problem is how to merge the head material and body material?
My scenario:

I created a character by join different head and body- 2 materials (head and body).
Exported the .obj .mtl and compressed into .zip
And Uploaded to mixamo for animation. after rigging I put the animated body into blender where the material is interfered like body material is combined with head.

That's the real issue.
I tried to separate head and body and applied material. It's getting but some part of colour appear in other part.
How to solve?

please add more details to your two sentence question. What do you want to achieve? maybe a screenshot or a sketch would help. How do you want to merge the materials? How does your result look like now?

@Chris sorry, first time.. ok . i updated more detailes

thanks, i think now you will get help. unfortunately this is beyond my knowledge these export/import things

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


text:
Can't connect two line of vertices together of the same object
one half was my body retopology, and for the legs I've made a cylinder. After I created it I connected them into one object, in object mode, but now I can't connect the two together by just pressing F in edit mode, they both have the same amount of loops and they align, I've tried to do it manually by selecting two vertices from both side, as seen on the picture, but in smooth and subdividon on, a black line is visible, any tips why this happens?

try recalculate normals command

as Shantanu Aryan says it may be a problem of inverted normals, try to select all and Shift N to recalculate, or maybe check inner faces, or overlapping vertices (in that case select all and press M > Merge by Distance)

You could select both loops in edge select mode and select "Bridge Edge Loops" command (available by right clicking or in Edge menu). If you still get that shading issues, try to do the actions mentioned in previous comments.

turns the problem was that I for got to delete the face at the top of the cylinder ><. I just had it in hidden wire mode all the time and didn't notice it, thank your time tho.


text:
Soft body squishing
I need to make a short animation displaying a soft paste bieng squished between two surfaces like the photo below.
Could anybody point me in the right direction?

You can try soft body physics and modifiers such as Lattice and Mesh deform, but in the long run I'd suggest it easier and with far more control over shape and expansion, just using shapekeys and scaling keyframes.  At the link is a quick squish job doing it that way.  (the action is deliberately paused at each stage for demo)  The (imaginary) trowel in this case is larger than the blob itself, but can be any size and shape as can the blob's perimeter & thickness.  The link -
https://1drv.ms/u/s!AtkhCKZLZs_Pg2B5yTSXUCuHN6-K?e=fBWJf1

The squishing of glue can be simulated using fluids. The fluids are setup to be very viscous and a plate is pushed into it.

Details - Blender 2.92

Create the geometry for the model. A backplate to smear the adhesive onto, a spreader, and the initial glue shape.

Add a domain for the fluid simulation.

Setup the fluid domain. These setting will generate a thick fluid that does not flow much unless pressed and has some surface tension.

also in the same panel, turn off gravity. This will prevent flow not driven by the force of the spreader.

Setup the spreader as a a fluid collision effector.

Setup the backplate as a fluid collision effector.

Setup the glue as a fluid geometry source.

Animate the movement of the spreader. In this case, a keyframe was entered at time=0 for the spreader to be above the glue. At time=100, a keyframe was entered for the spreader to be closer to the backplate.

Animate! The fluid simulation should be able to updated and complete in a few minutes.

Blender file available here -


text:
How to animate cvt belt as pulleys change size
I was trying to make this cvt belt animation but can't figure it out how to make increase or decrease belt size animation I have tried curves but doesn't work.
Any body can recommend how I can I do a belt animation like this

You might need to activate the Animall addon, (I think that's what it's called) it lets you animate curves which should let you do this.

Instead of having users go through links and external sites please use the builtin tools to embed images in your post. See How to upload an image to a post?

The changes in a CVT belt ratio can be simulated using softbodies in Blender.

Details

Create a new blend file.
Add geometry for the pulleys and belt as shown in the animation.
Set the pulleys physics to act as collision.
Set the belt as a softbody.
Turn off gravity to prevent the belt from slipping.

It take 2 steps to animate the belt size change. First the belt needs to be fit to the pulleys. Then the pulley size can be animated with the belt keeping fit.

Animate the pulleys moving apart to the final location. The belt will stretch to fit the pulleys as they pull apart.
Animate the change in pulley size. The tension on the belt will ensure it stays close the pulleys as they change size.

The blend file is available here -


text:
How to make a cycled cloth simulation?
I want to make a slowly waving(?) flag, but it must be a loop, and i don't know how to do it :( Help me please
P.S. Also interested in making more realistic material with cycles, but that's not necessary

here you find a tutorial, just in case
http://www.blenderguru.com/tutorials/create-an-animated-flag/
in the comments someone suggested, in order to make a loop, to add the same animation - reversed - at the end...

also see other answers here about looping animations, like http://blender.stackexchange.com/questions/440/how-may-i-create-a-continuously-looping-animation.
it is perhaps better, in order to learn, separate the steps: model the flag/cloth/materials, then animations/loop cycles

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


text:
Is it possible to make fluid stick to vertical surfaces without using control object?
Looks like Noslip setting doesn't affect it that much. I'd really like the fluid to stop at the place where it touches the surface, while the upper rest of it would flow further till it contacts the surface and so on.
Also, I'd like to know how to make fluid to avoid collect/assemble/gather/flock/congregate in one place.

could you elaborate? what is the result you're getting? do you want your liquid in general to be sticky, or should it still be like water but become sticky when it hits a surface?

I don't understand that last sentence. What do you mean by "flock in one place"?

@Jbergman edited question ;)

Thanks for the synonyms, but they do not help me understand the question. The fluid will follow the direction of the gravity unless affected by obstacles or control objects. A picture or a blend file would help.

@Jbergman Sorry for waiting and those synonyms, I just don't really know what word better depicts what I want to get (not my native lang). Here's my blend file

Are you trying to replicate the Daredevil intro credits? If so, you should have told us from the start (sure, I get that this is not the place to ask for tutorials, but it would have made things clearer). I actually did some experiments some time ago to do the same thing. Your basic setup is correct, even though there are plenty of details in your fluid sim that are off.

@Jbergman you got me detective! =) I am really trying to repeat it

Ok, so when you say that you don't want the fluid to collect in one place, do you mean that you want the fluid to be kind of layered? I mean to have one layer of fluid flow over another. English is not my native language either, so I hope you get what I mean.

@Jbergman well, kind of. I want the fluid to be ultimately slippy to itself and sticky to obstacle

Yeah, this is tricky. I've had some fun playing around with this, and a lot of settings have to be right for it to even remotely work. Anyway, you should look into the use of multiple domains (how to do that is covered elsewhere on this site) where the result of one fluid sim becomes an obstacle for the next one. I got some interesting results that way. There is no simple solution for your problem, unfortunately.

@Jbergman Could you show me those results of yours, please? It also would be nice if you had a link to that question you mentioned. Thanks

For the basics of setting up multiple fluid domains check http://blender.stackexchange.com/questions/5822/how-to-bake-multiple-fluid-simulations-in-one-scene This does not, however, address the question of "fake" interaction. There used to be good tutorial on the subject by Blender Tuts on youtube, but now that I searched, the account was closed due to alleged copyright infringement... I will play around some more and then I'll get back to you about my results.

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


text:
How does the unlink UVs work?
I've been reading the blender reference manual and stopped at this:

Unlink Selection; Alt-L
  Cuts apart the selected UVs from the map. Only those UVs which belong to fully selected faces remain selected following this command. As the name implies, this is particularly useful to unlink faces and move them elsewhere. The hotkey is analogous to the mesh Separate command.

I tried selecting pieces of my 'map' and pressing the hotkey, but nothing happend. I ask for a brief explanation of what is this and how it works. Thank you for your time.

I didn't find that command in latest versions; similar behaviour can be achieved either with Y shortcut which stands for Select Split (as with mesh editing), or changing Sticky Select mode in UV / Image Editor to Disable.


text:
grease pencil edit mode simplify stroke in python
Can someone can help me to simplify a stroke in grease pencil edit mode?
I'm looking for the equivalent of this command used on curves:

but in Python and for Grease Pencil objects.

UPDATE: The original question has been clarified in a comment on my answer.  This answers the question in the comment.
If you already have a Grease Pencil object set up then you can simply call stroke_simplify with that object selected:
bpy.ops.object.select_all(action='DESELECT')
bpy.data.objects['Stroke'].select_set(True)
bpy.context.view_layer.objects.active = object
bpy.ops.gpencil.editmode_toggle()
bpy.ops.gpencil.stroke_simplify()

This assumes you are starting in object mode.

EDIT: I've left the original answer, in case anyone has a need for it.
Grease pencil is a bit complex, even as bpy subsystems go, so you may want to watch the tutorial series that starts with this video before you try working with Grease pencil in Python.
Basically, before you can draw you need to create a GPencil object, configure it, and give it one or more materials.  Then you can draw strokes on that object.  Here's an example, taken from the tutorial:
gpencil_data = bpy.data.grease_pencils.new("GPencil")
gpencil = bpy.data.objects.new(gpencil_data.name, gpencil_data)
bpy.context.collection.objects.link(gpencil)

gp_layer = gpencil_data.layers.new("lines")

gp_frame = gp_layer.frames.new(bpy.context.scene.frame_current)

gp_stroke = gp_frame.strokes.new()
gp_stroke.line_width = 12
gp_stroke.start_cap_mode = 'ROUND'
gp_stroke.end_cap_mode = 'ROUND'
gp_stroke.use_cyclic = True

pts = [(0.0, 0.0, -1.0), (0.0, 0.0, 1.0), (-1.0, 0.0, -0.5), (0.5, 0.0, -0.5)]

gp_stroke.points.add(len(pts))

for item, value in enumerate(pts):
    gp_stroke.points[item].co = value

mat = bpy.data.materials.new(name="Black")
bpy.data.materials.create_gpencil_data(mat)
gpencil.data.materials.append(mat)
mat.grease_pencil.show_fill = True
mat.grease_pencil.fill_color = (1.0, 0.0, 1.0, 1.0)
mat.grease_pencil.color = (0.0, 0.0, 1.0, 1.0)

gp_stroke.points[0].pressure = 10
gp_stroke.points[0].vertex_color = (1.0, 0.0, 0.0, 1.0)
gp_stroke.points[-1].pressure = 10
gp_stroke.points[-1].vertex_color = (0.0, 1.0, 0.0, 1.0)

If you run the example, it will create an object, GPencil, and then draw some strokes in it, resulting in this:

This is a bit confusing, because the code doesn't generate a Stroke material, so Blender defaults to a Blue color, and while the code generates a material that it calls Black, it doesn't set the material properties, so it ends up with a pink material for the Fill.

thank's @MartyFouts,
I think I phrased my question wrong, I need to simplify the grease pencil stroke in edit-mode
https://media.discordapp.net/attachments/886596110561456169/980102763675537448/smpl_strk.png?width=629&height=466

call stroke_simplify() on the selected closed curve.  You don't need the for loop in your example because you've only got one gpencil object selected.


text:
Why does model look great and detailed in Daz but when I import it to Blender it looks bad?
So in Daz the model looks greatly detailed with a glossy and metallic finish but when I import it to blender the quality looks awful and the metallic finish is completely gone and replaced with a matte white finish and the shine/gloss is not there either. I attached two pictures, one from Daz and one from blender in rendered view. Please tell me how I can fix this because I have tried almost everything to my ability/knowledge but haven’t found a solution. Any help is greatly appreciated!
Daz:

Blender:

They are different shading system, dataA will be translate to dataB, even when you import something from C4D into blender,the problem is the same.The only way is rebuild your material.

lighting and materials but mostly lighting.  The Daz scene has lighting that adds apparent detail to the scene. The Blender scene does not.

please post screenshots, rather than photos of scenes.

Did you export using the fbx export or did you use the DazToBlender bridge?

notice the reflections on the daz scene.  They are likely using an hdri in Daz.  In the screenshots below I am using eevee whereas I think you are using cycles but the concept is the same.
Edit:
Secondly you need to make the actual materials more reflective.  This can be done in the shader editor.  you can do this by adding a glossy shader on to a diffuse shader. adding glossy:

in this first image I have a metalic looking sphere in render preview using the blender default forest.exr hdri.

this is that same sphere in rendered mode with only a point light above it.

to add an hdri you need to go to the shader editor and switch from object to world

you also need to add the hdri as an environment texture.  use shift+a to add a node

final result:

Thank you so much Hunter and everyone else for the comments. I would give you an upvote but I just started out here and don’t have enough reputation.


text:
Blender rendering as wireframe
When I render an image in Blender, it appears as a wireframe. Does anyone know how to fix this?
3D viewport (render preview):

3D viewport (material preview):

Render:

Please use the built in image adding system to put images in your question. As is, yeah that is weird. My first thought is that you enabled workbench render, or possibly have something configured with freestyle rendering that’s doing this.

@TheLabCat I don't have workbench render or freestyle render enabled.

Apple Wireframe modifier.

Can you upload the file?


text:
Add Geometry Nodes String Input via Python Script
So all I'm trying to do is add a String Input in Geometry Nodes via an internal python script.
I'm basically requesting a json file via http and want to create a blender string for each value.

Here's what I tried:
bpy.data.node_groups["name of node group"].new("GeometryNodeInputString")
But apparently it doesn't exist, and sure enough it's not in the docs for this command https://docs.blender.org/api/current/bpy.types.GeometryNode.html
After some digging, I'm fairly certain what I want to add is a "Function Node"
https://docs.blender.org/api/current/bpy.types.FunctionNodeInputString.html
But I have no idea what the correct way of adding this would be.
Any help would be much appreciated!

I'm a little confused.  Do you want to expose the string input in the Group Input node (and thus the modifier) or do you just want to add it to the node tree?

Sorry for the confusion. I just want to add it to the node tree. I edited the post and added an image to illustrate

No problem.  Let me know if my answer is not clear.

If you want to add a new node to a Geometry Node node group, you have to

find the node_group,
create the new node, and
link it into the group.

Here's a simplified example:
import bpy

obj = bpy.context.active_object
node_group = obj.modifiers['GeometryNodes'].node_group
nodes = node_group.nodes

geom_out = nodes.get('Group Output')

string = nodes.new('FunctionNodeInputString')

node_group.links.new(string.outputs['String'], geom_out.inputs[-1])

It starts from the active object and it assumes that the modifier has the default "GeometryNodes" name.  It also assumes that the Group Output node hasn't been renamed.
For your purpose, instead of using geom_out you'll have to select the node that you want the string's output linked to, and instead of geom_out.inputs[-1] you'll have to figure out what input of that node you want to ink to.


text:
Why are my camera keyframes so sharp?

Why are they so sharp? I've tried typing T and making it a Bezier but the only one handle appears

Looks like you don't have ay keyframes after that one, so the F-curve generator is using "hold last value" interpolation.

Here's an example similar to yours:

On Frame 1, I set a location Keyframe.  On Frame 10, I moved the camera up on the Z axis and set another location Keyframe.  I'm only showing the Z curve.
Notice that I've manually rotated the handles for the Keyframe at frame 10 but that has no effect on the curve to the right of the keyframe.  Intuitively, that's because the camera has stopped moving.
Now I've moved to frame 15, moved the camera down, and added a keyframe.  I've also rotated the handles for that keyframe:

Now there's a smooth transition at frame 10, but a sharp one at frame 15.
The F Curve for location always shows the curve after the last keyframe as a flat line, because you've stopped moving the camera.


text:
Add prefix to filename on "Save Blender File"
I want a prefix added to the name of the .blend file when saved through the "Save" File Browser.
Generating the prefix and new filename is no problem, but actually using the new filename is what i need help with.
So, what i want, if possible, is to "hook" into the "Save Blender File" button (or similar) to change the name of the .blend file when it is saved.
I want this to be done through a python addon.

from your question I can't get how it is related to "python" and "add-on" tags you selected..?

@MrZak Op said prefix. Also numerical increments are very simple and limited.

Saving the blend file is performed by the bpy.ops.wm.save_mainfile() operator. This operator accepts a filepath which makes it easy to save the current blend file using a new filename. A simple operator can be created that calculates the new filename and then passes that to the standard file save.
While there is no easy way to alter the file menu without altering blender's bundled scripts, we can add an item to the file menu and disable the existing shortcuts so that the custom save operator will be used.
Edit: I thought this would be more complete if the user can specify a python string that calculates the prefix instead of having to alter the script. I have also included a helper function to easily include a formatted timestamp with timestamp().strftime()
bl_info = {
    "name": "Save File Prefix",
    "author": "sambler",
    "version": (1,0),
    "blender": (2, 71, 0),
    "location": "File->Save Prefixed Blendfile",
    "description": "Add a prefix to the filename before saving.",
    "warning": "Runs user specified python code",
    "wiki_url": "https://github.com/sambler/addonsByMe/blob/master/file_prefix.py",
    "tracker_url": "https://github.com/sambler/addonsByMe/issues",
    "category": "System",
}

import bpy
import os
import time, datetime

class PrefixSavePreferences(bpy.types.AddonPreferences):
    bl_idname = __name__

    prefix = bpy.props.StringProperty(name="Prefix calculation",
                    description="Python string that calculates the file prefix.",
                    default="timestamp().strftime('%Y_%m_%d_%H_%M_%S') + '_'")

    def draw(self, context):
        layout = self.layout
        col = layout.column()

        row = col.row()
        row.prop(self,"prefix")

def timestamp():
    # convienience function that is available to the user in their calculations
    return datetime.datetime.fromtimestamp(time.time())

def fn_prefix(context):
    user_preferences = context.user_preferences
    addon_prefs = user_preferences.addons[__name__].preferences
    return eval(addon_prefs.prefix)

class PrefixFileSave(bpy.types.Operator):
    """Set a filename prefix before saving the file"""
    bl_idname = "wm.save_prefix"
    bl_label = "Save Prefixed Blendfile"

    def execute(self, context):
        outname = fn_prefix(context) + bpy.path.basename(bpy.data.filepath)
        outpath = os.path.dirname(bpy.path.abspath(bpy.data.filepath))
        print(os.path.join(outpath, outname))
        return bpy.ops.wm.save_mainfile(filepath=os.path.join(outpath, outname),
                    check_existing=True)

def menu_save_prefix(self, context):
    self.layout.operator(PrefixFileSave.bl_idname, text=PrefixFileSave.bl_label,
                icon="FILE_TICK")

def register():
    bpy.utils.register_module(__name__)

    # add the menuitem to the top of the file menu
    bpy.types.INFO_MT_file.prepend(menu_save_prefix)

    wm = bpy.context.window_manager
    win_keymaps = wm.keyconfigs.user.keymaps.get('Window')
    if win_keymaps:
        # disable standard save file keymaps
        for kmi in win_keymaps.keymap_items:
            if kmi.idname == 'wm.save_mainfile':
                kmi.active = False

        # add a keymap for our save operator
        kmi = win_keymaps.keymap_items.new(PrefixFileSave.bl_idname, 'S',
                    'PRESS', ctrl=True)

def unregister():

    wm = bpy.context.window_manager
    win_keymaps = wm.keyconfigs.user.keymaps.get('Window')
    if win_keymaps:
        for kmi in win_keymaps.keymap_items:
            # re-enable standard save file
            if kmi.idname == 'wm.save_mainfile':
                kmi.active = True
            if kmi.idname == PrefixFileSave.bl_idname:
                win_keymaps.keymap_items.remove(kmi)

    bpy.types.INFO_MT_file.remove(menu_save_prefix)

    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()


text:
Why does bpy.ops.object.convert(target='MESH') have an error?
So in this script for Csharpen I am getting an error after the first if for the bpy.ops.object.convert(target='MESH'). I am not sure why that is since it was working fine before adding conditionals. Is there a reason why that is happening?
class sharpenOperator(bpy.types.Operator):
    '''Sharpen With Modifiers and Bevelling'''
    bl_idname = "csharpen.objects"
    bl_label = "CSharpen"
    bl_options = {'REGISTER', 'UNDO'}

    ssharpangle = FloatProperty(name="SSharpening Angle", description="Set SSharp Angle", default= 30.0, min = 0.0, max = 180.0)

    angle = FloatProperty(name="AutoSmooth Angle", description="Set AutoSmooth angle", default= 60.0, min = 0.0, max = 180.0)

    bevelwidth = FloatProperty(name="Bevel Width Amount", description="Set Bevel Width", default= 0.0071, min = 0.002, max = .25)

    applyall = BoolProperty(default = True)

    originalbevel = FloatProperty()

    # ADD A DRAW FUNCTION TO DISPLAY PROPERTIES ON THE F6 MENU
    def draw(self, context):
        layout = self.layout

        box = layout.box()
        # DRAW YOUR PROPERTIES IN A BOX
        box.prop( self, 'ssharpangle', text = "SsharpAngle" )
        box.prop( self, 'angle', text = "SmoothingAngle" )
        box.prop( self, 'bevelwidth', text = "BevelWidth")
        box.prop( self, 'applyall', text = "ApplyAll")

    def execute(self, context):
        #convert angle
        ob = bpy.context.selected_objects
        angle = self.angle
        originalbevel = self.originalbevel
        ssharpangle = self.ssharpangle
        angle = angle * (3.14159265359/180)
        ssharpangle = ssharpangle * (3.14159265359/180)
        bevelwidth = self.bevelwidth

        #Sets the Bevel Width To The Orig Bevel Width
        originalbevel = bpy.context.object.modifiers["Bevel"].width

        if self.applyall:
            #remove modifiers no one would want applied in this instance
            bpy.ops.object.modifier_remove(modifier="Bevel")
            bpy.ops.object.modifier_remove(modifier="Solidify")
            #convert to mesh for sanity
            bpy.ops.object.convert(target='MESH')

            #apply the scale to keep me sane
            bpy.ops.object.transform_apply(location=False, rotation=False, scale=True)

            #Start In Edit Mode
            bpy.ops.object.mode_set(mode='EDIT')

            #Unhide all The Geo!
            bpy.ops.mesh.reveal()

            #Clear SSharps Then Redo It
            #bpy.ops.mesh.select_mode(use_extend=False, use_expand=False, type='EDGE')
            #bpy.ops.mesh.select_all(action='DESELECT')
            #bpy.ops.mesh.select_all(action='TOGGLE')

            #AR suggested using -1s instead of Zeroes
            #bpy.ops.transform.edge_bevelweight(value=-1)
            #bpy.ops.mesh.mark_sharp(clear=True)
            #bpy.ops.transform.edge_crease(value=-1)

            #then do the csharp operator stuff.
            bpy.ops.mesh.select_mode(use_extend=False, use_expand=False, type='EDGE')
            bpy.ops.mesh.select_all(action='DESELECT')

            #Sharpening now using the ssharpangle parameter.
            bpy.ops.mesh.edges_select_sharp(sharpness=ssharpangle)

            bpy.ops.transform.edge_bevelweight(value=1)
            bpy.ops.transform.edge_crease(value=1)
            bpy.ops.mesh.mark_sharp()
            bpy.ops.object.editmode_toggle()

        else:
            #Start In Edit Mode
            bpy.ops.object.mode_set(mode='EDIT')

            #Unhide all The Geo!
            bpy.ops.mesh.reveal()

            #Clear SSharps Then Redo It
            #bpy.ops.mesh.select_mode(use_extend=False, use_expand=False, type='EDGE')
            #bpy.ops.mesh.select_all(action='DESELECT')
            #bpy.ops.mesh.select_all(action='TOGGLE')

            #AR suggested using -1s instead of Zeroes
            #bpy.ops.transform.edge_bevelweight(value=-1)
            #bpy.ops.mesh.mark_sharp(clear=True)
            #bpy.ops.transform.edge_crease(value=-1)

            #then do the csharp operator stuff.
            bpy.ops.mesh.select_mode(use_extend=False, use_expand=False, type='EDGE')
            bpy.ops.mesh.select_all(action='DESELECT')

            #Sharpening now using the ssharpangle parameter.
            bpy.ops.mesh.edges_select_sharp(sharpness=ssharpangle)

            bpy.ops.transform.edge_bevelweight(value=1)
            bpy.ops.transform.edge_crease(value=1)
            bpy.ops.mesh.mark_sharp()
            bpy.ops.object.editmode_toggle()

        #keep the old here for now
        bpy.ops.object.modifier_add(type='BEVEL')
        bpy.context.object.modifiers["Bevel"].use_clamp_overlap = False
        bpy.context.object.modifiers["Bevel"].show_in_editmode = False
        bpy.context.object.modifiers["Bevel"].width = 0.0071
        bpy.context.object.modifiers["Bevel"].segments = 3
        bpy.context.object.modifiers["Bevel"].profile = 0.70
        bpy.context.object.modifiers["Bevel"].limit_method = 'WEIGHT'

        #Sets Bevel To Bevel Width needs IF
        bpy.context.object.modifiers["Bevel"].width = bevelwidth

        bpy.context.object.data.use_auto_smooth = True

        #now sets angle to Var angle.
        bpy.context.object.data.auto_smooth_angle = angle

        bpy.ops.object.shade_smooth()

        return {'FINISHED'}

My suggestion is don't use operators when you can use low level API instead.  Possibly a little difficult at first, but can save a lot of context hassles associated with calling operators, as well as giving (IMO) more control.
Object.to_mesh can be used to create a mesh with modifiers applied etc, details in link.
Modifiers can be added / removed from the objects modifier collection, using obj.modifiers.new(...), modifiers.remove(mod) respectively.  I've used a dictionary to store the original settings of the Bevel modifier(s), removed them, created a new mesh with other modifiers applied, then re-added bevel mod to the modifiers collection.
To add a bevel modifier and set properties.
mod = ob.modifiers.new("Bevel", 'BEVEL')
mod.width = self.bevelwidth

Another thing, blender natively uses radians as an angle unit, set the subtype to 'ANGLE' of a FloatProperty and the "conversions" are done for you via the UI.  The math.radians(degrees) method can be used to set the props.
import bpy
from bpy.props import *
from math import pi, radians

class sharpenOperator(bpy.types.Operator):
    '''Sharpen With Modifiers and Bevelling'''
    bl_idname = "csharpen.objects"
    bl_label = "CSharpen"
    bl_options = {'REGISTER', 'UNDO'}
    items = [(x.identifier, x.name, x.description, x.icon)
             for x in bpy.types.Modifier.bl_rna.properties['type'].enum_items]

    modtypes = EnumProperty(name="Modifier Types",
                           items=[(id, name, desc, icon, 2**i) for i, (id, name, desc, icon) in enumerate(items)
                                   if id in ['BEVEL', 'BOOLEAN', 'SOLIDIFY', 'EDGE_SPLIT']],
                           description="Don't apply these",
                           default={'BEVEL'},
                           options={'ENUM_FLAG'})

    angle = FloatProperty(name="AutoSmooth Angle",
                          description="Set AutoSmooth angle",
                          default= radians(60.0),
                          min = 0.0,
                          max = radians(180.0),
                          subtype='ANGLE')

    bevelwidth = FloatProperty(name="Bevel Width Amount",
                               description="Set Bevel Width",
                               default=0.0071,
                               min =
                               0.002,
                               max =0.25)

    apply_all = BoolProperty(default = True)

    original_bevel = FloatProperty()

    @classmethod
    def poll(cls, context):
        ob = context.object
        if ob is None:
            return False
        return (ob.type == 'MESH')

        # ADD A DRAW FUNCTION TO DISPLAY PROPERTIES ON THE F6 MENU
    def draw(self, context):
        layout = self.layout

        box = layout.box()
        # DRAW YOUR PROPERTIES IN A BOX
        #box.prop( self, 'ssharpangle', text = "SsharpAngle")
        col = box.column()
        col.prop(self, "modtypes", expand=True)
        box.prop( self, 'angle', text = "SmoothingAngle" )
        box.prop( self, 'bevelwidth', text = "BevelWidth")
        box.prop( self, 'apply_all', text = "ApplyAll")

    def execute(self, context):
        scene = context.scene
        ob = context.object  # soapbox call don't use bpy.context as context is passed
        obs = context.selected_objects
        angle = self.angle
        original_bevel = self.original_bevel
        bevelwidth = self.bevelwidth

        #Sets the Bevel Width To The Orig Bevel Width

        mod_dic = {}
        if self.apply_all:
            #remove modifiers no one would want applied in this instance

            #bpy.ops.object.modifier_remove(modifier="Bevel")
            #bpy.ops.object.modifier_remove(modifier="Solidify")
            # replace with
            mods = [m for m in ob.modifiers if m.type in self.modtypes]
            for mod in mods:

                mod_dic[mod.name] = {k:getattr(mod, k) for k in mod.bl_rna.properties.keys()
                                     if k not in ["rna_type"]}
                print(mod_dic)
                ob.modifiers.remove(mod)

            #convert to mesh for sanity
            #bpy.ops.object.convert(target='MESH')
            #Object.to_mesh(scene, apply_modifiers, settings, calc_tessface=True, calc_undeformed=False)

            mesh_name = ob.data.name
            ob.data.name = 'XXXX'
            # remove the old mesh
            if not ob.data.users:
                bpy.data.meshes.remove(ob.data)
            mesh = ob.to_mesh(scene, True, 'PREVIEW') # or 'RENDER'
            ob.modifiers.clear()
            mesh.name = mesh_name
            ob.data = mesh

            for name, settings in mod_dic.items():
                m = ob.modifiers.new(name, settings["type"])
                for s, v in settings.items():
                    if s == "type":
                        continue
                    setattr(m, s, v)

        return {'FINISHED'}

def register():
    bpy.utils.register_module(__name__)

register()
bpy.ops.csharpen.objects()

EDIT  Added an EnumProperty as an example of how to choose which mods to "keep" (remove then re-add)

your syntax is so different than what i was used to. I figured i was writing code pretty badly. So in its current state it removes the bevel. What if I wanted to apply basically all boolean modifiers but keep the values and settings of the bevel?

Basically Csharpen's goal is to add a bevel modifier with specific attributes but also alternatively collapse modifiers(mainly booleans) while keeping the bevels in action.

Edited post to i) re-add all modifier types removed, added a tip on how select what mods to remove and how to add a new modifier. Added a multi enum prop to decide which mods to keep.

now what about having it do bevelling normally and then on reapplication goes through the other process?
On the normal run I would expect it to ask for bevel / sharpening information and then on subsequent runs go through the other process. Would i be able to add a property to the mesh connected to the bevel parameter and then use it as the bevel parameter default on the operator.

As in if there is no bevel modifier add one?

yes. but allow the settings to be adjusted for the bevel width but by default put 3 segments and set to weight with a profile of 70

the main issue i am having with the script still is that if a bevel is already there it will add another one.


text:
How would I reconstruct the floor from a still shot?
I have a still shot, I'm trying to reconstruct the FOV and orientation with the reconstruction tools, and since I have a square plane in the middle of the scene I thought that would be easy, but I can't figure out how to get any of the tools to work. It keeps saying "Three tracks with bundles are required" but I have no idea what a bundle is and I can't find anything explaining them.
I know I've seen it done before, I just don't remember where

You can use the BLAM add-on to do this.


text:
Blender axis at an angle
For some reason when I try to move an object along the Y-axis, it moves at an angle. It's best to see the photo for the explanations.

You most likely changed the transform orientations. Change it back to "global".

Thanks. Is there a shortcut to change it?

"," (dot from the main keyboard part) then radial menu.


text:
How to use blenders built in HDRI's?
How do I use blender's built in HDRI's? I can see their effect in the viewport and I like it, but when I render, it only uses the other lights I have manually added. I have circled where I am getting the HDRI from.
Thanks for any help!

Does this answer your question? How to use 2.8's default HDRi's in renders?

It kind of does, but I don't actually want the hdri environment to show in the render, just the lighting that results from it... Does that make sense  I just want it to render as it looks in the viewport

Go to render properties > Film > Transparent

Or this https://blender.stackexchange.com/a/148387/19156

Alright that's what I need! the only problem is I can't find the installation directory... How do I acces that? It says they are under C:\Program Files\Blender Foundation\Blender\2.80\datafiles\studiolights\world but I don't see that anywhere

"Old" question.. so maybe it is not 2.80 now but your current blender's version (2.90, maybe): change it in the file path. For 2.90, would be: C:\Program Files\Blender Foundation\Blender 2.90\2.90\datafiles\studiolights\world or around that depending on the way program is installed for you

How do I access that file path though? Lol, I literally have no idea... Thanks for your help and patience haha

Well... navigate progressively in your directories from c:/program files, etc...

That's the problem, nothing comes up when I start with C:/ so I figured I must be looking in the wrong place lol. I'm on macOS if that makes a difference...

ok, I cannot help you for macOS... : (

I actually just got it with some help from my dad lol, thanks again for the link, that's exactly what I needed!!

The base path for macOS should be /Applications/Blender.app/Contents/MacOS/Blender.


text:
Convert Sketchup files to Blender files
I have around 20 old Sketchup files that need to be converted to Blender 2.9. Is there anyone that would be able to do that for me?

From sketchup you can export in obj or dae for instance and import that in blender

This is not a community for such things.


text:
Check for collision detection for Synthetic Dataset Generation
I am using blender for a synthetic data generation for over a month now.
I was hoping to achieve the same computation with less time than using BVH tree for collision detection, no luck so far.
I was using bound box in bpy module, like
cube = bpy.data.objects['Cube']
cube.bound_box # return itterable of points in 3d space

There are two problems that I faced,

Bound box won't update on its own because of the transformation of the objects, like rotation, location, scale.
For that I had to use bpy.ops.transform_apply(scale=True, location=True, rotation=True)

When I did use that force update, I noticed that the bound box that blender gives isn't ideal as they mention in documents, it can be confirmed in the example below

The surface of the cube is itself a bound box as it is a cube after all, but the cube.bound_box is giving this bound box shown in pic, which is nowhere near ideal.

Note: If anyone found something wrong in this post, please do comment as I am in the middle of development of a framework which is basically a automation of this scene creation. It will really help me a lot, if you could suggest or provide the solution of my issues that I mentioned above.

The boundbox is the bounding coordinates in local space.  If you want the global coordinate multiply each coordinate by the matrix world of the object, just as you would to get the global coordinates of each vertex.  eg for the default cube the vertex coordinates match the bbox coordinates.  Transforming at object level does not effect the coordinates at a local level.

Algorithm here https://github.com/intel-isl/Open3D/blob/414a67ae5111b352c20511b0d611fdd9cf163177/cpp/open3d/geometry/BoundingVolume.cpp#L148

@lemon .... first step would be to look at AABB (axis aligned bounding box) which is what the blender bounding box is.  The OP has transformed the mesh and hence changed the vert coordinates and hence the  AABB, whereas would suggest they transform the bbox coords into global space to "See the update"  Would be same issue if they used the cube verts which also wouldn't "update" when "using transformation like location, rotation and scale" on the object.  eg https://blender.stackexchange.com/a/62047/15543 to calc global bbox center.

@batFINGER, I think he wants to know the minimal enclosing bb.

We'll see. As  OP mentioned in post wasn't seeing an update in bbox so applied the transform to the mesh data (local) and hence the bbox now  "isn't ideal".  Suggest instead to [ob.matrix_world @ Vector(b) for b in ob.bound_box] will giive the transformed coordinates of the "updated bbox" and will be both axis and object aligned as it was in the first place.  IMO this is a local vs global coordinates issue, not how to program an OOBB. Anyway we'll see.

@batFINGER you're probably right (as usual)

@batFINGER I understand what you are saying, but is there any confirmation that the first bounding box is in fact the ideal one? I want to know the minimal enclosing bound box.

Make that your question then. Blender uses an axis aligned bounding box.  For most default primitives this is also the minimal enclosing bounding box. As you have noticed applying the transform to the mesh (ie locally to the vert coord data) is of no use whatsoever towards your goal.

yeah, but the objects that I am using aren't as simple as box or sphere. But thanks I guess that just answered my question.


text:
How to put rotation- and scale invariant labels to three dimensional objects (motion-tracked insert effect)?
I'm looking for an approach to introduce some informational objects to a 3D scene to be rendered. The effect is similar to motion-tracked inserts, you may know from various video productions. It would be nice to directly include these labels to the scene, rather than to do it in post. This would require kind of 2 dimensional objects that doesn't follow the laws of perspective (doesn't change size or rotation) while the camera moves. My thoughts brought me to putting empties to the objects to-be-labeled and parenting the actual texture planes to the camera. This is how I made the sample GIF. However I'm do not know how to translate the coordinates of the empties (in an automated way) to make the labels appear to be attached to empties. Maybe there is solution already that some of you already use.

Edit: important part set in bold. So not a duplicate of the mentioned other question.

this is done in the compositor using the tracking information to move an image (or mask or whatever other element you want)

https://blender.stackexchange.com/questions/65007/overlaying-an-image-to-cover-a-face-in-a-video?noredirect=1&lq=1

I don't think camera tracking is related to what is asked here. This is more about setting drivers/constraints to give the good size/orientation of the panels. As the OP says: "It would be nice to directly include these labels to the scene, rather than to do it in post."

Frame change handler

Cube is moving further away, Suzy is scaling up and down, cone is rotating thru. Camera rotated.
Proof of concept script.
For each object that I wish to label have added a text object (arbitrarily, could be an image plane) as a child, and given it a custom property named "label" to mark it as the label for its parent.
Theoretically this could be set up with drivers and or constraints, will however use a handler method instead.
By default a text object faces Z up. Will rotate it such that it faces the plane of the scene camera.  Have used the highest (largest Y coord in camera space) bounding box corner as the origin of the text object.  Can see the switch with rotating cone.
The scaling is using same method explained here, https://blender.stackexchange.com/a/107005/15543 where it is implemented with drivers.  Just as RIchard has divided by 10, have used a scale factor of 0.1.
import bpy
from mathutils import Vector, Matrix

scale_factor = 0.1

def label(scene, depsgraph):
    cam = scene.camera.evaluated_get(depsgraph)
    mw = cam.matrix_world
    mwi = mw.inverted()
    R = mw.to_3x3().normalized().to_4x4()
    labels = [o.evaluated_get(depsgraph) for o in scene.objects
            if "label" in o.keys()
            ]
    for label in labels:
        ob = label.parent
        omw = ob.matrix_world
        bbox = [mwi @ (omw @ Vector(b)) for b in ob.bound_box]
        bbox.sort(key=lambda v:v.y)

        M = R.copy()
        p = bbox.pop()
        M.translation = mw @ p
        S = Matrix.Diagonal(
            (scale_factor * -p.z,) * 3).to_4x4()

        label.matrix_world = M @ S

bpy.app.handlers.frame_change_post.clear()
bpy.app.handlers.frame_change_post.append(label)

Setting Up.
Here is a quick little script that adds a font object to each selected object as its child and assigns it a "label" custom property to mark it as a label.
import bpy
context = bpy.context

for ob in context.selected_objects:
    text = bpy.data.curves.new("label", type='FONT')
    text.body = ob.name
    label = bpy.data.objects.new("Label", text)
    label.parent = ob
    label.matrix_world = ob.matrix_world
    label["label"] = ob.name
    context.collection.objects.link(label)

Empties
As suggested by @clutch-lemon here is similar, but adding an empty as a child of each selected object.
import bpy
context = bpy.context

for ob in context.selected_objects:

    label = bpy.data.objects.new("Label", None)
    label.parent = ob
    label.matrix_world = ob.matrix_world
    label["label"] = ob.name
    context.collection.objects.link(label)

Suggest using empties instead (the OP can parent what he wants). And confirm constraints/drivers are much less flexible... confirm also I feel good not answering using Python when @batFINGER is nearby ; )

that .to_3x3().to_4x4() stuff is a pretty slippery trick! Any particular reason?

3x3 is the rotation part. Quick way to drop translation and scale ( prob should normalize too, to drop scale come to think of it)

@batFINGER ... ! pfff... ^ ^ if at least we could upvote twice... one for the answer and the other for the "prix spécial du jury"


text:
I can't apply a material to a mesh
So I made a material in the image editor, I have it open, but I can't find out how to paint.
how do i apply materials to meshes?

It seems to be applied, but you don't see it as the view is in solid mode. Change to either preview or rendered (circles buttons on top right of the 3d view).

what i mean is i want to add in the texture to the left

please pack the image and share your file: https://blenderartists.org/c/support/9


text:
How to adjust camera clipping for object?

Hi there,
I am a complete Blender noob and still don't quite understand how the clipping start and end points work. More specifically, I don't know what, say this Shift X value 0.01m, implies. Is the camera moving 0.01m away from its origin in the +x direction? It seems part of my purple sphere is getting clipped off when I rotated the view to the front. From the side though, I can see the whole object. Would appreciate any feedback. Thanks!

@ETHAN DAY, thanks for the response! I  tested out what you said and found that was my camera was a dot relative to all my other objects. How is it then that the camera could have captured all the objects from its perspective? Does the render mode show the view from the camera's perspective or the view it's locked to? Thanks again!

Don't worry about the Shift X or Y, what you want to change instead is the clipping. You could make it 0 to turn off camera clipping entirely if you wish. Alternatively you could increase the scale of the object being clipped.

@NascentSpace, thanks for the tip! I set the clip start to 0, and that worked.

@user109540, no problem, Happy to help! :) I'm not sure why your camera's origin was relative to all other objects.  As for the render mode, it doesn't show you your scene from the camera's perspective, render mode is simply used to see how everything will look in your final render.  If you do want to see your scene from the perspective of your camera, you can press "0" on your numpad, and it will show you the world from your camera's point of view.

this is a good question.  the shiftX value will shift the camera however many units in the X direction, but the point of origin will stay stationary, if that makes sense.  The camera has a point of origin, like every object. And also like every object, it will rotate around it's point of origin.  In this case, the point of origin is the tip of the camera where all the lines meet (See picture)
The origin can be seen as a small orange dot.  If you wish to change the origin, there are a number of ways to do this.  You can see all the options by going to: Object-Set Origin; and then choose your preferred position.  Hope I answered your questions correctly!


text:
boolean union having problem when combining cubes with same height
I tried to union 2 cubes , this supposed to be very easy task, but fail at some point. (cross object on the left) So i create union of two identical box/cube , i reposition the second cube so it cross each other and it works great. But in the right side, i tried to do the same thing but this time the cubes has different size but still have the same height so their top faces will be overlapped each other.
So i select the bigger cube, add boolean , pick the smaller cube, set to 'union' and set solver to 'bmesh' ( i tried carve and doesn't give a correct result). So they looks correct, but when i applied the boolean and go to edit mode, there're some overlapped interior faces which is not what i want, i can delete the faces but what is wrong ? how to fix this ?
Thanks
edit :
note:  to reproduce the error , the smaller cube has to have same height as the big cube , so both top faces have to overlap each other.

Select the large rectangular add boolean modifier. Select the object (small rectangular). Operation as union.

Thanks for replying , btw for those setup, i can make it work as well, because the smaller box has different height. Like i wrote in my post, the smaller box has to be the same exact height with the big box so the top and bottom faces will overlap each other. This time it won't work. or if you can make it work that way, pls update the video. Thanks a lot.

@andio plz attach your file so that i can solve the problem


text:
How to properly paste Python function block into python console?
Hi i have some questions :

i want to paste block of function into the python console and got a lot of indentation error. Is this a bug or do i miss something ? i'm using 2.79.
I'm new in coding. What is the best IDE for doing interactive debugging regarding building python code/function for Blender ?

Anyone can help ?
class VIEW3D_MT_edit_mesh_looptools(bpy.types.Menu):
    """    LOOPTOOLS    """
    bl_idname = "loop.tools"
    bl_label = "LoopTools"

    def draw(self, context):
        layout = self.layout
        layout.operator("mesh.looptools_bridge", text="Bridge").loft = False
        layout.operator("mesh.looptools_circle")
        layout.operator("mesh.looptools_curve")
        layout.operator("mesh.looptools_flatten")
        layout.operator("mesh.looptools_gstretch")
        layout.operator("mesh.looptools_bridge", text="Loft").loft = True
        layout.operator("mesh.looptools_relax")
        layout.operator("mesh.looptools_space")

Suggest use spaces rather than tabs for indent. (there is a convert to spaces on the text editor window)   Unfortunately the py console sees the blank line as a full unindent.  Related

Thanks ,  i found the problem. when pasting , Blender won't accept the empty line in the codes (like empty line between that bl_label and def draw). this is strange.....

Have a look at script in updated addon link  It will use the script stub to run the script from the text editor into the py console. The locals from the script are available in the py console.

It's because double newline char forces your class declaration terminated at line 5. So it complains the function draw is a bad indent.
The >>> in the snapshot indicates the problem. however I still don't know how to solve this copy paste class declaration in python console issue.

Thank you very much for this hint! It's indeed the DOS/Windows (CR+LF) line ending that the console doesn't like. In Notepad++ you can switch the line ending to Unix (LF) (main menu: Edit > EOL Conversion > Unix (LF)). Then you can copy & paste and run snippets in the console without a problem :-)

There is a solution, usually when I encounter this problem, I replace "TAB"'s with spaces. Here is the interesting thing, you can replace a "TAB" with any number of spaces. You could replace a TAB with a single space, or multiple spaces.
Now, for the second part of your question, any text editor that allows you to set "TAB" to spaces, so in "sublime text 3" which I use you would go to "view"->"indentation"->"Indent Using Spaces".
Here is the fun part, "TAB" with in a python file is not a problem for the python interpreter, it works fine. Its just an issue when you pasting to the command line.
Also, I don't know what your question has to do with Blender, this should be an S O question.

Thank you. The only solution which worked for me. On top of it, I have added a package for AutoPep8 package in sublime

Sadly, this just won't work.  Something about cutting and pasting screws up the indentations, replacing spaces with tabs or visa versa, or with nothing.  I'm not sure if it's when the external editor/IDE is copying, when the python console is pasting, or in the general copy-paste mechanism.  I'm having this problem today on Windows. I don't know if the same happens on Linux; I haven't done any Python scripting for Blender on Linux in a long time.
What I do is write nicely formatted Python in my favorite editor (Notepad++ today, as I'm on Windows), copy it to a blank document in the same editor, remove all the blank lines and comments, then select and paste that code into the console. It's clumsy, tedious grunt work, but I can at least make progress.
The nicely formatted version of the source gets saved to a file, and used as an external script for Blender projects in the future, when I'm no longer doing the R&D.

Begs the question. Why not paste  and run scripts from the text editor?  The example script in the question is panel draw code, can't for the life of me think of any reason to run that by pasting in  py console.As noted in comment under question:  can run external  and internal scripts using this handy addon to have results available in  the console's locals.

That's no longer the case at least from blender 2.81 (could be also from lower versions)
Open the Text Editor and when you want to execute press ALT+P (or in the menu Text > Run Script)
Also, since now it's not the Python Console, all the errors/prints will be in the System Console (Window > Toggle System Console)
And make sure you import what's needed (e.g. import bpy)

Tip: You can also turn on Live Edit

I believe the question is re pasting code into blenders python console.

Yes, it's about running the code in the scene exactly as I was needed to do when finding this question. And while testing more after coming here I found out this method is a great solution for it.

It is still the case in 2.8 that if you paste the script from Q into py console it won't work.

I'm not you understood my answer

I understand your answer thankyou fpr asking.. Whereas, I'm not sure you understand the question.  Please re-read. Debugging using prints in text editor, sure, but it's not an interactive py console. ie you have no access to local variables after the script has run.  If the blank line is removed from script above it runs when pasted  in console. The class is available to tinker with and examine,  register and unregister etc.


text:
snap to object with mirror modifier
i create a simple shape (see the attachment ) then i just simply apply mirror midifier to have a complete closed object (the original object is the one
in wireframe shading). Now i add a plane and i want to snap the base of the object to the plane so it will sit on top of the plane. What is the best way to do it ? because of the mirror modifier, the bottom face is not selectable, in edit mode i can't snap the 3d cursor to the bottom face.
Thanks.
edit :
here's the blend file :
https://drive.google.com/file/d/1ntfEzOrnE95jsHNxzcG8sUVDu_-ioqbp/view?usp=sharing

Enable snapping and choose face mode. Then select the plane, go to bottom view press T > 0 to translate it on the spot. It will snap to the face which is nearest to the current view, in this case the desired bottom face.

@Leander  ..  could you expand on that? I've not heard of it and can't get it to work.

@Robin Does this help?

@Leander  Thanks for your trouble .. I can get it to snap OK .. it was the shortcuts I couldn't get.. are they some of your own?

@Robin Sorry, I meant to write G > X for Translation and got confused.

@Leander Hi, i've just added the blend file (pls check my post) , so everyone can test. I still can't make it work. can you explain with my blend file test ? i can snap the box with no problem, but can't applied it to my mirrored object.

Currently, the snapping only works exactly under the mouse cursor. To change that, enable Project individual elements on the surface of other objects.. Does this help?


text:
How do I change the snapping toggle from CTRL to some other key?
I'm trying to make Blender snapping function work in the way Maya does,
ie snapping stays on only while the shortcut key is pressed down and then turns off when the key is released.  I see from comments that the Ctrl key is the toggle for snapping.  How do I change this to some other key?

That's the default behaviour when you press Ctrl if snapping is off. What else is missing?

thanks Duarte, I'm using a keymap based on the industry compatible set but most of the standard blender shortcuts are different in this case. Where do I find the ctrl in the keymap so I can change it to a different key?

You need to find the keymap entry for snapping in preferences and change the setting in the entry.  This one is trickier than most because you're looking for a transform modal toggle that happens to be called "snap invert". This won't show up in the usual search of the keymap, so here's how to find it.  Note this is for the standard keymap.  The process is the same for the "industry compatible" keyboard but you'll have to do a bit of work to figure out what shortcut for the Move command you want to modify.

Edit Preferences

Switch to the Keymap table.

Make sure that the search tab is set to "name".

search for trans It should look something like this:

click on the search list and scroll until you find 3D View.  There should be a number of entries for move.  Look for the one where the character is G.

Click the arrow to open the entry.

Scroll down until you find "Snap Invert".

Open it.  It should look like this:

Click on "Left Ctrl".  It will change to "Press a key":

Press the key you want to use

Save your preferences if you don't have auto-save enabled.

WARNING: There are many commands that use snapping and each one has many "Snap Invert" and "Snap Invert (Off)" entries.  You may have to adjust one such entry for every tool you want snapping to work with.


text:
How to generate images of model components using python?
I am new to blender but wonder if it is possible to programmatically position the viewport and then render images of each visible component.
Pseudo code below:
model = load("my_model.blend")
textures = ["stone", "wood", "glass"]
view_port.set_position(100,200,300)
view_port.set_rotation(-42,0)
for each component in model do:
  for each texture in textures do:
    component.set_texture(texture)
    component.save_png()

Can something like that be accomplished with blender and if yes, how?

Your question is too broad for a complete answer in one place.  Below I outline the solution and suggest areas of research for specific steps.  Please try to put together a complete script on your own and then come back with specific questions about areas where you are stuck.
Yes it is programmatically possible.  I assume by "position the viewport" you mean "position the camera".  Here's a step by step commentary on your pseudocode. With a little additional research you should be able to piece together the script you need.
model = load("my_model.blend")

Your model can be stored in a separate Blend file in one of two ways.  You'll have to decide between

library linking; or
the new asset library

For now I recommend library linking.  There are several questions with good answers about how to gather a model from library by linking
textures = ["stone", "wood", "glass"]

You've forgotten to mention how the materials that these textures name will be created.  You could place them in a separate blend file; you could create them manually; or you could create them using Python.  There are several questions with good answers about creating materials and modifying the material node trees to get what you want.  But in your case I would recommend storing them in a separate blend file and then linking them, just as with the model.
view_port.set_position(100,200,300)
view_port.set_rotation(-42,0)

I've treated the above lines together.  You want to create a camera, using code like this:
camera_data = bpy.data.cameras.new(name="Camera")
my_camera = bpy.data.objects.new("Camera", camera_data)
bpy.context.scene.collection.objects.link(my_camera)

and then move it using the transform operations, as you would with any object.  There are a lot of questions about how to use Python to move objects.
for each component in model do:

Let's assume you've placed your model's components in a specific collection.  This becomes for each object in  bpy.data.collections[MODEL_COLLECTION_NAME_HERE].objects
  for each texture in textures do:

This becomes for texture in textures:
    component.set_texture(texture)

This becomes object.material_slots[0] = bpy.data.materials[texture]
    component.save_png()

This requires some setup.  You'll need to specify render properties like which render engine, render resolution, et cetera.  Again, you can find questions here discussing each of these.
After the setup comes the render: bpy.ops.render... See the manual page for render for details.
Having rendered the model, you need to save the render file.  Look for questions about saving images for specifics.

That is an awesome answer. I was hoping to learn if it's possible and a few links. You have given me almost an entire guide. Thank you very much!!!

@RndmSymbl Thank you very much. I hope you won't have too much struggle with finding what you need to write your script.

It will probably take a while but with confidence that it can be done I will eventually get there :)


text:
Why is my icing still going inside my doughnut even after I enabled snapping?
There're 3 identical threads without answers.
I'm following the Blender Guru tutorial and I've done everything as described in the tutorial, but as I pressed E to add the dribbles for the icing the dribbles are always inside the doughnut instead of on top

There's also one question with four answers: https://blender.stackexchange.com/questions/162648/why-is-the-dribbling-icing-inside-of-donut-instead-of-being-on-the-top?rq=1 and one with 1 answer: https://blender.stackexchange.com/questions/162648/why-is-the-dribbling-icing-inside-of-donut-instead-of-being-on-the-top?rq=1.

this threads do not have any right answers

You'll need to upload the blend file so that we can have a look in that case: https://blend-exchange.com/help or https://pasteall.org/blend/.

Here it is

Not had a chance to look at your file, but I see that there's a thread with 92 replies in the comments below Andrew's part 4 Donut video from "Nic En" discussing your issue so it might be worth looking there.

Before creating this thread I looked it up, yeah
But thanks anyway

Incidentally, I see you're using Blender 2.92. - You may have problems later in the tutorials because I believe Andrew uses geometry nodes for the icing sprinkles and there have been a lot of changes in Blender since the version you're using.

Maybe, yeah, I'll try previous version. Thanks again~

Are you extruding or pulling the icing layer down?   If you deform the layer above, it will naturally intersect with the one below.
Quick workaround, Delete all the "hidden" faces below the icing layer.  Done;


text:
Model/Mesh Fractures
Im new to blender, and new to the site. Ive researched my questions on the internet, and asked a few people, and they all basically sent me here. So i was hoping that I could get some assistance.
So Im new to blender, and starting to model some of my own assets for a Game my colleagues and I are building. Here is my current dilemma.
As I venture further into my model, and I lop cut and drag, and I extract shapes and build I come out with amazing results. However, when I add a subsurface modifier, and start to do more intricate details, and adding little things here and there, I am finding that my mesh is starting to fracture. When I turn the subsurface modifier off, if all recorrects itself.
Im getting, for lack of a better term, "phantom" faces and
edges and these "semi filled" faces appear and I cant figure out how to get rid of them. Im spending HOURS trying to figure out how to repair all my beautiful work, and I really think that solving the actual problem is something I should think about doing. So please, any assistance, would be most appreciated.
I can add a couple of images to further my explanations, if needed and someone can tell me how.
Thanks Community
Chris
https://i.sstatic.net/PJJvW.jpg

Images would be helpful. You can also upload your .blend file here http://blend-exchange.giantcowfilms.com/ copy the resulting link and paste it into your original question using the "edit" button. Without knowing anything more I will add that the order of Modifiers is important.

Ok. How do I upload the images I have here? Im going to upload my file right now.

I uploaded the file Dontwalk. I hope that helps.

Also Like I said before, Im new to blender, and Im learning to build meshes for a game engine. So any extra critics and criticisms are welcome.

When you click on the "edit" button of your original post in the panel above the text box there is a little square with a simple graphic of a mountain and sun. Click on that (You may need a certain amount of reputation to use it). Alternately you can create an account here http://imgur.com/ upload an image(s) copy the link and paste that into your original question.

Excellent. A gentleman, and a scholar.

http://imgur.com/a/2GC7C
And here are the images I took. I uploaded them as requested to imgur.

Try going into Edit Mode selecting all vertices by pressing "A" (You may need to press it a couple of times). Then in the tool bar on the left (Press "T" if it's not visible) "Remove Doubles".

Ok that helped quite a bit but I still got some random edges and crazy faces appearing in places.

Ok, you have some faces inside the model that shouldn't be there. On a side note - in Object Mode set the Shading in the Tool Bar to "Smooth". And in your Sub Surf Modifier you have the Preview set to "4" and the Render is set to "2". So the render wont be as smooth as what you are seeing as a preview. Generally "2" is enough. The larger you make that number the slower your renders will be.

There are Faces inside your model that shouldn't be there.

The best way to remove them is in Edit Mode select the bottom edge press "X" and select  "Only Edges and Faces" from the drop down menu.

Also, selecting Smooth Shading in Object Mode will clean this up.


text:
Understanding Rotation in Blender (scales on sphere)
I've been following a tutorial https://www.youtube.com/watch?v=Vxc4P0YI2rI which uses Animation Nodes to put scales on a sphere:

So in the beginning one scale is duplicated by the Object instancer and it creates as many scales as there are a vertices on the sphere. In a loop the local  track axis of every scale is rotated according to the vector normales on the sphere (with a Direction to Rotation Node) in order to make them point outwards of the sphere. Below the node setup:

Now I want to rotate the scales on the local z-axis. That's why I added those 3 maths nodes in the Loop frame. I thought if I increase the value for the z-value the scales would rotate accordingly until they are positioned flat on the sphere. But instead they rotate on the local y-axis !
If I increase instead the y-value some of the scales rotate as desired, but others rotate to the opposite direction ! :(

I think I missunderstood the concept of rotating objects in AN / Blender. It would be nice if someone could explain me why I get different results from what I have expected.
In the video there is a fix shown but the author doesn't explain why he is doing that. The fix is nice (and simple) but without explanation it's worthless since I might encounter similar problems in my own projects when using these techniques.
My blend file can be downloaded here:
https://www.file-upload.net/download-13131607/scalesonsphere.blend.html
Edit:
Hey,
still I've got a problem / something I don't understand. When the initial rotation of the scale I want to put on my Icosphere looks like this:

I get weird results:

However if I rotate my scale like this :

and apply my node tree after (with the Z-axis set as the direction vector in the Direction to Rotation node) everything rotates as expected:

Why do I get different behaviours here?

If you wanted to rotate an object around its z local axis in blender, what do you do? Do you change the rotation z euler value? Or do you use the rotate operator in the local transform orientation? Changing the rotation euler's values rotates the object in its global space, not in its local.
So, how do we rotate in local space in Animation Nodes? The answer is matrix multiplication which is the underlying mathematics behind blender's rotation operators. Compose a translation matrix that include the object's locations, then multiply that by the Rotation Matrix Output of the Direction To Rotation Node, then multiply the result by a rotation matrix, the last matrix act as the local transformation, so by editing its values, you are locally transforming.

Another method would be to use Hamilton product on Quaternions, they are a little harder to understand though. Simply multiply your quaternions by another that include your local rotation information.

Yet another method would be to edit the guide axis to account for your rotation. See the documentation.

Hello and thanks for your answer which solves my problem with the sphere. However I noticed that when I change the local axis of the scale (by rotating ite and applying Rotation with ctrl a) some of them don't rotate as expected as well. Here's a screencast:
http://recordit.co/GhRWwaqt5s
Actually I wanted all to rotate on the y axis but those 2 in the front rotate different :/
Why is that happening ?

@Tutov Applying rotations align the local space with the global space ! If you want further local transformation, perform another multiplication with another rotation matrix after the existing local rotation.

Hey I've still got a problem :( I edited my initial question, could you take a look at it ? Thank you

@Tutov I see. To fix this, use the Compose Matrix Node to create rotation matrices from the Euler output of the Direction To Rotation Node and use those matrices instead of the Matrix Rotation output of the node. I am not entirely sure why our old method don't work, I will investigate this later and report back.

Any news on this ?
By the way with your new solution there comes up another question to me: Why does the Matrix Output node of the "Direction To Rotation Node" delivers a different result than the "Compose Matrix Node" (both actually got the same input, didn't they) ?

@Tutov That's what I am trying to figure out. I don't know why it is not the case. The euler is even computed from the matrix, so it doesn't make sense. I will ask the developer and get back to you.

@Tutov It looks like a bug in AN. You will have to wait till it is fixed. For now use any other method described above.


text:
Can't Seem to Fully Isolate Already Separated Islands in UV Editor
This is the first project in Blender, and I managed to create it up to this point using online tutorials for sculpting and retopology, adapting them to how I want my character to look.
Now I have to create the unwrapping. My problem is that the moment I select the unwrapped leg, there are selected portions from the model that shouldn't be selected. More specifically, the marked seam between the leg and torso, and the marked seam between the leg and foot. For some reason, I can't isolate the seams.
How do I split a model into parts with seams (marking for unwrapping) where each part is independently controlled by the UV editor?
This is how it looks:

I don`t seem to have surplus vertices, because the moment I turn it smooth it looks nice.
I also thought that it might be a problem that it doesn't have a flow in retopology because this was my first time, and so I got a little confused about the torso-leg part.

The vertices are parts of multiple islands.  Change to face select mode.

select the vertices you want to separate via the UV islands, then in the viewport, press Y. That should rip it with the shortcut I believe. Some game engines don't like multiple UV islands on one mesh so it's become a standard practice for me.

just experienced same issue here.
if you happen to activate the UV Sync Selection, then, just deactivate it.


text:
Particle system from selected object
How do I create a particle system from an imported stl model and use that to fill the shell of another model? As you can see below, I want to fill the model to the right. There are two issues I am having. 1) The body is currently emitting the mini figurines rather that the internally contained collisions I was expecting. 2) A displaced modifier was applied to prevent the particles from moving beyond the skin, but if I could just set the collision boundary to the skin itself, that would be best. I read that applied modifiers are permanent, so I may need to redo this particle system on the original stl. Thank you!

(11/9/20) Tried Vertex paint mode and selecting the body under the Vertex Group --> Desnity, but it still had the same effect. I think the problem also is that internal face or area is not the source of the emitter. However, I found a tutorial here that shows how to fill a container by funneling the smaller objects via implemented physics engine. Will see if that works!

I believe what you're looking for is the 'hair' particles system, if you want another object to cover the main object. When you add a particle system to an object, one of the first options should be to choose from Emission and Hair, switch it to hair. I'd recommend watching some tutorials for the same. If this is not what you were looking for, please reply.

I actually wanted to fill the bottom half shell of the sculpture with the mini figurines instead of having them covering the object. Thank you for your feedback though!

You can vertex-painting for that. Go into vertex painting mode, select the part which you think should have the mini-figures, go back to your particle system, scroll down until you see 'Vertex Groups' and for density, select the one that you just painted on.

I tried the vertex paint mode and selected the body, but the particles are still being emitted from the skin of th sculpture as shown above. You may check to see if it was set properly above. Thanks!

I can't tell based on the image, again, make sure you have it set to Hari and not Emission. And make sure that the right vertex group is selected. I'd love to help you out, can I contact you via Discord?


text:
Overlays; how to turn off grid display only?
I have tried to turn off the grid in the overlay options, but when I went to check it off, it was already unchecked.  However, the grid is still displayed!
The only way I know of to turn it off is to totally turn off overlays, but that turns off all of them, and I don't want to do that.  Can someone help me out?
Edit:
I noticed that the grid check box is greyed out, so what now?

You can hide grid floor and axis, using viewport overlay options:

The "grid" option is for "orthographic side view' (from the tooltip):

thanks!  Don't know what the gird is about.


text:
How can i join vertex of the same bezier?
I have to complete a 3d job and I think that for this piece it is best to use bezier or curves. I am a little novice with these tools and I can't find a way to draw "a bridge" between some vertices.
I tried with the F key but it does not let me connect them and it is not enough just to join 2 but it would have to be 4: (with the photos I hope that I understand better).
The piece is somewhat complex and I only manage to do it on the one side. My idea is to avoid  polygonal modeling as much as possible.

You can't create branching in curves. Delete a segment first or disable cyclic with alt+c.

You can only make a cyclic curve, there is no way to join it multiple times as far as I know.


text:
How do I properly work with the grid

I'm working in centimeters because that is what UE4's unit scale is. My problem is when I scale a wall segment to be [304.8cm or 10ft] I'm no longer aligned to the grid properly. Am I going to have to scale my wall segment to be [274.32cm or 9ft] to stay aligned to the grid and just make a separate piece that is [30.48cm or 1ft] to get the 10ft the wall i want? The building I want to model is 30ft wide so i was attempting to make 10ft wide modular wall segments. I'm new to all of this so sorry if this question is dumb.

If you set unit system to imperial, the grid will be in feet but internally Blender will keep metric units.

Just choose imperial in the unit setting panel. By doing this, the grid and all length system will give a proper behavior if you use imperial.

There is no different between imperial and metric. But if you want to cooperate with others, start in metric unit will be a better choice in my opinion.

So working with imperial will give me proper scaling results in UE4?. I thought working with imperial and then exporting to UE4 would give janky scaling results due to unreal engine using a metric based system?.

@FenderBlender All depend on how 3D modeling tool treat scaling. In Blender, the unit you see in metric and imperial is just a scope. The real numeric value inside the 3-dimension won't change if you adjust those scaling setting inside unit panel. If your still concern about it, switch back to metric before exporting it to UE4. You could also adjust the scaling option inside the exporter panel.


text:
snap object by using its vertex as reference
i attach the screenshot. There's a box and a yellow dot (next to the box , near top left corner/vertex) . The yellow dot is the origin point of the box itself.
I want to move the whole box by using the top left corner (vertex) as reference so that corner will jump/snap to that yellow dot .
what is the shortest step to do it?

Is it important that the cube gets to the dot and not the dot  goes to the corner?

In object mode, add an empty at the same location as the origin of the object:

Select the object, Snap Cursor to Selected
Add Empty (will be at cursor location)

Snap the mesh to the Empty

Edit the Object and select all
Set Snapping to Vertex (with Closest option selected)
Grab the mesh and drag it to the Empty so that it snaps to it

[Edit]
If you need another vertex to be snapped to the empty you could instead set the Active option in the Snapping menu and have that vertex selected last. Or simply drag the mesh to a point where that vertex is the closest, release it and then snap it.

UV but works only if the mesh vertex to set at origin is effectively the closest to the origin.

@lemon, I don't understand... do you mind elaborate?

Just give try setting the corner of the mesh you want (not only the closest) to the origin. (but this is a detail, just a remark)

I think that it was "UV" that got me confused... still don't get that part. But it's true that it only works with the closest. It would be possible to just move around the mesh so the wanted vertex gets closest before snapping or use Active instead.

UV = upvoted (not the UV map)!!

Personally, I have my snap almost permanently set to 'Vertex' and 'Active'. I find 'Closest' to be a pain.


text:
Blender : can't snap to absolute grid
I have a single vertex (point) in 3d space. Its position is random, somewhere in 3d space. Now i just want to snap it to any grid point (grid on ground level or Z=0). I activate  'absolute grid snap' , i move the vertex and press ctrl (turn on snap) but there's no way i can snap it to the grid point. Is it possible to do this in Blender ? should be very simple case.
video link : https://youtu.be/KRci5-L3ajk

@JachymMichal i've just added video link. Anyway, i can snap to grid point if i'm looking from top view, but when i checked in perspective, the vertex/point is not actually snap to the ground (grid)

It's snapping, but to the 3-dimensional grid in space. This is the correct behaviour

yes, i know it's snapping to 3d grid xy, yz, yx. But i just want to snap to the visible grid on floor in perspective view. is it impossible ?  right now i have to do it twice in top and left view to get proper position. This is too many steps for such simple task. Is this the only to do it ?

It is also snapping to the floor grid. Just use the blue arrow (z axis) to get to z=0 and then move it using the other arrows :).

When freemoving an object in 3D view, it doesn't respect traditional up/down/left/right.
It's keeping the same distance from your viewport camera, which can be confusing.
It's a consequence of navigating 3D space using a 2D mouse cursor/screen.
For precise movement you need to use the arrows.

The only problem is it's too many steps just to simply snap to specific grid i want. I hope Blender develop something like adaptive or dynamic grid like in Modo. see this powerful tools to be implemented in Blender : youtube.com/watch?v=1Ms0v0VsJhY  (look at 3:20)

Right :). You can suggest such improvements here: https://blender.community/c/rightclickselect/.

You can do what you want in two steps, if that's helpful.
First, ensure the point rests on the plane at 0 height.  You could do this using the Item tab in the N panel (so called because the default keyboard shortcut to view it is N).  This will give you the Transform dropdown header part, as such:
If you set the Global Z position of a vertex to 0, it will now be on the 0 height plane.
An alternative way would be go to side view and transform it there manually, perhaps using absolute grid snap to ensure it snaps exactly to 0, but as you've said it's at some random position it might be a long way off so setting it numerically may be faster.
Once it's at that coordinate on the Z, when you are moving it with Grab, you can use shift-Z by default to lock the Z coordinate and allow free transformation on the X and Y plane.  With absolute grid snap turned on, this will then mean that it will indeed snap to each of the visible grid intersections on the 'ground' grid.
While this won't speed up taking a set of random points and snapping them to the floor all that much, the axis lock is very fast for things that are already on the floor, to keep them there.

Apologies, I completely didn't realize this was two years old and likely inactive.  I'll leave the answer in case it's useful to someone but if you think it isn't feel free to delete it.


text:
create a section plane for archviz
I have a 3d model (a house - with doors /windows/ holes /floors). I want to see from ortho top view and want to make a section. I tried to use BIM or camera clipping , but the result not as i expected because the cutting area is hollow ( rather than solid - which i prefer).
check the blenderBIM in creating section plane :
https://www.youtube.com/watch?v=CPGFC566Lmc
Like in my screenshot, a simple example : the section is created from top but i can see the cylinder. I want the section to be like solid , so we shouldn't see the cylinder in the middle.
One perfect result , of course by using boolean, but i have a lot of house elements. I don't want to use this method. BIM addon is almost perfect, it's just i don't like that hollow.
Is there any other method ?

You might want to check the bpy.ops.bisect operator which is certainly used in the add-on. It has a use_fill parameter which fills the sections when needed. https://docs.blender.org/manual/en/dev/modeling/meshes/editing/mesh/bisect.html?highlight=bisect . You can also use it as a tool if you click and keep the mouse pressed for about a second on the knife tool in edit mode

This is a complex problem for architectural models and Blender's out of the box tools just don't quite cut it (pardon the pun), unfortunately. The closest I believe we're getting to it is true architectural cutting which is a work in progress here: https://github.com/IfcOpenShell/IfcOpenShell/issues/1153
Unfortunately, it is not yet ready.


text:
How to popup simple message box in 2.8 or 2.9?
I just want to pop a 'hellow world' in a simple message box. Is there a builtin function to use now?
From an old post (How to popup simple message box from python console?), i have to create lines of coding to make a custom popup window class.
For example in nuke. i simply type :
nuke.message("test")
nuke.ask('test')

Related https://blender.stackexchange.com/questions/109711/how-to-popup-simple-message-box-from-python-console

yes , that's 2 years old and you need to write custom function. i'm curious if there's new faster method. Maybe there's a new builtin function , maybe like bpy.ops.message() without have to write custom function.

There is still no newer faster method, even in the just released 3.0.


text:
Python: How to highlight invisible object in outliner?
Using python, Is it possible just to highlight the object in outliner even if it's hidden in viewport ? i mean without making them visible in viewport first.
Actually i don't need to 'select' them, i just need to get them highlighted in outliner so i know where they are in the structure. Hope that make sense.

I'm interested in this too, the outliner has received a lot of love recently but the documentation hasn't really followed :) Maybe this can help ? https://blenderartists.org/t/how-to-get-selection-objects-list-in-outliner/1184175/6

https://blender.stackexchange.com/questions/127105/the-outliner-doesnt-show-parent-child-relations-in-blender-2-8   https://blender.stackexchange.com/questions/130575/why-cant-i-parent-objects-in-my-blend

actually has nothing to do with outliner. I'm looking a way in python function to highlight some objects  in outliner even if their visibility or selectable is OFF.

Apologies was fooled by question title,  question body  "i just need to get them highlighted in outliner so i know where they are"  and again in comment above,.. all of which appear to refer to the outliner.  Links posted show how to put outliner in hierarchy mode to display "where they are in structure".

sorry if i'm not too detail. I'm making a python script to dig the object, to search recursively the boolean modifier it uses. For example A use B as cutter (boolean difference), and B itself contains combination of multi boolean: union of D,C,.. as cutter. so on. I need to search all the related objects in this 'nested' boolean. I made a code to search them all, it's working but now final step to highlight them in outliner. since some of them are  hidden/unselectable. To get them highlighted in outliner, i have to turn on all the visiblity and selectable first, so my code will works properly.

Right now , using python,  i track them down and make them visible or selectable and now  highlight works. But of course now , i have to manually hide them back  , and it's not fun things to do.

To expand on this, what do you wish to do with them once they are selected ?


text:
Baked the duplicate of rigid body object
I simply create a simple simulation of a monkey (suzanne) falling on top of a grid. Now i just want to make a copy (duplicate) of the monkey and i want to bake the simulation of that copy. So i will then have two monkey with the same exact movement where one is rigid body simulated and the other is keyframed (baked).
The problem is : since they're occupied the same location in space, they will interact each other , so give me the wrong movement. How can i temporarily disable the original monkey so i can then bake the simulation of the copy properly ?

Make Suzanne a rigid body, bake it to keys, duplicate it (Suzanne.001). Make Suzanne not a rigid body, simulate Suzanne.001 as you wish. Would this work?

If i bake it before i duplicate it, i will lose the previous good simulation. right ? i'm in the process where : i'm making simulation , duplicate it , bake the copy , render the copy. if client want to modify, i go back to original one, edit it , duplicate again (delete previous copy first), bake the copy , re-render. This process will cycle couple of times as the client wants to modify it. I don't want render the original one because sometime i got glitch when render it so i prefer render the baked one.

Use the collision groups (or Collisions/Collections in 2.80) in the physics panel. If you set the Suzanne copy to collision group 2 and set the grid to groups 1 &2, then both Suzannes will interact with the grid but not with each other.


text:
export render pass without re-render 3d scene
I'm rendering an image and i've turned ON all the passes/layers that I needed. In the Image editor I can see my render result and all the passes correctly. But I don't like the naming used for those passes. So I create custom name by using 'file output' in the compositor. After re wiring all the passes data from render result into this file output , how can I execute that 'file output' without have to re render the 3d scene again which takes long time. This should be only transfering the data that already be rendered into another multi exr file with my new custom name which in my opinion should be done as 2d processing.

You can create a new View Layer and choose Blank as option, this way all collections will be disabled in that new layer, objects which are not in collections would have to be disabled for render manually. But now this way there is nothing in the scene which gets rendered, so it would render much quicker than your actual view layer.
If you then go to the View Layer Properties and enable Render Single Layer, hitting F12 to start a new render will only render this empty view layer.

The good thing is, it will keep the previously rendered other view layer in memory, which can for example be useful if you want to combine two view layers in the Compositor, make changes in only one of them and don't want to render both again. Then you check Render Single Layer on the changed layer and the Compositor will use the other layer from memory.
Now useful for you is, the Compositor will also save what is plugged into the File Output another time, even though you do not render that layer again. But important to note is, it can only output a render result which has been stored in memory previously. Which means, if you have passes now enabled which were not enabled when you rendered the scene earlier, those output sockets will provide no data. Only if they were already enabled while rendering. But if you have data there and only wanted to change them to custom names, these custom names will be assigned the next time it saves the file.


text:
manually adding keyframe to the tracker
I'm trying to do object tracking but at some frames the tracking is stop. I want to continue the tracking by manually adding keyframe and move the tracker the the desired position. How can I do this? I can't find a way to insert keyframe manually to the tracker.
Insert keyframe (I) is not working if I already do auto tracking the the current track.
Thanks

You simply grab the tracker and advance the movie frame then position the tracker in the new location, it will add its own keyframe

ok found the problem , it's a bug in 4.0.2.  I tested on old Blender 3 and i works. But right now it doesn't work for blender 4.0.2 i'm using. right now after apply auto track, the tracker can't be moved at all. I will try to download latest version and see it the bug still exists.

I tested it on 4.2 alpha. its good there

Seems bug on 4.0.2. Thanks I will try latest version

I'm still downloading 4.2 , btw I just tested on 4.1 stable release and the bug still there.


text:
Outliner : show objects match name with wildcards
I have 20 storeys building, each floor has its own objects, for example
floor 1 : Floor 1 bath, Floor 1 kitchen etc.
floor 2 : Floor 2 utility, Floor 2 terrace etc
up to ..
floor 20 : Floor 20 office, Floor 20 meeting etc.
I want to show objects starts with 'Floor 1' , 'Floor 3', 'Floor 12', 'Floor 13' , 'Floor 14' but not starts with other 'Floor XXX' .
I want to display the list in the outliner. Can i do this ?

what is the purpose of this?

I just want to do cross checking between blender and unity . I want  to see what 'floor' object exist in blender scene to match into unity.  I'm checking floor1 , 3 and 12 ,13,14 and i want to skip floor 2,4,5,....11 . If i just type 'floor ' then there will be too many object in the list so needs me to scroll a lot.  Or I have to check per floor. (floor 1 , floor 2, floor 12 ) .. this is the closest i can do.

Maybe create a temporary collection linking them all and remove the unwanted one from it?

Thanks, i just found the answer using regex by typing : floor [1,3,12-14] . Check my answer below.

Great, I didn't know that...

Thanks , and  you need 2.9 , not working in 2.8 ,

I found the solution (only for 2.9 above , not working in 2.8 ) , the search box in outliner can accept regex (unix regex) pattern.
floor [1,3,12-14]

1,3 -> to match floor 1, floor 3
12-14 -> match range between 12 to 14 -> floor 12 , floor 13, floor 14
and will skip other number outside the range 1,3,12-14
We can also use ^ to exclude ( '^' means 'NOT') . For example if we type 'Floor [^143]', it will show everything starts with 'Floor ' but NOT starts with 'Floor 1' , 'Floor 4' and 'Floor 3'.

What about "floor [^2]" ?

Yes, works fine, it's just i didn't give enough detail about the case. Not only want to exclude floor 2 .  I 've just edited my post to clarify the goal. Btw i will include the ^ in the answer. Thanks for the additional info.


text:
Rename a modifier's name for multiple objects
I have multiple objects and they have the same exact modifier with same name (same parameters , name etc). For example :

cube1 has modifiers : array1, boolean1
sphere1 has modifiers : solidify1, boolean1
cone1 has modifiers : boolean1

So i want to change the name of boolean1 to become myboolean for multiple objects at once. Can i do this ?
Do we need python for this ? using Alt doesn't do the trick for multiple edit.
Thanks

Yes most likely you need to use Python to do that.

Well if modifier is expected to have all parameters the same then you can rename it for one object and then use any facility to copy it over to other objects (Link modifiers or Copy Attributes addons etc). However to just do renaming this won't be useful

Iterate over all objects (or all selected objects, in the following script). If the object supports modifiers, check if the looked for modifier name exists, if it does, rename it.
import bpy

previous_name_modifier = "boolean1"
new_name_modifier = "MyBoolean"

for obj in bpy.context.selected_objects:
    if not obj.modifiers:
        continue
    mod = obj.modifiers.get(previous_name_modifier)
    if mod:
        mod.name = new_name_modifier


text:
End result does not have a mask
I Was watching "How to make a Lightsaber in Blender | The easy way" where it taught me how to make a lightsaber using a mask. Towards the end of the video,I clicked render animation and when i checked my output file, the pictures had no mask around them.
I used a image sequence.
My render result is this

At the bottom where it has the checkbox for background, there is a "Use Nodes" checkbox to the left of it.

I have already checked the "use nodes" checkbox.

I added a Full picture of my blender screen.

Do you mean the checkbox in the picture above.
I think it is renderable

Yeah, looks good, IDK what your problem is then. What does the backdrop look like?

what version of blender do u use

In render settings under post processing is compositing enabled? You may need to share your blend for someone to find the issue, upload to blend-exchange.giantcowfilms.com and add the link here is the preferred way.

Possible solutions:

Make sure you have your mask selected from the drop-down in the Mask node
Make sure your output is not only connected to the Viewer node but also to the Composite node output. Ensure that "Use Nodes" at the bottom of the Node editor is checked.
Make sure the mask layer you are using is enabled to render

Please update with more information if this does not solve your problem.

The weird part is I can clearly see my blade in the node editor. And what do you mean by "Make sure your output is not only connected to the Viewer node but also to the Composite node output. Ensure that "Use Nodes" at the bottom of the Node editor is checked."

@CharanKotha In the Node Editor, you will see the backdrop that is connected to the "Viewer" node at the end of your tree. For your nodes to be rendered, you must connect this same output to a "Composite" node. If you don't have one, add one with Shift + A > Output > Composite.

That is how my node editor looks like, but i just turned off the backdrop.

"Make sure the mask layer you are using is enabled to render" How do I do this.

What do you mean by "Make sure the mask layer you are using is enabled to render".

@CharanKotha See this image: https://wiki.blender.org/uploads/thumb/8/83/Blender2.64_mask_editor_overview.png/600px-Blender2.64_mask_editor_overview.png
On the right side with the layers, there is a camera you can click and unclick. Make sure it is render-able.

Do you mean the checkbox in the picture above.

I think it is renderable.