text:
Can you use 2 non SLI GPUs in Blender?
Can you use 2 non SLI GPUs  in Blender with 2 different architectures an example
a geforce gtx 560 and a quadro fx 4000.

SLI makes two GPUS act like one, which will actually make cycles go slower than when using the two GPUs in parallel (without SLI)

Do note that GTX and Quadro gpus use different drivers, and while using both in the same system work for some, it's not necessarily plug and play and/or problem-free. (According to some internet posters, I have no personal experience.)

The gtx and quadro cards are examples the actual cards I am wondering about are a geforce gt730 and a geforce 560ti

In one system I use different architectures:

GTX 660 Ti - Kepler
GTX 980 -  Maxwell

this does not prove that it will work with all combinations, but as long the drivers support  CUDA (true for both GPUs you listed) it should work fine.


text:
Browse button in StringProperty FILE_PATH not working
I'm using context.window_manager.invoke_props_dialog(self) to show a property dialog. One of the things I need is an export directory, so I added:
exportPath = StringProperty(name="Path", subtype='FILE_PATH') to the class.
The property does show up, and there is a button to click on as it should, but when I click on that button, nothing happens. Do I need to do something additional to make this work, or is this a bug?
Thanks!

BramVaessen, -- maybe stick around to see if someone can back up my assertion. I do believe it to be true but can't point to an explicit mention of it in the docs.

You can't open the File / Directory view when the invoke_props_dialog itself is open, it's a blocking dialogue. I think this is mentioned in the documentation. (i'll try to find it and link here)

I spent almost a day to find this... Thank you.

source: Stack Exchange

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

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

sort: votes


text:
Running a tracking script with Blender in the background
Im trying to run a script that when Blender is opening through the command line with this script it will track the clip it is being open with. I have a script that already opens the Blender file with the Clip loaded with the frame range that needs tracking. What I need now is to have the script in charge of tracking run with Blender in the background. This issue I am coming up with is obviously context, and I am not sure how to work around this to make the tracking happen.
The operations that need to be ran are for the clip editor area and are:
bpy.ops.clip.detect_features(placement='OUTSIDE_GPENCIL', threshold=0.5, distance=25)
bpy.ops.clip.track_markers(sequence=True)
bpy.ops.clip.track_markers(sequence=True, backwards=True)

And for the sake of making sure the clip is being loaded in this script I load the video by:
bpy.ops.clip.open(directory="/Users/corwinsmith/Documents/scripts/", files=[{"name":"CollegeHumor Passes The Bechdel Test (All-Nighter).mp4", "name":"CollegeHumor Passes The Bechdel Test (All-Nighter).mp4"}], relative_path=True)
bpy.data.movieclips["CollegeHumor Passes The Bechdel Test (All-Nighter).mp4"].name

And if this is worded poorly and more explanation is needed please ask and I will answer. Thank you in advance for the help.

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


text:
How to remove menu item which added multiple times
I am working on a plugin. Unfortunately my unregister() function attempted to remove the menu function from a wrong menu.
Now the result is when I load and enable the plugin and open up the menu I see my entry multiple times.
Here is my register and unregister functions:
def register():
    register_class(TunnelGen)
    bpy.types.VIEW3D_MT_edit_curve_specials.append(menu_func)

def unregister():
    for i in range(10): # the menu is registered accidentally multiple times
        bpy.types.VIEW3D_MT_edit_curve_specials.remove(menu_func)
    unregister_class(TunnelGen)

How can I fix the menu?

Have you hit F8 yet and restarted the addon / or blender ?

related: http://blender.stackexchange.com/questions/30385/deleting-unwanted-new-objects-in-the-add-object-menu/30386#30386

I didn't try to restart blender yet. I will.


text:
Geometry Nodes: Why doesn't this simple randomize scale work?
I'm trying to randomize the x scale of an object and for some reason this setup doesn't work (Blender 3.0 released version).

Does this help? https://blender.stackexchange.com/questions/245008/randomizing-values-in-blender-3-0-geometry-nodes

Are you trying to randomize the scale of the faces of a single object, or the scale of object instances? With GN this is important to specify as each will have very different answers to the question. Please try to make this a little clearer in your question with an edit.

Here is a workaround. apparently you need instances to use the random value node.
I have no idea why. This will give you the same result.

Thanks! That works :-) Turns out the particle system uses the exact same instance, so there's still no variation. Thanks though, helped a lot!

@chippwalters If you want to use instances as workaround, please use the nodes Geometry to Instance and Translate Instances instead (cleaner solution).

Try adding value node. It worked for me.

...This is the correct way this task should be solved (except maybe that you should use an integer value instead of float).

Thanks. Yes. Integer is more suitable here.

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


text:
How can I use weight painting correctly in Blender?
Before when I was weight painting, I noticed that after changing the weight of a bone some other bones would be dramatically changed as well. When I try to undo the unexpected weights the whole mesh becomes broken. Now, when I try to subtract the weight, instead of subtracting it adds. Can someone please help me? I've been spending hours on this!
This is my blend file:
http://pasteall.org/blend/index.php?id=50825

Please indicate when you're using Blender 2.8. 2.8's files can't be opened with previous versions, and 2.8 itself isn't quite the same Blender and is, for now, unfinished and unstable.

The reason why you have this issue is that you have Auto Normalize enabled:

