New around here? Register your SA Forums Account here!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $10! We charge money because it costs us money per month for bills alone, and since we don't believe in shady internet advertising, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Bad Munki
Nov 4, 2008

We're all mad here.


Chance posted:

If it's just one object you can just go to edit mode, pick a vertex, cursor to active, then tab back to object mode and origin to cursor.

If you definitely want to use the bounding box uh you should be able to do that in python, getting the object position, bounds and then again setting 3d cursor to that spot and setting the origin to the cursor.

Or silly way, in edit mode just select all and then move it to offset from the current origin.

If that doesn't make sense I can check later what the actual python commands would be.

Yeah, the issue is that the object doesn't actually hit its own bounding box at any of the corners/edges of said bounding box, but I want to align it based on its maximum bounds, so picking a vertex in the mesh doesn't help, unless I can do it a single axis at a time and bump the origin once for each axis? And also can successfully pick the outermost vertex on each face. :|

The "silly way" is just dragging it about, yeah? I can do that, but it's not very precise and I'm aiming for getting things actually lined up precisely, as in coincident.

Like, this is what I'm working with, these two lumpy objects:



But the base piece, it does actually have a nice corner to reference from, and I want that wall piece's bbox to line up thusly:



But the mesh itself doesn't actually go there, which the techniques I've found so far rely on.

To avoid a potential X-Y problem here: what I'm ultimately trying to do is ensure that the outermost extents of the lumpy wall bit are perfectly vertically flush with the edge of the rectangular plate of the floor object there, ensuring no overhang but as close as it can get. My thinking is that if I can get the corner of the bbox on the corner of that plate (which I know the location of, or could snap to), then it'll be perfect on three sides and I can just scale X/Y to make it match at the other end.

So yeah, I suppose a bit of python that just found the min x/y/z of the object and set the origin to that would be perfectly satisfactory. I'm perfectly comfortable with python, but have next to no knowledge of blender here, so I'll go look into python in blender next I guess.

Thanks for the suggestions!

e: Oh this Python option could be great, I could gin up a script to align these things automatically for any new ones I have to do (there will be a bunch) and do the intersection and export the cleaned up geometry all in one step.

Bad Munki fucked around with this message at 04:28 on Jul 8, 2025

Adbot
ADBOT LOVES YOU

Chance
Apr 28, 2002

Bad Munki posted:

e: Oh this Python option could be great, I could gin up a script to align these things automatically for any new ones I have to do (there will be a bunch) and do the intersection and export the cleaned up geometry all in one step.

If you're just looking for the minimum in all 3 axis, here is a python script from chatgpt that appears to work in my testing, which is better than what it usually gives me.

code:
import bpy
import mathutils

def set_origin_to_min_world_bbox(obj):
    if obj.type != 'MESH':
        print(f"{obj.name} is not a mesh object.")
        return

    # Get world-space bounding box corners
    local_bbox_corners = [mathutils.Vector(corner) for corner in obj.bound_box]
    world_bbox_corners = [obj.matrix_world @ corner for corner in local_bbox_corners]

    # Find the minimum X, Y, Z position in world space
    min_corner = mathutils.Vector((
        min(corner.x for corner in world_bbox_corners),
        min(corner.y for corner in world_bbox_corners),
        min(corner.z for corner in world_bbox_corners),
    ))

    # Create a temporary empty at that location
    bpy.ops.object.empty_add(type='PLAIN_AXES', location=min_corner)
    empty = bpy.context.active_object

    # Select only the target object
    bpy.ops.object.select_all(action='DESELECT')
    obj.select_set(True)
    bpy.context.view_layer.objects.active = obj

    # Set origin to empty (i.e., to min_corner)
    bpy.ops.object.origin_set(type='ORIGIN_CURSOR', center='MEDIAN')
    bpy.context.scene.cursor.location = min_corner
    bpy.ops.object.origin_set(type='ORIGIN_CURSOR')

    # Delete the temporary empty
    bpy.data.objects.remove(empty, do_unlink=True)

    print(f"Set origin of {obj.name} to minimum bounding box corner at {min_corner}")

# Example usage
obj = bpy.context.active_object
if obj:
    set_origin_to_min_world_bbox(obj)
else:
    print("No active object selected.")

Komojo
Jun 30, 2007

...Why is ChatGPT creating an empty object and then immediately deleting it without using it?

Koramei
Nov 11, 2011

I have three regrets
The first is to be born in Joseon.
If you don't feel like python scripts, in the options menu in the top right of the viewport, turn on "Affect Only: Origins." Then vertex snapping will work fine and you can hit the bounding box corner in 3 clicks.

Alternatively to get the true bounding box is genuinely the simplest geonodes setup in the world -- there's a bounding box node that does it automatically. duplicate the object, apply the modifier, lock to that vertex.

