crystalai commited on
Commit
40c46d3
·
verified ·
1 Parent(s): e1687cb

Upload 6 files

Browse files
control_points.rst.txt ADDED
@@ -0,0 +1,186 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ **************
3
+ Control Points
4
+ **************
5
+
6
+ Extrude Curve and Move
7
+ ======================
8
+
9
+ .. admonition:: Reference
10
+ :class: refbox
11
+
12
+ :Mode: Edit Mode
13
+ :Menu: :menuselection:`Surface --> Extrude Curve and Move`
14
+ :Hotkey: :kbd:`E`
15
+
16
+ Unlike meshes or curves, you cannot generally directly add new control points to a surface,
17
+ as you can only extend a surface by adding a whole U or V row at once.
18
+ The only exception is when working on a NURBS surface curve, i.e.
19
+ a surface with only one control point on each U or V row. In this special case,
20
+ all works exactly as with :ref:`curves <modeling-curves-extrude>`.
21
+
22
+ Most of the time, only extrusion is available. As usual, once the tool is activated
23
+ the extrusion happens immediately and you are placed into *select mode*,
24
+ ready to drag the new extruded surface to its destination.
25
+
26
+ There are two things very important to understand:
27
+
28
+ #. Surfaces are *2D* objects. So you cannot extrude anything *inside* a surface
29
+ (e.g. "inner" row); it would not make any sense!
30
+ #. The control "grid" *must* remain "squarish",
31
+ which means that you can only extrude a whole row, not parts of rows here and there...
32
+
33
+ To summarize, the *Extrude* tool will only work, when one and only one whole border
34
+ row is selected, otherwise nothing happens.
35
+
36
+ .. note::
37
+
38
+ As for curves, you cannot create a new surface in your object out of nowhere.
39
+ However, unlike for curves, there is no "cut" option allowing you to separate a surface into several parts,
40
+ so you only can create a new surface by :ref:`Duplicating <modeling_surface_editing_duplicating>`
41
+ an existing one, or adding a new one with the *Add* menu.
42
+
43
+
44
+ Examples
45
+ --------
46
+
47
+ Images Fig. :ref:`fig-surface-edit-select-point` to Fig. :ref:`fig-surface-edit-extruding`
48
+ show a typical extrusion along the side of a surface.
49
+
50
+ In Fig. :ref:`fig-surface-edit-select-point` and :ref:`fig-surface-edit-select-row`,
51
+ a border row of control points were highlighted by selecting a single control point,
52
+ and then using :ref:`bpy.ops.curve.select_row` to select the rest of the control points.
53
+
54
+ .. list-table::
55
+
56
+ * - .. _fig-surface-edit-select-point:
57
+
58
+ .. figure:: /images/modeling_surfaces_editing_selecting-point.png
59
+
60
+ Selecting control point.
61
+
62
+ - .. _fig-surface-edit-select-row:
63
+
64
+ .. figure:: /images/modeling_surfaces_editing_selecting-row.png
65
+
66
+ Select Control Point Row.
67
+
68
+ The edge is then extruded as shown in Fig. :ref:`fig-surface-edit-extruding`.
69
+ Notice how the mesh has bunched up next to the highlighted edge.
70
+ That is because the *new* extruded surface section is bunched up there as well.
71
+
72
+ .. _fig-surface-edit-extruding:
73
+
74
+ .. figure:: /images/modeling_surfaces_editing_extruding.png
75
+
76
+ Extruding.
77
+
78
+ By moving the new section away from the area, the surface begins to "unbunch".
79
+
80
+ You can continue this process of extruding or adding new surface sections
81
+ until you have reached the final shape for your model.
82
+
83
+
84
+ Make Segment
85
+ ============
86
+
87
+ .. admonition:: Reference
88
+ :class: refbox
89
+
90
+ :Mode: Edit Mode
91
+ :Menu: :menuselection:`Surface --> Make Segment`
92
+ :Hotkey: :kbd:`F`
93
+
94
+ Just like :ref:`curves <modeling-curves-make-segment>`,
95
+ merging two surfaces requires that a single edge, a border row of control points,
96
+ from two separate surfaces is selected. This means that the surfaces must be part of the same object.
97
+ For example, you cannot join two surfaces while in *Object Mode* -- but you can of course,
98
+ as with any objects of the same type, :ref:`join <bpy.ops.object.join>`
99
+ two or more *Surface* objects -- they just will not be "linked" or merged in a single one.
100
+
101
+ This tool is equivalent to creating edges or faces for meshes (hence its shortcut).
102
+ The selection must contain only border rows of the same resolution
103
+ (with the same number of control points),
104
+ else Blender will try to do its best to guess what to merge with what,
105
+ or the merge will fail (either silently, or stating that ``Resolution does not match``
106
+ if rows with different number of points are selected, or that there is ``Too few selections to merge``
107
+ if you only selected points in one surface...). To select control points of different surfaces,
108
+ in the same object, you must use either box select or circle select; :kbd:`Ctrl-LMB` will not work.
109
+
110
+ So to avoid problems, you should always only select border rows with the same number of
111
+ points... Note that you can join a border U row of one surface with a border V row of another
112
+ one, Blender will automatically "invert" the axis of one surface for them to match correctly.
113
+
114
+ NURBS surface curves are often used to create objects like hulls,
115
+ as they define cross sections all along the object,
116
+ and you just have to "skin" them as described above to get a nice, smooth and harmonious shape.
117
+
118
+
119
+ Examples
120
+ --------
121
+
122
+ Fig. :ref:`fig-surface-edit-join-ready` is an example of two NURBS surface curves,
123
+ **not** NURBS curves, in *Edit Mode*, ready to be joined.
124
+ Fig. :ref:`fig-surface-edit-join-complete` is the result of joining the two curves.
125
+
126
+ .. list-table::
127
+
128
+ * - .. _fig-surface-edit-join-ready:
129
+
130
+ .. figure:: /images/modeling_surfaces_editing_joining-ready.png
131
+
132
+ Joining ready.
133
+
134
+ - .. _fig-surface-edit-join-complete:
135
+
136
+ .. figure:: /images/modeling_surfaces_editing_joining-complete.png
137
+
138
+ Joining complete.
139
+
140
+
141
+ Smooth
142
+ ======
143
+
144
+ .. admonition:: Reference
145
+ :class: refbox
146
+
147
+ :Mode: Edit Mode
148
+ :Menu: :menuselection:`Surface --> Control Points --> Smooth`
149
+
150
+ Iteratively smooths the selected control points
151
+ by reducing the distance between neighboring control points.
152
+
153
+
154
+ Hooks
155
+ =====
156
+
157
+ .. admonition:: Reference
158
+ :class: refbox
159
+
160
+ :Mode: Edit Mode
161
+ :Menu: :menuselection:`Surface --> Control Points --> Hooks`
162
+ :Hotkey: :kbd:`Ctrl-H`
163
+
164
+ :doc:`Hooks </modeling/modifiers/deform/hooks>` can be added to control one or more points with other objects.
165
+
166
+
167
+ Make Vertex Parent
168
+ ==================
169
+
170
+ .. admonition:: Reference
171
+ :class: refbox
172
+
173
+ :Mode: Edit Mode
174
+ :Menu: :menuselection:`Surface --> Control Points --> Make Vertex Parent`
175
+ :Hotkey: :kbd:`Ctrl-P`
176
+
177
+ You can make other selected objects :ref:`children <object-parenting>`
178
+ of one or three control points, as with mesh objects.
179
+
180
+ To select a mesh (that is in view) while editing a surface, :kbd:`Ctrl-P` click on it.
181
+ Select either one or three control points,
182
+ then :kbd:`Ctrl-LMB` the object and use :kbd:`Ctrl-P` to make a vertex parent.
183
+ Selecting three control points will make the child follow
184
+ the median point between the three vertices. An alternative would be to use
185
+ a :doc:`Child of Constraint </animation/constraints/relationship/child_of>`.
186
+ See also the :doc:`Curve Modifier </modeling/modifiers/deform/curve>`.
index.rst.txt CHANGED
@@ -1,10 +1,13 @@
1
 