Either try to understand how to work with it (because it's honestly useful), either disable it.

Thank you so much! I will check to see if my problem is solved now!


text:
How can I solve problems with Remesh modifier?
I used the Remesh modifier to turn an Ocean modifier blocky and this happened. What's going on?
The model shown below should just look like normal terrain, but it doesn't. There are walls covering it.
View from inside:

View from outside:

HI, welcome, please add some more information about what exactly you feel a "bug", and possibly relevant settings (modifiers) that you used in the process...

I guess it's not bug, as the Remesh Modifier page on Blender 2.79 Manual explain this problem and how to solve it :

Just add a Solidify Modifier, set the Thickness to 0.5, and make sure the Solidify Modifier is processed before the Remesh Modifier but after the Ocean Modifier. The order of the modifiers should be, from top to bottom : Ocean / Solidify / Remesh.


text:
Contour lines every z-level of this stepped landscape

Trying to recreate this holographic animation all by myself with geometry nodes. Watching several tutorials I used a texture map to create the landscape layout. I do not know how to get a selection of all the curve points on every z-level to create al line with those points. I need the points on the line afterwards to have a pulsading sphere go around a random set of these lines.

No, you don't need the lines - you could do all this with shader nodes. But you still want a "just" geometry nodes solution? if yes, one way would be to use a dense grid and use raycast with a specific length and convert that to a curve

Does this answer your question? How to add golden line to my maps? Maybe the question shouldn't be closed or should be reopened when you clarify why the geometry-nodes tag.

Thanks for the suggestions. I want a geonodes only solutions since I need a fully procedural setup for a sliding landscape video. The idea was to set the materials as a last step. I know about the shader setup. With both of your answers I will have a look at the raycast nodes and also see if some math (modular) node on the z-axis will create the same effect as the shader nodes. The golden line is a really nice one!

The raycast node is to calculate if rays are casted onto an object and then specify a method. I only have one object (a plane) that I edit, so I do not understand yet how I could use that specific geometry node. I'm now delving into how to get shader/material nodes in a geonodes setup. Help is appreciated.

Does this answer your question? https://blender.stackexchange.com/questions/279201/how-to-cut-a-mesh-into-a-flexible-number-of-pieces-along-a-certain-axis/

Thanks. This does partly answer my question. It is exactly how it is done with the shader nodes on a material, but there is no solution to how use the points on the created contour lines. in order to let a pulsading sphere flow around it. Two days ago I also found this explanation that is more what I had in my mind. Now trying to find a solution to add the pulsading sphere on the contour lines...


text:
Source Filmmarker to Blender import
I imported this model from Source Filmmarker to Blender, any reason why the eyebrow texture looks like this? The block shows up in render also.
If anyone could point me in the right direction to fixing this I will research and figure it out, or if  you want to tell me how to fix it that would be great too. Appreciate the help.

Every face in a mesh model can be assigned a different material. By face I am referring to the polygons of the mesh, not the characters face.
The model would appear to have one material for the skin and another for eyebrows and eyelashes. This probably allows choosing different eyebrow textures to get a variety of characters.
I expect both materials are meant to use an image texture to define the colour on the model. Either the images are missing or are not set to be used by the material.


text:
How to select vertices, then convert to face selection with Python?
I am brand new to Python, and cobbling things together from various sources, so I have next to NO idea what works, what doesn't work, or WHY things work.
I'm creating a script to apply a mirror modifier, then split the object into its two sides.  I'm using two slightly different routines depending on whether it is one symmetrical object with a center line, or two mirrored objects with no connected geometry.
When I used this code, it worked:
mesh = ob.data
bm=bmesh.from_edit_mesh(mesh)

bpy.ops.mesh.select_mode(type='VERT')
vtest = False  ##see if we can select side of active
for vert in bm.verts:
    if(vert.co[0] == 0):
      vert.select = True
      bm.select_history.add(vert)
      vtest = True
      break

if(vtest):  ## select side of active and part
    bpy.ops.mesh.select_axis(sign='NEG')
    bpy.ops.mesh.select_mode(type='FACE')
    bpy.ops.mesh.separate(type='SELECTED')

However, if I selected the vertices in a loop and tried to switch to face mode it dropped the selection.
  else:
        for vert in bm.verts:
            if(vert.co[0] <0):
                vert.select = True

        bpy.ops.mesh.select_mode(type='FACE')
        bpy.ops.mesh.separate(type='SELECTED')

This threw the error 'no selection.' and if I stopped the script just before the FACE selection mode switch, the mesh was in edit mode, all the vertices on the left side were selected, and if I then clicked face select mode, everything would be deselected.
I can't explain that.
The code that I finally got to work is BS and i'd like to know what fifty things I did wrong.
bm.select_mode = { 'FACE' }
bmesh.update_edit_mesh(ob.data)
bpy.ops.object.mode_set(mode = 'OBJECT', toggle = False)
bpy.ops.object.mode_set(mode = 'EDIT', toggle = False)
bpy.ops.mesh.select_mode(type='FACE')

If I leave out any of those lines, it fails.
My BASE question is: why can I select vertices using the 'select side of active' command, then swap into face mode and convert the selection to faces but if I select the vertices myself in a loop and switch, it drops them?

Flush the selection
The bmesh module has some methods for flushing selection.

Selection / Flushing
As mentioned above, it is possible to create an invalid selection
  state (by selecting a state and then de-selecting one of its
  vertices’s for example), mostly the best way to solve this is to flush
  the selection after performing a series of edits. this validates the
  selection state.

Test Script: run in edit mode, selects vertices with
import bpy
import bmesh

context = bpy.context
ob = context.edit_object
me = ob.data

bm = bmesh.from_edit_mesh(me)
for v in bm.verts:
    v.select_set(v.co.z < 0)

bm.select_mode = {'VERT', 'EDGE', 'FACE'}
bm.select_flush_mode()
#bm.select_flush(True) # or select flush, deselect all first.
# put in tool in face select mode (without op)
context.tool_settings.mesh_select_mode = (False, False, True)
#bpy.ops.mesh.separate(type='SELECTED')

After the flush above only faces with all vertices selected are selected.  Verts not part of a selected face are deselected.

it works great, but i don't understand why; if you'd care to comment.  does "flush the selection" mean "deselect everything"?  or does it mean something else, like some kind of reset?  'flush vertices, because we're going to select faces'?  'flush vertices that aren't on selected edges, and flush edges that aren't on selected faces'?

As mentioned in quote from docs it validates the selection. If you select a face then all its edges and vertices are selected. Going "up" doesn't imply same. ie select all verts doesn't automatically select faces and edges.

Face and vertex selection is different, because you can select only part of vertices belonging to a single face. Conversion is needed between these selections and is done automatically when you switch selection modes using the UI so if you use operators to switch selection modes, they sort things out automatically. You can do just that what you are doing - switch selection modes with operators, or you could just select all the faces that have all their vertices selected with Python as well. It could look something like:
import bpy

data = bpy.context.object.data

for f in data.polygons:
    s = True
    for v in f.vertices:
        if not data.vertices[v].select:
            s = False
    f.select = s

There might be a more efficient way to do this that I am not aware of but this works.


text:
Vertex Groups as Drivers Outputs in Geometry Nodes
I got a simple Geometry Nodes setup that takes an existing vertex group and does stuff with it. I'd like to automatically feed it the active vertex group data.
A scripted function returning bpy.data.objects['Cube'].vertex_groups.active doesn't work because this doesn't seem to return data structured in the way a input field expects, and I'm not sure how the named attributes are structured to try to recreate it.
Alternatively, if I could find a way to assign a drive to a string input I'd be able to retrieve bpy.data.objects['Cube'].vertex_groups.active.name to then feed it to a Named Attribute node and access the vertex group data. The closest would be using the value input in a Value to String node, but that assumes all VGroups have numbers for names, which isn't the case.

You could use an app handler:
import bpy

def active_vertex_group_handler(scene):
    o = bpy.context.object
    o.modifiers['GeometryNodes']['Input_2'] = o.vertex_groups.active.name

bpy.app.handlers.depsgraph_update_post.append(active_vertex_group_handler)

Mind the input name - yours might be different. And you probably want to do some checks if the active object is the right type.

Clever and very simple, works like charm! To people stumbling on this question that missed how this answer it, you need to assign the driver to a dummy field, replacing the input with the string input you're modifying (which won't be the actual input where this driver is because you can't directly drive string inputs). You'll be "driving" it from inside the function instead.


text:
How do I remove subdivision loops?
I am trying to manipulate a cube into a car; and I was able to make edge loops by pressing  Ctrl+R. However, when I am trying to make a wheel well, I want to make new subdivision loops to do that; yet the old ones are getting in they way.
How do I remove subdivision loops so that I can manipulate my object without old loops effecting the new ones?
Or basically, the opposite of what Ctrl+R does?

You can select them with AltRMB (or AltShiftRMB to keep the existing selection), and then delete them with Delete > Edge loops, or DeleteG if you want to take advantage of menu hotkeys.

If you have many loops which you want to select, but don't want to click on each one, you can use Multi select loops, either from 3D view > Header > Select > Edge loops, or Space> Multi select loops.

When I deleted the edge loop, it ended up changing the form of the object; that isn't what I want. I simply want to remove just the loop without changing the form of the object.

@user3423509 The topology defines the shape of the object. If you change the topology, you are liable to change the shape too.

Hrmm... Well this is the project I am working on: http://imgur.com/C4FFP1y
I am trying to insert a wheel well into the front of the car. Now (this may be a bit hard to follow, but bare with me.) I want to insert the wheel well a bit underneath the hood (which is the left of the image. It may not be obvious considering my "skill level"), but the other cuts are making that quite a problem. How would I best remedy this issue?

Select the edge and then in the left hand tool bar under 'delete' click the sub menu 'disolve' to remove selected edges.

This should be used with caution, though, as dissolving edges that are not unnecessary you damage the geometry.


text:
How can the rendering of metadata be suppressed?
I have a problem with the rendering of animations: reviewing the saved file appears to inculde metadata (filename & framestart &frame end).
I would prefer not to include the metadata in each frame.

I edited you question if you don't like it you can rollback my edit.

You can disable the metadata stamp in the render settings. Probably you just checked it by accident.

To disable metadata overlayed over render-result uncheck the Stamp Output option under Metadata tab inside Render properties.
Blender also as of version 2.75 writes  EXIF-type metadata into images automatically (PNG, EXR, JPEG). To disable it uncheck all the check-boxes inside Metadata tab.

I had no answer to my problem but it was not enough. I had complained about an error in Blender: run a render motion, when you play the movie at the bottom center the text reads: namefile & 001.0256 (= start file and endfile). This is not professional: customers want a movie as clean in 3d Max example.Stamp output is another case not mine


text:
How to make a sharp shadow?
In the picture the sun makes a diffuse shadow on the interior wall of the poolhouse. I want this to be a sharp shadow (as would be the case in real life, with a full sun). Don't know if and how I have to change the wall material and/or the lighting (or whatever).
(the material of the wall is shown on the right panel, as "concrete")

That's perfect!


text:
Rendering low and res/high res images
Is it possible to render in Blender with reduced low res files and then ask Blender to render the final render with 4k high res files? Low and high res files would be numbered identically but would be located in different folders.
Many thanks

Could you clarify what you're asking? Do you want to render the same scene low-res, and then when that render is finished have it start rendering high-res?

Are you talking about video editing in the vse?

What are you editing? Video? 3D meshes? ..?

You can use compositing to output a Hi-res file and a scaled low-res file

You could achieve that by creating a full copy of the scene and change the scenes render settings for resolution and output path:

Alternatively just set 4K resolution and lower the resolution slider with a different output directory.


text:
How to update root translation using python script in bge?
I am trying to change root translation of armature (loaded by using bvh) using python script in bge but not able to update values.
I tried following
bpy.context.scene.frame_set(3)
bpy.data.objects['walk_turn_180'].pose.bones[0].location = [0, -10, 0]

Its not working for me. When I change frame the values are reset to original values.
Another try..
scene = bge.logic.getCurrentScene()
source = scene.objects
main_arm = source.get('walk_turn_180')
bpy.context.scene.frame_set(3)
main_arm.channels[0].location = [0, -10, 0 ]
main_arm.update()

but still no luck.
Is there any best way to do it or am I doing something wrong?
Also, instead of bpy.context.scene.frame_set(3) is there any method to change keframe using bge?

bpy is the Blender API. This means you change the object within the Blender scene not the running BGE scene. Do not use it!
The API for the BGE is bge. The armature gives you access to the (bge-) channels too.


text:
Object follow a square path?
Okay so I know about half of how to do this.
So I made a plane, then converted it to a path with Alt-C.
Then I made another plane and made many loop cuts with Ctrl-R and the scroll wheel.
Then I used the curve modifier to make the non-curve plane follow the curve plane.
But it cuts corners:

It could be that you have to set the curve handles to to the Vector Type using the v key to bring up the menu.  You can change the handle type individually or all at once depending on what is selected.

I am just guessing here since you did not upload a .blend file to PasteAll.org with the link pasted here.

Actually, thats exactly what I was looking for! thank you!


text:
NVIDIA GTX 980 Ti, no CUDA showing in Blender on a Mac
Ok, perhaps I'm a moron, that's entirely possible, but I thought the 980Ti was CUDA.
Blender shows GPU as default (which is grayed). I go into system settings, it doesn't show Cuda.
However I check the "FlipFluids addon" and this clearly shows the GPU is seen.
I'm on Mac 10.12.6, 12-core, running Blender 2.79b.
Any suggestions?
I've searched Google, NVidia website, reinstalled drivers, deleted Blender/reinstalled.
And when I switch to OpenCL it crashes.
I'm stumped.
thanks,
alldaron

"I'm on Mac": well, there's your problem..you probably need nvidia cuda driver for macos.

Yes, I have that installed,
CUDA Driver Version: 396.64 ---
GPU Driver Version: 378.05.05.25f01 ---
NVIDIA Web Driver 378.05.05.25.f01

That 378.05.05.25f01 driver supports only gpus up to GTX 680. You probably need 9.0.197 version that is the last for Sierra 10.12.x Newer versions require OSX 10.13.x.

Awesome, thank you!!       ugh all this is so annoyingly confusing.

Installed, now mac shows: CUDA Driver Version: 387.178 --- GPU Driver Version: 10.18.5 (378.05.05.25f01)


text:
Renders with colors on either side of screen
When rendering video, there is a bright, flickering, vertical line 1 pixel wide (well maybe wider) on the left and right side of the screen.
https://youtu.be/HwnINVi3aH4 (I suggest watching it half speed)
It happens whenever something bright is on the opposite side of the screen, as though the bright parts on the left of the screen are shown on the right and vice versa.

Here's a frame given a black background to be more visible. See how the white shape top-left is visible top-right for a small part of the screen? And the larger white shape bottom-right is visible bottom-left.
This has happened multiple times, using MPEG4 Lossless and Image Sequence rendering. What's the fix? I'm using Eevee.

are you applying any glow in the compositor?

This question shouldn't be closed, it's been solved by an option in the Scene > Film settings. While it may be a bug, there is an existing solution already in place.

@susu Got it... thanks

The issue was fixed by enabling 'Overscan' under the Scene Properties > Film tab. Keeping it on the default of 3% appears to be fine.

I have re-rendered multiple problematic scenes with overscan enabled, and they have all rendered correctly.


text:
Make animation so that there is no transformation in between keyframes?
I created an with these cubes. Every 10th key frame, the cube is duplicated and moved over. However, in the time in between each key frame it shows the cube sliding into the next slot. I don't want this, I just want the cube to appear in the next slot. Is there any way I can make it so there's no sliding animation? Thanks!
What I'd like it to look like (except slower):

What it looks like right now:

As you can see, the cubes in the second image (my animation,) are sliding instead of appearing in place like in the first animation. How do I get rid of this sliding? Thanks!

Two approaches come to mind - either keyframe them at frame 9 -and- 10, so the movement is effectively instant, or (better as I think it avoids motion blur if you turn that on later) change the interpolation of the animated properties so it doesn't interpolate at all, just jumps between values.  I would also put them all in the right places and animate the visibility of them rather than the location, if that works for your specific requirements.

Is it several separated cubes or one object with several cubes inside of it?

@Ben Do you think you could show me how to do that please? I'm new to animation lol.

@lemon They're seperate.

You could also build the end result and then animate the "Disable in Renders" property in the Outliner (after activation of that Outliner Filter). Or "Show in Renders" in the Visibility section of the Object Properties. (they are same property but in different UI locations by the way.) You would be making them appear and disappear instead of moving. You can hover over the camera icon in the Outliner (or the dot next to the checkbox in the Object Properties) and press I to insert a keyframe.

Change the interpolation to contstant, so that there is no change in between keyframes

@susu Ty! I just found that out, works great! :D

@MmmChezBurgerz please write an answer detailing your solution. Others with a similar issue can learn from you.

That can be a driver

If many cubes, certainly you don't want to animate them all, so use a driver:

Using the selected cube in the image above, add a driver to its "show in viewports" (and when all is good do the same for "show in renders").
The driver uses some other object's location (an empty) and uses the formula on its x location (named e for empty):

e <= (self.location.x + self.location.y * 5 + self.location.z * 20)

The empty is animated along X axis from 0 to the amount of cube (multiplied by the size of the cubes).
When the empty moves, we want to change the cube visibility from false to true (so hide_viewport from true to false).
If you want to go along X, then Y, then Z, the formula takes the empty X position and test it over the cube location.

e <= (self.location.x + self.location.y * 5 + self.location.z * 20)

is to:

change over X
every y * 5 locations because 5 cubes along x when x changes
and every z * 20 locations because 5 * 4 cubes along z when z changes

Pragmatically:
Set this driver for the first cube, the one at (0, 0, 0),
then select all the cubes and use CtrlL and "animation data".

this will copy the driver to all other cubes and make the animation.


text:
why blender crash after tray subD complex shape?
i have decent pc ryzen 9 3900x 32 gb and gtx 1660 super. now i modeling turntable and have some problem not just now but often when i worked on complex shape blender start work very slow or even crash...here is example of object

i dont go more then view 2 render 2 in subdivision but after that....

I do not understand the second part of the comment.

blender not responding :)

