Extrude along spline in 3d studio max

As many of you I do enjoy working with an “extrude along spline” tool.
It makes your modeling so much faster in some cases, and it has
flexibility to achieve various results fast. I found it very good when my
task is not very constrained, when I work with something that I can change and create at my will.
But Some time ago I needed to do something more precise. To be exact i had to
do some lines on a sphere surface. I did remembered nice tool we have in NURBs arsenal which is called “create cv  spline on surface”. Now that i had my splines on a surface i needed to use them as splines for extrusion in my model.  And then I had some troubles with extrude along spline tool.  It just doesn’t seem to actually follow given curve, or to be more precise, the result is same as the curve, but its orientation is all wrong.
And then I had to find how to fix it. So if any of you happen to have same problem
here are some screen shots with a problem and its solution.


object and the spline
object and the spline


Just a picture of an object and a curve.














So we select faces and go to extrude along spline, and we choose our spline.



Aligns the extrusion with the face normal, which, in most cases, makes it perpendicular to the extruded polygon(s). When turned off (the default), the extrusion is oriented the same as the spline. To Face Normal, the extrusion does not follow the original orientation of the spline  it’s reoriented to match the face normals, or averaged normals for contiguous selections. The Rotation option is available only when Align To Face Normal is on.”  description from 3dmax help file.




Sets the rotation of the extrusion. Available only when Align To Face Normal is on. Default=0. Range=-360 to 360.” again, from 3dmaxs help.

make it first
make it first


So here we

select the vertex which is closest to extruded polygon so we can make it “first”













So we have it. Now our extrusion actually follows given spline. This seems to solve my problem. Hoope it helps you too.




NURBS must die! Rhonda is here

Ugly non uniformal bisier splines – DIE !!!!!

(click below to see video (a MUST SEE)

Rhonda is here :

Vodpod videos no longer available.

more about “NURBS must die! Rhonda is here“, posted with vodpod

ok, ok .. we are all quick to announce deaths when new things show up. painting was dead when photography was invented. softimage was dead when it was bought by autodesk, i think maya too :)

Ok Ok rahonda is probably not threatening rhino.  Or nubs in general. But still i think it could be very nice tool for two things.  three might be.

1. sketching. the speed u can (it seems) create is incredible (gooooogles sketch up – look out :)

2. creating models for animation films, in very distinct style. (well i wonder how exploitable models will be, and will it be only lines or will we be able to make surfaces out of them, and how.)

3. making 3d more accessable to people who do not belong to this industry. again look at sketch up.

imagine something as rhonda as interface for drawing nurbs… that would make me create some models with nurbs instead of polys for sure.

Recommendations for Trunk Generation, part II

4.2.2 Step Two: Circle Creation

As it has been already mentioned a tree trunk model is usually based on simple cylindrical shapes. In order to create a cylinder there must be a central axis, and a circle of a certain radius which would define its outer surface boundaries. Therefore the next step to creating a trunk model is to create circles, whose centers’ have positions where by each point is in line with a guiding curve as discussed above. As each point in this curve has different positions in space, so will the resulting circles.

4.2.3 Step Three: Shape Refinement Curves

The third step in the generation of a tree trunk is to copy a guiding curve. The number of copies can be defined by the user. In example shown in Figure 28 copies have already been made. Copied curves here will be called shape refinement curves. After copying them the shape refinement curves should be off set. Off set values are also definable by the user but the default value should be the same as the radius of circle which was created in step two. The refinement curves should be distributed equally along the circle’s perimeter. For

clarification please look at Figure 28 step 3

4.2.4 Step Four: Shape Refinement Circles

Step four in the trunk generation process is to create shape refinement circles which are generated for each point along the surface of the refinement curves. The radius of the refinement circles are definable by the user yet the default value is one third of first circles’ radius.

4.2.5 Step Five: Outline Generation

In step five the generator deletes all splines since they are no longer needed. Then each circle is combined with refinement circles and all intersections are removed leaving behind only an outline. At this stage the method takes advantage of Boolean operations (see Chapter 3 for further explanation). The shapes are then added together and intersecting parts are removed. The end result being an outline of the circle and refinement circles. For clarification of this step please look at Figure 28 step5.

4.2.6 Step Six: Surface Generation

The final step in the trunk generation process would be the creation of the trunk’s surface. In order to create a surface we need to know where each vertex of our polygon mesh will be located. To obtain this information we first will reduce the quality of the outlines generated in step 5. This means the algorithm for trunk generation has to approximate the outline shapes by describing curves using a pre- defined number of points. This means we would have a list of point positions, which define locations of vertices which could then construct a mesh model of the trunk. For clarification please refer to Figure 28.

So far improvements to overall trunk generation have been presented. What follows in this section will introduce another recommendation to do with the biological origins of a “hole” in a tree trunk and a proposal for this to be included in an automatic tree generator. As a part of this explanation possible tools for this approach will be outlined.

you can also wisit my portfolio.
dont like english? u can (try) readig it in lithuanian or anny other language here! alternative, has no lithuanian :(

4.2 Recommendations for Trunk Generation

4.2 Recommendations for Trunk Generation

These recommendations will be divided into six steps, which are required to achieve a detailed trunk surface.

4.2.1 Step One: Creating a Guiding Curve

In order to understand how to create a complex trunk shape there should be some guidelines which indicate how the geometry of the tree will be generated. For this purpose a simple curve is generated for which the user defines its’ level of detail. This means the curve has to have a start and end point as well as a number pf points in between which the user defines. The points on the curve are generated in random positions in the x and y plane, while points positioned in z axis are fixed, and increase at each proceeding point.

The first point is generated on a “ground” or so called “world origin” meaning its’ position in a 3 dimensional space would be x-0, y-0, z-0. This example uses symbolic measures and does not refer to any measuring system. As shown in Figure 28 step 1 of all of the following points would be higher compared to the previous point’s location in the z coordinate system. The user would be able to define limitations of positions except for the first point in the x and y plane while exact values would be randomly generated within specified limitations. If these limitations are not defined by the user there will be default values which the trunk generator uses. If the first point of the curve is in position x-0,y-0,z-0; the second point should be relatively close to first one. The z value always increases in 10 units for each of the proceeding points in the curve. Therefore x and y values should be smaller than that, and the start point should be half of the z value. This recommendation is based upon observation of natural trees since usually a tree trunk tends to grow upwards, with only slight variations on this. Therefore the values for x and y will not change dramatically. In any case the user will be able to adjust these values based upon his or her taste and desired result. For clarification please look at Figure 28 step1.


side coment. when we talk about step 1, and the guiding curve.

In order to or apply this proposal to existing tree generators, we could get this first spline from our L-system, or whatever algorythm is used in the existing generator . the question would be only how to conect end result of generated tree surface from generator and a trunk generator. One way would be simply to conect resulting polys. ofcourse probably there would still remain a question of tree editing after its creation. or simmple soulution could be to simply generate trunk again after each editing step from existing tree generator, well still some room to think.

you can also wisit my portfolio.
dont like english? u can (try) readig it in lithuanian or anny other language here! alternative, has no lithuanian :(