text:
Show image textures in 'material' or 'texture' shading modes in Cycles
I've created a material that uses an image as a texture, applied it to a plane and then UV-unwrapped the plane.
The texture shows up in the final render, even in the 'rendered' shading mode of the viewport, but not in 'texture' or 'material' modes.
Everything seems right from what i've checked in multiple questions and tuts... but it still the plane shows like a giant black square.
I would appreciate any hints on the problem.

here is the .blend if you wanna try .blend file

Blend works fine for me.. Try selecting the texture node though. In textured view the last selected texture node is used (though I don't think this should matter when there is only one). Perhaps it's a GPU specific issue?

I think it may be something like that... what does GPU stands for?... I am using a macbook pro and i think it uses an integrated graphics card :/ ... maybe the image for the texture is too big?

@invicente Then it wouldn't render...

Okay, the only reason it should work on mine and not on yours is that i inserted a different picture. Try re-uploading yours into your node or try a different picture. GPU stands for Graphics Processing Unit.

This question appears to be off-topic because it is about hardware issues/a bug.

Yeah guys, it's something about the picture i used. maybe it's too big. i changed it for one of standar res and it worked fine. Thanks! @GiantCowFilms, you may be right... what should i do with the question?

@invicente delete it.

BTW, try using the same image resized, or saved as a different format. That might fix the issue.

C#22  Hopefully this was not too hard to find.  Decoder gold can be found here. https://i.sstatic.net/PXtQK.png and C#23 can be found here http://blender.stackexchange.com/a/17777/5426 good luck :-)


text:
how to color in 'wave' procedural texture (cycles)
I'd like to add color to a 'wave' procedural texture.
Other procedural textures come with color options (like cheker e.g.) but this one doesn't.
I am new to the Cycles rendering engine and I don't know how to use nodes or combine them.
Is there a way to mix this with another shader so i get a colored procedural texture?

How is that done? @SixthOfFour

You can do this by putting the Color or Fac output of the texture through a Color Ramp Node and adjusting the colors and positions of the markers. This works both for Cycles and Blender Render
Cycles

Blender Render

source: Stack Exchange

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

sort: votes


text:
capturing user view movements as a camera?
Here's a question just for the sake of curiosity...
I was watching the new Damon Albarn video, the one that features his 3d head. And for the major part of the video it just looks like someone is recording what is seen on the screen of the computer, "camtasia"-like. or something.
But near the end, it start using really realistic lighting and shaders, and it ocurred to me that what actually is going on, is that, somehow they captured the movements the user was doing in the original interface, and used them as camera movements and settings.
I don't know if i am being clear, but do you guys think is possible with some scripting?
Here's the video, near the end, by the way:
https://www.youtube.com/watch?v=rjbiUj-FD-o

The problem I see is that one has not a good enough PC to render the working process. Even if you take a "sceenshot" from the camera every x second, the previous picture has to be finished because Blender can only handle one rendering at a time?

No, that's not what i'm asking. what i would like is to cature the movement, as if it were a camera animation, so i can render later with whatever settings i choose.

Ah, now, I think that should be possible. It's just that I can't watch the video in Germany because it's blocked.

This script should fulfill your needs. Basically it uses a modal operator (runs parallel to Blender), takes the current position and view and stores those in an array (records at the currently selected framerate of the selected scene). When you click with Left-Mouse a new camera is created that has your movement assigned to it. Right-Mouse or Esc will cancel the command. You can find it by pressing Space in the 3D-Viewport and searching for "Record View Movement". When you leave the viewport the script pauses recording until you reenter.
Just copy and paste the script into a texteditor and run it once (Alt+P) or write a full plugin (in this case give some credits to stackexchange). Anyway, here is the script:
import bpy, time, bgl, blf
from mathutils import Vector, Quaternion

def bgl_draw_fx(self, context):
    """A drawing routine that we show while our operator is active"""
    font_id = 0  # XXX, need to find out how best to get this.
    bgl.glColor4f(1, 0.3, 0.3, 1)
    blf.position(font_id, 15, 30, 0)
    blf.size(font_id, 12, 72)
    blf.draw(font_id, 'Recording...')
    # restore OpenGL to default
    bgl.glDisable(bgl.GL_BLEND)
    bgl.glColor4f(0.0, 0.0, 0.0, 1.0)

class RecordOperator(bpy.types.Operator):
    """Translate the view using mouse events"""
    bl_idname = "view3d.record_movement"
    bl_label = "Record View Movement"
    def __init__(self):
        self.fps = 1
        self.timer = None
        self.lasttime = 0
        self.recorded_movement = []

    def registerModal(self, context, event):
        args = (self, context,)
        self._handle = bpy.types.SpaceView3D.draw_handler_add(bgl_draw_fx, args, 'WINDOW', 'POST_PIXEL')
        self.timer = context.window_manager.event_timer_add(1.0/self.fps, context.window)
        context.window_manager.modal_handler_add(self)

    def unregisterModal(self, context):
        bpy.types.SpaceView3D.draw_handler_remove(self._handle, 'WINDOW')
        context.window_manager.event_timer_remove(self.timer)

    def execute(self, context):
        """Gets called by us"""
        action = bpy.data.actions.new('RecordingCamera') # create action
        curveLocX = action.fcurves.new(data_path="location", index=0) # create curves
        curveLocY = action.fcurves.new(data_path="location", index=1)
        curveLocZ = action.fcurves.new(data_path="location", index=2)
        curveRotX = action.fcurves.new(data_path="rotation_quaternion", index=0)
        curveRotY = action.fcurves.new(data_path="rotation_quaternion", index=1)
        curveRotZ = action.fcurves.new(data_path="rotation_quaternion", index=2)
        curveRotW = action.fcurves.new(data_path="rotation_quaternion", index=3)
        frames_c = len(self.recorded_movement) # get frame-range
        curveLocX.keyframe_points.add(frames_c) # add frames
        curveLocY.keyframe_points.add(frames_c)
        curveLocZ.keyframe_points.add(frames_c)
        curveRotX.keyframe_points.add(frames_c)
        curveRotY.keyframe_points.add(frames_c)
        curveRotZ.keyframe_points.add(frames_c)
        curveRotW.keyframe_points.add(frames_c)
        for frame, (loc, quat) in enumerate(self.recorded_movement):
            curveLocX.keyframe_points[frame].co = frame + 1, loc[0] # set keyframes
            curveLocY.keyframe_points[frame].co = frame + 1, loc[1]
            curveLocZ.keyframe_points[frame].co = frame + 1, loc[2]
            curveRotX.keyframe_points[frame].co = frame + 1, quat[0]
            curveRotY.keyframe_points[frame].co = frame + 1, quat[1]
            curveRotZ.keyframe_points[frame].co = frame + 1, quat[2]
            curveRotW.keyframe_points[frame].co = frame + 1, quat[3]
        # apply created data
        cam = bpy.data.cameras.new('RecordingPlayback')
        camObj = bpy.data.objects.new('RecordingPlayback', cam)
        camObj.rotation_mode = 'QUATERNION'
        anm = camObj.animation_data_create()
        anm.action = action
        context.scene.objects.link(camObj) # link to scene
        context.scene.update()

    def modal(self, context, event):
        if event.type == 'LEFTMOUSE':
            # apply movement
            self.execute(context)
            self.unregisterModal(context)
            return {'FINISHED'}
        elif event.type in {'RIGHTMOUSE', 'ESC'}:
            self.unregisterModal(context)
            return {'CANCELLED'}
        v3d = context.space_data
        if v3d.type != 'VIEW_3D':
            return {'RUNNING_MODAL'}
        ctime = time.clock()
        if (ctime - self.lasttime) > (1.0/self.fps):
            rv3d = v3d.region_3d
            # record movement
            current_rot = Quaternion(rv3d.view_rotation)
            if rv3d.view_perspective == 'PERSP':
                current_pos = rv3d.view_rotation.to_matrix().col[2].to_3d()
                current_pos *= rv3d.view_distance
                current_pos += rv3d.view_location
            elif rv3d.view_perspective == 'CAMERA':
                current_pos = Vector(context.scene.camera.location)
            else:
                print('BUG, unknown perspective:', rv3d.view_perspective)
            self.recorded_movement.append((current_pos, current_rot))
            self.lasttime = ctime
        # don't block input
        return {'PASS_THROUGH'}

    def invoke(self, context, event):
        self.fps = context.scene.render.fps
        self.registerModal(context, event)
        return {'RUNNING_MODAL'}

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

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

if __name__ == "__main__":
    register()

Note: You can combine this with any technique that manipulates the current view (for example flight-mode Shift+F to record the movement and play it back. This is imo one of the best features of this script. Just trigger recording and go into flight mode. Keep in mind that you have to press Left Mouse to keep the recorded animation.

This is awesome! Thank you!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

You can use Record animation and Lock camera to view to do this without python, however it only works in fly/walk mode:

Enable it in Timeline > Header:

This will insert keyframes for any objects/bones you move/transform, including the camera.
In camera view (Numpad 0), enable Lock camera to view in 3D view > Properties region:

You should see a dotted line on the outside of the camera view, and moving the view with MMB should also move the camera.
Press AltA to start the animation, then press ShiftF to enter Walk Navigation. This also works in Fly mode (3D view > Header > View > Navigation > Fly Navigation).

you should mention that, with this method, you have to set start and end beforehands because Alt+A will loop the player.

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


text:
Pipe with round caps (ends)?
I was trying to make a pipe with rounded cap or ends. Something like in the image, where I just added to spheres as "ends".

I've already surfed the internet a little and it looks like an uncovered issue, as simple as it seems.
I need to do this because I want to animate it later, like some type of growing body of water.
So, the method I'm trying out now is using a Bezier curve and applying some bevel, because of the "start bevel factor" and "end bevel factor" parameters which can modify the length of the pipe from its start or its end. Very handy.
What I've tried later, was to select a sphere for the bevel object, so it would return a pipe with rounded caps... but it was impossible.
So I'm totally open to new approaches, if you have any ideas!

You can do this with an array modifier and a curve modifier (see this post):

Add a slightly extruded circle/cylinder with no caps:

Add an array modifier:

Add a curve modifier:

For the array to deform as expected the object origins must be in the same place.
Add two half spheres as start and end caps:

the length can be animated with the Count value of the array modifier.


text:
Is there a way to use the normal of a face to model something else?
I was wondering if there's a way to extract the normal of a specifici face to use it later in something else
In my case what i'm trying to do is a pipe that, in its start point, goes perpendicular to a specific face of my model. So it would be useful to use the normal of the model to start a spline.
heres a pic:

Thank you!

Would this pipe be another mesh object, or part of the same mesh? Because there's object snapping with alignment supports (aligns Z to normal).

I need it to be a separate object at the end but i'll start for this, thank you!

You can also select the face, then "view->align view to selected->front" (shift Numpad 1) and then change the 3d manipulator to "view" (instead of "global" or "local"). Then you can extrude a vertex along the normal by pressing "E YY" or "E XX" or use the manipulator to move along the aligned view axis.

You can use the snapping tools to snap an object to the face of another object, the optional align rotation can also be beneficial.
For even more control you can use the face to define your own custom transformations so you can move and rotate in alignment with the face.


text:
Sun Light Not Illuminating Anything
My sun light isn't illuminating the scene at all, it
s all black and I'm not sure why. Could you please help? This is the link to the .blend file.

Screenshot of the issue. I am in rendered view, and this is all that shows.

Hello and welcome. While files, images, and external videos or links may be helpful additions they should not be the only way to obtain information about your issue. Don't make understanding your question rely on downloading a file, watching a video or visiting an external site. Use the builtin tools to upload images or gifs, along with thoroughly explaining the problem in written form so it can be indexed and searched for thus helping future visitors with similar issues.

Oh, sorry. Will do.

You need to pack your textures into the blend file before you upload it via File > External Data > Pack Resources in Blender. Then upload it to https://blend-exchange.com/ following the instructions on that page. We'll then be able to see what's going on.

Oh, alright. I'll do that

Your light is working just fine. It's the material on your sphere object that is giving you trouble. Objects that have non-working or no materials will render as black, in this instance making it seem as though your light was not working.
Diffuse shaders are not compatible with the volume input of the output node, and will render as black. To correct this, move the shader output to the surface input of the output node, and things should render as expected.

Ohhh... thanks! That should fix the problem. I must've missed something in the tutorial.

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


text:
Blender script distorts large object
I am creating coin using cylinder and adding text on it. I am using blender script and calling script via command line. Sizes of coins ar 45mm, 60mm,, 75mm, 90mm and 105mm. It is working fine for small coin 45mm. For bigger coin size 75mm, 90mm etc. sometimes text gets distorted or some part of the letters gets corrupted.
I am using window server with 4GB RAM where I am calling this script. I have noticed CPU utilization is going 100% when we are creating coin using blender python script. Is server configuration creating this issue? Please let me know how to fix this issue.
Below is script. It works fine for scale 22.5. For scales 45, 50 most of times works fine but sometimes text gets distorted.
import bpy
import bmesh
import math

SUBDIVISION = 70
HEIGHT = 0.1
RADIUS = 1
RIM = 0.3
DEPTH = 0
SCALE = 22.5

RIM_TEXT_SIZE = [0.23, 0.23]
CENTER_TEXT_SIZE = [0.23, 0.23]
CENTER_TEXT_OFFSET = [0, 0, 0]
RIM_TEXT_OFFSET = [0, 0, 0]
TEXT_FONT = [None, None]
TEXT_EXTRUDE = 0.04
TEXT_CONTENT = ["top head", "bottom head", "center head", "top tail", "bottom tail", "center tail"]

GRAPHIC = None
GRAPHIC_SCALE = 0.05
GRAPHIC_EXTRUDE = 0.05
GRAPHIC_OFFSET = [0,0,0]
GRAPHIC_RESOLUTION = 7

STL_EXPORT = None
STL_NAME = "coin.stl"

# example function call:
# GenerateCoin(coin_stl_export = "C:\\Users\\hp\\Desktop", coin_graphic = "C:\\Users\\hp\\Downloads\\logo.png", coin_text_font = ["C:\\WINDOWS\\Fonts\\ROCC____.TTF", "C:\\WINDOWS\\Fonts\\ROCC____.TTF"], coin_text_content = ["test", "head", "", "top tail", "bottom tail", "center tail"], coin_graphic_offset = [-0.03,0,0], coin_graphic_scale = 0.3)

def GenerateCoin(coin_subdivision = SUBDIVISION, coin_height = HEIGHT, coin_radius = RADIUS, coin_rim = RIM,\
    coin_depth = DEPTH, coin_scale = SCALE, coin_rim_text_size = RIM_TEXT_SIZE, coin_center_text_size = CENTER_TEXT_SIZE,\
    coin_text_extrude = TEXT_EXTRUDE, coin_text_content =  TEXT_CONTENT, coin_center_text_offset = CENTER_TEXT_OFFSET,\
    coin_rim_text_offset = RIM_TEXT_OFFSET, coin_text_font = TEXT_FONT, coin_graphic = GRAPHIC,\
    coin_graphic_offset = GRAPHIC_OFFSET, coin_graphic_scale = GRAPHIC_SCALE, coin_graphic_extrude = GRAPHIC_EXTRUDE,\
    coin_graphic_resolution = GRAPHIC_RESOLUTION, coin_stl_export = STL_EXPORT, coin_stl_name = STL_NAME):

    # clear the scene & set context
    bpy.ops.object.select_all(action='SELECT')
    bpy.ops.object.delete(use_global=False)
    bpy.context.scene.unit_settings.scale_length = 0.01
    bpy.context.scene.unit_settings.scale_length = 0.01

    # create coin mesh from cylinder
    bpy.ops.mesh.primitive_cylinder_add(depth = coin_height, radius = coin_radius, vertices = coin_subdivision, enter_editmode=False, align='WORLD', location=(0, 0, 0), scale=(1, 1, 1))

    coin = bpy.context.active_object
    coinMesh = coin.data

    # using bmesh
    bpy.ops.object.mode_set(mode='EDIT')
    bmCoin = bmesh.from_edit_mesh(coinMesh)

    # select top and botom faces
    for face in bmCoin.faces:
        face.select = False
    bmCoin.faces.ensure_lookup_table()
    BottomFace = bmCoin.faces[SUBDIVISION + 1]
    TopFace = bmCoin.faces[SUBDIVISION - 2]

    # inset the faces
    bmesh.ops.inset_region(bmCoin, faces = [BottomFace, TopFace], thickness=coin_rim, depth=0)
    bmesh.ops.inset_region(bmCoin, faces = [BottomFace], thickness=0, depth=-coin_depth)

    bpy.ops.object.mode_set(mode='OBJECT')

    # manipulate text
    bpy.ops.object.mode_set(mode='OBJECT')
    TextManipulate(coin, coin_rim_text_size, coin_center_text_size, coin_text_extrude,\
    coin_height, coin_depth, coin_text_content, coin_radius, coin_rim, coin_center_text_offset,\
    coin_rim_text_offset, coin_text_font)

    # final geometry clean up
    bpy.ops.object.mode_set(mode='EDIT')
    bpy.ops.mesh.select_all(action='DESELECT')
    bpy.ops.mesh.select_mode(type="EDGE")
    bpy.ops.mesh.select_non_manifold()
    bpy.ops.mesh.edge_split()
    bpy.ops.mesh.select_all(action='DESELECT')

    bpy.ops.mesh.select_mode(type="VERT")
    bpy.ops.object.vertex_group_select()
    bpy.ops.mesh.select_all(action='INVERT')
    bpy.ops.mesh.remove_doubles(threshold=1e-05)

    bpy.ops.mesh.select_all(action='DESELECT')
    bpy.ops.mesh.select_mode(type="EDGE")
    bpy.ops.mesh.select_non_manifold()
    bpy.ops.mesh.delete(type='EDGE')

    # export to stl
    if coin_stl_export != None:
        bpy.ops.object.mode_set(mode='OBJECT')
        bpy.ops.object.select_all(action='SELECT')
        bpy.context.view_layer.objects.active = coin

        bpy.ops.transform.resize(value=(coin_scale, coin_scale, coin_scale))

        stl_path = coin_stl_export + '\\' + coin_stl_name
        bpy.ops.export_mesh.stl(filepath= stl_path)

def TextManipulate(coin, coin_rim_text_size, coin_center_text_size, coin_text_extrude,\
    coin_height, coin_depth, coin_text_content, coin_radius, coin_rim, coin_center_text_offset,\
    coin_rim_text_offset, coin_text_font):

    ''' perform text manipulations and placement on the coin'''

    # create a collection to store all text objects
    text_head_coll = bpy.data.collections.new("TextHeadCollection")
    bpy.context.scene.collection.children.link(text_head_coll)

    text_tail_coll = bpy.data.collections.new("TextTailCollection")
    bpy.context.scene.collection.children.link(text_tail_coll)

    for text_index in range(6):

        # create text object
        bpy.ops.object.text_add(enter_editmode=True, align='WORLD', location=(0, 0, 0), scale=(1, 1, 1))
        text = bpy.context.active_object

        # apply text settings
        if text_index in (0, 1, 2):
            face = 0
        else:
            face = 1

        if text_index in (2,5):
            text.data.size = coin_center_text_size[face]
        else:
            text.data.size = coin_rim_text_size[face]

        if coin_text_font:
            text_font = bpy.data.fonts.load(coin_text_font[face])
            text.data.font = text_font

        # clear the default text and write the text content
        bpy.ops.font.delete(type='PREVIOUS_WORD')
        bpy.ops.font.text_insert(text = coin_text_content[text_index])

        # set verticle location
        if text_index in (0, 1, 2):
            text.location[2] += (coin_height / 2 - coin_depth) - 0.01
            if text_index != 2:
                text.location[2] += coin_depth
        else:
            text.location[2] += -(coin_height / 2 - coin_depth) - 0.01
            if text_index != 5:
                text.location[2] -= coin_depth

        # allign the origin and orientation
        bpy.ops.object.mode_set(mode='OBJECT')
        text.data.space_character = 1.05
        text.data.align_x = 'CENTER'
        text.data.align_y = 'CENTER'

        if text_index in (0, 3):
            text.location[0] = math.pi * (coin_radius - coin_rim/2)
        elif text_index in (1, 4):
            bpy.ops.transform.mirror(orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(False, True, False))
            bpy.ops.transform.mirror(orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(True, False, False))

        if text_index >= 3:
            bpy.ops.transform.mirror(orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(True, False, False))

        if text_index in (2, 5):
            text.location[0] += coin_center_text_offset[0]
            text.location[1] += coin_center_text_offset[1]
            text.location[2] += coin_center_text_offset[2]
        else:
            text.location[0] += coin_rim_text_offset[0]
            text.location[1] += coin_rim_text_offset[1]
            text.location[2] += coin_rim_text_offset[2]

        # convert to mesh
        bpy.ops.object.convert(target='MESH')
        bpy.ops.object.mode_set(mode='EDIT')
        bpy.ops.mesh.select_all(action='SELECT')

        bpy.ops.mesh.remove_doubles()

        bpy.ops.mesh.extrude_region_move(MESH_OT_extrude_region={"use_normal_flip":False, "use_dissolve_ortho_edges":False, "mirror":False}, TRANSFORM_OT_translate={"value":(0, 0, coin_text_extrude), "orient_type":'GLOBAL', "orient_matrix":((1, 0, 0), (0, 1, 0), (0, 0, 1)), "orient_matrix_type":'GLOBAL', "constraint_axis":(False, False, True), "mirror":False, "use_proportional_edit":False, "proportional_edit_falloff":'SMOOTH', "proportional_size":1, "use_proportional_connected":False, "use_proportional_projected":False, "snap":False, "snap_target":'CLOSEST', "snap_point":(0, 0, 0), "snap_align":False, "snap_normal":(0, 0, 0), "gpencil_strokes":False, "cursor_transform":False, "texture_space":False, "remove_on_cancel":False, "release_confirm":False, "use_accurate":False, "use_automerge_and_split":False})
        bpy.ops.mesh.select_all(action='SELECT')
        bpy.ops.mesh.quads_convert_to_tris(quad_method='BEAUTY', ngon_method='BEAUTY')
        QuickCleanGeometry(text)

        # flip normals
        if text_index in (3, 4, 5):
            bpy.ops.mesh.flip_normals()

        # create curve to wrap text around
        bpy.ops.curve.primitive_bezier_circle_add(enter_editmode=False, align='WORLD',radius = coin_radius - coin_rim/2, location=(0, 0, 0), scale=(1, 1, 1))
        curve = bpy.context.active_object

        # wrap text around the curve
        bpy.context.view_layer.objects.active = text
        if text_index not in (2, 5):
            text.modifiers.new("Curve modifier", 'CURVE')
            text.modifiers["Curve modifier"].object = curve
            bpy.ops.object.modifier_apply(modifier="Curve modifier")

        # delete the curve
        bpy.context.view_layer.objects.active = curve
        bpy.ops.object.delete()

        # add text object to a collection
        if text_index in (0, 1, 2):
            bpy.data.collections['TextHeadCollection'].objects.link(text)
        else:
            bpy.data.collections['TextTailCollection'].objects.link(text)

    # apply union boolean between the head side and text objects
    coin.modifiers.new("Boolean modifier", type='BOOLEAN')
    coin.modifiers["Boolean modifier"].operation = 'UNION'
    coin.modifiers["Boolean modifier"].use_hole_tolerant = True
    coin.modifiers["Boolean modifier"].use_self = True
    coin.modifiers["Boolean modifier"].operand_type = 'COLLECTION'
    coin.modifiers["Boolean modifier"].collection = text_head_coll

    bpy.context.view_layer.objects.active = coin
    bpy.ops.object.modifier_apply(modifier="Boolean modifier")

    bpy.ops.object.mode_set(mode='OBJECT')

    # apply union boolean between the tail side and text objects
    coin.modifiers.new("Boolean modifier", type='BOOLEAN')
    coin.modifiers["Boolean modifier"].operation = 'DIFFERENCE'
    coin.modifiers["Boolean modifier"].use_hole_tolerant = True
    coin.modifiers["Boolean modifier"].use_self = True
    coin.modifiers["Boolean modifier"].operand_type = 'COLLECTION'
    coin.modifiers["Boolean modifier"].collection = text_tail_coll

    bpy.context.view_layer.objects.active = coin
    bpy.ops.object.modifier_apply(modifier="Boolean modifier")

    QuickCleanGeometry(coin)

    # remove the collection
    for obj in text_head_coll.objects:
        bpy.data.objects.remove(obj, do_unlink=True)
    bpy.data.collections.remove(text_head_coll)

    for obj in text_tail_coll.objects:
        bpy.data.objects.remove(obj, do_unlink=True)
    bpy.data.collections.remove(text_tail_coll)

def QuickCleanGeometry(obj):
    '''Give the mesh a quick clean up'''
    bpy.context.view_layer.objects.active = obj

    bpy.ops.object.mode_set(mode='EDIT')
    bpy.ops.mesh.select_all(action='SELECT')

    bpy.ops.mesh.dissolve_limited()
    for i in range(30):
        bpy.ops.mesh.quads_convert_to_tris(quad_method='BEAUTY', ngon_method='BEAUTY')
        bpy.ops.mesh.dissolve_degenerate()
    bpy.ops.mesh.dissolve_limited()

    bpy.ops.mesh.quads_convert_to_tris(quad_method='BEAUTY', ngon_method='BEAUTY')

def view3d_find( return_area = False ):
    '''returns first 3d view, normally we get from context'''
    for area in bpy.context.window.screen.areas:
        if area.type == 'VIEW_3D':
            v3d = area.spaces[0]
            rv3d = v3d.region_3d
            for region in area.regions:
                if region.type == 'WINDOW':
                    if return_area: return region, rv3d, v3d, area
                    return region, rv3d, v3d
    return None, None

Thanks

Something's wrong with your script. I'm confused with this definition def TextManipulate(coin, coin_rim_text_size, coin_center_text_size, coin_text_extrude,\     bpy.data.collections.remove(text_tail_coll) why does it take 4 arguments but doesn't use any of the arguments? and then where does text_tail_coll come from in that function. And then on line 76 it is passing 12 parameters to this function even though it only accepts 4 arguments. Also please read How to create a Minimal, Reproducible Example

@HarryMcKenzie I have modified the code. It was missed during copy paste. The above code is working fine the issue is randomly sometimes when we are generating large object some part of text/object get distort.

@Tarlok How to create a Minimal, Reproducible Example

This looks like AI generated code. Was this code generated with the help of some language module? If so you must provide attribution and disclose origin

@DuarteFarrajotaRamos This is not AI generated code. Code is written in python blender script.

After doing testing on different-2 servers I found that the issue is with CPU utilization. Text distorts when CPU utilization is going to100%. I tried with 4 CPU error frequency reduced then I tired with 8 CPU it reduced more but still sometime randomly CPU going to 100%. I am not using GPU, do GPU compulsory for blender? If I don't want GPU then how many CPU needed to run script smoothly? Please help me.

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


text:
How to turn off multiple light one by one in blender
i got a scene where i have a long corridor (infini corridor) with arround 100 lights all the way and i wanted to turn them off one by one (not all at the same time)
If you have any ideas
Let me know
Thanks

Maybe use an array of objects with emission on them and keyframe the array count?

This is so smart thanks you !!

I think @moonboots idea is better because you can set the light direction and area as you wish, but unfortuately you can't use modifiers with lights so can't use an array of them. :^(

does it have to be lights? or can it also be a mesh with e.g. emission shader (which is a light too)?

As John and Chris say, it will be easier if your lights are an object with Emission (in Cycles)

A bit tedious but you could create one light, give 2 keyframes to its Power so that it goes from on to off:

It won't create an action per se but you can push the animation in the Nonlinear Animation editor, it will appear as an orange strip:

Then duplicate the light as many time as you want and shift the strips of the copies:

I make no secret of it that i am a big fan of animation nodes. It's a free add-on and worth every minute learning it.
So if you install it, you can use this easy node setup:

and you will get:


text:
geometry nodes, remove instance top to bottom
is it possible to randomly delete instance from top to bottom?
tried some stuff but was only removing geometry and not instances
created that small geometry node setup to scatter object on a curve but i would like to randomly remove instance on the z axis (like using a ramp)
thanks!

since we have no idea, how your GN tree looks like, you maybe wanna share your node tree with us via image or blend file? maybe this helps:https://youtu.be/ZleGuOP3Rpk

See this: How to make disintegration or dissolve effect from center of the object with texture or geometry nodes? - specifically the Quellenform's answer. You could add a random value to the distance calculation (in your case height) to mix between randomness and from top-to-bottom transition.

makes sense^^ just added a screenshot of simplified version of the setup but its basically the same just adding some randomness to the instance, i m new to this and maybe i m doing things the wrong way, i use the duplicate elements to create some sort of wall and would like to be able to remove points at the top to create randomness to it

With the following node setting:

In this example the top instance is unstacked every one second.
It adds delta time of the simulation zone and check if more 1 second elapse is spent.
If yes, it gets the topmost instance, using an attribute statistics looking at max Z position value and delete the corresponding instance(s).

awesome gonna try that thanks!
stupid question how do you get the cumulated time input in the simulation input/output?

just add a float input, for instance from the n panel once the group input is selected. Note that you provided a very partial information about your node setting, so, this answer may work directly or may need to be adapted.

thanks! here is the file (simplified the nodes but its the base)
https://www.dropbox.com/scl/fi/ycvtmyexh1o6kfufsmurz/geonodes-curve-clean-light.blend?rlkey=tn5lt0rtsbqt544cydzf7oso3&dl=0
like i said pretty new with all that and just trying stuff out with what i find online, so if you have tips to make it better dont hesitate :)

Your file with the "unstack" + some randomness, if that can help: https://blend-exchange.com/b/w0mDP0xg/

awesome man thanks!


text:
Why is my spiral water pump not working as expected?

I made a very simple water pump: it's just a spiral inside of a tube. It rotates and is supposed to transport the fluid up (like on those children's playgrounds where you rotate exactly such a thing to pump water up) but it's completely not working, as you can see, the water splatters around everywhere!
The spiral rotates via keyframe animation so that shouldn't be the problem. The tube has Volume Initialization set to "Shell". I tried the other options too.
All objects have their neccessary fluid settings and stuff, I also baked it correctly. There must be something i'm missing, can anyone help me out?
(Also the spiral is rotating correctly. It just doesn't look like it in the 2 images below)
Begin:

End:

It might be helpful to people trying to help you if you uploaded an example blend file to the site https://blend-exchange.com and add that link in the question.

@RickT Thanks I didn't know that, i uploaded it, see question edit

Does such a "spiral pump" really work in real? The spiral is more like a drill than a water pump. With it, you can probably transport stones, clays, and possibly sand. But liquids will immediately flow back because of gravity if the spiral does not rotate at a very high speed. Some kind of shovel or trowel is missing to transport the water, isn't it?

nevermind. The trick is not to sink the lower end completely into the water so that air and water alternately enter the screw. Here is an illustration of a so-called "screw pump": https://empoweringpumps.com/screw-pump-basics/

@Blunder Interesting… To my understanding the air has nothing to do with it (well, OK, without it the water would boil away, but if you imagine a magic liquid that can't boil or expand, it will still be transported up by the screw pump). I aligned a blue cylinder with a model of the screw, and used a boolean on the blue cylinder - if you imagine the blue cylinder to be water, part of this water is trapped in a local minimum and can't be pulled by gravity down the screw: https://i.imgur.com/vqY8BXm.png Does submerging entire end in water decrease the performance of the pump for some reason?

First of all, when you upload a file for troubleshooting it would be best to leave the settings like you used them - in your file, on the domain object Liquid is disabled, but this way no fluid will be simulated so I guess that's not the setting you used.
The next thing is, your Resolution Divisions at 32 are way too low. The size of the simulated voxels are calculated by largest dimension of domain / resolution divisions which in your scene is 22.5m/32 = 0.7m approximately, so your "water drops" are 70cm large. If you then take into account that the tube is less than 2m in diameter which results in less than 1m of space between tube wall and spiral going through the center - without even taking any of their thicknesses into account there is almost no room for the fluid to squeeze itself inside the tube. Especially not where the tube is intersecting with the bowl holding the water and is blocking even more space.
By the way, the small cube in the corner of the domain shows the voxel size according to the resolution divisions. As you can see, this is huge in relation to the scene setup. I would at least set the resolution to 100 or 150, better 200.

Talking about walls and wall thickness: I don't know how you've created the spiral, but the geometry is twisted, leading to parts where it seems to be thin like a blade (which is not working really well with fluid simulations) and what is even worse, turning inside faces outwards. If you enable Face Orientation in the viewport Overlays, you can see that it's half blue, half red. Blue is good, these are the faces pointing in the correct direction. The red ones are inverted and thus are not effecting the fluid like they should. So with this object you will never get the water upwards. But I'm not going to model a new spiral for you.

This is not an answer to make it work - therefore I would have to create a new spiral - but these are some hints on which parts you have to work and if you have good geometry on your models (and avoid intersections like the bowl going inside the tube) and a higher resolution and it is still not working, we can have a closer look what's missing.

You can "noddle" a spiral with Geometry Nodes. Kuboå has shown a nice solution here: https://blender.stackexchange.com/a/255436/107598. To get the double helix DNA design just rotate the first spiral by 180° and add a Solidify modifier: https://i.sstatic.net/kSFmU.jpg

@Blunder Maybe you should tag the OP to make sure he reads this explanation. Or was it meant for me? I would know ways to get a spiral, but I don't think I want to model the scene setup for the OP.

Oh, I thought the OP always gets a notification. -- Do you, @Squareoot? ;-)

@Blunder Of comments under the question yes, as well as the author of an answer under his answer... but I'm not yet sure if the OP gets notified of comments under other's answers (I usually don't ask questions so I haven't lots of experience with this).

It looks like the shape of this screw will not capture and carry any water up. Either the shape is bad or the angle is too steep.

Correct shape/angle of the screw: https://i.imgur.com/5wS4B2V.png

Thank you so much, this was extremely helpful!! I will think of all those things. Great answer!


text:
Color Ramp not working in shading mode in blender 3.3
I'm trying to texture lips, in blender 3.3, by following this tutorial: https://youtu.be/PjvwaC3ql0U
When I apply the color ramp it should spread the colors like in the image 1 but i'm getting a full color like in image 2 instead.
How can i solve that?
Thank you.

Edited:
I've added the model file, you can download it from here: https://www.dropbox.com/s/6bsboecds6xy0qe/Model_Blender3.3.rar?dl=0
Edited 2:
 Video what I'm doing: www.dropbox.com/s/yazl7o04uvrg8pa/colorRamp%20blender%203.3.mp4?dl=0

pls provide blend file, thx, but did u see the difference in gradient texture? linear <> quadratic sphere, maybe this already helps

I've tried with all the parameters but nothing happens. I also use the alpha node in the colorRamp instead of the color node but nothings happens.
I've uploaded the model file.

Well, from your image, you try to use object from the texture coordinate node instead of U, move everything to 0 location on the mapping node and make it smaller also on the mapping node

@Emir: Please see my answer

Instead of using the 'UV' output of Texture Coordinate, Use a UV Map input node, set to UVMap.001. At least, then, you're referencing the right UV  map. And use a 'Quad Sphere' Gradient instead of 'Linear', for a result analogous to your working reference. But really, I think you might be better off rethinking your mapping altogether.

@RobinBetts I use your settings and I got what you see in the video i uploaded. why do you say i have to rethink my mapping?

Charly  ... I guess it depends on exactly what you're looking for.. I was thinking graduations of color across lips alone, isolated from surrounding skin. Typically the mask for that would be a painted  / an image, not an attempt to make procedural shapes fit. But I may be barking up completely the wrong tree.. :)

@RobinBetts and how can I accomplish what I want to do. Did you see the video I uploaded? I almost done, I only need to rotate of 90° the degradation colors.

you have selected the wrong uv map, select the second one here:

after selecting the right uv map you have to change the size of the UV editing as well, as you already see in your own posted picture.
So select all vertices and press S Y and move your mouse
Like this:

I'm sorry, I'm new in blender. How do you select it? I thought that just by clicking on it it'll be automatically selected.
does it work for you?

I already selected the UV Map but nothing happens.

in the file you uploaded your uvmap is selected. With that it doesnt work. You see which one is selected by the white camera symbol -> you should select UVMap.001....if this still doesn't work with (!) the gradient change i told you before, pls make a video and show us what you have done, because i think you didn't make all the changes. you can link the video either in the comments or in the question.

another hint to tutorials: If you are a beginner, you should try to follow EXACTLY how the tutorials works. Don't make any difference especially if you are a beginner. Just as example: your uv editing a lot smaller than in the tutorial. And often it's the little things which make a huge difference in Blender. It is seldom just "one click" and it works. So you might as well have to change the UV editing a bit and play around with the colorramp. But with select the right uvmap and selecting quadratic sphere you should get at least a drastic improvement so that it looks more like the tutorial.

and if you look exactly at the tutorial: he resizes the uv's so that the mouth is all over the UV editing space. You didn't do that at all....

I was following the tutorial and I also resize the uv map making it small and large but i got stuck in the colorRamp think.
Now I've applied the settings of Robin Betts and i have an improvement. Please check out the next video. How can I rotate the gradient colors?
https://www.dropbox.com/s/yazl7o04uvrg8pa/colorRamp%20blender%203.3.mp4?dl=0

i updated my answer. I can just repeat: watch the tutorials carefully and repeat every little step they made. You didn't do that at all. Neither with the uv map - nor with the scaling. It is the best if watch it again and again and do all the things - by this you will learn the most.

...and no, you don't have to change the UV output as Robin said, just selecting the right UV map works. I tried that out. Of course Robins solution "works" too, but it is not necessary. It works how i wrote it.

and another hint: you shouldn't follow very short tutorials who aren't really suitable for beginners and which don't explain what keys were pressed and don't explain exactly why what happens. You should watch beginner tutorials about UV editing and shading like e.g. from Grant Abitt... You see how you are struggling here..."normally" more subscribers > 10K means: better tutorials.

So did you do with my model what they do in the tutorial and it worked for you? Can you please share it. I did what you said, I followed then the tutorial step by step and nothing changed for me. Thanks

yes, just one min

here you can download: https://www.dropbox.com/s/ikh34m996bzov23/Man_Modeled_repaired.blend?dl=0

Thank you soo much for your help.  One more question: How can I show the UV map at the left of the screen as you do? I activated the UV map window but it is empty.

you have to select your mesh vertices/faces on your model on the right side, then the corresponding uv-vertices will be selected like this:[1]: https://i.sstatic.net/0bYMg.gif

Please Charly, don't ask more questions in comments because other people cannot find these questions and answer in the comments. This site has the sense to help other people as well, not just the one who asks. So all user can learn from other people answers. But if you ask in comments, nobody can learn from it. So just open another question - you may ask as many questions as you like. There is no limit.


text:
Blender Game Engine Not Rendering Objects Properly
So I made a simple blender game engine with a controllable character using WASD and mouse.  I added a Suzanne mesh and it will not render properly.
However, when I render from outside the camera in the game engine, the Suzanne mesh renders properly.  The 'game' is meant to be played from the first person.  The 1st person perspective camera is parented by the box and follows it, the camera is inside the box.
As you move around in 1st person, the object renders in different ways really fast, resulting in a flash, GIF here: https://media.giphy.com/media/WwpazKMWcgWTYJbps8/giphy.gif

This one keeps looking like this no matter where I move the character

If you know what I can do to fix this, please leave an answer, it would be greatly appreciated.  Feel free to ask questions about how I set it up, I would be happy to help!

It seems like some graphics system issue... did you try to update drivers to latest versions?


text:
Spot light is not working in preview render
Why is the Spot light no longer working? The problem occurs when I increased the scale of the model then applied the scale. I adjusting the lamp size to 2 meters then set the strength to 5000. On my second attempt I set the Lamp size to 50cm but it made no difference. The render remains dark. If I change the lamp type to Hemi or Sun then it works fine (figure 4).
Weird thing is if I disconnect the world output node as seen in figure 3. but with the use nodes still enabled then I get this result. There is still some light on the hair but the face is completely black.

I cant tell, I would upload your blend file so we can take a look

Increase the light strength to way higher than 100000.000, that's the easy solution.
I had the same problem with area lights. then I increased the strength to one million first, then reduced to my required value.

That is a method I usually use! If something doesn't seem to be working, change the value to something extreme. If it actually isn't changing, then there will be no difference - otherwise, you will notice the difference :)

If the sun is working (the hemi light isn't supported in Cycles – it basically just acts like a sun) the problem is most likely due to light falloff of your light sources. your scene is too large for the size and strength of your lamp.
You can confirm that by adding a light falloff node to the emission of your light as shown below.

quadradic is the default (and real world) falloff
linear is a linear falloff (double the distance, half the strength of the light)
constant is no falloff, this is i.e. used per default by the sun lamp

Adjust the falloff and strength to fit your needs.

This works except that I had to plug constant into strength.  Thanks bud

That's what I meant by adjusting the falloff. Consider accepting the answer if it helped, so others with a similar problem can find it.

Smaller spotlight sizes means more coverage. See the figure below the spot lamp size is set to 20cm. The following image shows the spot lamp size at 2 meters. A little weird to be honest. However this is not the case with the female model where the lamp size and strength made no difference whatsoever. It must be a glitch. (see figure 3)

Presto!!! Got it working. The first thing I had to go back to an earlier version of this model because I saved things incrementally just in case something goes awry, anyway... I selected everything in the scene and scaled it much larger. The goal is to have the model as close to real size as possible.
To make the spot light to work correctly I added a light falloff node then plugged the constant into the emission strength. (as suggested above)
I am now aware of the inverse square law though nevertheless this is a bizarre glitch. What baffles me is the position of the lamp and it's intensity made no difference until I plugged in the light falloff node because without the node the only way to get a good result was to lower the lamp size to a tiny amount like 10-micrometers.

Have you tried resetting the scale of the model?  Maybe it's affecting the camera somehow if the problem is just in render view or maybe the world scale got messed up.
My scales were messed up once and that caused my scene to go dark because the camera was set to an f-stop that was too high.  Right now your model shows .490 for x y and z.
Press CTRL-A then select scale.

Yes I applied the scale of all the objects but it didn't help. Still dark.

It turns out only the Sun and Hemi lamps are working correctly. The rest show nothing. The weird thing is if I make a mesh light it works.

0.490 is the scale of the lamp

My mistake!  I'm a noob lol


text:
Collapsed Main Menu (Hamburger Menu) - What setting, addon or modifier is this from?
It's Blender 4.2 / Mac:

Blender's main menu is displayed as a hamburger menu at the top left of the screen and the menu items are located in a submenu. I did it quite some time ago and find it quite useful.
But, now I don't remember how I got it. I looked through all the addons where it's working and nothing came up.
Anyone recognize this or where it's from or how to add it?
Thanks

What do you mean "this"? the fact that the Blender window header menus are condensed into a hamburger menu?

I think what you are looking for is explained here: https://docs.blender.org/manual/en/latest/interface/controls/buttons/menus.html#collapsing-menus

Yep, that.  Thanks. If not for the -1, I'd flag this as the solution.  Oh well.

@unkerjay 1. Anyone can downvote your question, so it is not necessarily the one offering the solution. "Punishing" people answering your question because someone downvoted it will not get you very far on this site. 2. You can only accept answers in the answers section, not comments - so it does not matter if you refuse to accept it just because are huffy about the downvote. And honestly it is a poorly asked question, you did not put the image into the question and actually you do not tell what "this" is you are asking about. curious_t made a good guess.

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? or GIF

Please verbally describe what your issue is, be specific and and use relevant keywords. Avoid referencing images or links as alternative to words, try to stay away from vague references like "this happens", "issue with", "like so", which make the post impossible to find for someone using search. Instead describe what "it" is, be descriptive, succinct and detailed. It may not be immediately obvious to users trying to help what you mean. See What is the problem of asking “How do I do this?"

Simply right-clicking on the header and chooseing Header -> Show Menus should work on MacOS same as on Windows:


text:
Rolling paper with bones
I'm trying to make rolling paper using bones. I'm using a curve, three bones, and a plane. The bones are following the curve path but the plane which is subdivided does not make the right turn and it also not rolling. How should I achieve this?

I have solved this animation in the way that the Curve modifier was directly attached to the mesh, but I'm using Blender exporter which exports only mesh animations using bones and these are my restrictions.
Can somebody please help?

Regards Jerry.

Please show you work as a Blender Screen Capture. Please show your weight paint.  Even if you include a file. Some people may not want to open you file because it may not be necessary.

Armature Tutorial .... https://www.youtube.com/watch?v=GvG39bGEsKI

There are no skin weights on the plane so that would need to be fixed. The weight painting will take some time to do since you need to do it by hand.
Also, you need to have much higher resolution on your mesh so it can deform properly and more bones to follow the curve to give a convincing result.
As a side note: It might be easier to solve this with a curve deformer directly attached to the mesh but I guess that you have reasons of doing this with bones.

I'm going to do the following as you said and hope for better result. As far as your side note is concerned, I have solved this animation in the way that curve modifier was directly attached to the mesh, but I'm using blender exporter which exports only mesh animations using bones and this are my restrictions.


text:
Render fails after a few frames
For some reason, the render of my current projects fails after rendering 5-10 frames. I am using cycles, have tried experimental and supported. I have tried many variations of sample size at 256x256 tiles and cannot find anything specific in my scene that would be causing this issue...
I have rendered on Optix with an rtx2070.
I have also tried CUDA with 2070 and 1060 checked.
I am attaching the .blend file below if anyone can please help.
https://drive.google.com/file/d/1cg6OjQ5zyL_Ox7_6my0Z0iRgTUfqJqkb/view?usp=sharing

First, some statistics:
Your file is 255MB big, the scene has ~780k vertices, the shaders take several minutes to compile, and it used 2GB memory.
In the first step, I would reduce the number of vertices. You have a car driving on a long road and the camera is chasing it, looking at the tires... a great animation. So the car and tires are in the focus. But you don't need tires that have a total of 500k(!) vertices. Remove the Subdivision Surface modifiers. The wheels are spinning when the car drives and you can't see the tire tread at speed anyway.
The same applies to the interior of the car. The car has black opaque windows. You can't see the interior. Why is there a Subdivision Surface modifier with 2 levels?
The car can have a level 1 Subdivision Surface and you won't see a difference.
If you do this the scene has only ~240k vertices. Half of it has the car, the other half is used for the environment.
(Side note: The car looks a bit too small or the house too big)

It renders normal. It already rendered to 10-th frame. But I have Intel Celeron G3900 and GTX 1060 3GB. I put in preference CUDA - NVIDIA GTX 1060.
Probably you have too many pirate software or junk running program. Try to have "clean hard driver"(or SSD) with windows and blender. And run on it only for work.


text:
geometry nodes text follow circle curve n times
hi i want to create a geometry node base text that follows a circle.
The idea is that the text will repeat n times distributed over the curve circle
So that the text extends (like a cylinder outside (outward normals) text on cylinder surface). I don't need the cylinder but that's just as example.
I'm creating some chess pieces as prices that I want to 3d print.
And I like to set our club name around the base n times
Maybe print the winner's name on it or the year and the match, but then that would not require n times that's just once on the front following part of a circle.
I tried it quite a few times but.. i don't get the rotations correctly per letter, strangely I get spirals despite I start with nurbs circles so I do something wrong.

this https://www.youtube.com/watch?v=X3XCoDmw_og might help. good luck.


text:
How can I move an object along a path without it falling through?
I'm trying to make R2D2 move along a path on a curve, but I'm having trouble making sure he conforms to the physics and shape of the path.  As you can see in the screenshot, it's hard to make him adjust to the shape of the path without sinking into it or floating over it due to the height of the curve and the difficulty in matching it to the path's shape exactly.

EDIT:
This is what happens when I parent R2D2 to the empty in the .blend provided.

Duplicate one of the loops in the path and convert it from a mesh to a curve. You may also want toe have an Empty follow the path and Parent R2D2 to the Empty.

Hm when I did that and parented him to the curve, he ended up miles away from the curve for some reason.  I also tried the follow path constraint with the curve as the target object, but he wouldn't move then.  I'm not sure what I'm doing wrong.

@ - lakerice It has to do with Origins. Select your path and SHIFT + S > Cursor to selected. Then in Object Mode set Origin to Cursor. Add an Empty. Have the Empty follow the path and parent R2D2 to the Empty.

I tried that and unfortunately the empty went flying in another direction and definitely not following the path, just like R2 did.  I tried Crtl+A scale and it still did it.  Sorry if I'm not getting the instructions properly...I must be missing something obvious.

@ - lakerice Can you add your .blend file to your question using http://blend-exchange.giantcowfilms.com/

Sorry I wasn't able to upload it to blend exchange due to the file size...here's a link from Google Docs https://drive.google.com/open?id=1sVkaEBzCUz3j7229HZmXibsGr2cc-36c thanks again

Here is an updated link where he is rigged with wheels: https://drive.google.com/open?id=1sVkaEBzCUz3j7229HZmXibsGr2cc-36c

Okay, here is what I did.
First I deleted the Rigid Body world and the curve you created and unused Empty's.
Then I selected your ground (and re-named it Ground). in Object Mode I applied Scale and Rotation press CTRL + A. In 'EDIT Mode' I selected the center Edge Loop and De-Selected the few vertices the fell over the edge of the road.
Then I duplicated the the selection 'SHIFT + D' and separated it from the mesh press "P" > Selection.
Then selected just the first vertex of what was the selection and pressed 'SHIFT + S' > Cursor to selection. Tabbed into Object mode and set the Origin to the 3d Cursor.
Then selected the new mesh that was duplicated earlier applied rotation and scale just out of habit. Tabbed into Edit Mode and Then selected just the first vertex of what was the selection and pressed 'SHIFT + S' > Cursor to selection. Tabbed into Object mode and set the Origin to the 3d Cursor. Next convert the mesh to a curve. I re-named it Curve.Path.
Then pressed SHIFT + C to send the cursor to the center. Next select The Ground mesh and the Curve.Path and press SHIFT + S > Selection to Cursor.
Now select just the Curve.Path and Tab int Edit Mode. select the first vertex and press "W" > Switch Direction to flip the Normals. Also, 'SHIFT + S' > Cursor to selection. Tab into Object Mode and de-Select everything.
Then add an Empty 'SHIFT + A' > Empty. Add an Object Constraint > Follow Path. Choose the Curve.Path as the Target.
Select the Curve.Path and in it's Data you can animate it's Evaluation Time.
EDIT:
Check off 'Follow Path' to have the empty stay perpendicular to the path.

*I'm not sure all the steps here are necessary but I was being conservative and new it would work.
**This .blend contains only the Curve.Path and the Empty to keep it small. You can append them to your file if you choose and of course you'd need to parent R2D2 to the Empty.

Amazing!  That totally worked.  And thanks for the detailed instructions.  One thing however, is that the empty moves perfectly straight along the line and as a consequence, R2D2 still hovers over the parts of my path that have dips and grooves.  Is there a way to make the empty rotate on the X axis as it conforms to the shape of the path?

Try checking off some of the options in the Follow Path constraint like "Follow Curve".

Hm nothing seems to work...been trying other things too like duplicating the curve and offsetting it to have R2 follow 2 curves but that just made a huge mess.

See my EDIT to the answer. It works in my .blend file.

I've posted what happens when I try to parent to your empty.  Even with the settings you provided, he still hovers over completely parallel to the x axis.  Sorry if I'm still missing something.

When you Parent to the Empty try selecting Keep Transformation. Thats all I got. The Empty follows the path perfectly...


text:
Objects shows through other objects when compositing
I'm trying to composite some lights using screening but while it looks fine head on, it shines through parts of my main object.  Sorry my node setup is large; hopefully you can see it better when you click on the image.
Here you can see what I mean as the lights go through the hose:

Here is my node setup:

Thanks!
EDIT:
I found the solution.  Not sure why this worked, but I just made the hose (and subsequently every other object on the first layer) a pass index of 1, and used an ID mask (with 0) directly from the first layer into the factor of the screen node.

Here's the updated render:

Easiest way is to enable "object or material id" pass and give appropriate pass index for this hose in foreground. Thus you get mask for this hose when you hit render next time. In compositor add "ID mask" node, choose index number you have created earlier, then substract this mask from lights right before blur/glow composing

Hm I keep looking for tutorials with what you're describing, but it just doesn't seem to be working.  Do you have a simple example you could show or link to one?  Sorry I am not that familiar with compositing :p

Glad you made it! But your glowing is a bit incorrect. Because glow is the matter of camera/eye perception and it should be seen in front of other objects

Oh yes true.  Still working on it...thanks for that tip too actually.

My example was made in Blender Render, but it doesn't matter in this case.
First of all enable Object Index pass in Render Passes tab, then give index 1 to your hose (note, that objects with same index will produce combined mask, and to keep them separate use different numbers).
Edit: Material index pass is usefull when your object can't be physically separated in parts, so apply different materials for these parts.
This is overall setup:

Thanks for all your help!  I checked out your .blend and tried to recreate it in my file, but for some reason it wouldn't work when i recreated it in my .blend.  I must've missed something.  However,  I updated my question with the solution I found.


text:
Is there a way to fracture part of an object using the fracture modifier?
Basically, I have an object (A) that is falling, hits the ground and then gets hit by another object (B).  When the A lands, it stays in tact.  Then B hits it and fractures using dynamic fracturing in the fracture modifier.  However, it fractures the object A entirely...but I only want the surface to fracture.  Is this possible?  Keep in mind no meshes can be separated in object A beforehand because it will fall apart in mid air before it hits the ground.
Here are some examples of the type of fracturing I want:

Thanks!

I guess you are still asking about how to fracture your cartridge/crowbar scene ?
I tried now with prefracture and one particle helper object and the fracture addon "timing" feature, where you basically can delay the FM simulation by x frames. This just simulates the intact object and records keyframes, then it plays it back as animated rigidbody. After Frame X is reached, the animated checkbox will be disabled by keyframe and simulation takes over.
The helper object was carefully placed near the supposed impact point of the crowbar, and additionally some weak constraints were created to hold the shards farther away from impact together. In this blend's case X was Frame 85.
Edit: in this case i even could disable the constraints entirely. Looked even a bit better :)
Looks like this:

But take a look into the blend I prepared here.

Edit: Reworked version of the new question blend:
I did the following:

Removed all modifiers from the cartridge
Removed solidify from ground, extruded it properly
Set origin to geometry on ground
Made the ground a Box shape, with 0.0 margin
Moved the helper into the cartridge, so its particles "intersect" it
Since the crowbar impacts 2 times, I duplicated the helper and moved it
added FM with Voronoi+Bisect and Extra Particles and Helper group
disabled Uniform in FM, executed fracture again
constraint settings: "vertex" (set the radius to a low value before switching to vertex !!!)
breaking angle to 5 degrees

Then I played a bit around with different angles, constraint settings (centroid vs. vertex, limits, search radius, breaking angles) but it turned out those were the best settings imho. You get 2 impacts with them without the cartridge sliding away too quickly. But it breaks a bit more than just making a hole into the surface. Note: the animated crowbar acts as if it had infinite mass (i assume) so changing its mass while being animated should have no effect in theory.

Edit: final attempt of mine, couldnt get much closer... although tweaking for a while. Converted the keyframe animation into deltas and rotated the cartridge... so it gets a better hit pattern according to the crowbar anim.
Not sure if there are still too many shards, note some variation in shard size adds up some detail (imho). If still too many, feel free to reduce particle amount in helpers or alternatively the shard count in FM (applies to uniform)
Tried hard so the top is smashed and the bottom stays relatively intact.

Yes same scene...although I made a lot of changes since that .blend was uploaded, including recreating the cartridge from scratch with the solidify modifier.  Hm I really tried to replicate your results, but it doesn't seem to be working.  It seems as though every single face flies off like lego pieces being taken apart instead of a nice realistic fracture like yours.  I've uploaded my recent .blend to this question.

Hmm, the timing functionality seems to have an issue... it decomposes the object to its original islands somehow, you might need to refracture it after the keyframes have been created. Let me try to post the blend in my answer or I make a new answer.

This is much better thanks!  However, I'm still trying to make it so that it fractures in a more plastic way rather than something like glass.  In other words, a few shards and starting at the top first, then the bottom.  I'll post an example in my question.  Sorry for all the trouble!

Sorry for the late response...was working on it for days and tried a ton of things.  I think I got a healthy compromise with the shard count though.  Otherwise, without the helpers it just causes the lego effect rather than the rough fracture.  Thanks again for all your help @scorpion81; I wouldn't have been able to get this far without it.


text:
How to add numbers to a dial?
I'm trying to make numbers fit on a television dial like this:

But I'm having difficulty getting the numbers to align perfectly (i.e. not having the number 20 spread out but close together).  I've been trying to follow this demonstration making of a dial in Blender but I just can't get the numbers to align properly with the vertices of the circle.
This is what I am working with:

Does anyone know of a simple way to do this?
Here is the .blend

This is the .blend for LukeD

Totally offtopic. Normals on your mesh are inverted, go to Edit Mode and recalculate them. Selected object (dial) seems to be created by joining two meshes. You will need to separately Flip Normals.

You could also create those numbers with texture, it would significantly lower the polycount while maybe the loss of the quality won't be that big. You will really want numbers to be as meshes if you intend them to bulge from the dial circle (like extruded once on the surface).

@LukeD you're totally right...my normals were so messed.  Recalculated and their great.  Thanks for pointing that out...much appreciated!

@MrZak Yeah I thought about UV unwrapping the mesh and adding the numbers as a texture, but I do want them to bulge a little bit for that added realism.  But good suggestion though.

Fastest way (if a little inacurate) is probably using a single text object, with every single dial text as a word (separated by a space character)
Add a Curve modifier to said text object, and point it to a Bezier Curve Circle matching the desired dial radius.
Adjust the vertical positioning of text as desired, the control its radial positioning through the Word Spacing property.

For more precise positioning you are probably better off making each dial text a separate text object, then manually place it radially by using the 3D cursor positioned at the dial center as rotation pivot.
You may also use an arrayed plane, then have numbers placed inside a single group/collection used as particle system, this also allows non rotated text.

Sorry one more follow up question...how can I get them to stick to the dial after?  I tried using the shrinkwrap modifier but it really warped the numbers.

Shrinkwrap would probably be the best way, make sure you tick the option Apply modifier on spline'points rather than filled surfaces on the modifier header, so you can bevel the spline

Hm strange it doesn't show that option in my version...just "adjust edit cage to modifier result"

You may do it using a Simple Deform (Bend) modifier although it'll deform the text a bit.

Add a text and separate every letter by a space character. Convert it to the mesh with Alt+C.

Being in Object Mode add a Simple Deform modifier and set its type to Bend.

Change the Deform angle value like you need.

NOTE: You may do the similar operation being in Edit Mode with Shift+W shortcut.

Thanks I tried it but yeah it's a little deformed for the double digit numbers.  Interesting method though!

Overview:

You need Circle with the same number of vertices as the number of... numbers.
Numbers should be individual objects; with Origin to Center of Mass (Shift+Ctrl+Alt+C); grouped with Ctrl+G.
Particle System added to the Circle should have same number as above. Also check Emit From Verts; uncheck Random; select your Group and change Size a little bit. Sometimes only this will position numbers correctly.

Blend file:

Edit:
It was hard to catch whats going on, but after all it was just a simple difference. I was making it in Top View and you've rotated Circle to view it from Front View.
To get rid of Circle rotation problem you can just enable Rotation and switch Initial Orientation to Normal-Tangent.

Now you can rotate it as you want.

If in any case you'll want to apply Scale to the Circle keep in mind
  that you'll need to set Phase to 0.5. It will rotate numbers 90
  degrees. But it's just 'in case'.

Dang I tried to use this method but it just won't work for some reason.  I'll study your .blend more

Try to make it in a new file. Maybe there is something wrong in your main file as inverted normals for example. This is by far most precise method here, so give it a try.

Still can't get it to work...sorry for the trouble.  I've attached the .blend from scratch for you in the original question if you want to tell me where I went wrong.  Definitely want to nail this method.

@lakerice check my edit, now everything should be perfect :) Also change size to something higher value to see numbers better.


text:
"Unsupported channel layout" Error, when trying to render with AAC-Audio
I try to render a Video with Blender's video editor. Under Output I set FFmpeg video as file format. Under Render I set Container to MPEG-4, Video Codec to H.264 and Audio Codec to AAC (with a bit rate of 320) as I was used to in other programs. Then when I try to render my video, Blender gives an error "Unsupported channel layout". I did an internet search for the error bud could not find anything related to my issue.
This is the channel layout of my project.

I tried deleting strip after strip from the channels to find the offending one but it didn't render even with nothing in it. I guess that with channel layout is something else is actually meant.
I use Blender (Version 2.79) on ArchLinux (Manjaro), as far as I can tell, all the needed packages are installed. Playing other videos with AAC-Encoding in a Player works fine. The only encoding I could get to work with MPEG-4, was Vorbis but then the sound seems to be missing when the video is played in a browser for some reason, also some players seem to think the video has no audio (plays perfectly with sound in VLC).
I really would like to render to MP4 with AAC because that's what most websites want in order to have them playable.
Edit:
So far I was able to pin it down to being a problem with FFMPEG. I started Blender with --debug-ffmpeg and got this:
Starting output to /run/media/takiro/Videos/nyaaa_and_spyro

/out/0001-13241.mp4(ffmpeg)...
  Using type=2, codec=27, audio_codec=86018,
  video_bitrate=6000, audio_bitrate=320,
  gop_size=18, autosplit=0
  render width=1920, render height=1080
Using global header
ffmpeg_property_add: video coder:vlc
ffmpeg_property_add: video cmp:chroma
ffmpeg_property_add: video partitions
ffmpeg_property_add: video partitions
ffmpeg_property_add: video partitions
Ignoring unknown expert option me:hex
ffmpeg_property_add: video subq
ffmpeg_property_add: video me_range
ffmpeg_property_add: video qdiff
ffmpeg_property_add: video keyint_min
ffmpeg_property_add: video sc_threshold
ffmpeg_property_add: video i_qfactor
ffmpeg_property_add: video b_strategy
ffmpeg_property_add: video bf
ffmpeg_property_add: video refs
ffmpeg_property_add: video qcomp
ffmpeg_property_add: video trellis
ffmpeg_property_add: video weightb
ffmpeg_property_add: video 8x8dct
ffmpeg_property_add: video fast-pskip
ffmpeg_property_add: video wpredp
FFMPEG expert option: coder:vlc: 1.
FFMPEG expert option: cmp:chroma: 1.
FFMPEG expert option: partitions: partb8x8.
FFMPEG expert option: subq: 6.
FFMPEG expert option: me_range: 16.
FFMPEG expert option: qdiff: 4.
FFMPEG expert option: keyint_min: 25.
FFMPEG expert option: sc_threshold: 40.
FFMPEG expert option: i_qfactor: 0.71.
FFMPEG expert option: b_strategy: 1.
FFMPEG expert option: bf: 3.
FFMPEG expert option: refs: 2.
FFMPEG expert option: qcomp: 0.6.
FFMPEG expert option: trellis: 0.
FFMPEG expert option: wpredp: 2.
[libx264 @ 0x7f1a87c0f900] using SAR=1/1
[libx264 @ 0x7f1a87c0f900] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7f1a87c0f900] profile High, level 4.0
[libx264 @ 0x7f1a87c0f900] 264 - core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=0 ref=2 deblock=1:0:0 analyse=0x3:0x100 me=dia subme=6 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=1 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=0 b_bias=0 direct=1 weightb=1 open_gop=1 weightp=2 keyint=18 keyint_min=10 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 ip_ratio=1.41 pb_ratio=1.25 aq=1:1.00
alloc video stream 0x7f1a87c2e000
ffmpeg_property_add: video coder:vlc
ffmpeg_property_add: video cmp:chroma
ffmpeg_property_add: video partitions
ffmpeg_property_add: video partitions
ffmpeg_property_add: video partitions
Ignoring unknown expert option me:hex
ffmpeg_property_add: video subq
ffmpeg_property_add: video me_range
ffmpeg_property_add: video qdiff
ffmpeg_property_add: video keyint_min
ffmpeg_property_add: video sc_threshold
ffmpeg_property_add: video i_qfactor
ffmpeg_property_add: video b_strategy
ffmpeg_property_add: video bf
ffmpeg_property_add: video refs
ffmpeg_property_add: video qcomp
ffmpeg_property_add: video trellis
ffmpeg_property_add: video weightb
ffmpeg_property_add: video 8x8dct
ffmpeg_property_add: video fast-pskip
ffmpeg_property_add: video wpredp
[aac @ 0x7f1a87c0ef00] Unsupported channel layout
Closing ffmpeg...

