There is a bug and some issues in the inner extrude tool res/.h files (S22 and R21)



  • 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:

    003685.jpg

    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.



  • hi,

    thanks a lot for reaching us out with that issue.
    i confirm that the code is setting the minimum subdivision to 1 if the command have been migrated (witch it is)

    I've opened a bug entry and transfert the problem to the devs. I'll come later if I have a more informations.

    Cheers,
    Manuel


Log in to reply