crystalai commited on
Commit
b4ac09b
·
verified ·
1 Parent(s): 34939b6

Upload 5 files

Browse files
Files changed (5) hide show
  1. index.rst.txt +11 -83
  2. introduction.rst.txt +32 -150
  3. primitives.rst.txt +70 -0
  4. selecting.rst.txt +196 -0
  5. structure.rst.txt +97 -0
index.rst.txt CHANGED
@@ -1,89 +1,17 @@
1
- .. _modifiers-index:
2
- .. _bpy.types.Modifier:
3
 
4
- #############
5
- Modifiers
6
- #############
7
 
8
  .. toctree::
9
  :maxdepth: 2
10
 
11
  introduction.rst
12
- common_options.rst
13
-
14
-
15
- Modify
16
- ======
17
-
18
- .. toctree::
19
- :maxdepth: 1
20
-
21
- modify/data_transfer.rst
22
- modify/mesh_cache.rst
23
- modify/mesh_sequence_cache.rst
24
- modify/normal_edit.rst
25
- modify/uv_project.rst
26
- modify/uv_warp.rst
27
- modify/weight_edit.rst
28
- modify/weight_mix.rst
29
- modify/weight_proximity.rst
30
- modify/weighted_normal.rst
31
-
32
-
33
- Generate
34
- ========
35
-
36
- .. toctree::
37
- :maxdepth: 1
38
-
39
- generate/array.rst
40
- generate/bevel.rst
41
- generate/booleans.rst
42
- generate/build.rst
43
- generate/decimate.rst
44
- generate/edge_split.rst
45
- generate/mask.rst
46
- generate/mirror.rst
47
- generate/multiresolution.rst
48
- generate/remesh.rst
49
- generate/screw.rst
50
- generate/skin.rst
51
- generate/solidify.rst
52
- generate/subdivision_surface.rst
53
- generate/triangulate.rst
54
- generate/wireframe.rst
55
-
56
-
57
- Deform
58
- ======
59
-
60
- .. toctree::
61
- :maxdepth: 1
62
-
63
- deform/armature.rst
64
- deform/cast.rst
65
- deform/corrective_smooth.rst
66
- deform/curve.rst
67
- deform/displace.rst
68
- deform/hooks.rst
69
- deform/laplacian_smooth.rst
70
- deform/laplacian_deform.rst
71
- deform/lattice.rst
72
- deform/mesh_deform.rst
73
- deform/shrinkwrap.rst
74
- deform/simple_deform.rst
75
- deform/smooth.rst
76
- deform/surface_deform.rst
77
- deform/warp.rst
78
- deform/wave.rst
79
-
80
-
81
- Simulate
82
- ========
83
-
84
- .. toctree::
85
- :maxdepth: 1
86
-
87
- simulate/explode.rst
88
- simulate/ocean.rst
89
- simulate/particle_instance.rst
 
1
+ .. _modeling-surfaces-index:
2
+ .. _bpy.ops.surface:
3
 
4
+ ############
5
+ Surfaces
6
+ ############
7
 
8
  .. toctree::
9
  :maxdepth: 2
10
 
11
  introduction.rst
12
+ toolbar/index.rst
13
+ structure.rst
14
+ primitives.rst
15
+ selecting.rst
16
+ editing/index.rst
17
+ properties/index.rst
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
introduction.rst.txt CHANGED
@@ -3,163 +3,45 @@
3
  Introduction
4
  ************
5
 
6
- Modifiers are automatic operations that affect an object's geometry in a non-destructive way.
7
- With modifiers, you can perform many effects automatically that would otherwise be too tedious to do manually
8
- (such as subdivision surfaces) and without affecting the base geometry of your object.
 
 
 
 
9
 
10
- They work by changing how an object is displayed and rendered, but not the geometry which you can edit directly.
11
- You can add several modifiers to a single object to form `The Modifier Stack`_
12
- and *Apply* a modifier if you wish to make its changes permanent.
13
 
14
- .. figure:: /images/modeling_modifiers_introduction_menu.png
15
 
16
- Modifiers menu.
17
 
18
- They can be added to the active object using the *Add Modifier* drop-down menu at the top of their properties tab.
19
- New modifiers are always added at the bottom of the :ref:`stack <modifier-stack>` (i.e. will be applied last).
 
 
20
 
21
- There are four types of modifiers:
 
 
 
 
 
 
 
 
22
 
