So now let's add some logic to our work. I'll start with a little trick. I'm going to download a fragment of the script, in order for us to begin where. Open the Script Editor, click Load Script (load the script), then select Desktop, from there we go to the Exercise Files folder, select Chapter 2. In this folder we will find the 02_05_Step.mel file. In fact, this is a repeat of the script that we created earlier when we were working with variables.

This script allows us to create a parallelepiped. We have set variables for height, width and depth, which are used to create a shape. We will take it as a basis for the stairs that we are going to create. Therefore, I called it a step. If we select the commands and click Execute, we get a nice rectangular shape. But we need to create several similar figures and place them so that they resemble a staircase. What we will do.

To do this, we need to take one of these figures and move it. We will move the figure along two axes: along the Z axis in depth, and along the Y axis into height. It is very easy to do. Remove both figures and start working from scratch. But before that, we need to add another variable. It will determine the number of steps. This is necessary in order to understand how many steps will be our staircase. We write: Int, which means Integer (integer). We need precisely integers, because the number of steps cannot be fractional.

Then we create a variable called numSteps, put an equal sign, and then the number of steps. Our staircase will consist of six steps. Now we have all the necessary variables to create a script. After that we will create a For loop. Let's see how it looks. First, the word "FOR" is written, then the initial condition is written in parentheses, then the final condition is separated by a semicolon and finally, also by a semicolon, is an expression that will update the counter after each execution of the cycle.

Until the final condition is fulfilled, we will move within the framework of the cycle, after each execution of the cycle the value of the counter will be updated. Then, in curly brackets we will write commands that will be repeated in the loop. They will build the stairs. So, back to Maya and create a For loop. We write: For, then open parentheses, then create a variable. We need to determine which variable we will use for the counter.

Let's start by writing the variable $ i, which is usually used to designate a counter. If we are going to start by saying that $ i will be equal to 0, then we will need to continue the command until the value of $ i is less than the number of steps. You can simply copy and paste the variable to indicate the number of steps. Then you need to set an expression to increase the value of the variable "i". According to our idea, this value will increase by one unit with each repetition of the cycle.

We can do this by adding two "+" characters to the command, and then the name of the variable $ i. Close parentheses. Then open the braces. Maya has one great feature: when you open curly braces, then press Enter, the brackets automatically close. That way you never leave them open. In these brackets we will write the commands we need. Now we will add a command to create the polyCube step.

Note that maya automatically indents. This makes the code more readable. Now let's see how it all works: select the command, execute it. Something happened. Before us is one figure. However, if you open the Outliner window, you will see that six figures are actually created, they need to be simply moved to the desired positions.

Now we will do it. Select the shape, mix it deep, then lift it up to make it look like a ladder. When we move figures, additional entries appear in the command history. For example: Move -r, then numbers. They can be used in the script. Press Enter, then type Move -r. Next you need to write the values ​​of displacement along the coordinates X, Y and Z.

If we select our shape, we see that the X axis denotes the width of the step. I don’t want to move the figures along this axis at all, so we’ll set zero. Next, for the Y axis, I want to use the step height variable. We write: $ stepH. We place it in parentheses, since we will have several steps. And each of the steps needs to be moved further and further.

Therefore, this variable should be multiplied by the number of the current step, which we have the variable $ i. We turn to the Z axis, which is responsible for the depth. Here we need to do the same as in the previous case, however, this will apply to the depth of the figure. We write: $ StepD * $ i. Make sure you put a semicolon at the end.

Now look at the result of our work. Clear the scene by deleting all the objects and create them again. Select the command and click Execute. As a result, we got a ladder, however, it is turned in the wrong direction, which we planned, but this is not important, as the team works. The steps are arranged exactly as we wanted to place them. To summarize: the For loop function allows us to create a loop within which a specific command is repeated.

This is very useful for working with various things, including the creation of stair steps.

The task of modeling the ladder occurs quite often, because ready-made 3d models always differ in their parameters, so the option to download and paste does not work here. The spiral (spiral) staircase created by you personally and specifically for your project will add a zest to the project, or become the main element of the interior decor. It may seem to beginners that modeling stairs is a difficult job. In fact, everything is much easier when there are ready-made tools and step-by-step instructions. So let's get down to business.

In 3Ds max there are built-in standard tools that are responsible for creating stairs. Select Spiral Stairs by going to the Create / Geometry / Stairs tab.

After that, the settings will be available to us.

Options

Type

