Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login

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

    Cinema 4D SDK
    4
    10
    1.8k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      mikegold10
      last edited by Manuel

      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.

      1 Reply Last reply Reply Quote 0
      • ManuelM
        Manuel
        last edited by

        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

        MAXON SDK Specialist

        MAXON Registered Developer

        1 Reply Last reply Reply Quote 1
        • N
          noseman
          last edited by

          Hi Manuel,
          I was about to make some new tutorials for Cineversity for the Py-Parametric tools and came across this. I can't set the minimum Subdivisions to 0.
          Has this been looked at?
          Thanks

          1 Reply Last reply Reply Quote 0
          • a_blockA
            a_block
            last edited by

            I am currently looking into Py-ParametricTools anyway, as I'm about to add a parametric polygon delete. So I can take a look at this as well. Should be easy to fix there, if mikegold10 is right and the restriction is not internally in the tool itself.

            1 Reply Last reply Reply Quote 0
            • ManuelM
              Manuel
              last edited by

              Hi,

              this is still the case; I will try to raise the priority.

              Cheers,
              Manuel

              MAXON SDK Specialist

              MAXON Registered Developer

              1 Reply Last reply Reply Quote 0
              • a_blockA
                a_block
                last edited by

                I'll be talking about Py-ParametricTools only here:

                Today I was looking into this. I have to admit, I do not fully get the point. While I see the inconsistencies in documentation and res files, I still do not understand, what is the point of being able to set Subdivision of Extrude Inner to zero. The result looks pretty much identical to me...

                On the other hand with Py-Subdivide Generator/Modifier there I do see some use in lowering the minimum to zero for maybe animating from no subdivs to another value.

                Maybe somebody can give me a hint, what would be most preferable minimums for subdiv minimums of Extrude Inner and Subdivide?

                1 Reply Last reply Reply Quote 0
                • N
                  noseman
                  last edited by

                  Extrude inner Subd 0 is the most common way it's used in modeling.
                  As far as the Subdivide, the animation would be a good reason to allow for 0 (no SubD)
                  5b65d164-5d27-41fc-b7a8-0607a1689c83-image.png
                  ef241d24-0382-41e1-b894-4ef651c03cd8-image.png

                  1 Reply Last reply Reply Quote 0
                  • a_blockA
                    a_block
                    last edited by

                    Now, I do understand the whole point and also Manuel's comment with the migrated command...
                    This behavior has changed since R21! I was testing in R21 and there 0 and 1 subdivs have the exact same effect.
                    Then of course zero makes perfect sense.

                    I have a fixed and extended (added Py-Delete Modifier) version 1.4 of Py-ParametricTools here ready for release.

                    Though I'm not even sure, Maxon is still interested. It looks as if Maxon Labs will be closed and stuff gets moved to Cineversity. Yet in Cineversity Py-ParametricTools are not listed at all, while other Maxon Labs stuff is. Anyway, I will ask there directly.

                    1 Reply Last reply Reply Quote 0
                    • N
                      noseman
                      last edited by noseman

                      Maxon has decided to move all Labs plugins to Cineversity, and the Labs website is no longer available.
                      As far as the Py Parametric plugins, they are on hold until I create a tutorial for them, which I'm planning for this week.
                      Would it be a stretch if I asked for the "Disconnect" tool to be added if possible?
                      In any case, whenever you make a change, let me know and I'll make sure they get updated.
                      Thanks

                      EDIT: you can email me directly. noseman[at]noseman[dot]org

                      1 Reply Last reply Reply Quote 0
                      • ManuelM
                        Manuel
                        last edited by

                        hi,

                        this will be fixed on the next update.

                        Cheers,
                        Manuel

                        MAXON SDK Specialist

                        MAXON Registered Developer

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post