Chance
Apr 28, 2002

Yeah I didn't even read it beyond pressing run to see if it worked. Didn't notice it setting cursor by location anyways.

The last time I asked it to do a similar operation it would set the origin to the position and then move the whole object, so it just kept nudging over in place repeatedly.

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope

Bad Munki posted:

It was suggested I ask my question here, maybe y’all can help an absolute novice:

I guess I'll post my geometry nodes solution here too:

Bad Munki
Nov 4, 2008

We're all mad here.


Awesome, thanks for the help, all of you. I was able to get the thing properly placed and then do a proper union and get a single geometry out that I can use as a master, and have already produced several such masters for various parts. It works great!

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope

Wheany posted:

I guess I'll post my geometry nodes solution here too:



I'm sorry, I made it too complicated, here's a simpler solution:

Raenir Salazar
Nov 5, 2010

I think a lot of "zionist" jews just want a safe and prosperous Israel and would love to see Palestine to also exist as a safe and prosperous country that Israel can co-exist with
College Slice
In Blender I've experienced white and black jagged triangle looking spots when smooth shading. The white spots I assume is a result of a E-pole (thus the fix is redoing topology) but the black spots are probably a result of non-planar quads on a curved surface.

I was able to resolve this by either (a) using a WeightNormal modifier I recently discovered, and also apparently the same basic thing is to (b) apply "Set Normals from Faces"; both seem to have the same result of resolving shading artifacts (smooth shading on like a mid-poly ~50k tri character mesh).

I think my question is, is this a "good" solution or is it more of a bandaid? I've tried using loop tools to relax loops but it doesn't really work with faces. And vertex smoothing sometimes does things I'd prefer it not to do; a better tool is something that like I dunno does what Set Normals from Faces does but to the actual geometry to try to smooth out the angles of nonplanar faces.

For E-poles I think it's clicked for me the best thing to do sometimes is just move dodgy topology to places where it won't be noticable i.e in flat places, holes, or like places with sharp creases already.

As a follow up to that, for loop reduction techniques like here: https://topologyguides.com/loop-reduction are these for relatively flat non-deforming parts of the mesh? That 2:1 and 4:1 especially when I was experimenting earlier with eliminating that E-pole didn't seem to look right to me while just redirecting the excess loops to the edge of the model (of a pair of shorts) seems like just has better smooth shading in that instance. But I assume it won't always be convenient to redirect an loop to a nearby edge or be in a spot that doesn't need to deform much.

Darth Brooks
Jan 15, 2005

I do not wear this mask to protect me. I wear it to protect you from me.

It looks like the GBS thread is going to die so I'm going to post this here.

I made a model of the Get Out frog.


https://www.thingiverse.com/thing:7088803

There are now three versions of the frog that I'm aware of, this one, the one from the thread and one that was posted on Thingverse some time ago.

older frog by eeun: https://www.thingiverse.com/thing:3527101)

I may make a version with an open mouth.

sigma 6
Nov 27, 2004

the mirror would do well to reflect further

Zombie Lincoln. Made in Zbrush and Keyshot. Almost there.

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope
Blender 4.5 LTS has been released

https://www.youtube.com/watch?v=wPhA0imjvVs

sigma 6
Nov 27, 2004

the mirror would do well to reflect further

The Penny Is Dead. Long Live The Penny.

Harvey Baldman
Jan 11, 2011

ATTORNEY AT LAW
Justice is bald, like an eagle, or Lady Liberty's docket.

I'm mostly a polymesh/3DS Max/ZBrush workflow guy, but I have a .STEP file I need to edit and I'm trying to figure out what the best approach here might be. I'd like to remove the hexagon pattern entirely and return the surface to smooth for additional cosmetic/aesthetic work I want to do...





I opened this in Fusion to get a look at it, but I don't know any actual CAD software well enough to manipulate this.



There's a bunch of complex curves underneath that hexagon pattern.



I know the STEP file is in theory more editable, but since I don't have the design/document history I can't seem to figure out a way to easily eliminate that hexagon pattern from the areas where it's present, and trying to select and delete some of these features is just making it throw errors. I feel like my 'normal' solution would probably be to make a new polymesh object that tries to cover over this, then boolean everything together, but I'm curious if there's a better/smarter way to do this that someone could point me towards?

The file in question, in case someone wants to take a look:

https://www.dropbox.com/scl/fi/r5036w09oeyx1yejl1a5p/zinc-50-assembly-205-handguard-top-only.step?rlkey=aej0a24xfag7sl4kho4a7hoiu&dl=0

Edit: I did manage to basically just brute force my way through it with my polymesh tools, which then let me cut the new pattern I wanted out, but I'm still curious what options I probably should have used.



Harvey Baldman fucked around with this message at 20:30 on Jul 17, 2025