How many millions of vertices are you dealing with?

around 49000 not millions :)


text:
Importing EXR's Image Squence into Blender
How do I import an EXR image sequence? (assuming I'm doing it wrong). ie.Compositing tab-> Input> Image Sequence> Open etc?
My .exrs are not displaying. I also tried in the Video Editing tab-> Add>Image Sequence & nothing displays. Trying to re-import my rendered OpenEXR. Float (Full).

FIXED: I used Renamer to add-in .exr to the end of all the files & it does import in fine.

Where are they not displaying?

In blender, when you click on the add image sequence node a window opens. Can you select the files there?


text:
How do I made little extrusions/details without booleans or edge looping off areas that cannot be edge looped?
How do I add extrusions without booleans or edge looping, like a circle extrusion,  I have been asking this question for a while.the circles in this picture are in the base shape's circular extrusions which could be hard to make with boolean and impossible to make with edge loops.

You just model them using modelling tools. It is hard to give you a more specific answer without knowing what geometry you have.

see if answers like this help https://blender.stackexchange.com/questions/74922/how-can-i-make-holes-on-a-wrist-strap/74926?


text:
How to set a specific distance between two vertices?
I'm on Blender 2.79 and could not figure out how to set distances between vertices(or anything) in Blender. I'd like the distance between the two selected points in this image to be 77cm or in my .blend file 0.77 Blender units.

I can measure this distance with the protractor and move the two vertices, but if I'm just moving them by hand it will never be exact. I want to be able to enter a number in a box somewhere, and it to be the distance between them. How do I do this? This seems to me like one of the most basic features of any 3D design program, but I can't find an answer on the interwebs.

I guess you can find some answers here: https://blender.stackexchange.com/questions/4890/how-to-set-a-specific-edge-length-numerically

This add-on does what you ask. https://github.com/Storme9/vertex_insert

In this particular case, you can slide (G G)the vertex down to the bottom corner, and then G Z and '0.77' to move it back again.
In general, when things aren't nicely lined up,

With snap set to 'Vertex' and 'Active',
First create a Custom Orientation (Ctrl AltSpace) from the edge you want to measure down (or parallel to).
ShiftD duplicate any vertex to make one you can use as a snapping source/target.
Snap your new loose vertex to a starting point
GYY+(numerical entry) your vertex parallel to your Custom orientation.

you now have a measured point to snap other things to.
I use a lot of Custom Orientations, so I check 'Use after Creation' and 'Overwrite Previous' in the Tool Shelf.
Using Custom Orientations and a loose vertex, with the pivot set to 'Active Element', you can extend this method to measure angles around an axis in the custom edge's direction, through the active element (RYY+(numerical entry))


text:
Exporting rotations of selected objects to a text file
I am using this script which I got from the internet and it works perfectly for 2.79.
Please could someone help adding selected objects rotation to export to the same txt file? In degrees.... Thanks in advance.
# import the necessary modules we need
# in our case, blender's python API and python's os module
import bpy, os

# get the current selection
selection = bpy.context.selected_objects

# initialize a blank result variable
result = ""

# iterate through the selected objects
for sel in selection:
    # get the current object's dimensions
    dims = sel.dimensions
    # write the selected object's name and dimensions to a string
    result += "%s - %.03fm x %.03fm x %.03fm\n" % (sel.name, dims.x, dims.y, dims.z)

# get path to render output (usually /tmp\)
tempFolder = os.path.abspath (bpy.context.scene.render.filepath)
# make a filename
filename = os.path.join (tempFolder, "newfile.txt")
# open a file to write to
file = open(filename, "w")
# write the data to file
file.write(result)
# close the file
file.close()

This is kind of hard to read

You already outlined everything that needs to be done. Rotation can be reached at .rotation_euler:

Note that you can find this information by typing stuff to the console and hitting ctrl+space for auto complete.
The values are in radians so you need an easy way to convert them. You can just multiply the values by 57.29577951308232, or you could do from math import degrees or from math import degrees, radians so you have functions that can convert between the two for you.
Everything from math is imported in the console so you could just get the degrees of x rotation of the active object by typing degrees(bpy.context.object.rotation_euler.x) in the console to check that this indeed does work.
In a script this would look something like:
import bpy
from math import degrees

result = ''

for o in bpy.context.selected_objects:
    #something else that you need to get to result
    n = o.name
    r = o.rotation_euler
    result += "%s - X:%.3f, Y:%.3f, Z:%.3f \n" % (n, degrees(r.x), degrees(r.y), degrees(r.z))
    # carry on to do whatever else
#write to file

May be more robust using o.matrix_world.to_euler()  will return the visual global rotation of the object.  If the object is rotated via constraint for example o.rotation_euler will not reflect this.  Remember too py console has convenience variables C = bpy.context, D = bpy.data


text:
How can I see a texture on my model?
I made a model and I'm trying to add color to it, but for some reason the colored texture doesn't show on the model. I can't see any difference in the model. These are the steps I followed:

I unwrapped the model.
I made a blank image of the model and I baked it with 'bake mode: ambient occlusion'.
I created two .PNG files: one of the already made 'ambient occlusion' and another one of UV layout to work with them in Photoshop.
I copied the 'ambient occlusion' image to the 'UV' image as a second layer and I just added some color to see if it shows color in the preview of the model in Blender, but it doesn't.

This is my model (the viewport is in 'texture' mode):

Maybe I have not followed the right steps, or I've overlooked something. I'd appreciate any idea of how to solve it. Thanks!

While answer is old it still applies and is quite well explained here https://blender.stackexchange.com/questions/5283/how-to-show-textures-in-the-3d-view-editor

Possible duplicate of Render not showing UV texture

Or you can select the texture in edit mode. Go to edit mode and in UV/image editor select your texture and it shoul be visible in textured view. This will however only show you the texture on the model. There won't be any textured material.

If you are using the Blender Internal Engine try setting the viewport to "Materials".

Textures are only color information, they aren't linked in any way to your mesh.
Materials, on the other hand, are the things defining how your models appear and how light affects them. And you use your textures as inputs in your materials.
What you need to do now, is creating your materials.
Since you're in Blender Renderer and it's an old renderer about to be removed from Blender, I suggest you switch to a more recent renderer, Blender Cycles:

Then in your object's material tab, create a new material. It will automatically create a very simple default material, composed of a single "diffuse node" which only handles color basically. It's enough for now. In the color input, you can choose a color, or hit the little side dot to add a node in there. Select the Image Texture node, then hit "open" to find your texture in your folder. Or if you have already loaded your texture in blender, you can use the little drop-down menu on the left.

This should be enough.
I suggest you to do further studies on Cycles. How to use its materials system, how to do lighting and render with it, ... This list of videos might be a good start.


text:
How can I scale proportionally by width, height or Z (and ideally by specific edge)
Without getting out a calculator how can I scale up a mesh so that one side is a given length.
Lets say my imported mesh has a width,length,height of 2.31, 5.1, 4.23
I want the width to be 61, I do not want to do is divide 61 by 2.31 then deal with some irrational number.
I want to open a text box enter "61" and be done with it.
Also ideally I'd like to base this not off the width but off a specific edge.
I believe that this is not currently possible? Am I correct about that? So can I create an add-on can someone point me in that direction if indeed it is not possible?

in Object mode type the width in the N panel > Item > Dimensions then apply the scale? In Edit mode you can use the Edit: Mesh Tools and in the N panel > Edit > Mesh Tools > Edge Tools > Set Edge Length but it's for an edge, not an edge loop

In object mode, press N to see the properties of your object.
In the properties panel, go to the "item" tab.
There you will see the dimensions of your object, and if the axes are aligned, you can type new dimensions there (it will also change the scale)
After putting the desired dimensions, apply scale (Ctrl+a) to transfer the changes to the original mesh.

Alternatively, you can create a helper cube, size 1,1,1. And scale it with the desired values (since its sides are 1, no calculations involved), then you use the snapping tools to move/scale/rotate the rest of your mesh snapping to the vertices of this cube.
B during grab to activate a snapping option where you select the base point and the target point. (Snapping options at the top of the screen must be "increment" or "vertex" for this to work well)
The advantage of the helper cube is that you can position it in different places.
You could also simply try to extrude, axis, number if creating new features.


text:
world_to_camera_view incorrectly centering on object
When I plot points of a mesh to 2d using bpy_extras.object_utils.world_to_camera_view the object is centered to the camera. However the actual camera in 3d mode the objects are not centered.
An image is probably the best way to illustrate what I was expecting versus the results I am getting (see below).
Is there anyway to get these meshes off center as the camera actually sees them?
Expected:

Actual:

I don't know if my python code is to blame.. here it is:
..snip.. (for each vector of each mesh)
blenderVertexIndex = bpy.data.objects[obj.name].data.polygons[indexFace].vertices[indexVector]
coordinate3D = bpy.data.objects[obj.name].data.vertices[blenderVertexIndex].co * obj.matrix_world
coordinate2D = bpy_extras.object_utils.world_to_camera_view(bpy.context.scene, bpy.data.objects["Camera"], coordinate3D)

There may be another issue here, but at least the matrix-vector multiplication order from object to world space is wrong, it should be the other way around:
coordinate3D = obj.matrix_world * bpy.data.objects[obj.name].data.vertices[blenderVertexIndex].co

http://i.imgur.com/Q4z0ltl.gif Thank you! this is exactly the problem. But I've got to ask. Was the * operator changed by python or by blender? Is this a common occurrence in vector math??

There was a change in 2.62


text:
How can a mechanical linkage with a closed loop be rigged?
I'm trying to rig a model of a Peaucellier-Lipkin mechanical linkage.  While inverse kinematics for a chain of bones in the armature works well for some of the linkage, I don't see how to create the closed loop portion.  There must be some way to constrain the tails of two bones to stay together, but I am having trouble finding it.
Here's what I have so far.

I wonder if non-rigging method is acceptable? If so, I can suggest a better one.

There are generally two ways here: bone constraints and rigidbody simulation.
Solution 1 - Bone Constraints:

Create the linkages (meshes).
Create armature with bones set as shown on the image below.
Animate the key bone (the red one here).
Rigging.

Result:

Example file:
Solution 2 - Rigidbody Simulation:

Build the initial state of the linkage, make sure they don't intersect or too close to each other;
Select them all, click Add Active button in Physics tab in Toolshelf;
Select either two linkages, click Connect in that tab to create constraints, set type to Hinge, move them to expected hinge points. Note that Hinge rotates along the Z axis of constraints (empty objects), so you may need to correct the rotation.
Create rotation action for BoneEB (the blue bone in the image below), toggle Animated in its Rigid Body setting panel.

For better result, you need to set the Steps per Second and Solver Iterations relatively high in Scene tab.
Result:

Example file:

That's cool! Can you provide some details about how you did that?

@Matt OK. See the updated answer.

Why are the Steps Per Second and Iterations so high?

@Vader I think there are some loop constraints, which needs more accurate calculation in this case. I've tried not to do so, but the result is weird.

Great!  I started looking at rigid body physics, too, but I didn't get very far.  Building on what you've done, someday, I'd like to write some Python to output the coordinates of the empty at D as a function of the rotation of the blue arm.

@MichaelGordon Luckily I found it somewhere. See the updated file link.


text:
Helmet glass part makes hair not show for character
I've been following a course on creating a character with Blender 2.8 and have got to a point where I should make the helmet glass part look like glass. After applying the filters to do that, the hair on my character disappears. Do you know why that might be?
Filters for helmet glass

Filters for hair

You can't render multiple transparent object behind each other with EEVEE. It's a limitation of the engine. https://docs.blender.org/manual/en/latest/render/eevee/limitations.html#screen-space-refraction

@FFeller thank you.


text:
How do you import a rigged character from one blender file to another?
I have multiple blender characters in different blender projects and I want to bring them together in one single project, I already googled this and saw that you have to use append and link.
When I do that, the meshes appear with the rigs and everything but when I try to move the bones and rigs, they have no effect on the character, they just move independently.

You can copy and paste models from one running instance of Blender to another using the same Copy and Paste keyboard shortcuts that work for the majority of software. Ctrl+c and then Ctrl+v.
The Mac version for these shortcuts is Command+c then Ctrl+v but Blender was programed to also recognize the windows version so usually you can use either for OS X Blender.
Anyways, open the rigged model in a second instance of Blender and select the Object that you want to transfer over to the other scene.  Copy the model using the appropriate shortcut and then move over to the other scene and paste it in.  The rigging should be pulled over with the objects that are parented to it.  The materials will also transfer over with the model.
Here's how it looks.

You can use append or link. When you append other objects they will be copied into the .blend and you can use them as you would in the original file.
I always add the mesh(es) and rig to a group before linking. This also works for append.
When you link objects the objects remain in the original file, only a reference is added. In order to animate a linked object you need to add a proxy Ctrl-Alt-P to the rig. Proxies can be moved or posed in the new file, but can still only be edited in the original .blend.
Note that only one instance of a rigged object can be linked.

For whatever reason it doesn't always work well. Perhaps it has to do with different blender versions. The copy and paste method seems to work without issues.

This is close to 2 years after the event but others may find it useful -
I've been exporting rigged mesh objects using a mix of .OBJ, and .FBX, but before you read on you might like to scan down to my latest edit where I simply "append" a complete scene in the model's original Blender file to the current project.  This is incredibly simple and trouble free.
The original post follows...
The obj format exports mesh and materials/textures from and then back into another Blender project.  The fbx exports the bones, their names, size/scaling and joints accurately, albeit with a bonus "extra" bone at the end of each chain.  I just delete those.  When they are both imported to the same cursor location, the mesh and bones match.  What is needed after that is to remove animation keyframes in the dope sheet first, then redo their inverse kinematics constraints, re-parent the mesh to the parent bones and that's it!  An accurate export/import to another project!
I use the copy/paste method when that's possible for a new scene/project, but sometimes a rigged model is added to an existing project, and that's when I use the above.
Your problem has probably been long been resolved, but other newbies might like to explore this method...
Latest Edit 13/9/2016:
Not to take away from MarcClintDion's excellent suggestion I've included my own 'evolutionary process here' as an alternative in case the use of extra instances of Blender don't quite go according to plan...
From within your current project, go to top left of 3D window and click on File -->Append.
Select the model's original Blender file.  Several folders will list up.  Select the one called "Scene".
From there select the scene required.  Often there's only one.
You'll be brought back to your current project's 3D window.  Go up top and expand the scene menu.  You'll see the newly appended scene labelled as scene.001 or similar.
Select that and you'll be into a working copy of the model's Blender file.  Select the entire model.  The Z key will make it easier to select it all using the B (box) mode.  Press CTL-C (copy).
Go back to your current project's scene and press CTL-V. (paste)
The model will be copied intact and with whatever attributes/animation etc it possessed before.   If these aren't required it would be wise to eliminate them whilst still in the appended scene.  You won't be cluttering up the current project's dope sheet etc that way.
You could as an alternative to appending an entire scene, select the model's folder instead and append that from the original file but with Newbies it could lead to confusion, and why I opt to append the entire scene.  It's a simple matter to go back to the appended scene and re-copy the model(s) when things don't work out.
When you're done with the appended scene it can be deleted.
This makes porting models from one Blender file to another much less troublesome and easier than exporting then re-importing as objects.
I'll certainly be trying MarcClintDion's answer.

Once you use append or link the object then select the object and type in serach box for make Proxy (Ctrl+Alt+p) and select rig that you want to linked. Then you can animate or do whatever. If want edit on that object, You can use one addon (Edit Linked Library).By use of this you can go back and fourth.


text:
Thermal deformation of plastic
My question is a variation of one posed in July 2014 using this blender file:
https://dl.dropboxusercontent.com/u/95913396/extendedgauntlet1longer.blend

Instead of flattening the top as originally requested, I want to flatten the object by spreading the wings.  The very top can not be deformed at all as it has interlocking parts.  Basically the lower 3 mm or so, i.e. the thickness of the wings, is what I'd like to deform and flatten.  I've tried the suggestion for the July post and looked at several softbody tutorials and I'm not getting it.
Thanks.
Hertfordkc

Could you include some screenshots? I'm glad you included the .blend file, but I don't like to download them unless I have to :)