In the Type section, three types of stairs are available:

  1. Open;
  2. Closed;

  3 types of spiral staircase base

Generate geometry

In the Generate Geometry parameters you can add or remove elements of the staircase:

  • Stringers (Bowstring);
  • Carriage (Kosour);
  • Center Pole;
  • Handrail (Railing);
  • Rail Path.

Layout

  • CCW and CW change the orientation of the stairs to the right or left;
  • Radius;
  • Revs (degree of twist);
  • Width (step width).

Rise

  • Overall (Ladder Height);
  • Riser ht (step height);
  • Riser Ct (Number of stages).

Steps

  • Thickness;
  • Depth;
  • Segs (Stage rounding by adding segments).

Extra options

In the scrolls of parameters Carriage, Railings, Stringers, Center pole, settings are available after adding these elements in the Generate Geometry item.

After getting acquainted with the parameters, we continue building the model. For example, we’ll choose the open type of stairs Open. We put checkmarks in front of the Carriage, Center Pole, and Rail Path (Outside) parameters. Adjust the characteristics (height, width, offset) of the added elements. Rail Path must be lowered to the level of steps.

The created Rail Path will allow us to quickly create railings for the stairs. To do this, go to the Create / Geometry / AEC Extended section and click Railing. Click on the Pick Railing Path button and select the spline (Rail Path). Add segments for smooth bending of the fence. Edit the parameters Top Rail (Railings), Lower Rail (s) (Additional Rails), Posts (Columns), Fencing (Fencing, such as glass).

If you want to create a fence with your own elements, for example, using a finished baluster model, use the tool Spasing tool.

On the Tools tab, select the Align / Spacing Tool ... (or press Shift + I on the keyboard).

Select the desired model, click Pick Path and click on the spline (Railing Path), or on any created spline, which will be located objects. In the Count parameter, specify the number of objects. Click Apply to save the result.

Most likely you will have to level the height of the objects a little, but the objects will be located with the same pitch.

For the imposition of materials will have to convert the staircase in Editable Poly. But first, save a copy of the 3d model so that in case of any changes in the parameters you don’t have to create it again. After all, the conversion operation in Editable Poly is irrevocable. After converting, all elements (steps, railings, kosour ...) will be available for selection in the Elements mode. Assign, customize the texture on objects using UVW map, expose the light and render.

Go to the module "2D-modeling". Stroimosi and then 2 circles Ø100 and Ø1800. As shown in Figure 1.

Now we will model a contour of a step.
To do this, we cut off the circles and we will get two arcs and two segments connecting the ends of the arcs. See Figure. Use with this, the trim tool. This tool works in 2 steps.
1. Select all the contours that are involved in the trimming.
2. Specify the part of the contour to be cut.

The four contours obtained must be combined into one to get a sketch of the stair as a result.

Using the created sketch, we will create a step in the 3D Modeling module later. And now we will make another contour for designing the surface of the staircase railing. We make a rectangle with dimensions 70x30. In the two upper corners we make roundings with a radius of 15. See Figure.

To build a spiral surface, we need to convert the sketch into a spline and then place the resulting spline in the right place in space and correctly orient it. And then, using the function of a copy along a helix, you need to make the number of splines.

Go to the module "3D-modeling".
A bit of theory. To build the stairs, we use the universal functions of 3D modeling. And the ultimate goal of these functions is the creation of a body or surface. A body is a collection of surfaces that make up an enclosed space. The surface can be trimmed (trimmed) or not. When rendered, the surface is a set of edges or a mesh. The grid is considered with varying degrees of detail, depending on the scale of the scene.
The choice of surface and body is the same depending on the mode of image surfaces. When displaying the surface in wire mode, the edge nearest to the cursor is searched.
We continue the simulation staircase railing.
Rotate the sketch around the X axis by 90 degrees. And then move along the axis by 900.

  • We obtain such a position as in the figure.
    Convert the sketch contour to spline. To do this, use the function from the main menu.
    Convert -\u003e Curve -\u003e To Spline. Now multiply our spline using the new copy function with a screw. To call you need to click in the toolbar 3D. Enter the parameters in the window that appears:
    Angle -30 degrees
    Z 200 step
    The number of steps 12
    And we admire the result. Like on a picture.

  • Note.
    Angle with a minus sign because we make a copy with a clockwise rotation if
    view from the Z axis. Everything is ready to build the surface. Finally.

In the main toolbar switch to the bookmark surfaces. And we are looking for a button to create surfaces by sections.

