View Full Version : Edge-Offsetter

07-17-2009, 01:36 PM
Feature Request: "Edge-Offsetter"

It probably amuses (or irritates) some people that graphic designers keep asking for tools that act like 2D vector illustration programs. But I think this idea is one that could be VERY useful in many 3D situations. (At least it would be for me.)

I want a 1-step tool in Modeler that would extend highlighted edges outward from the geometry a specific distance, much like "offset path" works in 2D vector programs. A perfect example of this might be extending the edges of a "letter" such as a capital M or E, which both have concave and convex shapes. The end result would be a clean shape with no manual adjustments or welding needed, that very accurately represents the original geometry, just a specific amount "fatter."

(See attachment.)

In trying to think like a mathematician or programmer, of which I am neither, it began to dawn on me why this probably doesn't exist already ...

The concept of "vector" (in my limited understanding of it) has vaguely informed me that without additional information besides existing geometry and selected edges, there probably isn't enough info to pull this off.

So what might be required would be a plane in a background layer, in order to derive all the necessary info. (Or an X, Y, or Z plane could be assumed or specified.)

According to this theory, this "Edge-Offsetter" tool would point "away" from the edge-selected-poly's normal at 90-degrees from the selected edge, and use the background or specified plane to get the rest of the info needed to formulate a vector direction for extending geometry the specific distance. Additionally, where individual extended edges cross adjacent extended edges, new common points would be created, and quad polys would be generated from those extended points along with the end-points of the selected edges. Additionally, where extended edges did NOT cross adjacent edges (as in convex shapes), the new edge would "widen" itself along the edge vector (maintaining the prescribed offset distance) until it did cross another new edge, then making a new common point, and new extended quad poly from those two points and the end points from the original selected edges. -- Piece o' cake, right? LOL

The result would be a perfectly-extended original shape, with no manual adjustments or welding needed.

Error-trapping: in cases where the user asked for a larger extension than could be accomplished according to the previously-stated edge-crossing or edge-widening rules (as in very small concave areas), just like beveling doesn't solve all problems, no welds would be provided for the new polys in that limited situation, and the user would be left with a small manual clean-up job.


The way I have to do this now is to select only those edges that face the same general direction, hit "e" to extend, hit "t" to move the new group of outside points on the newly-created polys, deselect, then manually select and move some of the points, and finally manually weld them to previously extended new geometry, to make a nice clean extended loop which very accurately respects the original shape. It's stuff we all do regularly, which could be automated to save a BOATLOAD of time. :-)

Thanks for listening, and if anyone wants to make a "plug-in" I'll be the first in line to beta-test it! :-)

07-18-2009, 12:56 AM
I only know that in 2D. autocad has it for lines and function depends if the end points are welded. If welded it will offset using perpendicular vector but if not then offset exactly 90 deg vertical or horizontal like your image I think. I'm not sure lw or even 3dmax has a 3d version. Closest is point normal move or bevel function.