23
- Modify
24
- These are tools similar to the *Deform* ones (see below),
25
- however, they usually do not directly affect the geometry of the object,
26
- but some other data, such as vertex groups.
27
- Generate
28
- These are constructive/destructive tools that will affect the whole :term:`topology` of the mesh.
29
- They can change the general appearance of the object, or add new geometry to it...
30
- Deform
31
- Unlike *Generate* ones above, these only change the shape of an object, without altering its topology.
32
- Simulate
33
- Those represent :doc:`physics simulations </physics/index>`. In most cases, they are automatically added to
34
- the modifiers stack whenever a *Particle System* or *Physics* simulation is enabled. Their only role is to define
35
- the position in the modifier stack from which is taken the base data for the simulation they represent.
36
- As such, they typically have no attributes, and are controlled by settings exposed in
37
- separate sections of the :doc:`Properties editor </editors/properties_editor>`.
38
 
39
 
40
- .. _bpy.types.Modifier.show:
 
41
 
42
- Interface
43
- =========
 
 
44
 
45
- .. _fig-modifiers-panel-layout:
46
-
47
- .. figure:: /images/modeling_modifiers_introduction_panel-layout.png
48
-
49
- Panel layout (Subdivision Surface as an example).
50
-
51
- Each modifier's interface shares the same basic components, see Fig. :ref:`fig-modifiers-panel-layout`.
52
-
53
- At the top is the panel header.
54
- The icons each represent different settings for the modifier (left to right):
55
-
56
- Expand (down/right arrow icon)
57
- Collapse modifier to show only the header and not its options.
58
- Type
59
- An icon as a quick visual reference of the modifier's type.
60
- Name
61
- Every modifier has a unique name per object. Two modifiers on one object must have unique names,
62
- but two modifiers on different objects can have the same name. The default name is based off the modifier type.
63
- Render (camera icon)
64
- Toggle visibility of the modifier's effect in the render.
65
- Show in viewport (screen icon)
66
- Toggle visibility of the modifier's effect in the 3D View.
67
- Show in Edit Mode (vertices-square icon)
68
- Display the modified geometry in Edit mode, as well as the original geometry which you can edit.
69
- Show on cage (vertices-triangle icon) -- Meshes only
70
- Depends on the previous setting, if enabled, the modified geometry can also be edited directly,
71
- instead of the original one.
72
-
73
- .. warning::
74
-
75
- While it shows edited items in their final, modified positions, you are still actually editing original data.
76
- This can lead to weird and unpredictable effects with some tools,
77
- and should be disabled whenever you need to perform complex or precise editing on the mesh.
78
-
79
- Apply On Spline Points (point-surface icon) -- Curves, Surfaces and Texts only
80
- Apply the whole modifier stack up to and including that one on the curve or surface control points,
81
- instead of their tessellated geometry.
82
-
83
- .. note::
84
-
85
- By default, curves, texts and surfaces are always converted to mesh-like geometry
86
- before that the modifier stack is evaluated on them.
87
-
88
- Move (up/down arrow icon)
89
- Move the modifier up/down in the stack.
90
- Delete (``X`` icon)
91
- Delete the modifier.
92
-
93
- .. note::
94
-
95
- The *Square*, *Triangle* and *Surface* icons may not be available, depending on the type of object and modifier.
96
-
97
- Below the header are three buttons:
98
-
99
- Apply
100
- Makes the modifier "real": converts the object's geometry to match the applied modifier's results,
101
- and deletes the modifier.
102
- Apply as Shape Key
103
- Stores the result of that modifier in a new relative :doc:`shape key </animation/shape_keys/introduction>`.
104
- This is only available with modifiers that do not affect the topology (typically, *Deform* modifiers only).
105
-
106
- .. note::
107
-
108
- Even though it should work with any geometry type that supports shape keys,
109
- currently it will only work with meshes.
110
-
111
- Copy
112
- Creates a duplicate of the modifier just below current one in the stack.
113
-
114
- .. warning::
115
-
116
- Applying a modifier that is not first in the stack will ignore the stack order
117
- (it will be applied as if it was the first one), and may produce undesired results.
118
-
119
- Below this header, all of the options unique to each modifier will be displayed.
120
-
121
-
122
- .. _modifier-stack:
123
-
124
- The Modifier Stack
125
- ------------------
126
-
127
- Modifiers are a series of non-destructive operations which can be applied on top of an object's geometry.
128
- They can be applied in just about any order the user chooses.
129
-
130
- This kind of functionality is often referred to as a "modifier stack"
131
- and is also found in several other 3D applications.
132
-
133
- In a modifier stack the order in which modifiers are applied has an effect on the result.
134
- Fortunately modifiers can be rearranged easily by clicking the convenient up and down arrow icons.
135
- For example, the image below shows :doc:`Subdivision Surface </modeling/modifiers/generate/subdivision_surface>`
136
- and :doc:`Mirror </modeling/modifiers/generate/mirror>` modifiers that have switched places.
137
-
138
- .. list-table:: Modifier Stack example.
139
-
140
- * - .. figure:: /images/modeling_modifiers_introduction_mirror-subdiv2.png
141
- :width: 320px
142
-
143
- The Mirror modifier is the last item in the stack and
144
- the result looks like two surfaces.
145
-
146
- - .. figure:: /images/modeling_modifiers_introduction_mirror-subdiv1.png
147
- :width: 320px
148
-
149
- The Subdivision surface modifier is the last
150
- item in the stack and the result is a single merged surface.
151
-
152
- Modifiers are calculated from top to bottom in the stack.
153
- In this example, the desired result (on right) is achieved by first mirroring the object,
154
- and then calculating the subdivision surface.
155
-
156
-
157
- Example
158
- ^^^^^^^
159
-
160
- .. figure:: /images/modeling_modifiers_introduction_stack-example-3.png
161
-
162
- In this example a simple subdivided cube has been transformed into a rather complex object using
163
- a stack of modifiers.
164
-
165
- `Download example file <https://wiki.blender.org/wiki/File:25-Manual-Modifiers-example.blend>`__.
 
