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

    LAYOUTGROUP Description Resource

    Cinema 4D SDK
    python c++
    2
    3
    866
    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.
    • mfersaouiM
      mfersaoui
      last edited by mfersaoui

      Hello,

      I want to create an LAYOUTGROUP with two column and I want to add a full width SEPARATOR between certain elements.
      Here is my Description Resource code

      GROUP ID_OBJECTPROPERTIES
      {
      	GROUP
      	{
      		LAYOUTGROUP; COLUMNS 2; DEFAULT 1;
      		GROUP
      		{	
      			REAL MYOBJECT_WIDTH { UNIT METER; MIN 1.0; MAX 38000; MINSLIDER 0; MAXSLIDER 2000; STEP 1; }
      			REAL MYOBJECT_HEIGHT { UNIT METER; MIN 0.0; MAX 38000; MINSLIDER 0; MAXSLIDER 2000; STEP 1; }
      			REAL MYOBJECT_DEPTH { UNIT METER; MIN 1; MAX 100000; MINSLIDER 1; MAXSLIDER 3000; STEP 1; }
      				
      			SEPARATOR { LINE; }
      
      			REAL MYOBJECT_FILLET_RADIUS { UNIT METER; MIN 0; MAX 100000; MINSLIDER 1; MAXSLIDER 700; STEP 0.1; }
      			REAL MYOBJECT_THICKNESS { UNIT METER; MIN 0; MAX 10000; STEP 1; }
      
      			SEPARATOR	{ LINE; }
      				
      			LONG MYOBJECT_AXIS  
      			{
      				CYCLE
      				{
      					MYOBJECT_AXIS_XP;
      					MYOBJECT_AXIS_XN;
      					MYOBJECT_AXIS_ZP;
      					MYOBJECT_AXIS_ZN;
      				}
      			}
      		
      			SEPARATOR	{ LINE; }
      
      			BOOL MYOBJECT_SEEN_BY_CAMERA {  }
      			BOOL MYOBJECT_SEEN_BY_TRANSPARENCY {  }
      			BOOL MYOBJECT_SEEN_BY_REFLECTION {  }
      		}
      
      		GROUP
      		{
      			LONG MYOBJECT_SEGMENTS_X { MIN 1; MAX 1000; }
      			LONG MYOBJECT_SEGMENTS_Y { MIN 1; MAX 1000; }
      			LONG MYOBJECT_SEGMENTS_Z { MIN 1; MAX 1000; }
      				
      			SEPARATOR { LINE; }
      
      			LONG MYOBJECT_FILLET_SUB	{ MIN 1; MAX 1000; }
      		}
      	}
      }
      

      And here is a screenshot of the result:

      layoutgroup_description_resource_1.jpg

      and here is an image of what I want to obtain as result (I want a full width separator line)

      layoutgroup_description_resource_2.jpg

      I tried with the following code, I obtain a full width separator but the first column elements doesn't have the same width

      GROUP ID_OBJECTPROPERTIES
      {		
      	GROUP
      	{
      		LAYOUTGROUP; COLUMNS 2; DEFAULT 1;
      		GROUP
      		{	
      			REAL MYOBJECT_WIDTH { UNIT METER; MIN 1.0; MAX 38000; MINSLIDER 0; MAXSLIDER 2000; STEP 1; }
      			REAL MYOBJECT_HEIGHT { UNIT METER; MIN 0.0; MAX 38000; MINSLIDER 0; MAXSLIDER 2000; STEP 1; }
      			REAL MYOBJECT_DEPTH { UNIT METER; MIN 1; MAX 100000; MINSLIDER 1; MAXSLIDER 3000; STEP 1; }
      		}
      
      		GROUP
      		{
      			LONG MYOBJECT_SEGMENTS_X { MIN 1; MAX 1000; }
      			LONG MYOBJECT_SEGMENTS_Y { MIN 1; MAX 1000; }
      			LONG MYOBJECT_SEGMENTS_Z { MIN 1; MAX 1000; }
      		}
      	}
      		
              SEPARATOR { LINE; }
      
      	GROUP
      	{
      		LAYOUTGROUP; COLUMNS 2; DEFAULT 1;
      		GROUP
      		{	
      			REAL MYOBJECT_FILLET_RADIUS { UNIT METER; MIN 0; MAX 100000; MINSLIDER 1; MAXSLIDER 700; STEP 0.1; }
      			REAL MYOBJECT_WALL_THICKNESS { UNIT METER; MIN 0; MAX 10000; STEP 1; }
      		}
      
      		GROUP
      		{
      			LONG MYOBJECT_FILLET_SUB	{ MIN 1; MAX 1000; }
      		}
      	}
      		
      	SEPARATOR	{ LINE; }
      				
      	LONG MYOBJECT_AXIS  
      	{
      		CYCLE
      		{
      			MYOBJECT_AXIS_XP;
      			MYOBJECT_AXIS_XN;
      			MYOBJECT_AXIS_ZP;
      			MYOBJECT_AXIS_ZN;
      		}
      	}
      		
      	SEPARATOR	{ LINE; }
      
      	BOOL MYOBJECT_SEEN_BY_CAMERA {  }
      	BOOL MYOBJECT_SEEN_BY_TRANSPARENCY {  }
      	BOOL MYOBJECT_SEEN_BY_REFLECTION {  }
      }
      

      Result:

      layoutgroup_description_resource_3.jpg
      Thank you.

      1 Reply Last reply Reply Quote 0
      • ferdinandF
        ferdinand
        last edited by ferdinand

        Hi,

        the trick is to use a dummy STATICTEXT element with the JOINENDSCALE flag. The example is taken from ddoc.res - the file for the project settings dialog. Rember you can (should) always use a text file search tool like Agent Ransack to peek into type, interface or smybol definitions to figure out how things are working.

        CONTAINER Ddoc
        {
        	NAME Ddoc;
        
        	GROUP DOCUMENT_GROUP_PROJECTSETTINGS
        	{
        		DEFAULT 1;
        		COLUMNS 2;
        
        		UNITSCALE DOCUMENT_DOCUNIT { ANIM OFF; }
        		STATICTEXT { JOINENDSCALE; }
        
        		BUTTON DOCUMENT_SCALEDOCUMENT {}
        		STATICTEXT { }
        
        		SEPARATOR { LINE; }
        		STATICTEXT { JOINENDSCALE; }
        
        		LONG DOCUMENT_FPS { ANIM OFF; MIN 1; MAX 2500; }
        		BASETIME DOCUMENT_TIME { ANIM OFF; }
        
        		BASETIME DOCUMENT_MINTIME	{ ANIM OFF; }
        		BASETIME DOCUMENT_MAXTIME	{ ANIM OFF; }
        
        		BASETIME DOCUMENT_LOOPMINTIME	{ ANIM OFF; }
        		BASETIME DOCUMENT_LOOPMAXTIME	{ ANIM OFF; }
        
        		SEPARATOR { LINE; }
        		STATICTEXT { JOINENDSCALE; }
        		
        		REAL DOCUMENT_LOD { ANIM OFF; UNIT PERCENT; MIN 0.0; MAX 100.0; }
        		BOOL DOCUMENT_RENDERLOD { ANIM OFF; }
        
        		SEPARATOR { LINE; }
        		STATICTEXT { JOINENDSCALE; }
        
        		BOOL DOCUMENT_USEANIMATION { ANIM OFF; }
        		BOOL DOCUMENT_USEEXPRESSIONS { ANIM OFF; }
        		BOOL DOCUMENT_USEGENERATORS { ANIM OFF; }
        		BOOL DOCUMENT_USEDEFORMERS { ANIM OFF; }
        
        		BOOL DOCUMENT_USEMOTIONSYSTEM { ANIM OFF; }
        		STATICTEXT { }
        
        		SEPARATOR { LINE; }
        		STATICTEXT { JOINENDSCALE; }
        
        		LONG DOCUMENT_DEFAULTMATERIAL_TYPE { ALIGN_LEFT; ANIM OFF; CYCLE { DOCUMENT_DEFAULTMATERIAL_TYPE_WHITE; DOCUMENT_DEFAULTMATERIAL_TYPE_BLUE; DOCUMENT_DEFAULTMATERIAL_TYPE_USER; }}
        		STATICTEXT { }
        
        		COLOR DOCUMENT_DEFAULTMATERIAL_COLOR { ANIM OFF; FIT_H; }
        		STATICTEXT { JOINENDSCALE; }
        
        		SEPARATOR { LINE; }
        		STATICTEXT { JOINENDSCALE; }
        
        		LONG DOCUMENT_CLIPPING_PRESET
        		{
        			ALIGN_LEFT; ANIM OFF; PARENTCOLLAPSE;
        			CYCLE
        			{
        				DOCUMENT_CLIPPING_PRESET_TINY;
        				DOCUMENT_CLIPPING_PRESET_SMALL;
        				DOCUMENT_CLIPPING_PRESET_MEDIUM;
        				DOCUMENT_CLIPPING_PRESET_LARGE;
        				DOCUMENT_CLIPPING_PRESET_HUGE;
        				DOCUMENT_CLIPPING_PRESET_CUSTOM;
        			}
        		}
        		STATICTEXT { }
        
        		REAL DOCUMENT_CLIPPING_PRESET_NEAR { FIT_H; PARENTCOLLAPSE DOCUMENT_CLIPPING_PRESET; ANIM OFF; UNIT METER; MIN 0; }
        		STATICTEXT { JOINENDSCALE; }
        
        		REAL DOCUMENT_CLIPPING_PRESET_FAR { FIT_H; PARENTCOLLAPSE DOCUMENT_CLIPPING_PRESET; ANIM OFF; UNIT METER; MIN 0; }
        		STATICTEXT { JOINENDSCALE; }
        
        		SEPARATOR { LINE; }
        		STATICTEXT { JOINENDSCALE; }
        
        		BOOL DOCUMENT_LINEARWORKFLOW { ANIM OFF; }
        		STATICTEXT { JOINENDSCALE; }
        		LONG DOCUMENT_COLORPROFILE { PARENTCOLLAPSE; ANIM OFF; CYCLE { DOCUMENT_COLORPROFILE_SRGB; DOCUMENT_COLORPROFILE_LINEAR; DOCUMENT_COLORPROFILE_DISABLED; }}
        		STATICTEXT { }
        		
        		GROUP
        		{
        			STRING DOCUMENT_COLORINFO { PARENTCOLLAPSE DOCUMENT_COLORPROFILE; ANIM OFF; CUSTOMGUI MULTISTRING; WORDWRAP; READONLY; }
        		}
        
        		SEPARATOR { LINE; }
        		STATICTEXT { JOINENDSCALE; }
        		
        		SEPARATOR { LINE; }
        		STATICTEXT { JOINENDSCALE; }
        
        		GROUP
        		{
        			COLUMNS 1;
        			BOOL DOCUMENT_CONVERT_BXDF_TO_COLORCHANNEL { ANIM OFF; }
        		}
        		STATICTEXT { JOINENDSCALE; }
        
        		SEPARATOR { LINE; }
        		STATICTEXT { JOINENDSCALE; }
        
        		GROUP
        		{
        			COLUMNS 2;
        
        			BUTTON	DOCUMENT_PRESET_COMMAND_LOAD		{  }
        			BUTTON	DOCUMENT_PRESET_COMMAND_SAVE		{  }
        		}
        		STATICTEXT { JOINENDSCALE; }
        	}
        
        	GROUP DOCUMENT_INFO_GROUP1
        	{
        		SCALE_V;
        
        		STRING DOCUMENT_INFO_AUTHOR { ANIM OFF; }
        		STRING DOCUMENT_INFO_COPYRIGHT { ANIM OFF; CUSTOMGUI MULTISTRING; SCALE_V; WORDWRAP; }
        		STRING DOCUMENT_INFO_README { ANIM OFF; CUSTOMGUI MULTISTRING; SCALE_V; WORDWRAP; }
        		STATICTEXT DOCUMENT_INFO_FILEFORMAT { ANIM OFF; BORDER; }
        		STATICTEXT DOCUMENT_INFO_FILEVERSION { ANIM OFF; BORDER; }
        
        		STATICTEXT DOCUMENT_INFO_PRGCREATOR_STRING { ANIM OFF; BORDER; }
        		STRING DOCUMENT_INFO_PRGCREATOR_NAME { HIDDEN; ANIM OFF; }
        		LONG DOCUMENT_INFO_PRGCREATOR_ID { HIDDEN; ANIM OFF; }
        		STATICTEXT DOCUMENT_INFO_DATECREATED_STRING { ANIM OFF; BORDER; }
        
        		STATICTEXT DOCUMENT_INFO_PRGWRITER_STRING { ANIM OFF; BORDER; }
        		STRING DOCUMENT_INFO_PRGWRITER_NAME { HIDDEN; ANIM OFF; }
        		LONG DOCUMENT_INFO_PRGWRITER_ID { HIDDEN; ANIM OFF; }
        		
        		STATICTEXT DOCUMENT_INFO_DATESAVED_STRING { ANIM OFF; BORDER; }
        		
        		FILENAME DOCUMENT_PATH { HIDDEN; READONLY; ANIM OFF; DIRECTORY; }
        		FILENAME DOCUMENT_NAME { HIDDEN; READONLY; ANIM OFF; }
        		FILENAME DOCUMENT_FILEPATH { READONLY; ANIM OFF; }
        
        		BITMAPBUTTON DOCUMENT_PREVIEW_IMAGE { SCALE_H; BORDER; }
        		LONG DOCUMENT_PREVIEW_COMMAND
        		{
        			SCALE_H;
        			ANIM OFF;
        			CUSTOMGUI CYCLEBUTTON; 
        			CYCLE 
        			{
        				DOCUMENT_PREVIEW_COMMAND_AUTO;
        				DOCUMENT_PREVIEW_COMMAND_PASTE;
        				DOCUMENT_PREVIEW_COMMAND_FROMEDITOR;
        				DOCUMENT_PREVIEW_COMMAND_LOAD;
        			}
        		}
        	}
        
        	GROUP DOCUMENT_INFO_GROUP2
        	{
        		//STRING DOCUMENT_INFO_PREVIEW { ANIM OFF; }
        	}
        }
        
        

        Cheers
        zipit

        MAXON SDK Specialist
        developers.maxon.net

        mfersaouiM 1 Reply Last reply Reply Quote 2
        • mfersaouiM
          mfersaoui @ferdinand
          last edited by

          @zipit said in LAYOUTGROUP Description Resource:

          STATICTEXT { JOINENDSCALE; }

          I'm searching this solution for long time, thank you so much!!!

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