I'm not sure what I should read from this.
From the new information I assume with channel layout the channels of the audio files are meant but I did not find a way to configure that in blender. In my user settings, channel is set to stereo.
My FFMPEG is version 4.0
As a workaround I render without audio, then export the audio and use ffmpeg from the command line manually to mux both files. No problem with ffmpeg and AAC in this case but the extra step is kind of an annoyance.

Yes, I also get the same error using the latest Blender Master. Did you try to use 2.79b?

after reading your comment about audio, i set my audio codec to None and it worked for me after that (i was trying to render a chunk of clips that had no audio and i had an audio codec set)

https://developer.blender.org/T56905 looks like this got fixed. just need to wait for a blender update i think


text:
Debugging Memory Usage
I'm writing a script that imports an FBX with an animation, and exports frames of the animation as OBJ files. However, I noticed that regardless of how I delete my objects, Blender's memory usage increases every time I run the script. I looked at the memory statistics and this is what I got:
total memory len: 299.712 MB
peak memory len: 301.169 MB
slop memory len: 11.298 MB
ITEMS TOTAL-MiB AVERAGE-KiB TYPE
1203 ( 146.366   124.588) Chunk buffer
45252 ( 145.037     3.282) Data from AC
1109 (   2.189     2.022) BLI_Mempool Chunk
4633 (   1.128     0.249) PropertyRNA
3151 (   0.601     0.195) StructRNA
 1 (   0.532   544.750) TaskScheduler task threads
