Let me be specific:
Extrude Inner Tool
In toolextrudeinner.res
(resource\modules\model\description
subdirectory of the main install location), in the MDATA_MAINGROUP
group, the following line:
REAL MDATA_EXTRUDEINNER_SUBDIVISION { MIN 1; MINSLIDER 1; MAXSLIDER 10; CUSTOMGUI REALSLIDER; STEP 1;}
should read:
REAL MDATA_EXTRUDEINNER_SUBDIVISION { MIN 0; MINSLIDER 0; MAXSLIDER 10; CUSTOMGUI REALSLIDER; STEP 1;}
The correct MIN
value for the Subdivision property of the Extrude Inner tool is 0
.
Also, toolextrudeinner.h
documents the property as follows:
MDATA_EXTRUDEINNER_SUBDIVISION = 2170, // LONG
Yet, in the actual tool dialog box, it's type is specified as a REAL
. One (or both) of these is/are clearly wrong, it doesn't make much sense for the subdivision value to be either a FLOAT
or a LONG
, it should be an INT
!
I should also add to this that if one was to start using the Extrude Inner tool and to drag the Subdivision property into the Python Console in C4D, they would see:
>>> ExtrudeInner[c4d.MDATA_EXTRUDEINNER_SUBDIVISION]
0
..., and if one was then to do the following to see what the actual underlying type is:
>>> type(ExtrudeInner[c4d.MDATA_EXTRUDEINNER_SUBDIVISION])
<type 'int'>
They would see that the actual type is the very type (int
) that I suggested should appear in both the .res
and .h
files, above!
Note: The help documentation is also in error, regarding the Subdivision property of the Extrude Inner tool, listing its range as follows: Subdivision [1..+∞]
It specifies this and then goes on to present a diagram showing the perfectly valid examples of using values of zero (which is out of the range just documented, but perfectly valid as far as the actual tool is concerned) and two, as the text under the figure indicates:
Subdivision set to 0 and 2.
See the following section from which the example above was taken: Extrude Inner/Tool
The actual range in the help should be changed to: [0-+∞]
Fortunately, when the tool itself is employed, the Subdivision value does correctly default to zero, in contradiction to the Dialog's definition and constraints in the .res
file, so I am not sure what is happening behind the scenes in the C4D source code which seems to correct things (at least as far as the tool goes).
However, the issue becomes apparent when tools try to use Extrude Inner functionality including its dialog groups (e.g., Py-Extrude Inner Modifier that is part of Py-Parametric Tools at Maxon Labs) and cannot change the Subdivision property to a value of zero, even though this is possible using the actual Inner Extrude tool that is part of C4D core functionality.
Please take a look at this and consider the fixes/changes described above.