Sagebrush
Feb 26, 2012

professor flat pants, they call me
I downloaded the STEP to look at it.

The long and short is: that's a STEP file that came from SolidWorks, and SolidWorks does not make good manually-editable topology of complex curved surfaces, so making changes to this particular file is difficult. There is enough data in the STEP to get back to the original handle shape without the hex pattern, or very close to it, but doing so is a giant pain in the rear end. I started doing it and taking screenshots, but it rapidly became apparent that it's too many steps to document in a forum post. Lots and lots of nitpicky untrimming, edge rebuilding, retrimming, intersecting, and all in a stupid rear end-backwards way because SolidWorks doesn't make surfaces the way a good human surface modeler does.

The best way to edit the model would be to get the original SolidWorks file and a copy of SolidWorks, and just remove the grip texture feature from the history tree. Quick and painless and exactly what SolidWorks is for.

The short hacky way, using just manual surfacing tools, is:

- explode the handle into its component surfaces
- delete all of the surfaces that make the grip pattern, leaving a hole
- fill the hole with some sort of freeform patch tool.



(backfaces are pale pink here, so in #2 you are looking at the "inside" of the handle volume)

This won't give you the exact original shape -- note that the filleted chine that sweeps up to the center of the grip is now blended away -- but it's quick and straightforward.



Not perfect continuity, but probably fine for a 3D printed cosplay prop or whatever this is going to be.

Sagebrush fucked around with this message at 23:06 on Jul 17, 2025

Ccs
Feb 25, 2011


I'm finally learning Blender for animation. It's much easier than I thought it would be, within a few hours I had a rig referenced, video reference loaded in, figured out how to set keyframes and run the euler filter and audio in the timeline. There are still some aspects that aren't as convenient as Maya, and Blender doesn't have a tool as all-encompassing as animBot which means that the really serious studios probably won't pick it up. But more and more freelance jobs and boutique studios are using Blender so I figured it'd be good to know.

I'm gonna try to finish my first bit of animation with it this week.

some kinda jackal
Feb 25, 2003

 
 


I have a feeling this is extremely obvious but for some reason I can't find it --

How can I set the initial scale of a Nomad project? I just started playing with the tool and I love it, but I'm forever creating tiny objects that I then have to scale up when I export to print. Is there a setting somewhere where I can set grid unit values? Or at least set the scale of an initial object.

I'm coming from OnShape where I dimension everything, so I expect it's something like dimensioning, but for some reason I just can't find it.

Since most of my modelling is characters, they sit on a base. I expect the right way to do this might be to create a small cylinder base and then properly dimension it to radius 10cm or something? (or whatever is appropriate for my output medium).

I love the app so far, but some of the UI feels a little busy, so I'm sure I'm just missing something extremely obvious.

Listerine
Jan 5, 2005

Exquisite Corpse

some kinda jackal posted:

I have a feeling this is extremely obvious but for some reason I can't find it --

How can I set the initial scale of a Nomad project? I just started playing with the tool and I love it, but I'm forever creating tiny objects that I then have to scale up when I export to print. Is there a setting somewhere where I can set grid unit values? Or at least set the scale of an initial object.

I'm coming from OnShape where I dimension everything, so I expect it's something like dimensioning, but for some reason I just can't find it.

Since most of my modelling is characters, they sit on a base. I expect the right way to do this might be to create a small cylinder base and then properly dimension it to radius 10cm or something? (or whatever is appropriate for my output medium).

I love the app so far, but some of the UI feels a little busy, so I'm sure I'm just missing something extremely obvious.

Quick and dirty workaround- could you import a cube/sphere/whatever of known size, and just use that as a starting template file?

some kinda jackal
Feb 25, 2003

 
 


Oh possibly, I actually haven't checked whether I can change the starting template or not. But so far 100% of my sculpts are targeted at my specific printer so if I can find a way to do that then I will absolutely modify a template.

Listerine
Jan 5, 2005

Exquisite Corpse

some kinda jackal posted:

Oh possibly, I actually haven't checked whether I can change the starting template or not. But so far 100% of my sculpts are targeted at my specific printer so if I can find a way to do that then I will absolutely modify a template.

Even if you can't modify the starting template, keeping your own file separate that you can load as a starting point would probably work?

Twibbit
Mar 7, 2013

Do you have Dr. Pepper in a bottle?
I rather recently started putting an earnest effort into learning 3D animation, and how do you keep from going insane when adjusting all your spline curves. And I am still at the stage of learning how people shift their weight around.
https://www.youtube.com/watch?v=tMhkotPnhJk

Education is being provided by ToAnimate because they were finally on sale.

Ccs
Feb 25, 2011


Are you spending a lot of time in the graph editor? Personally I just use the viewport most of the time, only checking the graph editor if there's weird flipping going on which I need to fix with the Euler filter. I only work extensively in the graph editor when doing cycles or offsetting keys to create more overlap on something.

Listerine
Jan 5, 2005

Exquisite Corpse
Hey y'all, Nomad Sculpt is now available on desktop platforms for $35.

https://nomadsculpt.com/alt

I just installed it so can't comment on long term performance. Subdivided a sphere to 6 million polys and it was serviceable but noticeable slowing when switching to the dyntopo mode which was not much improved when hiding half the mesh. So not quite a replacement for Zbrush but a good step in that direction if you want to get off the Maxon train.

Koramei
Nov 11, 2011

I have three regrets
The first is to be born in Joseon.
Blender recently upgraded to Vulkan (if you turn it on in the options) and I've seen reactions saying performance is immensely improved from before for sculpting. Haven't tried myself since the patch but probably worth looking into. Performance was always the biggest issue with it before.

sigma 6
Nov 27, 2004

the mirror would do well to reflect further


Incense burner I am working on.

sigma 6 fucked around with this message at 08:49 on Oct 25, 2025

Listerine
Jan 5, 2005

Exquisite Corpse
So I've been using DJV viewer, but it looks like the dev is no longer making it available. This was a lightweight app that allowed users to to load image sequences so they could be previewed as a video- you could play it, fast forward it, etc, but most importantly you could scrub through the timeline and it was very smooth despite loading large datasets.

Can anyone recommend an alternative app that fits the following criteria:

1) Free
2) Loads images as a sequence
3) Simple to use
4) Smooth when scrubbing both forward and backward