3417 (   0.417     0.125) IDProperty array dup
2542 (   0.371     0.149) dupli_mapalloc
1987 (   0.349     0.180) keymap entry
1888 (   0.346     0.188) operatortype
2017 (   0.246     0.125) IDProperty group

I understand that "Chunk buffer" refers to the memory used by the Undo function, but what is "Data from AC"? This is the memory usage just after opening the file, and there are currently no objects in the scene.
EDIT: Here is my delete function:
def clearScene():
for i in range(20):
    bpy.data.scenes['Scene'].layers[i] = True
print("All layers selected")
bpy.ops.object.select_all(action='SELECT')
print("All objects selected")

bpy.ops.object.delete(use_global=True)
print("All objects deleted")
bpy_data = [bpy.data.actions,
         bpy.data.armatures,
         bpy.data.brushes,
         bpy.data.cache_files,
         bpy.data.cameras,
         bpy.data.curves,
         bpy.data.fonts,
         bpy.data.grease_pencil,
         bpy.data.groups,
         bpy.data.images,
         bpy.data.lamps,
         bpy.data.lattices,
         bpy.data.libraries,
         bpy.data.linestyles,
         bpy.data.masks,
         bpy.data.materials,
         bpy.data.meshes,
         bpy.data.metaballs,
         bpy.data.movieclips,
         bpy.data.node_groups,
         bpy.data.objects,
         bpy.data.paint_curves,
         bpy.data.palettes,
         bpy.data.particles,
         bpy.data.rna_type,
         bpy.data.scenes,
         bpy.data.screens,
         bpy.data.shape_keys,
         bpy.data.sounds,
         bpy.data.speakers,
         bpy.data.texts,
         bpy.data.textures,
         bpy.data.worlds]