3
  Introduction
4
  ************
5
 
6
+ Curves are 2D objects, and surfaces are their 3D extension.
7
+ Note however, that in Blender, you only have NURBS surfaces,
8
+ no Bézier (you have the *Bézier* knot type, though; see below),
9
+ nor polygonal (but for these, you have meshes!).
10
+ Even though curves and surfaces share the same object type (with texts also...),
11
+ they are not the same thing; for example,
12
+ you cannot have in the same object both curves and surfaces.
13
 
14
+ .. _fig-surface-intro-surface:
 
 
15
 
16
+ .. figure:: /images/modeling_surfaces_introduction_nurbs-surface.png
17
 
18
+ NURBS surface in Edit Mode.
19
 
20
+ As surfaces are 2D, they have two interpolation axes, U (as for curves) and V.
21
+ It is important to understand that you can control the interpolation rules (knot, order, resolution)
22
+ *independently* for each of these two dimensions
23
+ (the U and V fields for all these settings, of course).
24
 
25
+ You may ask yourself "but the surface appears to be 3D, why is it only 2D?".
26
+ In order to be 3D, the object needs to have "Volume", and a surface, even when it is closed,
27
+ does not have volume; it is infinitely thin.
28
+ If it had a volume the surface would have a thickness (its third dimension). Hence,
29
+ it is only a 2D object, and has only two interpolation dimensions or axes or coordinates
30
+ (if you know a bit of math, think of non-Euclidean geometry -- well,
31
+ surfaces are just non-Euclidean 2D planes...). To take a more "real-world" example,
32
+ you can roll a sheet of paper to create a cylinder; well, even if it becomes a "volume",
33
+ the sheet itself will remain a (nearly...) 2D object!
34
 
35
+ In fact, surfaces are very similar to the results you get when
36
+ :doc:`extruding a curve </modeling/curves/properties/geometry>`.
 
 
 
 
 
 
 
 
 
 
 
 
 
37
 
38
 
39
+ Visualization
40
+ =============
41
 
42
+ There is nearly no difference from NURBS curves,
43
+ except that the U direction is indicated by yellow grid lines,
44
+ and the V one is materialized by pink grid lines, as you can see in
45
+ Fig. :ref:`fig-surface-intro-surface`.
46
 