Press the button and the program offers us to choose the splines to build the surface. Select the lines in the order in which they should be placed in
surface. We indicate the last line twice. Surface appears. Admire the picture.

We modeled the most difficult part. Move it along the Z axis to a distance of 600 mm.

Now we will make a step.
In the main toolbar, switch to the tab solid modeling. To create a step, use the button.
from the sketch.

The function suggests us to specify the sketch-contour for the formation of the body. Sketch we have already built. Specifying the sketch-contour, in the appeared window enter the one we need.
step thickness.

We get the step that we need to multiply.

But before that we paint the step with the help of such an attribute of surfaces as material. Create a new material in the material editor.

A little theory about the material.
In the new document there are no materials and all surfaces are depicted using the default material. In the material editor, only materials from the main part of the document are displayed. But the document may have many parts. For example, if you imported a table from a .wrk file, then the entire contents of the file will be located in a part with all primitives, layers, materials, parts and a table of parameters. This is still for general development, do not be alarmed.
One material may be active, it is depicted a little larger than all the others. The properties of the active material can be assigned to the surface or to all pre-bodies. To do this, and serve respectively two buttons - Face and Apply. In the first case, by pressing the Face button, you point to the surface to which you want to apply the material, in the second case, by clicking the Apply button, the properties of the selected material are applied to all surfaces of all selected bodies.
The properties of another material from the material library can be applied to the active material. To do this, use the Library button. The properties (parameters) of the active material can be saved as a file. For this there is an Export button. To the active material, you can apply the properties of another material that is stored in
as a separate file. Import button.
After we have applied the desired material to the surfaces of the step, it can be copied. Use the new screw copy feature for this. To call her
you need to click the button on the 3D toolbar. We already did this when we simulated the surface of the railing.
Enter the parameters in the window that appears:
Angle -30 degrees
Z 200 step
The number of steps is 12.
And we admire the result.

Now we need to make a central tube. We use for this the function Cylinder, in the dialog we enter the parameters: Diameter 100 and Height 2000.
Racks do with the function Profile. And then we multiply them using the function copy with a screw. And we get the result of our stairs.

When modeling NURBS surfaces and polygonal models, many operations are very time consuming, since they have to be performed at the vertex level. However, there are situations where exactly the same effect can be achieved in a much simpler way, if you use a suitable deformer. Therefore, in this lesson we will learn in detail about some types of deformers and consider simple examples of their application.

  Theoretical aspects

Deformers are special types of objects that are used to deform the shape of other objects, including the polygon and NURBS objects that we considered earlier and are widely used both directly in modeling and in animation. The advantage of using them is the ability to quickly change the geometry of an object without having to manually move its vertices.

The menu is responsible for working with deformers. Deform  (Warp), available only in animation creation mode (F2 key). The list of deformers opening through this menu is quite large, in this lesson we will consider only non-linear deformers - they are in the submenu CreateNonlinear  (Create Nonlinear) - pic. 1 and are used to create a nonlinear deformation, which differs from a linear one in that the change in the shape of an object is performed unevenly along its axes.

  Fig. 1. Submenu CreateNonlinear

Maya has the following types of non-linear deformers:

  •   Bend  (Bend) - deforms the object due to its axial bending;
  •   Flare  (Bump) - allows you to increase / decrease the degree of convexity of the object;
  •   Sine  (Sinusoidal deformation) - deforms the object due to sinusoidal disturbances of its surface in the direction of one of the axes;
  •   Squash  (Flattening) - ensures flattening of the surface of the object in the direction of one of the axes while preserving its original volume;
  •   Twist  (Twisting) - changes the shape of an object by applying a twisting deformation relative to one of its axes;
  •   Wave  (Wave) - deforms the object due to sinusoidal perturbations of its surface in two directions with the formation of concentric waves.

Nonlinear deformers assigned to objects (like other objects) are displayed in the Outliner  (Structure), and the result of applying any of them is determined by the settings of the deformer (they are regulated in the usual way in windows ChannelBox  and AttributeEditor) and the number of segments of the object itself. As a rule, the number of segments is established when an object is created, but if the deformer is not successfully applied, it can be increased after its appointment, which, however, can have negative consequences - in this case you have to remove the deformer, increase the degree of splitting the object, and then to appoint him. As a rule, with a small number of segments, an increase in their number leads to a change in the nature of the deformation, and with a large number, it contributes to a greater smoothness of the resulting surface. If necessary, several deformations can be applied to the object at once - the result obtained in this case most often depends on the order of the deformers.

  Bend