Depending on what you are trying to accomplish (a sketch of the desired result might help) and how much patience you have, you may want to use either sculpt mode or proportional editing in edit mode.
Sculpt mode is helpful if you have a large number of vertices, or if you want to deform meshes with natural strokes of the mouse. If you need more precise control, proportional editing allows you to move individual verts/edges/faces around, and the neighboring geometry will "stretch" in similar ways. Both of these allow you to adjust the radius of effect.

When I've tried proportional editing, edges get flattened.  I haven't ventured into sculpt yet, but I'll take a look.

Trying to clarify...look at the object as having something rigid mounted on top, transforming into something like stiff leather.  Said another way, this object will 3d print a lot faster if printed flat.  Then it can be thermally deformed to the shape in the file.  Everything I've read about soft body says that's the ticket, but it may take a decade of experience for me to figure it out.


text:
How can I get a stereo cameras volume and parameters?
I need to find some parameter of the stereo camera.
In particular I need:

The distance of the near and far plane and where are them (for calculate the dimensions, the position of the vertices of the panel, etc.)
Where exactly is the volume of the camera situated (the volume you can see if you enable the option in the 3D view generic properties)
The formula used to calculate this data in blender (who knows where the file with this formula is?
import bpy

scene = bpy.context.scene
cam = scene.camera
print("convergence_distance: %f" %cam.data.stereo.convergence_distance)
print("convergence_mode: %r" %cam.data.stereo.convergence_mode)
print("interocular_distance: %f" %cam.data.stereo.interocular_distance)
print("pivot: %s" %cam.data.stereo.pivot)
print("focal_length: %f" %cam.data.lens)
print("gpu_dof.focal_length: %f" %cam.data.gpu_dof.focal_length)
print("gpu_dof.focus_distance: %f" %cam.data.gpu_dof.focus_distance)
print("gpu_dof.is_hq_supported: %s" %cam.data.gpu_dof.is_hq_supported)
print("lens_unit: %s" %cam.data.lens_unit)
print("sensor_width: %f" %cam.data.sensor_width)
print("clip_end: %f" %cam.data.clip_end)
print("rotation_euler: x = {0}, y = {1}, z = {2}".format(*cam.rotation_euler))
print("location: x = {0}, y = {1}, z = {2}".format(*cam.location))
print("sensor_height: %f" %cam.data.sensor_height)
print("sensor_width: %f" %cam.data.sensor_width)
print("angle: %f" %cam.data.angle)
print("angle_x: %f" %cam.data.angle_x)
print("angle_y: %f" %cam.data.angle_y)
print("cam.matrix_local")
print(cam.matrix_local)
print("cam.matrix_basis")
print(cam.matrix_basis)
print("cam.matrix_world")
print(cam.matrix_world)
print("cam.calc_matrix_camera(x=1, y=1, scale_x=1.0, scale_y=1.0)")
print(cam.calc_matrix_camera(x=1, y=1, scale_x=1.0, scale_y=1.0))**

with this code i have some camera parameters but i don't know how to find the others.
tips?

The code in properties_data_camera.py can give you clues to most of the camera properties.
The volume options for the 3DView are displayed with code in space_view3d.py and use properties within the 3DView data eg. context.space_data.show_stereo_3d_volume.
The volume pyramid drawn for this option is based on a pyramid created from the camera location/rotation, using cam.lens which is shown to the user as focal length and cam.sensor_width (sensor size). The cam.clip_start and cam.clip_end define where the top and bottom of this pyramid are. The actual c-code that does the drawing can be found in drawobject.c
The location of the convergence plane is based on stereo.convergence_distance and looks to use the same calculations as clip_start with the outer edges based on the same volume pyramid.


text:
How would I move these wheels closer together? They're one object, should I split them into 2?

I'm making wheels for a character design and I'm not sure how to move these wheels inwards closer together as one object. Should I just split them to different objects? I plan on making animations too so is it good to work with a lot of separate objects for that?

For the moment, if your wheels are one object, you could use a Mirror modifier instead of 2 different meshes, so if you move the wheel from its origin it will also move its mirrored copy

@moonboots is correct, for symmetrical objects it's best to delete one side in Edit Mode and use the Mirror Modifier. It makes adjusting distance from the center point, rescaling or any mesh editing easier since you don't have to do it twice. If you're going to make animations with those wheels, the answer if you should keep them as one object or split them into separate ones depends on the kind of animation you want to do with them. For example, to simply rotate them together you can keep the mirrored object - to move them somehow different from each other they have to be separate.


text:
Face missing in edit mode but visible in object mode
I'm having a weird glitch i believe. I'm new to blender and was fiddling around, practicing with a random helmet mesh and added a boolean intersection into the helmet. After this, when I am in edit mode (with wire-frame turned on, a trigon in my mesh is not showing, but when i switch over to object mode the hole disappears. I checked face selection (hotkey 3) to see if there was a duplicate helmet or surface covering up the face but there is nothing. Is this a glitch? My blender file: https://gofile.io/d/zFCbER

It's possible you accidently hid a single polygon in Edit Mode. Check by going back to Edit Mode and pressing Alt + h to unhide everything.

Welp, that just solved the problem... DOH.. Thank you so much


text:
How do I lock a part of a mesh?
I want to edit a mesh with the sculpt tool, but I don't want to sculpt a specific part of the mesh. How can I overcome this? Is there an option in Blender to do it?
(I'm using Blender 2.90.1)

Yes, there's a dedicated tool. Look for the masking brush.

Here's the masking brush that Carlo is referencing: https://i.sstatic.net/brr9e.png


text:
Smoke/Flame clipping trough the object in Eevee
Smoke/flame in eevee clips trough the object.
I have tried higher divisions on domain, 4-6 timesteps, volumetric lighting and shadow samples at 256, volumetric tile size is 2px, volumetric clipping is 0.1-1000m.
In cycles it works great, but whole scene with everything enabled would take weeks or even months to render.
This is very simplified version what I mean.

Thank you!


text:
How to create slanted edges and rounded handles for a tray?
I'm trying to create this item:

I'm stuck on how to slant the edges up and to make handles. Can someone give me advice ?

I'd do it using a Mirror Modifier and a Solidify Modifier.

Create a quarter of the tray, with no thickness.
Add a Mirror Modifier and a Solidify Modifier
Tilt the handle using a 3D cursor as pivot (or proportional editing)
Tilt the sides just by moving upper vertices.

The solidify modifier keeps even thicknes for you, saving fiddling with vertices.

Model the base of your box.
Select this edges of the corner and use the shear tool and use 0.5
or -0.5 depending in the side, you can use any value you want.
Repeat the earlier step to the another corner edges, and done!


text:
Can't see the object in rendered image after motion tracking

I was watching camera tracking tutorials in youtube (Blender 2.8 Camera tracking tutorial (part 1)) and did exactly as shown in the video, but after motion tracking in the composite tab I can't see the suzanne object in the rendered view , after pressing the f12 I can only see the suzanne object but not the background, even though I can see everything in the "set up tracking scene in 3d view".

The problem is that the render layer has no alpha channel.
Enable Film> Transparent.


text:
How can I make one surface follow the form of another?
I'm trying to make a paceman model based on the one from the Super Smash games. I'm stuck on having his eyes curve on the surface the sphere. For some reason the cure modifier won't let me select anything for the eye to curve to. I'd try using the project knife but it says I've got nothing selected. I do though. I selected the eye then the sphere in object mode then went to edit mode to use the tool but it doesn't work. Can some one help me solve one or both of these problems? Or maybe a different solution to get my end goal. Thank you.

I would recommend using a UV Texture, there is a tutorial here and the blender manual here.  If you want to bend an object around another, you will need to use the shrinkwrap modifier, although you will need a good about of vertices.  You can use a subdivision surface modifier set to simple to add more vertexes and then apply the shrinkwrap modifier to the object that you want to bend and set the Target to what you want it to bend around.

If you want them to only slightly bend and not be directly on the surface, you can use the cast modifier.  The process is the same, just with the other modifier.


text:
How can I make two objects look like one?
As the titles says, I want two objects to LOOK like they are actually just one. I dont plan to actually combine anything, for flexibility purposes.
Here's an example scene for what I've got going:

Simple enough. But I'd like to make it so the sphere and cone seem to be one with their respective clipping objects.
I've tried such a thing with the Boolean modifier(with subdivision for smoothness) and it does achieve fake connection between objects:

But not to the degree I want. I'd like them to look like they are combined more smoothly, with wider angles and not such a tight wedge together.
I heard rumor of someone using a depth layer compared to other passes in some way to make things look blended together.

I see how that might make sense, as things within the same distance have nearly the same shade.

...shader which samples the depth texture in the transparent render
  queue, compares this depth with itself and sets its opacity based on
  the distance. (In order to sample the depth texture, the object has to
  be rendered in the transparent queue.)

I think this was something being done in Unity. But I can't understand what's being mentioned here. They even mentioned rendering this over only specific vertex groups in order to not end up blending ALL objects together.
Might anyone have any other suggestions? Or understand how to execute what's mentioned?

Please post images in your questions using text formatting tools - it saves time for people who are trying to answer your question. It might also be a useful to mention the source you are quoting something from.

Thankyou, can do!

You can use the Bevel node that you can find under Input category in the nodes Add menu.

This will however require joining the objects, but it will give you a bit more control than booleans. If you need to move the objects, you can use Hooks:

If you run into other issues in your workflow because the objects are combined they might be possible to solve too.

Having the Boolean allows me to gain nearly the exact same appearance as joining them. This is a decent step. And possibly what I might have to do for now. I would very much like the smoothing between objects to appear more broad. But changing values doesn't seem to grant me that.

I had also just realized, if the two objects happen to be separate materials they may not be able to connect. I know, I know. That sounds like a very weird situation. But trust me, i'm already finding it to effect its intended purpose. I'm sorry.

Have a look at Bevel after Boolean add-on, might be useful for you.


text:
What could cause an object disapear only in Edit Mode?
I accidentally clicked shift+t. Then if I go to object mode I can see it.If I switch to edit mode It disappears.I tried to uncheck it in user preferences too and in object tab too. Maybe I accidentally clicked something else.

just disable it in the Properties panel > Object > Display > Texture Space

Can you add your blend file to your question? Grab the URL of the question
Go to https://blend-exchange.giantcowfilms.com/
Select the blend file
Add the url of the question
Grab the url that results
Go back to the question and edit it
Add the new url to the bottom of the post

shift+t moves object's texture space - it has nothing to do with visibility.
You may have some modifier the effects of which is not visible in edit mode, or, more likely, you hid everything with h. To unhide the geometry hidden, you can go to edit mode and hit alt+h to unhide everything.
To reset the location of object's texture space if you moved it accidentally, you can set the values to 0 in the Properties Editor, Mesh tab, under Texture Space:


text:
Is it possible to keyframe visibility of every object in the scene at the exact same time in Blender 2.79?
I have a huge scene and there's a glitch where everything becomes invisible to the camera and I want to keyframe everything to be visible without going 1 by 1.

1.79 or 2.79? Also I don't know the answer but try amending your title

You can run a small Python script to make all objects visible and insert keyframes:
import bpy

for every_object in bpy.context.scene.objects:
    every_object.hide = False
    every_object.hide_render = False
    every_object.keyframe_insert(data_path="hide")
    every_object.keyframe_insert(data_path="hide_render")

You would need to copy that into a new text block in the text editor in Blender and hit the Run Script button.
However I do not believe this will be of much help to you, unless the 'glitch' where everything becomes invisible to the camera is caused by you accidentally keying visibility of objects.
Glitches in Blender are really not that likely. Usually it is safe to assume that you did something wrong or did not do something right if you observe some glitch-like behavior. It would be logical to try to figure out what that was in order to fix it. That should at least be the first thing to do.


text:
Convert VOXEL model to soft Mesh
I'm working with models generated as voxels like those showing in the following picture from the internet:

I'm trying to do basically the same you see on the image: turn a voxel-based model into a soft-mesh based one. Don't mind abut texture mapping, just geometry.
Is this achievable in Blender?

The picture you attached looks interesting. Do you happen to still have the source to this picture? :)

@NicholasTJ
https://www.cc.gatech.edu/~turk/surface_reconstruction/pami/pami.html

I can't tell you how to import voxel data into Blender, but if there's no dedicated importer, you can try MeshLab to convert to a supported format. For example, PLY or STL to import as vertices. If there's no real surface yet, you may use MeshLab's pointcloud triangulation capabilities and export as .OBJ.
Once you have a mesh object in Blender with a surface, try the Laplacian Smooth Modifier, which lets you smooth mesh surfaces while retaining a lot of detail.  Go to Properties Editor > Modifiers and add it to your object.
More information: official documentation

Is the link broken for anyone else?  Maybe it's my Ubuntu's fault.  I'm on 16.04

No, the page is apparently gone. I replaced the link with one to the new Blender documentation for it (non-wiki).

If you have a voxel representation, you can use some implementation of Marching Cubes to create a mesh from the voxels. It is possible to import a stack of images as a 'voxel stack' in Fiji which uses ImageJ.

Answers (and questions) should be about blender.

Like @David said, answers should directly relate to Blender. If you know how to do it, with a modifier or script, please add that to your answer.

It is technically correct, but how do you run Marching Cubes on Blender?

If I could downvote David's answer, I would.  Who the heck cares whether they can do it in Blender as long as they can accomplish their goals?  What if the viewer can't make the higher-voted answers work for them?  They'll need a second thing to try

Another program that supports Voxels, assuming they're xyz, is Paraview:
http://paraview.org/
If you import it as a table you can run the following filters:
1. Table to Points
2.  3D Delauny
When you're done, you can export the geometry as an X3D and then import it.


text:
Select individual hairs with Python
Is it possible to select specific particle hairs or hair keys in Blender with Python?
I'm writing a script on Blender 2.73a which involves finding hairs in a system by their index and applying the rekey or subdivide operators to change the number of segments. As I understand it, I'd need to select just the individual hair so that the operators work on it and leave the other hairs alone. So far I've found nothing in the API documentation that would let me do that, just ways to select all or random hairs or to change existing selections.

In my exploration I have not been able to find any operator to subdivide or change the number of segments.  As best I can tell the number of segments is for the ENTIRE particle system and the UI refuses to let you change it once you have started combing, probably because changing the # of segments requires that it throw away all the combing info (Free Edit) and recalculate the hair keys.

I'll bet that there's some kind of operation that has to be done first to "freeze" the particle IDs or indices before you can select any of them or iterate over them. If you can select random hairs then there HAS to be a way to select individual hairs. It might not be exposed, but it seems like it should be possible.

You have to tweak it a bit, but the basics are here, namely doing it via the depsgraph: https://devtalk.blender.org/t/manipulating-particles-in-python/7552/3

wip Answer
Via the Particle Edit Mode it is possible to subdivide single Hairs, therefore it should be possible to recreate this via python. One Constraint here is that the hair system is locked after editing it.
You have to tweak it a bit, but the basics are here, namely doing it via the depsgraph: devtalk.blender.org/t/manipulating-particles-in-python/7552/3

The main idea is wrong so it isn't possible. The Blender particle system is made to ease your work, it allows you to avoid to work hair by hair. If you want to select a group of hairs you can simply separate them using the 2 object and 2 particle system.

I don't think this is possible, seeing that blender treats hairs as special particles.


text:
Moving and using cameras in the same Python script (potentially over multiple logic ticks)
I've been working on a Python script that does some 3D processing on some data I have, without actually rendering anything (I want to take advantage of the rayCast and pointInsideFrustum mechanics, which is hard to find decoupled from a full-fledged graphics library). Basically what I'm doing is moving around cameras, projecting a ray from the camera, raycasting with some model, and testing what other camera poses' frustums contain that point.
Anyway, the issue I'm having is that when I try to move a camera in my script (done using both the bge KX_GameObject and bpy Object, for good measure; I also tried using applyMovement and applyRotation with limited success). While the position seems to be updated, it seems like it doesn't register. Namely, I perform a check to make sure that the camera can see the point that is returned from raycasting via pointInsideFrustum. However, it doesn't detect anything. I delay the script being run until after the first tick, so that the projection matrix can be initialized. Indeed, after checking, the projection matrix is in fact initialized, so that's not the problem.
However, the logic in the code works correctly, since, after restarting the code in game engine mode, it works fine. However, after moving the camera (in the code) to a position far enough away, it fails again. This leads me to believe that the camera isn't actually moving, or that it isn't properly registering. I suspect this might have to do with logic ticks in the Python script. From some other posts elsewhere that I've read, I suspect that Python scripts only are run in a single logic tick, though I'm not certain. If this is the case though, is there a way to make it run over multiple logic ticks?
It's important that this script be constantly running. As bad as it might sound, I have a web server running inside of this script, for the purpose of being able to do some processing via API requests.

Could you provide a small example file (without webserver of course) of what you are trying to achieve? Could be uploaded here (pasteall) for example if you don´t own a google account.

http://www.pasteall.org/50698/python ; I've selected the main snippet where things aren't working. The very last line is where it fails. process is what the API calls, though adjust_camera is probably the method in question.

There are a lot of redundant transformations inside and outside of the bge in your script which will overwrite the ones you applied before. If you just want to set the absolute position of the camera e.g. you can assign the values directly to camera.worldPosition etc. Also there should be no need to touch objects outside of bge. That usually doesnt work well because when the game engine is fired up it doesnt look for changed scene data outside of bge anymore.

Ohh okay. Before I learned that the camera projection matrix wasn't initialized until after the first tick, I made the transformations super repetitive because it wasn't working when I just used bge. But I guess since I'm delaying it should work now. I wasn't aware that things could go awry if you used both bpy and bge.

I've removed all traces of bpy, but the camera now doesn't seem to be moving at all, despite the worldPosition and worldOrientation attributes having changed, i.e. after I exit the Game Engine, the cameras haven't moved. I'm not not sure if this should necessarily be the case, but I'm more suspicious since the code that uses the camera from different positions doesn't seem to be working correctly. Any ideas?


text:
Rendering result different between Path tracing and branched path tracing
In path tracing with 10000 samples i have this result:

With the branched path tracing at 10000 AA samples and diffuse, glossy, transmission.. at 1 i have this result:

nothing else has changed.
Why this difference?

maybe upload the blend file?

AA samples are Anti-aliasing - having diffuse, glossy, transmission.. at 1 will give a different result to 10000 render samples in non-branching.

Maybe it's related to what Thomas Dinges recently posted. https://developer.blender.org/rB99e20d7b8930479edfacae246a529e03b84264ae
It's says that for multiple lights, the lights were being selected randomly for the indirect component.  If this was your issue then it should be fixed now.


text:
How to launch render from command line with load trusted option?
How to launch render from command line with load trusted option? I haven't found any keys for allowing launching of scripts in a file:
   $ /opt/blender-2.73-linux-glibc211-x86_64/blender  -b ./v/Scenes/10/sc10.blend -o //out/ -s 064 -e 126 -a
   ......
   skipping driver 'frame', automatic scripts are disabled
   ......

Is there any way to launch scripts, if I don't have an active GUI and can't set the "autorun scripts" parameter?

Ups, I find it here http://wiki.blender.org/index.php/Doc:2.6/Manual/Extensions/Python/Security (key: -y)

Good to know. You should definitly post it as an answer as soon as you have the required reputation (I think 15 rep is what you need).

@maddin45 There are no reputation restrictions on asking or answering basic questions.

@iKlsR you are right. You only need the 15 rep for the checkbox to answer your own question while asking. Sorry for the confusion.

This answer explains which options override others.


text:
Blender v2.72: Rotating an object to a predetermined angle using the cursor as the point of rotation
I am trying to rotate a circle, using the cursor as the point of rotation for 45 degrees. The cursor doesn't need to be a point of rotation, I just need rotate an object for predetermined angle and around a predetermined point.
This is my code and all it is doing is rotating the cursor:
import bpy
from math import sin, cos, pi

def rotation():
    xlocation = 1
    ylocation = 1
    zlocation = 0

    bpy.ops.curve.primitive_bezier_circle_add(radius=.1, view_align=False, enter_editmode=False, location=(1, 1, 0), )

    bpy.ops.object.select_all(action='TOGGLE')
    bpy.ops.object.select_all(action='DESELECT')
    bpy.ops.object.select_pattern(pattern = "BezierCircle*" ,case_sensitive = False, extend = False)
    bpy.context.scene.objects.active = bpy.data.objects["BezierCircle"]

    bpy.context.scene.cursor_location[0] = 3
    bpy.context.scene.cursor_location[1] = 1
    bpy.context.scene.cursor_location[2] = 0

    set_pivot_point('CURSOR')

    bpy.ops.transform.rotate( value=1.5708/2, axis=(-0, -0, -1), constraint_axis=(False, False, False), constraint_orientation='NORMAL', mirror=False, proportional='ENABLED', proportional_edit_falloff='SMOOTH', proportional_size=1.331, release_confirm=True)

    return ()

def set_pivot_point(type):

    if type not in ('BOUNDING_BOX_CENTER', 'CURSOR', 'INDIVIDUAL_ORIGINS','MEDIAN_POINT', 'ACTIVE_ELEMENT'):
        return False

    for a in bpy.context.screen.areas:
        if a.type == 'VIEW_3D':
            break
        else:
            return False

    a.spaces[0].pivot_point = type
    return True

rotation()

And the problem is?....

If you just want to rotate the circle, you can do that easily without scripting it. Select circle, press "R"(for rotating) and press 4 then 5(45), press enter. If you wanted rotation the other way, just hit minus on numpad (-).

no, it has to be with scripting.

You should consider to use some matrix math. The basic idea is to translate the object in a way, that your desired rotation point in space lies at (0,0,0) - which is as simple as to negate position vector. Then use a rotation matrix and translate the object back.


text:
How to use displacement modifier?
I am following tutorials that simply says to add a mesh, then add a modifier for displacement and voilà, their mesh turns into some cool looking shape.
Whenever I do that nothing happens...
I have tried using the Cycles engine with and without experimental.
I have tried using the Displacement NODE in materials.

https://www.youtube.com/watch?v=_e4t1uaXk6U&feature=youtu.be
Why doesn't my displacement work?

Please edit your question an add information, add images that show your current project and the settings you are using. Format the question so that users have to go to a link just to understand the question.

Hello and welcome. Please provide some context and explanation, don't just post a link to a video While videos and images are helpful in diagnosing the issue, they should be supplemental to the question and complement a written description of the issue, not a replacement, ideally with accompanying images showing the problem. You should edit your question remove any "introductory text" and replace it with an actually explaination of what the issue is and what steps you took to attempt to solve it

what do you mean when you say that it doesn't work, it seems to work, we can see some displacements on the surface of your sphere...

How many levels of subdivision did you use? Higher (5-6) is generally required to show the detail correctly.

I am using 5 levels. Yes it is adding a bit of displacement, but at those settings it is no where near what happens when I follow the tutorials. and no matter what settings I use it just makes it look like a slight orange peel.

https://blender.stackexchange.com/questions/27451/landscape-topography-from-grayscale-image/27454#27454

No, that is not the problem. I knew how to USE displacement. The issue resides in that Blender updated their engine. I had to go into the Shader tab and add a DISPLACEMENT node and connect it to the Displacement of the Material output. Then I had to go to the engine and use CYCLES. After I had to go to the materials settings and change from "BUMP ONLY" to "DISPLACEMENT and BUMP". It really wasn't simple at all.

Adaptive subdiv displacement/material displacement is NOT the same as the displace modifier. Nothing changed. There's no issue. It's just two different methods of achieving two similar, but different results.

If you actually check out the new Blender updates, Displace modifier will not work unless displacement is added to the shader material output displacement node input as well as set engine to Cycles and set displacement to Displacement AND Bump in materials details.


text:
I can't select "filmic" in view transform
OS: windows10 64bit
version:2.83
view transform shows only "standard" and nothing else.I know filmic color management is already installed to blender 2.8. Also every time i download a new version of blender 2.8 it does the exact same thing.
please help me.

https://i.sstatic.net/yFSOy.gif

Try to download and extract the portable version (.zip), it doesn't require any installation. Blender comes with an OCIO config file and the required look-up tables, including Filmic. Therefore Filmic is available in a clean install.

my problem is https://developer.blender.org/T51896 this.
i downloaded portable version, (.msi)version, steam version, but i can select only "standard" at view transform.
my blender has "filmic"  folder (file path : 2.83 -> datafiles->colormanagement ->filmic). However it does not work.(blender does not load this?)

@Robert Gützkow

The ticket you've linked seems unrelated to your problem, since that person is able to select Filmic as view transform. Please read  this guide and create a bug report, if the issue occurs on a clean install with factory default settings. You can link the ticket here, tag me and I'll take a look.

sorry, the URL was wrong, this is what i want to tell you. https://developer.blender.org/T63974 My problem is the same.@Robert Gützkow
i will report thisproblem.

I could solve this problem. Thank you so much! @Robert Gützkow
For someone who is in trouble like this, I write the solution.  I installed Blender in the D drive (it is not installed OS, OS is in the C drive),so i tried to install into the C drive. this is the solution for this problem.


text:
Compositing cg watersplash with water in video footage
I am trying to create an effect where water is frozen in time, resembling the splash of water created by stepping in low water.
My issue is in compositing the borders of my water splash into the water covering the floor.
I've tried multiple shading settings and searched for countless tutorials, looking for one that basically lets me keep all the highlights of the lights bouncing in the splash effect but basically makes it so that its the only thing shown in the layer or a way to softly blend the edges into the water, as in mask feathering.
Further than this I would like to create an invisible layer below the foot that reflects only the particles of the water splash and not the environment map.
I'm not sure whether my solutions would be the right way to accomplish the effect and I'd appreciate whatever solution you might have.
(I'm at a semi-beginner level and would appreciate descriptive answers if possible)
Thank you in advance!
-Chris

You're not going to find a "tutorial" for this.
You are up for a very challenging task. You need to account for a lot of things, like transparency, refraction, diffraction reflection, caustics in the water, plus the reflections and shadows on the shiny floor and the shoes.
Reflections and transparency have to come from somewhere ,so you will have to put elements to be reflected and shown trough the water.
The most accurate way to deal with this would be to recreate a lot of the scene in blender to make the interaction more convincing.
Try to recreate the material for the floor as close as you can to be able to capture the reflection of the water on the ground and the reflection of the water drops. You will need also a copy of the floor to composite the shadows as a shadow catcher.
To have the transparency of the drops correctly show the background use the image in a plane that is invisible to the camera, but visible to the transparent and glossy elements of the drops.
In reality each drop of water would reflect the entire environment, the window behind, and whatever is behind the camera...
The biggest challenge is that the water on the floor should reflect the shoe as well, but from a perspective that does not exist on the original image, so most likely you need to make the shoe as as 3D element, again invisible to the camera, but visible to the glossy rays. But the water should also be reflected on the floor and at the same time the water should be transparent to show the floor, but there should be some disturbance in the surface of the water caused by the shoe.
You are in for a lot of hours of entertainment while you try things, make masks, play with different rays and multiple layers.
Some info can be found in this post:
How to get reflections from 3D to show up on real images
And then there are many more layers to this onion.
Matching the values for the light values for the scene, getting the correct perspective, etc etc,
Realistic rendering of mesh together with image?
The bottom line is this: compositing is an art, careful studying of how how light and surfaces work in the real world, and attention to small details, and ingenuity to fake things are needed to pull this one off.
Best of luck, and it would be wonderful if you could write a detailed post when you finish: the missing tutorial!

Could project the image onto the floor. However, replicate the light of the shot is most likely the hardest part if no hdr (captured on set) is available.


text:
Indent an object using an image
I want to make a custom dice set with the theme Darksiders

This is the image I would like to be on the d20 dice on the 20 side. however I do not know how to put the mark into the d20 Model.
I know how to put in numbers into the dice and I tried to make a dent in it with a smaller simple cube and it worked fine but not when I try with this Darksider mark. i even tried a more simpler version of the image but not even that worked. the result was either nothing, or a wierd and inconsistent texture into the dice model
I would be really happy if someone could help me with this.
thank you in advance!

You mean you want to mark one of the faces with this symbol?

Hello :). What is the technique you tried and didn't work for you? Do you want to use the image as a Bump texture, or actual indented geometry?

i tried to use boolean to indent geometry. similar method when i put the numbers into the dice. make sure its a mesh object, then go to the dice model, add the boolean modifier.
but it didnt work for this one @JachymMichal

and im not sure what u mean with mark, i want it to be an acual mark on the dice when i print it with a 3D printer. if that makes sence? @FrederikSteinmetz

The best way would be probably to Import the logo as an .svg and then manually (or using Boolean) cut the relief into the dice

Related: How can I convert an SVG to a mesh?

how do i do it manually since it doesnt work automatically?
@JachymMichal

You need to use the DISPLACE modifier on the plane you want the SHAPE of the image.
You'll mesh will need a lot of geometry to be able to show the shape of your image.

For a detailed explanation on the setup read:
Displace Modifier on an object

i looked up how to use it and either im doing it wrong or it doesnt work @Sanbaldo

share your test so we can check what's wrong

https://sta.sh/01f1n33l0hv7
https://sta.sh/0omrlbqeihh
here is the result of me trying to copy what i see in the picture that you sent. honestly i dont know what im doing wrong

you need to increase the level of subdivision in the subdivision modifier (viewport). you'll need at least 5. then you need to swith to "simple model" instead of "catmull"


text:
Geometry Nodes: How to access data-block properties?
It's a long shot, but is there any way at all to directly access properties stored in vertices/control points data-blocks? There's stuff that doesn't show up in the spreadsheet that I'd love to be able to manipulate, like weight_softbody in curves (bpy.data.curves["curveID"].splines[index].points[index].weight_softbody). I'm specially interested in being able to access custom properties.
Please note that I know how to access accessible properties like nurbs_weight by setting those in a Named Attribute node.

Hello ! Just to be clear, you're looking into doing that only within the context of geometry nodes, not with the help of the python scripting API ?

@Gorgious As long it also works for curve-type objects, I'm desperate to the point I could turn to python, hah. I have this GN tree reading properties of each spline in a curve object to do stuff, and right now I've been stuffing this data in the Nurbs Weight/Radius/Tilt of the first N control points of the splines because these are all I can access from GN on-the-fly. Curves don't have object[ID].data.attributes to make custom data accessible to GN.

This is not the solution I was looking for, but it's a solution. For now I won't mark it as the accepted answer in case someone has a better method or GN gets the updates needed to avoid this workaround.
How to read and edit custom Attributes in Edit Mode
I wanted to access all data, including custom data, of curves. The easiest way is to use custom named attributes + python to interact with these attributes in edit mode. You can set it to pull information directly from the object data or create and work with entirely new attributes.

Despite its simplicity, this proof of concept shows how editable custom attributes open up the chance of doing anything with your geometry. IE, I'm working an a hair system with many per control points settings.
This approach works not only for "curves" but also meshes.
Requirements
Blender 3.2 alpha (circa 2022-03-22) must be used for this due its functional support for curves Named Attributes. The most recent 3.2 and 3.3 builds (2022-05-31) can't be used because named attributes aren't working for some curve attributes.
Fake Curves
Turning a mesh into a default-looking NURBS curve is easy.

You'll want to add a check for splines with fewer than 5 points, or these will disappear when converted to NURBS.

Editable Attributes
Custom attributes are accessible from meshes' Object Data Properties panel.

You can either write a python snippet to check if they exist, creating and populating with defaults if not, or add them manually and run something on the command line.
In this example misc_data should be tied to each control point (point domain) while profile and custom_res are tied to all points in their splines (splines domain). Because meshes don't have native support for the spline domain you'll need to reassign them after converting to curve.

After preparing the attributes, you can let them do their thing.

The full node tree:

This takes care of the geometry nodes functionality part.
Making Attributes interactive in Edit Mode with Python
Attribute data disappears when entering in edit mode. Try it out in the console, bpy.context.active_object.data.attributes['ATTRNAME'].data[0].value in Object and Edit modes. It's weird and annoying. But there's a workaround, bmesh.
The next issue to be solved is getting these attributes to display and get altered in a viewport panel. I used a custom prop collection to temporarily store the values being displayed in the panel fields, with a setter function to update the real attributes and he viewport.
Here's the full snippet with comments. It's rushed and sloppy but gets the idea across.
import bpy
import bmesh
import numpy as np

from bpy.types import (
    Operator,
    Panel,
    PropertyGroup,
)
from bpy.props import (
    EnumProperty,
    BoolProperty,
    StringProperty,
    IntProperty,
    CollectionProperty,
    FloatProperty,
    FloatVectorProperty,
    PointerProperty,
)

# ------------------------------------------------------------------------
#    Misc functions
# ------------------------------------------------------------------------

# Tag object for vireport update when Attributes are changed
def refresh_gn(obj):
    obj.update_tag()

# ------------------------------------------------------------------------
#    Props
# ------------------------------------------------------------------------

# Attributes meta information
CUSTOM_ATTRIBUTES = {
    "misc_data": {"prop_type": "float", "domain": "point"},
    "custom_res": {"prop_type": "int", "domain": "spline"},
    "profile": {"prop_type": "int", "domain": "spline"},
}

class SplineAttributesPanelProperties(PropertyGroup):
    # Temporarily store data in custom props to display and edit in 3D view panel
    @classmethod
    def register(cls):
        bpy.types.Object.curve_attributes = PointerProperty(
                name="Custom Curve Attributes",
                description="Support for custom curve named attributes",
                type=cls,
            )

        # Sub props
        cls.misc_data = FloatProperty(
                name="Keep Point",
                description="Set to 0 to remove this point from curve",
                update=update_attr("misc_data"),
                get=get_attr("misc_data"),
                set=set_attr("misc_data"),
                min=0,
            )

        cls.custom_res = IntProperty(
                name="Spline Resolution",
                description="Resampling point count and resultion of active spline",
                update=update_attr("custom_res"),
                get=get_attr("custom_res"),
                set=set_attr("custom_res"),
                min=2,
                max=1000,
            )

        cls.profile = IntProperty(
                name="Spline Profile ID",
                description="Index of geometry used as profile for this curve",
                update=update_attr("profile"),
                get=get_attr("profile"),
                set=set_attr("profile"),
                min=0,
                max=3,  # Ideally, write code to pull max from geo nodes Collection input
            )

    # Clear when unregistering
    @classmethod
    def unregister(cls):
        del bpy.types.Object.curve_attributes
        #
        del cls.misc_data
        del cls.custom_res
        del cls.profile

## ---------------------------------------------
## Getter, Setter, Updater

## The updater is called every time the user edits something, and when they hover trhe prop too
# Wrapper to avoid writing lambdas in every prop declaration
def update_attr(attr):
    # Retrieve self, context, then add 'attr' parameter
    f = eval("lambda s, c: update_attr_exec(s, c, '%s')" % (attr))
    return f

# Real Update Function
def update_attr_exec(self, context, attr):
    # Retrieve value from temp prop
    val = getattr(self, attr)
    # Get meta information
    meta = CUSTOM_ATTRIBUTES[attr]

    obd = context.active_object.data
    bm = bmesh.from_edit_mesh(obd)
    # Get selected vertices
    verts = np.array(bm.verts)
    selected = np.frompyfunc(lambda a: a.select, 1, 1)
    sel = selected(verts).astype(bool)
    v = [s.index for s in verts[sel]]

    # First vertex in selection (extra code needed to support vertex multiselection)
    v0 = bm.verts[v[0]]

    # Pull the correct type of layer data by checking the metadata
    attr_layer = eval("bm.verts.layers.%s[attr]" % (meta['prop_type']))  # I'm so lazy

    # Set attribute of first vertice in selection to value of temp prop
    v0[attr_layer] = val

    # If it's a spline domain, find linked vertices and set them too
    if meta["domain"] == "spline":
        # Retrieve list of id: (vert prop) of linked vertices
        linked_verts = get_linked_verts({v[0]: v0}, {})

        # Set attribute for them too
        for idx in linked_verts:
            bm.verts[idx][attr_layer] = val

    # Update viewport with new attributes
    refresh_gn(context.active_object)

def get_linked_verts(vs, l, vlen=0):
    t = {}  # Temp list for recursion

    for idx in vs:
        for e in vs[idx].link_edges:
            v = e.other_vert(vs[idx])
            l[v.index] = v # Add to vertices list
            t[v.index] = v # Add to temp list

    nlen = len(l) # update vertices count

    if nlen != vlen: # Still finding new vertices
        return get_linked_verts(t, l, nlen)  # Keep counting
    else:
        return l  # Reached the end!

## Getter is called when the prop value is displayed in the UI
# Wrapper to avoid writing lambdas in every prop declaration
def get_attr(attr):
    # Retrieve self, then add 'attr' parameter
    f = eval("lambda s: get_attr_exec(s, '%s')" % (attr))
    return f

def get_attr_exec(self, attr):
    # Get meta information
    meta = CUSTOM_ATTRIBUTES[attr]

    obd = bpy.context.active_object.data # lazy
    bm = bmesh.from_edit_mesh(obd)
    # Find selection...
    verts = np.array(bm.verts)
    selected = np.frompyfunc(lambda a: a.select, 1, 1)
    sel = selected(verts).astype(bool)
    v = [s.index for s in verts[sel]]

    attr_layer = eval("bm.verts.layers.%s[attr]" % (meta['prop_type']))  # I'm so lazy

    bm.verts.ensure_lookup_table() # Needed sometimes

    # Display value of equivalent attribute of first vertice in selection
    return bm.verts[v[0]][attr_layer]

## Setter is required so the prop isn't read-only. It's caled when the user accepts the changes made
# These functions pretty much copy the updater logic
def set_attr(attr):
    # Retrieve self, value, then add 'attr' parameter
    f = eval("lambda s, v: set_attr_exec(s, v, '%s')" % (attr))
    return f

def set_attr_exec(self, value, attr):
    self[attr] = value

    meta = CUSTOM_ATTRIBUTES[attr]

    obd = bpy.context.active_object.data
    bm = bmesh.from_edit_mesh(obd)
    # Find selection...
    verts = np.array(bm.verts)
    selected = np.frompyfunc(lambda a: a.select, 1, 1)
    sel = selected(verts).astype(bool)
    v = [s.index for s in verts[sel]]
    v0 = bm.verts[v[0]]

    attr_layer = eval("bm.verts.layers.%s[attr]" % (meta['prop_type']))  # I'm so lazy

    # Set attribute of first vertice in selection to value of temp prop
    v0[attr_layer] = value

    # If it's a spline domain, find linked vertices and set them too
    if meta["domain"] == "spline":

        linked_verts = get_linked_verts({v[0]: v0}, {})
        for idx in linked_verts:
            bm.verts[idx][attr_layer] = value

# ------------------------------------------------------------------------
#    User interface
# ------------------------------------------------------------------------

## Base properties of panel
class EA_props_panel:
    bl_space_type = "VIEW_3D"
    bl_category = "GN Editable Attributes"
    bl_region_type = "UI"

## Editable Attributes Panel
class PANEL_PT_Editable_Attributes(EA_props_panel, Panel):
    bl_label = "Active Spline Attributes"
    bl_idname = "VIEW3D_PT_activeSplineAttributes"

    @classmethod
    def poll(cls, context):
        return context.mode in {'EDIT_MESH'}

    def draw(self, context):
        layout = self.layout
        oba = context.active_object.curve_attributes

        col = layout.column()
        col.use_property_split = True
        col.use_property_decorate = False
        col.prop(oba, "custom_res", text="Spline Res")  # Custom Resolution attr
        col.prop(oba, "profile", text="Profile ID")  # Curve Profile attr
        col.separator()

        col = layout.column()
        col.alignment = 'RIGHT'
        col.label(text='Selected Control Point')
        col.alignment = 'EXPAND'
        box = col.box()
        row = box.row()
        col = box.column()
        col.prop(oba, "misc_data")  # Float attr
        row = box.row()

# ------------------------------------------------------------------------
#    Register
# ------------------------------------------------------------------------
CLASSES = [
    SplineAttributesPanelProperties,
    PANEL_PT_Editable_Attributes,
]

def register():
    for cls in CLASSES:
        bpy.utils.register_class(cls)
    # Tag obj for update when attr changes
    bpy.app.handlers.frame_change_pre.append(refresh_gn)

def unregister():
    for cls in CLASSES:
        bpy.utils.unregister_class(cls)
    bpy.app.handlers.frame_change_pre.remove(refresh_gn)

if __name__ == "__main__":
    register()

That's it. It's an absurd workaround, but hey, if it works...


text:
Weight painting not moving model as expected
I am trying to weight paint my model but no matter what weight I paint or assign to the verts, I can't get the skin stretching effect I want. They all act as if they have full weight and only the verts next to the ones I painted stretch.

Add verts to head and then rotate to test. Only the faces next to the verts selected stretches.

I go into edit mode and assign the line of vert's bellow at a very low weight but when I go to rotate, they move as if assigned at full weight.

"They all act as if they have full weight" Not at all a weight painting expert, but looking at your image I see all vertex painted red, so they are all at full weight. What would you expect to happen?

I expect red(full weight) vert's to be moved completely with the bone and those with low weight to move slightly with the bone. It might be hard to see by color but if you look at the pictures, you can see there was an added row of blocks that move with the rotation of the bone that before stretched. The lower part of those blocks are discolored from the base blue because I used a low weight to add them yet they act as if I used full weight. No matter what weight I paint or add vert's to the bone, it acts as if it's at full weight when I go to rotate.

If they did have full weight, the face would remain the same shape when you rotate it. Also when you have multiple bones, make sure the the vertices have no additional weighting to another bone that you also might rotate when testing.

A weight of 1 (red) means, that your mesh will react 100% to the bone movement.
A weight of 0 (blue) means, that your mesh will not react at all.
So, if you want a more natural behavior, select the lower vertices of the head and assign a weight of 0.5 (green). These vertices will only be partially affected. You can go further and have several transition loops:
Assign it like this to the top bone.

And assign reverse weights to the bottom bone.

It seems the reason It acts as if it's added at 100 weight is because I only have one bone weighted. I need overlap the mesh of the next bone so the vert's stretch correctly.

Try not to paint everything red and maybe add more vertex to the joint