5
$\begingroup$

I would like to select one side of an object, like shown in the image below (this is a very simple object that I created for the purpose of demonstration).

enter image description here

I did it in this image by going around the edges of that face with Alt+Right-click and then Ctrl+E and select Loop Inner Region. This works fine when the object in question can easily have the border regions selected.

My problem is the objects I will be looking to do this for are fairly complex. enter image description here

In the end, I want to use Python to select these edges, and then create new edges based on the positions of these faces/edges/vertices. I just don't really know where to start. I am not the greatest with blender, which right now is my biggest downfall. I think the best method would be to have the complex mesh become a simple like binary mesh, with as little faces as possible. Or something along those lines. I would be interested to know what you guys have to say. Let me know if you need more information.

EDIT:

I am trying to place cylinders a certain distance behind a certain "side" of an object. I plan on doing this (using python) by getting a coordinate of a point on that "side" and then generating a circle, extruding the edges of that circle upward a certain distance, then checking that the new circle is still the same distance away from the "side" that was chosen. So even if the side chosen is very complex and bendy, the cylinder that I create will be a set distance away from and follow that side. In the simple example, it would be something like: enter image description here. Note here, I have just manually placed a cylinder behind the "side" I show in the first image.

The best way to think of it, is I want to create tubes that go through the object, but just at a set distance from a side. Example of an end result, but done manually (would be nice to automate with python).

enter image description here

$\endgroup$
  • $\begingroup$ you could try using the faces' normals as they have a certain direction $\endgroup$ – Chebhou Dec 5 '15 at 17:04
  • $\begingroup$ have a look at the Decimate Modifier, it seems that's what you want to eventually do .. $\endgroup$ – zeffii Dec 5 '15 at 17:10
  • $\begingroup$ I may be wrong but it seems like you are trying to do operation Y to achieve end result X, perhaps you should ask ' I'm trying to achieve X, what's the right way to go about this,i'm trying Y but it seems convoluted ' $\endgroup$ – zeffii Dec 5 '15 at 17:15
  • $\begingroup$ I tried to add some more info and more pictures to help explain. $\endgroup$ – Wesley Bowman Dec 5 '15 at 18:38
  • $\begingroup$ Maybe try Select Similar or Grow Selection. Then find out how to call those using Python. I would first try to figure out what kind of editing needs to be done - then figure out how to make it happen in Python. $\endgroup$ – Mentalist Dec 6 '15 at 23:54
2
$\begingroup$

i think first of all you should use the decimate modifier, depending on how many details the mesh has to provide. i guess the tubes shall have the same spacing, right? i don't know if my approach is overly complicated, but you could try (referring to the last image) to get a center point from wich you can measure the distances. i don't really know how you would do that, but maybe someone can help you with that. form that point/vertical line you could define a segment of the mesh going left and right from the desired degree of the tubes location. now you let your script select all vertices within this segment and measure the distance from the line (0,0,Z from the selected vertex) for each of them. then you get the location of the tube as you add the farthest vertex distance from the center and your set distance from it. i hope this helps as an approach to a workflow.

$\endgroup$
  • $\begingroup$ You might be able to do this with dynamic paint. Make a cylinder that is the brush, and your object as the canvas. Set the cylinder's center to be on the red line (0,0,Z in the example above). Just an idea. $\endgroup$ – Jeff Lange Dec 19 '16 at 4:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.