Rip tool

Index

Introduction

This python script is a tiny plugin for a program called blender. Blender is a free software for creating 3-dimensional objects and rendering 3D-animations. This tool is designed for generating fissures in an object of type mesh. It might become a replacement for the original rip tool in blender. Thus, the documentation of my python script is rather a comparison to the original tool. This is why I recommend reading about the original tool first (You can find it at www.blender.org → Development → Release Logs → Blender 2.40 → Mesh Ripping).

Versions:

1

1.1

Usage:

  1. Open rip.py in the text window (cf. figure 1).
  2. In a 3D View, click on View → Space Handler Scripts → Event: rip.py in order to activate this script (cf. figure 2).
  3. Get into edit mode and select the editing panel in the buttons window. In Mesh Tools More, click on draw Creases in order to make fissures visible (cf. figure 3).
  4. Select some edges of a mesh or some vertices of an edge chain which has no faces.
  5. Press "d". This produces the fissure1. Note: In contrast to the original rip tool, you have to select one more edge at each end of the fissure.

1: You can change the hotkey to anything you like. You just have to edit the python script, namely the character that is marked in figure 3. The hotkey overrides other actions bound to that key. It also seems to override combinations using Shift.

*: I manipulated the images a bit because the window title would only show the path of my file, menus won't overlap beyond the window frame, and a window of that size refuses to show vertex counts.

Supported:

Only meshes are supported. In contrast to the original rip tool, fissures can also split up triangles.

Comparison of Rip Tools:

original toolmy python script
Switches to grab mode afterwards. Does not move anything but marks the fissure as a crease.
Provides feedback. Does not (yet) provide any feedback except for marking as a crease.
Seemingly, multiple contiguous sets of edges have to reside on the same edge loop if the user wants to rip them at once. Multiple contiguous sets of edges can be ripped at once no matter how they are arranged.
Not able to rip triangles. Almost every selection of edges can be ripped. Exception: single edges or vertices in manifold surfaces will have no effect. Nor can single loose edges and vertices be ripped.
Problems ripping some selection of edges that touches a face twice.
Star-shaped fissure cannot be generated at once.
As little as a vertex suffices to generate a fissure. The user has to select one more edge for each end of the fissure. At least two neighbouring edges have to be selected in manifold surfaces.
The tool doesn't seem to support edge chains without faces. Edge chains without faces can be split up by using the python script on a vertex.
The tool does not seem to alter any properties of the mesh (smoothness, crease weight, others still to be tested). The fissure might interfere with user's textures because of crease weight (not tested). It also removes smoothness and probably many more properties around the fissure (also not tested but obvious from source code).

Tutorial:

Open rip.blend.

Object 1

Make sure you have selected some edges in the first object. Use numpad-slash (/) to hide the rest temporarily. Press the letter "d". This produces the fissure. As you can see, this also increases the number of vertices and edges (compare figures 3 and 4). The script has marked the fissure as a crease in order to make it visible. It hasn`t switched into grab mode though, so you have to move the fissure manually in order to open the gap (cf. figure 5).

*: Image manipulated.

Now try the same with the traditional rip tool. Work on the object in the second column, first row (cf. figure 6, un-hide objects with Num-/). You need to select less edges in order to obtain the same result. Press the "v"-key in order to launch traditional ripping. The traditional tool switches directly into grab mode afterwards, so you can easily find out whether it did its job well or not (cf. figure 7, y-axis locked by pressing y). The position of the mouse cursor determines which part of the fissure is moved.

Make sure you end up in edge selection mode () before editing object 2.

Object 2

The object in the second row is going to become a tulip (cf. figure 8). Select some edges such that the tip will be divided into four leaves. Press "d". This should have cut the leaves apart (cf. figure 9). Move the four vertices at the leaftips horizontally by 1.5 units with proportional editing falloff set to "connected" and falloff set to "sharp" (cf. figure 10, pressing x or y locks either axis while moving). Make the proportional editing radius large but small enough to move only one leaf at once (use the scroll wheel of the mouse). Voilà, this looks almost like a tulip (figure 11). Unfortunately, the faces are no longer smooth, so you will have to press the "set smooth button" again. (you can find it in the buttons window, editing panel, links and materials).

Now try the same using the traditional Rip tool (figure 12). You have to cut the leaves apart in two steps, again selecting less edges than with the python script (cf. figures 13 and 14). Abort the movement with the Escape-key and move the vertices manually, afterwards. Notice that the traditional Rip tool doesn`t destroy the "smooth" property and doesn`t create creases. This is why the subsurf modifier creates rounded leaftips. (cf. figure 15)

Before working on object 3, disable the proportional editing falloff () and switch to vertex select mode ()

Object 3

In the third and forth Object, the rip tool is used on edges that do not share faces. Select some vertices and press "d" (figure 16). Moving the vertices afterwards proves that the tool has split up the mesh into loose parts (cf. figure 17). The python script didn't mark the separated vertices, though, since I as the editor do not know how to mark vertices. Ripping a mesh like this seems impossible with the traditional Rip Tool.

End up in vertex select Mode () before proceeding to Object 4.

Object 4

The forth object demonstrates how edges sharing no faces can be detached from a surface (cf. figures 18-19). Select some vertices and press "d" (figure 20). You can move the edges afterwards in order to verify the result (cf. figures 21-22). Notice that the surface remains unaffected by single selected vertices. However, the selection contained one edge which ripped the surface. This example also shows the script's ability to perform on multiple separate regions and the ability to perform edge detachment and fissure generation simultaneously. In case the script has taken too much action, individual vertices have to be welded again using the buttons window, Editing Panel, Mesh Tools, Remove doubles. Select the vertices indirectly using edge selection to be sure you pick the right ones.

The traditional rip tool seemingly doesn't support this type of mesh since it deletes some edges (The mouse cursor determines which fissure will be created).

Object 5

This example shows a fissure the python script is not capable of. Let's begin with the traditional Rip tool, this time (cf. figure 23). You may want to rip the mesh open in the middle such that it stays connected at the outline. Select the middle vertex and press "v" (figure 24). Depending on your mouse pointer position, the fissure will be horizontal or vertical. Now try the same with the python script on the object to the left. Pressing "d" with just the middle vertex selected does not affect the mesh at all, so you have to select both edges and rip the mesh all the way through (cf. figure 25). Remove doubles afterwards in order to weld the vertices together again (figure 26). Hint: if you want to select the vertices with lasso region select, you may have to deactivate background occlusion ().

Please end up in edge selection mode () before proceeding.

Object 6

This icosahedron (space key → Add → Mesh → icosphere; subdivisions: 1) shows that the python script has no problems handling triangles (figures 27-28). Select some edges forming a closed loop and press "d". Then select any face and press Control-L (select linked). Move the faces upwards (cf. figure 29). Note that the fissure in this example can only be achieved using edge select mode. Switching into vertex select mode before pressing "d" would disintegrate the whole icosahedron

This is the end of the tutorial. Thank you for reading.

Disclaimer:

Copyright © Fabian Hombsch.