for bpy_data_iter in bpy_data:
    for data in bpy_data_iter:
        bpy_data_iter.remove(data)

I realized an error in my delete function, but now with these last three lines, I get an error saying the BlendData data type is not iterable. Is there a better way to remove all data?

A quick grep on source (readfile.c) and it appears to be action data. (bpy.data.actions) AR for armature etc.  Are you removing actions?

Yes, as far as I can tell, I'm removing just about everything,I delete all objects using bpy.ops.objects.delete, and then I iterate through everything in bpy.data and use the remove() function (added to my original post)

Link to readfile.c  Have a look here for clearing data  Wouldn't use bpy.ops.objects.delete removng from bpy.data.objects will do that.

Okay, figured it out. Thanks to batFINGER for the link to readfile.c
I thought I was deleting actions, but it turns out a few things in bpy_data shouldn't have been in there, and were causing errors that led to Actions NOT being deleted. Once I cut the bpy_data list down to what it is below, everything deleted properly and I am now left with about 10M of memory usage. Here is the working delete function:
def clearScene():
   for i in range(20):
       bpy.data.scenes['Scene'].layers[i] = True
   print("All layers selected")
   bpy.ops.object.select_all(action='SELECT')
   print("All objects selected")
   bpy_data = [bpy.data.actions,
         bpy.data.armatures,
         bpy.data.brushes,
         bpy.data.cameras,
         bpy.data.materials,
         bpy.data.meshes,
         bpy.data.objects,
         bpy.data.shape_keys,
         bpy.data.textures]

   for bpy_data_iter in bpy_data:
      for data in bpy_data_iter:
          bpy_data_iter.remove(data)

   bpy.ops.wm.save_mainfile()