BonoMan
Feb 20, 2002

Jade Ear Joe

Listerine posted:

So I've been using DJV viewer, but it looks like the dev is no longer making it available. This was a lightweight app that allowed users to to load image sequences so they could be previewed as a video- you could play it, fast forward it, etc, but most importantly you could scrub through the timeline and it was very smooth despite loading large datasets.

Can anyone recommend an alternative app that fits the following criteria:

1) Free
2) Loads images as a sequence
3) Simple to use
4) Smooth when scrubbing both forward and backward

Try CineSync Play - the player is free

https://www.cinesync.online/pricing

Listerine
Jan 5, 2005

Exquisite Corpse

BonoMan posted:

Try CineSync Play - the player is free

https://www.cinesync.online/pricing

Thanks, I'll check that out.

Turns out though the dev just stopped maintaining their own page, they just have the releases on github now. Just in case anyone else wants to try DJV out, it's here now:
https://github.com/grizzlypeak3d/DJV/releases

I'll still do a compare and contrast to see which is better so I appreciate the link.

BonoMan
Feb 20, 2002

Jade Ear Joe

Listerine posted:

Thanks, I'll check that out.

Turns out though the dev just stopped maintaining their own page, they just have the releases on github now. Just in case anyone else wants to try DJV out, it's here now:
https://github.com/grizzlypeak3d/DJV/releases

I'll still do a compare and contrast to see which is better so I appreciate the link.

I like DJV, it's my goto. I didn't even realize there was a normal site - I've always gotten it from git!

Listerine
Jan 5, 2005

Exquisite Corpse

BonoMan posted:

I like DJV, it's my goto. I didn't even realize there was a normal site - I've always gotten it from git!

I love it too which is why I was sad when I got a 404. Johnston used to have a nice little personal webpage where you could download it directly but I guess it was a waste of time to keep up when Github exists. The documentation link from the app's Help menu also 404's now because it pointed to the same personal webpage.

Only issue I have now is that you can't seem to pan with the mouse anymore in the latest version? I really liked that, it was convenient.

EoinCannon
Aug 29, 2008

Grimey Drawer
I've been using an ancient version of djv for years. I recently got a new computer and got the latest version and it's too fancy for me now.

Listerine
Jan 5, 2005

Exquisite Corpse
I would use an older version but I'm recommending it to students to view MRI data so I need something to point them to each year

Oxyclean
Sep 23, 2007


Blender question: Is there an easy way to do something like this:

Where i've taken a rectangle and done 3 loop cuts (4 technically since the mirror modifier is saving me that step) to create a border and an interior. (This is messy because I kind of just eyeballed the widths and feel like i'd need to do some fiddly stuff to make them equal)

I ask because this is almost what insetting faces is for, my only problem with inset is that the angled corner is harder to work with.

Adbot
ADBOT LOVES YOU

Komojo
Jun 30, 2007

When you're making a loop cut it let's you move it from side to side with the mouse before setting the final position. If you need an exact width, you can drag it all the way to the edge so the vertices are overlapping, make the loop cut, then keep the edge selected and move the vertices with grid snapping enabled (or press G and type in a number for the move distance.) That might not work for more complex angles but it should work for rectangles.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply