Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush Python 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

    Bevel Boolean object

    SDK Help
    0
    7
    621
    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.
    • H
      Helper
      last edited by

      On 17/03/2014 at 03:22, xxxxxxxx wrote:

      User Information:
      Cinema 4D Version:   R15 
      Platform:   Windows  ;   
      Language(s) :     C++  ;

      ---------
      The result of a Boolean Object "A Subtract B" is an object with hard edges.
      Is there a way, to for example Bevel these edges, make them more round?
      When looking at oboole.h there is an option "BOOLEOBJECT_BEVEL", but I do not see it in the Object Manager?

      enum
      {
      	BOOLEOBJECT_TYPE	= 1000, // LONG
      		BOOLEOBJECT_TYPE_UNION     = 0,
      		BOOLEOBJECT_TYPE_SUBTRACT  = 1,
      		BOOLEOBJECT_TYPE_INTERSECT = 2,
      		BOOLEOBJECT_TYPE_WITHOUT   = 3,
        
      	BOOLEOBJECT_SINGLE_OBJECT   = 1001, // Bool
      	BOOLEOBJECT_HIDE_NEW_EDGES  = 1002, // Bool
      	BOOLEOBJECT_BREAK_CUT_EDGES = 1003, // Bool
      	BOOLEOBJECT_SEL_CUT_EDGES   = 1004, // Bool
      	BOOLEOBJECT_OPTIMIZE_LEVEL  = 1005, // REAL
      	BOOLEOBJECT_HIGHQUALITY			= 1006, // BOOL
      	BOOLEOBJECT_BEVEL           = 1007, // Bool
      	//BOOLEOBJECT_BEVEL_INNER     = 1008, // Bool
      	BOOLEOBJECT_BEVEL_WIDTH     = 1009, // Real
      	BOOLEOBJECT_BEVEL_SUBDIVISION = 1010, // LONG
      	BOOLEOBJECT_BEVEL_MODE      = 1011,
      		BOOLEOBJECT_BEVEL_LINEAR  = 0,
      		BOOLEOBJECT_BEVEL_OUTER_CIRCLE = 1,
      		BOOLEOBJECT_BEVEL_INNER_CIRCLE = 2,
      		BOOLEOBJECT_BEVEL_BEZIER       = 3,
        
      	BOOLEOBJECT_
      };
      
      1 Reply Last reply Reply Quote 0
      • H
        Helper
        last edited by

        On 17/03/2014 at 15:56, xxxxxxxx wrote:

        Best to check the oboole.res.  That file describes the descriptions actually used.  If BOOLEOBJECT_BEVEL isn't there, it probably hasn't been implemented.

        1 Reply Last reply Reply Quote 0
        • H
          Helper
          last edited by

          On 18/03/2014 at 12:19, xxxxxxxx wrote:

          Indeed, commented out.
          Perhaps something for the future?
          By the way, Modo is doing great with MeshFusion.

          CONTAINER Oboole
          {
          	NAME Oboole;
          	INCLUDE Obase;
            
          	GROUP ID_OBJECTPROPERTIES
          	{
          		LONG BOOLEOBJECT_TYPE
          		{
          			CYCLE
          			{
          				BOOLEOBJECT_TYPE_UNION;
          				BOOLEOBJECT_TYPE_SUBTRACT;
          				BOOLEOBJECT_TYPE_INTERSECT;
          				BOOLEOBJECT_TYPE_WITHOUT;
          			}
          		}
          		BOOL BOOLEOBJECT_HIGHQUALITY { }
          		BOOL BOOLEOBJECT_SINGLE_OBJECT { }
          		BOOL BOOLEOBJECT_HIDE_NEW_EDGES { }
          		BOOL BOOLEOBJECT_BREAK_CUT_EDGES { }
          		BOOL BOOLEOBJECT_SEL_CUT_EDGES { }
          		REAL BOOLEOBJECT_OPTIMIZE_LEVEL { UNIT METER; MIN 0.0001; STEP .001; }
          		//BOOL BOOLEOBJECT_BEVEL { }
          		//REAL BOOLEOBJECT_BEVEL_WIDTH { UNIT METER; MIN 0; }
          		//LONG BOOLEOBJECT_BEVEL_SUBDIVISION { MIN 0; }
          		//LONG BOOLEOBJECT_BEVEL_MODE
          		//{
          		//	CYCLE
          		//	{
          		//		BOOLEOBJECT_BEVEL_LINEAR;
          		//		BOOLEOBJECT_BEVEL_OUTER_CIRCLE;
          		//		BOOLEOBJECT_BEVEL_INNER_CIRCLE;
          		//		BOOLEOBJECT_BEVEL_BEZIER;
          		//	}
          		//}
          	}
          }
          
          1 Reply Last reply Reply Quote 0
          • H
            Helper
            last edited by

            On 23/03/2014 at 20:48, xxxxxxxx wrote:

            The parameters that are commented out are not implemented. You could convert the Bool generator
            to Polygon Objects and compute the shared edges of the two resulting meshes. This edge selection
            can be piped into a bevel modeling command.

            Best,
            -Niklas

            1 Reply Last reply Reply Quote 0
            • H
              Helper
              last edited by

              On 24/03/2014 at 06:13, xxxxxxxx wrote:

              Thanks, but I like it to be non-destructive. Thus keeping booles and not meshes.

              1 Reply Last reply Reply Quote 0
              • H
                Helper
                last edited by

                On 24/03/2014 at 16:01, xxxxxxxx wrote:

                Have you considered your own Boolean Object (plugin)?  First, the C4D Boolean object doesn't have the most pleasant results (unless they have reworked it recently).  Secondly, you could implement your own beveling on the Boolean result and pass that from GetVirtualObjects().  A bit much ado but it may signify something. 🙂

                1 Reply Last reply Reply Quote 0
                • H
                  Helper
                  last edited by

                  On 25/03/2014 at 04:56, xxxxxxxx wrote:

                  Originally posted by xxxxxxxx

                  Have you considered your own Boolean Object (plugin)?  First, the C4D Boolean object doesn't have the most pleasant results (unless they have reworked it recently).  Secondly, you could implement your own beveling on the Boolean result and pass that from GetVirtualObjects().  A bit much ado but it may signify something. 🙂

                  I thought about it, but implementing boolean algorithms is above my skills.
                  If anyone has some straight forward boolean algorithms or a library I could and will give it a try.
                  I still think that cinema 4d could benefit from something like Modo's MeshFusion.

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