text:
How do I batch export meshes into .obj files (NON-LEGACY)
When I try to batch export a series of meshes using the template python script, it turns them into Wavefront(.obj)(legacy) instead of the normal .obj
Even though normal .obj and legacy .obj have the same file type, they have different file sizes and contents. The legacy type of file doesn't work correctly in Roblox Studio when I import it, but the normal one does(which I tested manually). Thank you.
Here is the final code solved by scurest
# exports each selected object into its own file

import bpy
import os

# export to blend file location
basedir = os.path.dirname(bpy.data.filepath)

if not basedir:
    raise Exception("Blend file is not saved")

view_layer = bpy.context.view_layer

obj_active = view_layer.objects.active
selection = bpy.context.selected_objects

bpy.ops.object.select_all(action='DESELECT')

for obj in selection:

    obj.select_set(True)

    # some exporters only use the active object
    view_layer.objects.active = obj

    name = bpy.path.clean_name(obj.name)
    fn = os.path.join(basedir, name)

    bpy.ops.wm.obj_export(filepath=fn + ".obj", export_selected_objects=True)

    # Can be used for multiple formats
    # bpy.ops.export_scene.x3d(filepath=fn + ".x3d", use_selection=True)

    obj.select_set(False)

    print("written:", fn)

view_layer.objects.active = obj_active