47
+ You can :ref:`hide and reveal <curves-show-hide>` control points just as with curves.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
primitives.rst.txt ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .. _bpy.ops.surface.primitive*add:
2
+
3
+ **********
4
+ Primitives
5
+ **********
6
+
7
+ .. admonition:: Reference
8
+ :class: refbox
9
+
10
+ :Mode: Object Mode and Edit Mode
11
+ :Menu: :menuselection:`Add --> Curve`
12
+ :Hotkey: :kbd:`Shift-A`
13
+
14
+ .. seealso::
15
+
16
+ When adding curves there are some common options like other :ref:`Objects <object-common-options>`.
17
+
18
+ In Object/Edit Mode, the *Add Surface* menu, provides six different surface primitives:
19
+
20
+ .. list-table::
21
+
22
+ * - .. figure:: /images/modeling_surfaces_primitives_surface.png
23
+
24
+ NURBS surface primitives.
25
+
26
+ - .. figure:: /images/modeling_surfaces_primitives_curve.png
27
+
28
+ NURBS curve primitives.
29
+
30
+
31
+ NURBS Curve
32
+ ===========
33
+
34
+ *NURBS Curve* only have one control point on each V row.
35
+
36
+ TODO.
37
+
38
+
39
+ NURBS Circle
40
+ ============
41
+
42
+ *NURBS Circle* only have one control point on each V row.
43
+
44
+ TODO.
45
+
46
+ Note how a circle :term:`NURBS` surface is never filled, unlike its "real" curve counterpart...
47
+
48
+
49
+ NURBS Surface
50
+ =============
51
+
52
+ TODO.
53
+
54
+
55
+ NURBS Cylinder
56
+ ==============
57
+
58
+ TODO.
59
+
60
+
61
+ NURBS Sphere
62
+ ============
63
+
64
+ TODO.
65
+
66
+
67
+ NURBS Torus
68
+ ===========
69
+
70
+ TODO.
selecting.rst.txt ADDED
@@ -0,0 +1,196 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ *********
3
+ Selecting
4
+ *********
5
+
6
+ This page discusses specific selecting tools for surface objects in Edit Mode.
7
+ The Surface Edit more also uses the general select tools used which are described
8
+ in the :doc:`interface section </interface/selecting>`.
9
+
10
+ Surface selection in *Edit Mode* is very similar to
11
+ :doc:`NURBS curve selection </modeling/curves/selecting>`.
12
+ The basic tools are the same as with :doc:`meshes </modeling/meshes/selecting>`,
13
+ so you can select a simple control point with an :kbd:`LMB`\ -click,
14
+ add to current selection with :kbd:`Shift-LMB` clicks, :kbd:`B` order-select, and so on.
15
+
16
+
17
+ Select Menu
18
+ ===========
19
+
20
+ The *Select* menu (in the 3D Viewport header) is even simpler than for curves...
21
+
22
+ All these options have the same meaning and behavior as in
23
+ :doc:`Object Mode </scene_layout/object/selecting>`
24
+ (and the specificities of *Box Select* in *Edit Mode* have already been discussed
25
+ :doc:`here </modeling/meshes/selecting>`).
26
+
27
+ All :kbd:`A`
28
+ Select all.
29
+ None :kbd:`Alt-A`
30
+ Select none.
31
+ Inverse :kbd:`Ctrl-I`
32
+ Selects all the geometry that are not selected, and deselect currently selected components.
33
+
34
+ ------------------------
35
+
36
+ :ref:`Box Select <tool-select-box>` :kbd:`B`
37
+ Interactive box selection.
38
+ :ref:`Circle Select <tool-select-circle>` :kbd:`C`
39
+ Interactive circle selection.
40
+
41
+ ------------------------
42
+
43
+ `Select Random`_
44
+ Select random control points.
45
+
46
+ `Checker Deselect`_
47
+ Select every Nth control point.
48
+
49
+ `Select Linked`_ :kbd:`Ctrl-L`
50
+ Select control points that are connected to the current selection.
51
+
52
+ `Select Similar`_ :kbd:`Shift-G`
53
+ Select control points that have similar properties to the current selection.
54
+
55
+ ------------------------
56
+
57
+ `Select Control Point Row`_
58
+ Select a whole :ref:`row <modeling-surfaces-rows-grids>` of control points.
59
+
60
+ ------------------------
61
+
62
+ `Select More/Less`_
63
+ Select objects based on their parent child relationships.
64
+
65
+
66
+ Select Random
67
+ =============
68
+
69
+ .. admonition:: Reference
70
+ :class: refbox
71
+
72
+ :Mode: Edit Mode
73
+ :Menu: :menuselection:`Select --> Select Random`
74
+
75
+ Select random control points.
76
+
77
+ Percent
78
+ Selects the defined percentage of control points.
79
+ Random Seed
80
+ :term:`Seed` used by the pseudo-random number generator.
81
+ Action
82
+ Controls whether the operator *Selects* or *Deselects* control points.
83
+
84
+
85
+ Checker Deselect
86
+ ================
87
+
88
+ .. admonition:: Reference
89
+ :class: refbox
90
+
91
+ :Mode: Edit Mode
92
+ :Menu: :menuselection:`Select --> Checker Deselect`
93
+
94
+ This tool applies an alternating selected/deselected checker pattern.
95
+ This only works if you already have more than one control point selected.
96
+
97
+ It works by changing the current selection so that only every Nth
98
+ control points will remain selected, starting from the active one.
99
+
100
+ Nth Selection
101
+ Skip every Nth element leaving it selected.
102
+ Skip
103
+ Number of consecutive elements to skip (keep selected) at once.
104
+ Offset
105
+ Offset from the starting point.
106
+
107
+
108
+ Select Linked
109
+ =============
110
+
111
+ .. admonition:: Reference
112
+ :class: refbox
113
+
114
+ :Mode: Edit Mode
115
+ :Menu: :menuselection:`Select --> Select Linked`
116
+ :Hotkey: :kbd:`L`, :kbd:`Ctrl-L`
117
+
118
+ *Select Linked* will add to the selection the mouse cursor's nearest control point,
119
+ and all the linked ones, i.e. all points belonging to the same surface.
120
+
121
+
122
+ Select Similar
123
+ ==============
124
+
125
+ .. admonition:: Reference
126
+ :class: refbox
127
+
128
+ :Mode: Edit Mode
129
+ :Menu: :menuselection:`Select --> Select Similar`
130
+ :Hotkey: :kbd:`Shift-G`
131
+
132
+ Selects control points that have certain similar properties to the active one.
133
+ The :ref:`ui-undo-redo-adjust-last-operation` panel provides several selection options:
134
+
135
+ Type
136
+ Type
137
+ Selects splines that have the same spline Type i.e. Bézier, NURBS or Poly.
138
+ Radius
139
+ Selects control points that have a similar Radius value.
140
+ Weight
141
+ Selects all points that have a similar Weight value.
142
+ Direction
143
+ Selects control points that have a similar handles direction.
144
+
145
+ Compare
146
+ Equal, Greater, Less. (only for Radius, Weight) (ToDo 2.76)
147
+ Threshold
148
+ Precision (ToDo 2.76)
149
+
150
+
151
+ .. _bpy.ops.curve.select_row:
152
+
153
+ Select Control Point Row
154
+ ========================
155
+
156
+ .. admonition:: Reference
157
+ :class: refbox
158
+
159
+ :Mode: Edit Mode
160
+ :Menu: :menuselection:`Select --> Control Point Row`
161
+ :Hotkey: :kbd:`Shift-R`
162
+
163
+ This option works a bit like
164
+ :ref:`edge loop selection <modeling-meshes-selecting-edge-loops>` for meshes,
165
+ inasmuch it selects a whole :ref:`row <modeling-surfaces-rows-grids>` of control points,
166
+ based on the active (the last selected) one. The first time you press :kbd:`Shift-R`,
167
+ the V row passing through (containing) the active point will be added to the *current* selection.
168
+ If you use again this shortcut, you will toggle between the U and V row of this point,
169
+ removing *everything else* from the selection.
170
+
171
+
172
+ Select More/Less
173
+ ================
174
+
175
+ .. admonition:: Reference
176
+ :class: refbox
177
+
178
+ :Mode: Edit Mode
179
+ :Menu: :menuselection:`Select --> More/Less`
180
+ :Hotkey: :kbd:`Ctrl-NumpadPlus` / :kbd:`Ctrl-NumpadMinus`
181
+
182
+ Expand or contract the selection based on current selected control points.
183
+
184
+ More
185
+ For each selected control point, select **all** its linked points (i.e. two, three or four).
186
+ Less
187
+ For each selected control point, if **all** points linked to this point are selected, keep it selected.
188
+ For all other selected control points, deselect them.
189
+
190
+ This implies two points:
191
+
192
+ #. First, when **all** control points of a surface are selected, nothing will happen
193
+ (as for *Less*, all linked points are always selected, and of course, *More* cannot add any).
194
+ Conversely, the same goes when no control point is selected.
195
+ #. Second, these tools will never "go outside" of a surface
196
+ (they will never "jump" to another surface in the same object).
structure.rst.txt ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ *********
3
+ Structure
4
+ *********
5
+
6
+ Many of the concepts from :doc:`curves </modeling/curves/introduction>`,
7
+ especially :ref:`NURBS <curve-nurbs>` ones,
8
+ carry directly over to NURBS surfaces,
9
+ such as control points, *Order*, *Weight*, *Resolution*, etc.
10
+ Here we will just talk about the differences.
11
+
12
+ It is very important to understand the difference between NURBS curves and NURBS surfaces:
13
+ the first one has one dimension, the latter has two.
14
+ Blender internally treats NURBS surfaces and NURBS curves completely differently. There are
15
+ several attributes that separate them but the most important is that a NURBS curve has
16
+ a single interpolation axis (U) and a NURBS surface has two interpolation axes (U and V).
17
+
18
+ However, you can have "2D" surfaces made of curves
19
+ (using the :doc:`extrusion tools </modeling/curves/properties/geometry>`,
20
+ or, to a lesser extent, the filling of closed 2D curves). And you can have "1D" curves made of surfaces,
21
+ like a NURBS surface with only one row (either in U or V direction) of control points produces only a curve...
22
+
23
+ Visually you can tell which is which by entering *Edit Mode* and looking at the 3D View header:
24
+ either the header shows *Surface* or *Curve* as one of the menu choices. Also,
25
+ you can :doc:`extrude </modeling/curves/properties/geometry>` a whole NURBS surface curve to create a surface,
26
+ but you cannot with a simple NURBS curve.
27
+
28
+
29
+ .. _modeling-surfaces-rows-grids:
30
+
31
+ Control Points, Rows and Grid
32
+ =============================
33
+
34
+ Control points for NURBS surfaces are the same as for NURBS curves. However,
35
+ their layout is quite constraining. The concept of "segment" disappears,
36
+ replaced by "rows" and the overall "grid".
37
+
38
+ A "row" is a set of control points forming one "line" in one interpolation direction
39
+ (a bit similar to :ref:`edge loops <modeling-mesh-structure-edge-loops>` for meshes).
40
+ So you have "U rows" and "V rows" in a NURBS surface.
41
+ The key point is that *all* rows of a given type (U or V) have the *same* number of control points.
42
+ Each control point belongs to exactly one U row and one V row.
43
+
44
+ All this forms a "grid", or "cage", the shape of which controls the shape of the NURBS surface.
45
+ A bit like a :doc:`lattice </animation/lattice>`...
46
+
47
+ This is very important to grasp: you cannot add a single control point to a NURBS surface;
48
+ you have to add a whole U or V row at once
49
+ (in practice, you will usually use the Extrude tool, or perhaps the Duplicate one, to add those...),
50
+ containing exactly the same number of points as the others. This also means that you will only
51
+ be able to "merge" different pieces of surfaces if at least one of their rows matches together.
52
+
53
+
54
+ .. _modeling-surfaces-weight:
55
+
56
+ Weight
57
+ ======
58
+
59
+ Similar to :ref:`NURBS Splines <curve-nurbs>` NURBS Surface control points have a weight property.
60
+ This weight property controls how much influence the control point has on the surface.
61
+ This weight should not be confused with the :ref:`Goal Weight <surface-goal-weight>`,
62
+ which is used only for soft body simulations.
63
+ The NURBS control point weight can be adjusted in the *W* number field of
64
+ the :doc:`Transform panel </modeling/curves/editing/transform_panel>`.
65
+
66
+ In Fig. :ref:`fig-surface-intro-weight` a single control point, labeled "C",
67
+ has had its *Weight* set to 5.0 while all others are at their default of 1.0.
68
+ As you can see, that control point *pulls* the surface towards it.
69
+
70
+ .. _fig-surface-intro-weight:
71
+
72
+ .. figure:: /images/modeling_surfaces_structure_weight.png
73
+
74
+ One control point with a weight of 5.
75
+
76
+ .. note::
77
+
78
+ If all the control points have the same *Weight* then each effectively cancels each other out.
79
+ It is the difference in the weights that cause the surface to move
80
+ towards or away from a control point.
81
+
82
+
83
+ Preset Weights
84
+ --------------
85
+
86
+ NURBS can create pure shapes such as circles, cylinders, and spheres
87
+ (note that a Bézier circle is not a pure circle). To create pure circles, spheres,
88
+ or cylinders, you must set to specific values the weights of the control points.
89
+ This is not intuitive, and you should read more on NURBS before trying this.
90
+
91
+ To create a sphere with 2D surfaces, its the same principle as with a 2D circle.
92
+ You will note that the four different weights needed for creating a sphere
93
+ (1.0, 0.707 = sqrt(0.5), 0.354 = sqrt(2)/4, and 0.25).
94
+
95
+ .. figure:: /images/modeling_surfaces_structure_weight-sphere.png
96
+
97
+ A sphere surface.