Given that we will repeatedly apply to the same submenu CreateNonlinear, choose the commands from which in practice for quite a long time, temporarily move this submenu to the floating panel. To do this, activate the mode   Animation  (F2), open the menu Deform=>CreateNonlinear  (Warp =\u003e Create non-linear) and click on the double dividing line at the top of the submenu (Figure 2). Move the floating panel that appears to the free part of the screen so that it is always at hand.

To understand the basics of using deformers, create a 5 x5 x5 polygonal cube and increase the number of splits in each direction to 5. Set the tinted coloring mode to enable the checkbox SmoothShadeAll  from the projection window's own menu. Select the cube and in the created floating menu click on the command Bend  (Bend) - at first glance, nothing will happen, except that the color of the grid of the cube changes from green to crimson (Fig. 3). But everything is not so simple - in fact, a deformer appeared in the list of objects (which is reflected in the window   Outliner  - rice. 4), however in the window   Perspective  the deformer is not visible, but only because the tinted coloring mode is set. Switch to wireframe mode (command Shading=>Wireframe) and see that the deformer is inside the cube - fig. 5. Without removing the selection from the deformer, open the channel window, rotate the deformer 90 ° around the axis Z  and increase the value of the parameter Curvature  (Curvature) from 0 to 1, for easier viewing, switch back to the tinted coloring mode by clicking on the 5 key (Fig. 6). As you can see, it was worth increasing the curvature of the deformer (rotation along the axis   Z  determines only the direction of the deformer's impact), and the cube has changed beyond recognition.

Fig. 3. View of the cube immediately after the appointment of a deformer   Bend

Fig. 4. The appearance of the deformer in the window Outliner

Fig. 6. The result of increasing the parameter Curvature

Open Attribute Editor ( AttributeEditor) and experiment with changing parameters Envelope  (Shell),   Low  Bound  (Lower bound) and   High  Bound  (Upper bound). note that   Low  Bound  and   High  Bound  determine the limits of the impact of the deformer along a specific axis, and Envelope  narrows or expands the entire area of ​​its application (this will be true for any other deformer) - fig. 7

Fig. 7. Examples of various options for setting the parameters of the deformer Bend

And finally, try applying a transformation to an already deformed object: displacement, rotation and scaling - and note that all of them lead to its additional (and completely unnecessary) deformations (Fig. 8). The fact is that when an object is transformed with an already assigned deformer (by anyone, not just the Bend deformer), the position of the deformer changes relative to the object, which leads to an undesirable change in its shape. The connection between the object and the deformer is interrupted when the object construction history is deleted ( Edit=>DeletebyType=>HistoryConstructionHistory  - Edit =\u003e Delete by type =\u003e History), although after that it will be impossible to change the settings of the deformer. Therefore, it is better to delete the history after the modeling of a specific element, and if it is necessary to apply transformations in the modeling process, in order to avoid unwanted shape changes, you should select the object together with the deformer.

  Flare

Highlight deformer   Bend  in the window Outliner  and delete it. Select the cube and assign it a deformer Flare  - as is the case with the deformer   BendAt first, this will not affect the appearance of the cube (Fig. 9). Set the parameter Curvature  (Curvature) equal to –0.5 - the central part of the object will be compressed (Fig. 10). Press key   tand you will see several small manipulators with the help of which (as well as through the windows ChannelBox  and AttributeEditor) you can control the parameters of the deformer. Move the manipulators and observe the change in the shape of the object, eventually settling on the variant shown in fig. 11, where it is clearly seen that the parameters StartFlare  (The initial value of the convexity) and EndFlare  (Final convexity values) adjust the width of the object area at the input and output of the effect of the deformer. Increase parameter value Curvature, for example, to 0.5 and make sure that in this deformer it can lead to a concave surface (for negative values) or, conversely, convex (for positive values) - fig. 12. Other parameters of the deformer   Flare  affect the change in the shape of the object in the same way as the analogous parameters of the deformer   Bend.

Fig. 9. View of the cube immediately after the appointment of a deformer   Flare

Fig. 10. The result of changing the parameter Curvature

Fig. 11. Type of object after changing parameters StartFlare  and Endflare

Fig. 12. The result of increasing the parameter Curvature

Increase the number of splits of the source cube in each direction to 15 — the object's surface will become smoother (Fig. 13), and then the size along the axis   Y (ScaleY) - up to 20. This will lead to a fundamental change in the shape of the object, since the deformer will now affect not the entire surface, but only its central part, which can be ascertained by switching to the wireframe display mode (key 4), - fig. 14.