2
- ##############
3
- Properties
4
- ##############
5
 
6
  .. toctree::
7
  :maxdepth: 2
8
 
9
- shape.rst
10
- active_spline.rst
 
 
 
 
1
 
2
+ ###########
3
+ Editing
4
+ ###########
5
 
6
  .. toctree::
7
  :maxdepth: 2
8
 
9
+ transform_panel.rst
10
+ surface.rst
11
+ control_points.rst
12
+ segments.rst
13
+ other.rst
other.rst.txt ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ *****
3
+ Other
4
+ *****
5
+
6
+ Conversion
7
+ ==========
8
+
9
+ As there are only NURBS surfaces, there is no "internal" conversion here.
10
+
11
+ However, there is an "external" conversion available, from surface to mesh,
12
+ that only works in *Object Mode*.
13
+ It transforms a *Surface* object into a *Mesh* one,
14
+ using the surface resolutions in both directions to create faces, edges and vertices.
segments.rst.txt ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ ********
3
+ Segments
4
+ ********
5
+
6
+ Subdivision
7
+ ===========
8
+
9
+ .. admonition:: Reference
10
+ :class: refbox
11
+
12
+ :Mode: Edit Mode
13
+ :Menu: :menuselection:`Surface --> Segments --> Subdivide`
14
+
15
+ The *Subdivision* operator simply subdivides all selected segments
16
+ by adding one or more control points between the selected segments.
17
+ Selected grids will be split into four smaller ones.
18
+
19
+ If used on a 1D surface (a "surface curve"),
20
+ this tool works exactly as with :ref:`curves <modeling-curves-subdivision>`.
21
+
22
+ Number of Cuts
23
+ The number of subdivisions to perform.
24
+
25
+
26
+ .. _modeling_surfaces_editing_segments_switch-direction:
27
+
28
+ Switch Direction
29
+ ================
30
+
31
+ .. admonition:: Reference
32
+ :class: refbox
33
+
34
+ :Mode: Edit Mode
35
+ :Menu: :menuselection:`Surface --> Segments --> Switch Direction`
36
+
37
+ This tool will "reverse" the direction of any curve with at least one selected element
38
+ (i.e. the start point will become the end one, and *vice versa*).
39
+ Mainly useful when using a curve as path, or the bevel and taper options...
surface.rst.txt ADDED
@@ -0,0 +1,261 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ *******
3
+ Surface
4
+ *******
5
+
6
+ Surface editing has even fewer tools and options than its curve counterpart,
7
+ but has many common points with it...
8
+ So this page covers (or tries to cover) all the subjects,
9
+ from the basics of surface editing to more advanced topics, like retopology.
10
+
11
+
12
+ Transform
13
+ =========
14
+
15
+ .. admonition:: Reference
16
+ :class: refbox
17
+
18
+ :Mode: Edit Mode
19
+ :Menu: :menuselection:`Surface --> Transform`
20
+
21
+ A surface can be edited by transforming the locations of the control points.
22
+
23
+ Move, Rotate, Scale
24
+ Like other elements in Blender, control points can be
25
+ moved, rotated, or scaled as described in
26
+ :doc:`Basic Transformations </scene_layout/object/editing/transform/introduction>`.
27
+ To Sphere, Shear, Warp, Bend, Push/Pull, Warp, Randomize
28
+ These transform tools are described in
29
+ the :doc:`Transformations </modeling/meshes/editing/transform/index>` sections.
30
+ Move/Scale Texture Space
31
+ Like other objects, surfaces have textures spaces which can be
32
+ :ref:`edited <properties-texture-space-editing>`.
33
+
34
+
35
+ Mirror
36
+ ======
37
+
38
+ .. admonition:: Reference
39
+ :class: refbox
40
+
41
+ :Mode: Edit Mode
42
+ :Menu: :menuselection:`Curve --> Mirror`
43
+ :Hotkey: :kbd:`Ctrl-M`
44
+
45
+ The *Mirror* tool is also available, behaving exactly as with
46
+ :doc:`mesh vertices </modeling/meshes/editing/transform/mirror>`.
47
+
48
+
49
+ Snap
50
+ ====
51
+
52
+ .. admonition:: Reference
53
+ :class: refbox
54
+
55
+ :Mode: Edit Mode
56
+ :Menu: :menuselection:`Curve --> Snap`
57
+ :Hotkey: :kbd:`Shift-S`
58
+
59
+ :doc:`Mesh snapping </scene_layout/object/editing/transform/control/snap>`
60
+ also works with control points, except for within itself (other components of the active spline).
61
+ Snapping works with 2D surfaces but points will be constrained to the local XY axes.
62
+
63
+
64
+ .. _bpy.ops.curve.spin:
65
+
66
+ Spin
67
+ ====
68
+
69
+ .. admonition:: Reference
70
+ :class: refbox
71
+
72
+ :Mode: Edit Mode
73
+ :Menu: :menuselection:`Surface --> Spin`
74
+
75
+ This tool is a bit similar to its :doc:`mesh counterpart </modeling/meshes/editing/duplicating/spin>`
76
+ but with less control and options (in fact, there is none!).
77
+
78
+ It only works on selected "surfaces" made of *one U row* (and not with one V row),
79
+ so-called "surface curves", by "extruding" this "cross section" in a square pattern,
80
+ automatically adjusting the weights of control points to get a perfect circular extrusion
81
+ (this also implies closing the surface along the V axis), following exactly the same principle
82
+ as for the *NURBS Tube* or *NURBS Donut* primitives.
83
+
84
+
85
+ .. _modeling_surface_editing_duplicating:
86
+
87
+ Add Duplicate
88
+ =============
89
+
90
+ .. admonition:: Reference
91
+ :class: refbox
92
+
93
+ :Mode: Edit Mode
94
+ :Menu: :menuselection:`Surface --> Add Duplicate`
95
+ :Hotkey: :kbd:`Shift-D`
96
+
97
+ Similar as with meshes and curves, this tool duplicates the selection.
98
+ The copy is selected and placed in move mode, so you can move it to another place.
99
+
100
+ However, with surfaces there are some selections that cannot be duplicated,
101
+ in which case they will just be placed in move mode... In fact,
102
+ only selections forming a *single* valid sub-grid are copyable; let us see this in practice:
103
+
104
+ - You can copy a single control point.
105
+ From it, you will be able to "extrude" a "surface curve" along the U axis,
106
+ and then extrude this unique U row along the V axis to create a real new surface.
107
+ - You can copy a single continuous part of a row (or a whole row, of course).
108
+ This will give you a new *U row*, even if you selected (part of) a V row!
109
+ - You can copy a single whole sub-grid.
110
+
111
+ .. note::
112
+
113
+ Trying to duplicate several valid "sub-grids" (even being single points)
114
+ at once will not work; you will have to do it one after the other...
115
+
116
+
117
+ Split
118
+ =====
119
+
120
+ .. admonition:: Reference
121
+ :class: refbox
122
+
123
+ :Mode: Edit Mode
124
+ :Menu: :menuselection:`Surface --> Split`
125
+ :Hotkey: :kbd:`Y`
126
+
127
+ The *Split* operator splits a selected segment of a surface from the rest of the surface.
128
+ This segment can then be moved or altered without affecting the other surface.
129
+ If a single control point is selected the *Split* operator will create a new singular loose control point;
130
+ leaving the previously selected control point attached to the rest of the surface.
131
+
132
+
133
+ Separate
134
+ ========
135
+
136
+ .. admonition:: Reference
137
+ :class: refbox
138
+
139
+ :Mode: Edit Mode
140
+ :Menu: :menuselection:`Surface --> Separate`
141
+ :Hotkey: :kbd:`P`
142
+
143
+ Surface objects that are made of multiple distinct parts can be separated into their own
144
+ objects by selecting the desired segments and using *Separate*.
145
+ Note, if there is only one surface in a surface object,
146
+ *Separate* will create a new surface object with no control points.
147
+
148
+
149
+ Toggle Cyclic
150
+ =============
151
+
152
+ .. admonition:: Reference
153
+ :class: refbox
154
+
155
+ :Mode: Edit Mode
156
+ :Menu: :menuselection:`Surface --> Toggle Cyclic`
157
+ :Hotkey: :kbd:`Alt-C`
158
+
159
+ As in :ref:`curves <modeling-curves-toggle-cyclic>`,
160
+ surfaces can be closed (cyclic) or open. However, as surfaces are 2D,
161
+ you can control this property independently along the U and V axes.
162
+
163
+ To toggle the cyclic property of a surface along one axis,
164
+ use *Toggle Cyclic* and choose either *Cyclic U* or *Cyclic V* from the pop-up menu.
165
+ The corresponding surface's outer edges will join together to form a "closed" surface.
166
+
167
+ .. note:: Inner and Outer
168
+
169
+ Surfaces have an "inner" and "outer" face, the first being black whereas the latter is correctly shaded.
170
+ When you close a surface in one or two directions, you might get an entirely black object! In this case,
171
+ just :ref:`Switch Direction <modeling_surfaces_editing_segments_switch-direction>` of the surface.
172
+
173
+
174
+ Set Spline Type
175
+ ===============
176
+
177
+ .. admonition:: Reference
178
+ :class: refbox
179
+
180
+ :Mode: Edit Mode
181
+ :Menu: :menuselection:`Surface --> Set Spline Type`
182
+
183
+ This feature only works for :doc:`Curves </modeling/curves/index>`.
184
+
185
+
186
+ Show/Hide
187
+ =========
188
+
189
+ .. admonition:: Reference
190
+ :class: refbox
191
+
192
+ :Mode: Edit Mode
193
+ :Menu: :menuselection:`Curve --> Show/Hide`
194
+ :Hotkey: :kbd:`Alt-H`, :kbd:`H`, :kbd:`Shift-H`
195
+
196
+ When in *Edit Mode*, you can hide and reveal elements from the display.
197
+ You can only show or hide control points, as segments are always shown,
198
+ unless all control points of the connected surface are hidden,
199
+ in which case the surface is fully hidden.
200
+
201
+ .. seealso::
202
+
203
+ See :ref:`object-show-hide` in *Object Mode*.
204
+
205
+
206
+ Cleanup
207
+ =======
208
+
209
+ .. admonition:: Reference
210
+ :class: refbox
211
+
212
+ :Mode: Edit Mode
213
+ :Menu: :menuselection:`Surface --> Cleanup`
214
+
215
+ This feature only works for :doc:`Curves </modeling/curves/index>`.
216
+
217
+
218
+ Delete
219
+ ======
220
+
221
+ .. admonition:: Reference
222
+ :class: refbox
223
+
224
+ :Mode: Edit Mode
225
+ :Menu: :menuselection:`Surface --> Delete`
226
+ :Hotkey: :kbd:`X`, :kbd:`Delete`
227
+
228
+ The selection must abide by the following rules:
229
+
230
+ - Whole rows, and only whole rows must be selected.
231
+ - Only rows along the same axis must be selected (i.e. you cannot delete both U and V rows at the same time).
232
+
233
+ Also remember that NURBS order cannot be higher than its number of control points in a given axis,
234
+ so it might decrease when you delete some control points...
235
+ Of course, when only one row remains, the surface becomes a "surface curve"; when only one point remains,
236
+ there is no more visible surface; and when all points are deleted, the surface itself is deleted.
237
+
238
+ Vertices
239
+ This will delete the selected rows, *without* breaking the surface
240
+ (i.e. the adjacent rows will be directly linked, joined, once the intermediary ones are deleted).
241
+ Remember that NURBS order cannot be higher than its number of control points,
242
+ so it might decrease when you delete some control point.
243
+ Of course, when only one point remains, there is no more visible curve,
244
+ and when all points are deleted, the curve itself is deleted.
245
+ Segment
246
+ Deletes the segment that connects the selected control points and disconnecting them.
247
+ Dissolve Vertices :kbd:`Ctrl-X`
248
+ This feature only works for :doc:`Curves </modeling/curves/index>`.
249
+
250
+
251
+ Example
252
+ -------
253
+
254
+ In the image below (left), a row of control points has been selected by initially selecting
255
+ the one control point and using :ref:`bpy.ops.curve.select_row` to select the remaining
256
+ control points. Then, using `Delete`_ *Vertices*,
257
+ the selected row of control points is erased, resulting in the image below (right).
258
+
259
+ .. figure:: /images/modeling_surfaces_editing_deleting.png
260
+
261
+ Before and after.
transform_panel.rst.txt ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ ***************
3
+ Transform Panel
4
+ ***************
5
+
6
+ .. admonition:: Reference
7
+ :class: refbox
8
+
9
+ :Mode: Edit Mode
10
+ :Panel: :menuselection:`Sidebar --> Transform`
11
+
12
+ When nothing is selected, the panel is empty.
13
+ When more than one control point is selected, the median values are edited
14
+ and "Median" is added in front of the labels.
15
+
16
+ Control Point, Median
17
+ The first controls (X, Y, Z) show the coordinates of the selected point or handle (vertex).
18
+ The last control (W), defines the :ref:`weight <modeling-surfaces-weight>`
19
+ of the selected control point or the median weight.
20
+ Space
21
+ The Space radio buttons let you choose if those coordinates are relative to
22
+ the object origin (local) or the global origin (global).
23
+
24
+ Global, Local
25
+
26
+ .. _surface-goal-weight:
27
+
28
+ Weight
29
+ Controls the "goal weight" of selected control points,
30
+ which is used when a surface has :doc:`Soft Body </physics/soft_body/index>` physics,
31
+ forcing the surface to "stick" to their original positions, based on the weight.
32
+ Radius
33
+ Surface objects do not have a *Radius* property, this value has no effect.
34
+ Tilt
35
+ Surface objects do not have a *Radius* property, this value has no effect.