Timeline for Apply a given number of extrusions randomly on a rectangular mesh keeping the same area size
Current License: CC BY-SA 4.0
12 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Jan 18, 2021 at 11:00 | comment | added | ttsesm |
Ok, regarding my last issue and the ugly subdivision the problem was due to the duplicate vertices which can be removed by using bpy.ops.mesh.remove_doubles(threshold = 0.05) in edit mode. Now everything works as supposed.
|
|
Jan 15, 2021 at 18:21 | comment | added | ttsesm | Ok, ngons2quads script worked nicely. However, the subdivision still gives an ugly output imgur.com/MAluWjz as you can see some quads are not divided and it seems that between the extrudes there are something strange happening (edge connections???). | |
Jan 15, 2021 at 15:58 | comment | added | batFINGER |
If at any stage in creation above can me = bpy.data.meshes.new("Floor") and bm.to_mesh(me) to write where were up to, to any mesh. Using bm.from_mesh(me) is the equivalent of appending. Re ngon to quads blender.stackexchange.com/questions/205702/…
|
|
Jan 15, 2021 at 15:21 | comment | added | ttsesm | What do you mean with "Make the floor write to a mesh.". For example with bmesh I using the following pipeline: pastebin.com/SYVNjgnJ | |
Jan 15, 2021 at 14:57 | comment | added | batFINGER | Good one, however Once again could do it via bmesh. Make the floor write to a mesh. Write to a mesh as ceiling (transform by height). Then the walls is bridge edge loops of both. Re applying subdivision, might need to quad the ngons first. Made a post re doing this recently. | |
Jan 15, 2021 at 14:41 | comment | added | ttsesm |
it works perfect, I've also managed to separate it to "Wall", "Ceiling", "Floor" by using the extract_plane_from_room() from my initial post. The only problem is that when I apply subdivision the "Ceiling" and "Floor" objects are not affected. Any specific reason for that? I've tried both with bmesh.ops.subdivide_edges() using a bmesh and with bpy.ops.mesh.subdivide() and working in EDIT mode.
|
|
Jan 15, 2021 at 14:22 | vote | accept | ttsesm | ||
Jan 15, 2021 at 12:50 | comment | added | ttsesm | thanks a lot ;-) | |
Jan 15, 2021 at 12:20 | comment | added | batFINGER |
Fixed the floor. Posted as an example. Used an integer grid to start, cannot have 1 or 2 as a dimension, eg could be 6x3 all edges will be 1 bu long. Some verts are disolved so edges could be in length range 1 to 6 . Then extruded s = min((rem_area / l, randint(1, 3))) either just enough to make total area exactly 25 or at most length 3. (which is a bit jetty like when edge length of 1 is extruded) Once again posted as an example there are a number of other bmesh ops to look at here, eg sub'd an edge without grid fill instead of starting with a grid. Will leave that up to you.
|
|
Jan 15, 2021 at 12:13 | history | edited | batFINGER | CC BY-SA 4.0 |
added 219 characters in body
|
Jan 15, 2021 at 11:46 | comment | added | ttsesm | thanks a lot and apologies for the late response. The script seems to work quite nicely. Just some clarification questions, 1) in order the script to work as I understand it needs to be at least one random (e.g. plane, cube, etc) mesh/object in the grid (I think this is what you say in your last sentence). 2) I've noticed that the bottom of the new object, i.e. my "floor" in this case is always missing. 3) do you check somewhere whether the extrude area is not smaller than a threshold so that it is not slim and long | |
Jan 12, 2021 at 13:38 | history | answered | batFINGER | CC BY-SA 4.0 |