Fig. 14. The type of object after increasing the value   Scale y  in tinted coloring mode (left) and in frame mapping mode

  Sine

Return the size of the axis   Y  to the original and remove the deformer   Flare  (pre-selecting it in the window   Outliner), select the cube and assign it a deformer   Sinethat initially again will not affect the shape of the object. Increase the amplitude (   Amplitude) from 0 to 0.2, and the wavelength ( Wavelength) set to 1 - the surface of the object located in the direction of the axis   X  become wavy (Fig. 15).

  Squash

Select the source object, assign it a deformer   Squash  and experiment with different values ​​of the compression factor (   Factor) - note that with its negative values, the object expands and becomes shorter, and with positive values ​​it stretches along the axis of influence of the parameter (Fig. 16).

It is worth noting that deformers can be applied not only to the entire object, but also to its individual vertices. Let's try to use a similar option to assign a deformer.   Squash  to expand the lower half of the object. To do this, remove the deformer   Squash, select an object, go to vertex editing mode (F8), select the vertices of its bottom part (Fig. 17) and reassign them to them   Squash  with parameters like in fig. 18.

  Twist

Remove deformers   Sine  and   Squashselect the cube and assign it a deformer Twist. Experiment with different parameter values. StartAngle (The initial value of the angle) - if this parameter is 0, then there is no twisting, and when it increases, the cube twists around the axis   Y  the stronger, the larger the modulo value of the parameter (Fig. 19). True, all this is true only when the value of the parameter is zero. EndAngle  (The final value of the angle), and if both parameters change ( StartAngle  and EndAngle), the degree of twisting increases with the increase in the difference between them. Note also the dependence of the shape change on the direction of the axis of the deformer. Initially, in our case, the twisting was carried out along the axis   Y, try to turn the deformer on the axis   Z  by 90 ° - the cube will begin to curl along the axis   X  (fig. 20), etc. Also try reducing parameter values.   Low  Bound  (Lower bound) and   High  Bound  (Upper limit) to –0.5 and 0.5, respectively - the area of ​​influence of the deformer will narrow and now only the middle part of the object will curl (Fig. 21).


This lesson is dedicated to all arc and spiral staircases, as well as the "installation" of railings, balusters and forged fences.

From time to time, many colleagues in the workshop need to create ladders of various shapes and it is not always (form) that is distinguished by its simplicity. As a rule, when faced with spiral-shaped, zigzag-like and any other complex-geometric structures, many have difficulty in their implementation. Solve a similar problem in 3ds Max in various ways. Today we will get acquainted with the universal method of constructing curved stairs.

The lesson is divided into two parts, moving from simple to more complex:


As a “Quick Start”, we will familiarize ourselves with the basic principle of the method advocated, as well as analyze the accurate and accurate positioning of forged fences using the example of an existing staircase;


In the second part, we will consolidate the skills, creating a complex spiral staircase and tezisno highlight the main advantages of this technique.


Probably, anyone who, even at the initial level, owns the tools of the 3ds Max program, can easily create the most common flight of stairs. And this is half the success! The case remains for small - bend it into the desired shape. The principle discussed below shows us how simple and interesting this process can be. The role of the main violin in all this “ugliness” will be played by the modifier "Skin Wrap" . Being basically an animation modifier, it remains a fairly flexible tool that allows you to deform one object through the low-poly geometry of another.


Since the presented tool is integrated into the program as an animation modifier, it would be advisable to use the appropriate terminology. For example, the shaping object will be referred to as Form Driver  or simply "Driver"and a deformable object "Basic". So, let's look at the following stair example:

  At its core, this is a straight flight of stairs created by the standard tools of the program, followed by curvature:

1. In one of the types of projection we create an element of a staircase - a step. Immediately we texture it and distribute it in height by a given number of steps:

  2. Do the same with a fence on both sides of the march:

3. Next, we need to create the so-called Form Driver. As "Top"   from the origin build a circle "Circle" --> "Editable Spline"   and subobject level "Vertex"  make a breakdown of the first vertex ( "Brake" );

Important note:   the vertex breakdown point specifies the start and end points "Driver".  Then follows the normalization of the spline form ( "Normalize Spline" ) and its extrusion ( "Extrude" ). The value of "extrusion" determines the height of the stairs, in our case, taking into account the fence;