for obj in selection:
    obj.select_set(True)

It looks as if the legacy wavefront addon takes precedence over the newer built-in C++ one. Do you have both listed under File > Export? If so, I'd try unchecking the 'Import Export: Wavefront Obj Format (legacy)' entry in Preferences > Addons and see if that cures the problem. If not, I'm afraid I've no idea.

Thank you,sadly now it doesn't batch export at all, giving the error:
"AttributeError: Calling operator "bpy.ops.export_scene.obj" error, could not be found".
This is a very specific case so I will export my objects manually for now

The new one is bpy.ops.wm.obj_export(), the legacy one is bpy.ops.export_scene.obj(). You can find this out by turning on Python Tooltips in the prefs, then hover over the menu to see the tooltip.

Thank you so much! I just tested and it works. Praise be to you


text:
How to see object count in blender
I need to find a way to see object count by name in Blender.
I use blender to design exhibition stands and use an asset manager with furniture and construction materials. I would like to find a way to see count of objects in my scene, for example, I have 10 chairs, 5 tables, 5 lamps etc and I want to see it like this:
Chair - 10,
Table - 5,
Lamp - 5,
...,
Object # - X pcs.
Is thera a way to do this? I am absolute zero with python code, so I would appreciate any and all help!

Hello ! For this kind of task there needs to be a way for blender to recognize your objects as groups. Do they share a naming convention ?

Hi, so this is how my outliner looks.
https://dropmefiles.com/L6qfV
I have a collection with all the furniture and construction materials, it needs to be counted from there

you can see the total object count (lights, cameras, "normal" objects etc.) by right clicking on the status bar and checking "scene statistics"

@Jonas, scene statistics shows total object count, not the way I described... I need count per object, as I wrote in my post

Try this:
from bpy import data as D
from collections import defaultdict

counter = defaultdict(int)
for ob in D.objects:
    underscore_split = ob.name.split('_')
    if len(underscore_split) < 2:
        continue
    counter[underscore_split[1].split('.')[0].strip()] += 1

for name, count in counter.items():
    print(f"{name} count: {count}")

The logic how to determine if an object should be counted / how to categorize it (what bucket to put it in), how to process the name string all are really more relevant to Python than Blender and you might want to ask on Stack Overflow. The Blender relevant part is just that you can iterate over D.objects, and each object has a name attribute. However, since you mention a scene, maybe you want to use from bpy import context as C, and for ob in C.scene.objects:

thanks! that works! Although it does not count everything...

@TedRyabov programming is not magic, the program has to be told what to count and how to group counted objects.

@Marus von Broady, well, that's why i'm here, asking for help...
If I need to describe more of what needs to be done, I am up for it, just ask me what to explain

@TedRyabov imagine that you hire an intern, and you ask the intern to group the objects into buckets, and then name the buckets and give you a summary of what buckets there are and how many objects are in each bucket. You're absolutely not allowed to ask anything creative of the intern: e.g. you can't say "find out something common about a group of objects and use that as a name". It is your job to precise the algorithm about naming a bucket.

In my code that algorithm is "if an object's name doesn't have an underscore, don't put it into any bucket. Otherwise take all the characters of its name up to, but not including, the first dot, strip it off whitespace (remove spaces at the beginning and end of the resulting string), and use that as the bucket name". Apparently you don't like this algorithm, so I ask you what algorithm do you want instead.

So, I learned a little Python over the weekend and that is the solution I was looking for. @Markus von Broady, thank you for the template, that is what I came up with eventualy:
import bpy
from collections import defaultdict
counter = defaultdict(int)
for obj in bpy.data.collections['Stands'].all_objects:
    dot_split = obj.name.split('.')
    counter[dot_split[0].split('.')[0].strip()] += 1

for name, count in counter.items():
    print(f"{name:35} | {count:1d}")

here is what this code returns, what I needed it to return in the first place:

Now I want to try and write an addon which will collect this data aumatically and return into the addon window. I really have no idea how to do it, but I will keep trying and, if anyone has any useful tips, I would love to hear you out!


text:
Can't integrate code into UIPanel
new to Python, so struggle a little.
With some help from here I managed to create little code to count objects in my scene. It works great in console, now I want to create a panel which will automatically update object count.
Here's the code for object counter:
from collections import defaultdict
counter = defaultdict(int)
for obj in bpy.data.collections['Stands'].all_objects:
    dot_split = obj.name.split('.')
    counter[dot_split[0].split('.')[0].strip()] += 1

for name, count in counter.items():
    print(f"{name:35} | {count:1d}")

I want to try and implement this code into ui_panel_simple template.

class HelloWorldPanel(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_label = "Hello World Panel"
    bl_idname = "OBJECT_PT_hello"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "object"

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

        obj = context.object

        row = layout.row()
        row.label(text="Hello world!", icon='WORLD_DATA')

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

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

if __name__ == "__main__":
    register()

Here is what I tried to do:
```import bpy

class HelloWorldPanel(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_label = "Hello World Panel"
    bl_idname = "OBJECT_PT_hello"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "scene"

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

        def obj(self):
            from collections import defaultdict
            counter = defaultdict(int)

            for obj in bpy.data.collections['Stands'].all_objects:
                dot_split = obj.name.split('.')
                counter[dot_split[0].split('.')[0].strip()] += 1

            for name, count in counter.items():
                 return f"{name:35} | {count:1d}"

        col = layout.column()
        col.label(text = "1" + obj)

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

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

if __name__ == "__main__":
    register()

Obviously, it doesn't work. I have been trying for 3 days now and I am at a loss...
Here is the latest message from console:

location: :-1
Python: Traceback (most recent call last):
File "C:\Users\fedor\Regional group stand.blend\ob_count.py", line 29, in draw
TypeError: can only concatenate str (not "function") to str

Hello ! you're concatenating the function to 1,  not the result of the function. You need to call it. BTW you don't need self as an argument here. def obj(): should be enough. Try replacing the label line with col.label(text = "1" + obj()) or col.label(text = "1" + str(obj())) to make sure you're dealing with string types. Not a blender related question TBH, I suggest you familiarize yourself with python basics a bit more before diving into the Blender API. Cheers :)

Great ressource if you want to learn more about nested functions https://www.youtube.com/watch?v=jXugs4B3lwU

@Gorgious, I edited as you said, here is what the panel shows https://dropmefiles.com/cNxKh

Hello, please read my first comment again. You need to call the function. use open and closed parentheses col.label(text = "1" + str(obj()))

@Gorgious, yeah, sorry, i misspelled the line... so, It works! However, it only shows only one  line of text in panel... https://dropmefiles.com/sU8ka
How to make it look like this https://dropmefiles.com/S9gwe

I don't think you need a nested function for what you're trying to achieve. However if you really want to use this workflow, you need to explore generators and the yield keyword.
You can use for instance :
# Don't import modules in a draw loop, it's called dozens of time per second
from collections import defaultdict

...

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

        counter = defaultdict(int)
        if "Stands" not in bpy.data.collections:
            return

        for obj in bpy.data.collections['Stands'].all_objects:
            dot_split = obj.name.split('.')
            counter[dot_split[0].split('.')[0].strip()] += 1

        for name, count in counter.items():
             layout.label(text=f"{name:35} | {count:1d}")

You'll notice though that performance will be horrible if you happen to have hundreds of objects in your scene, because this code is called many times per second. In that case you'll need to find a way to do it more efficiently, or to cache the result somehow.

do you mean like this? https://dropmefiles.com/fZwdI

No, you should put it at the start of your script just after import bpy

With @Gorgious help I finalized the code an this is what I have:
from collections import defaultdict

class ObjectCounterPanel(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_label = "Object Counter"
    bl_idname = "OBJECT_PT_Counter"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_category = 'Object Counter'

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

        split = layout.split(factor=0.8)
        boxname_1 = split.split()
        boxname_2 = split.split()
        boxname_1.label(text = "Object Name")
        boxname_2.label(text = "Qty")

        counter = defaultdict(int)
        if "Stands" not in bpy.data.collections:
            return

        for obj in bpy.data.collections['Stands'].all_objects:
            dot_split = obj.name.split('.')
            counter[dot_split[0].split('.')[0].strip()] += 1

        split = layout.split(factor=0.8)
        splitbox_1 = split.box()
        splitbox_2 = split.box()

        for name in counter.keys():
            splitbox_1.label(text = f"{name}")

        for count in counter.values():
            splitbox_2.label(text = f"{count}")

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

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

if __name__ == "__main__":
    register()


text:
Metaball texture grid
I'm trying to make something similar to this:

(http://www.davidgobber.com/content/work/14-hofmann-typeface/hofmann_typeface_06.jpg)
But where the combined shape is filled and the dots in the grid are invisible (the image is just for reference of how the "system" works).
I've started doing the grid and thought that a "metaball" effect would be a good starting point (if anyone has a better idea about how to achieve this I'm all ears):

My problem is that I can achieve the effect when having separate objects, but when doing the Voronoi texture grid the effect doesn't work? What am I missing here?
Additional info:
I followed this tutorial of Default Cube (2D Metaballs) to achieve the metaball effect. But when distributing the points in a grid with help of a Voronoi Texture the effect doesn't work anymore.
I know this isn't really close to the outcome that I want in the end. This is just a starting point for me to figure out how to merge the shapes based on proximity.

How do you "achieve the effect when having separate objects"? How do you define which point merges with which other point? When you use real metaballs then the tip of the "S" would merge with the curve which it touches and you would end up with a "9". And this "E" in the screenshot above will become a "6".

I followed this tutorial to achieve the metaball effect: https://www.youtube.com/watch?v=4JT_43qc0Dc&t=461s but when distributing the points in a grid the effect doesn't work anymore.
I know this isn't really close to the outcome that I wan't in the end. This is just a starting point for me to figure out how to merge the shapes based on proximity.

Ok, I see what you mean. But in fact, it works. What you see is 9 balls merged with 9 balls on the same spot which results in 9 bigger balls. If you duplicate the Voronoi and the Mapping nodes and use them for the Smooth (Math) node with a lower Distance value (0.1) and then change the X location value for the Mapping node you will see the metaball effect.

To create a letter in this grid you need the information of which ball is active (one node for each ball?) and with which other balls is it allowed to merge (layers?). But there still will be the problem when the balls that are not right next to each other should merge. E.g. the middle part of the "S" or the "E" or the left bottom part of the "U". Maybe use a smaller ball for the "in between" connection?

Hmm, it doesn't work when i change the x location, but if I rotate one of the circle grids it works? But thanks anyway! I'll try and separate the circles and randomise which are visible. I know that there are a lot of steps to be able to recreate the symbols in the first post. But I'm just trying to get something similar where the ones that are closest to each other merge.


text:
How to make fake rope animations
Can you guys give me some advice on how to make animation like that? I want to create an animation very similar to this in the video.
Rope Animation Example Thanks for any advice

Your link goes to a page saying: "Sorry, we couldn’t find that page".  How about a search for rope animation in this forum?   One result I get is  https://blender.stackexchange.com/questions/97749/how-to-simulate-a-rope

I'm sorry I have fixed the link now


text:
How to bake normals using modifiers only?
I have an UV-unwrapped base mesh that I want to bake tangent normals into. Only detail I need is a few bevel modifiers and a subdivision surface. How can I bake the smooth version without using cage objects etc?

While not exactly answer to the question, it might be easier to duplicate the object with modifiers, apply them for the duplicate and use it as highpoly, remove modifiers for the other one and bake normals in tnagent space to it like to the lowpoly (creating backup copy is also good step)

I did try doing that, but the normals look weird in some places, and sometimes bleed where they shouldn't. This might work in certain cases though.

I'm hoping to get some attention to this question. Anyone?

Easiest way to attract some attention to a question is to [edit] it and provide more details. Show screenshots of how you tried to bake, settings you used etc. For now I can't tell what does it mean "normals look weird in some places" and "sometimes bleed"

You can bake world normals instead of tangent ones

please, try to add some more info, an example, an image, to make this answer look less like a comment...

-1. Not enough details. You can expand your answer by adding instructions on how to set this parameter, as well as an explanation of the difference between tangent and world normals.