4. We put the received "Driver"  to the plane (copy the map channel "1: map"   into the geometry channel "Mesh" ) This is very similar to magic;


5. The next step in our wizard guide will be to link the entire staircase (group all the elements first) to an already flat "Driver". With the additional modifier "Edit Poly"   (without it, the object will not perceive a change in its position) and tools for moving, level the plane   "Drivers"  along the central axis of the stairs (the closer   Form Driveris located to “Base Object”, the less will be the distortion!);

6. “Tie” the ladder to the body "Drivers"by modifier SkinWrap   (in its settings, do not forget to check the box next to the parameter "Weight All Points" ). The ladder will take the form of the driver, but visually it will not manifest in any way;


7. In order to see the magic in action (deformation of the stairs according to a given form), it remains a mere trifle - to disable a couple of modifiers in the object's stack. "Driver"and tear it out of sight (do not delete !!!):


So, quickly and easily we got the desired smoothness and at first glance complicated the primitive construct. Similarly, ladders can be created in a wide variety of shapes and configurations. Here are some examples of using the same algorithm:

Moving on ... Very often there are situations when a normal deformation in a given form causes a distortion of the object and, as a result, incorrect positioning of all its constituent elements. But, as already noted, the modifier SkinWrap   It is a very flexible tool and it can be used to implement a wide range of tasks.

Let us consider an example when it is necessary to replace barriers in an already existing staircase. To do this, use the model from the database:

The form of the presented ladder is quite complex, so the algorithm described above, without a corresponding edit, is not quite capable of providing an exact placement of all the fixing racks - distortion is inevitable! To begin with, we will prepare an element of the fence of interest to us (we will set approximately the same angle of inclination as the staircase (FFD)):

For accurate and accurate positioning racks, we need to know the spatial position of all steps of the stairs. We can extract this information from the geometry of the steps. For this:

1. In the form of "Top"   create Form Driver, focusing on the edge of the steps. Normalize it ( "Normalize Spline" ) and extrude ( "Extrude" ). As in the first case, the value of "extrusion" is determined by the height of the ladder, taking into account the railings and fences;


2. At the steps we select the ends, and the rest of the object is hidden;

3. Through   SkinWrap   tie the ends to "Driver";

4. myself "Driver"  we lay in the plane (we copy the channel of the card "1: map"   into the geometry channel Mesh );


And again, a marvelous person intervenes in the situation, as a result of which, we obtained the same spatial coordinates of the steps, which are deployed on a plane. On the sweep it is clearly seen that the stair steps do not have a uniform diagonal, this is the very distortion we mentioned above.

Now, correctly and precisely arranging all the elements of a new staircase fence will be easy: The detailed ends of the steps will serve as a good guideline at this stage of work:


______________________________________________________________________________

Well, for a snack ... As it was stated at the beginning, in this part of the lesson we will make a wooden spiral staircase. This time, it will not focus on actions that are identical with the first two examples, but concentrate on some nuances when creating "Form Drivers"  for this type of ladder.

Virtually creative, as you already guessed, we will be such a real-life object:

And the first thing you should pay attention to is, of course, the shape of the main elements. At first glance, a tool might prove nice here. "Helix" . However, with a more detailed analysis of the form, the first impressions ... they intensify! Yes, "Helix" - this is probably the best solution. And since the form of all elements is not straight, it would be most rational to model them in a flat (straight-line) form, and then, using all the same formative "Drivers"  give the lines the desired smoothness.


By simple mathematical calculations, we determine the radius - 900mm, height - 3000mm and the number of steps - 16, and maybe 18 (in any case, beautiful)


2. Created a spline shape;

3. "squeezed" volume;

4. Deployed in the plane;

5. Aligned on the central element;


6. Set the object "Bevel";

7. Tied "Base"  to   "Driver";

8. Sequentially turning off the action of the two upper modifiers, we observe how the central element of the staircase takes the form of a “driver”. I recall that "Driver"  - This is a spiral with two turns.

Important note:   Disable modifiers need consistently  on top of the stack, include - in reverse order:


In absolutely the same way, the form for a helical ribbon is set, as well as for balusters with railings (everything is tied to one "Driver"):


And now we have come to the final stage of the lesson. We have to place the steps themselves. There are two ways to solve this problem. The fastest and easiest is to use the tool. "Array"   and in three clicks multiply steps. But this way is for weaklings, especially as applied to a given situation, arrays are a special case. We will go a somewhat different way, or rather rails and thanks to this we will be able to fully verify the flexibility and versatility of the approach used.