Customize User Interface

Customize User Interface

Anonymous
Not applicable
1,112 Views
1 Reply
Message 1 of 2

Customize User Interface

Anonymous
Not applicable

I have used AutoCad for years (AutoCad 10 was my first).  I have never really 'delved' deep into the customizations but I am finding myself bouncing between the Home Ribbon and the Annotate Ribbon.  I also just learned how to make my own custom ribbon (I did this with a few easy commands) but what I would really love to do is grab existing 'sections' of each ribbon exactly as they are by default and put them on a custom ribbon.

 

For example, from the home page, I want the 'Draw', 'Layers', and 'Properties' and from the Annotate ribbon, I want 'text', 'Dimensions' and 'Leaders' sections from the Annotate ribbon.  for the most part I keyboard my commands as I don't do complicated stuff so I use "C" for circle etc.  However, when I want to switch between layers (say I am in 'hatch' layer and I want to go into the 'dimension' layer, I have to swap from Annotate ribbon to Home ribbon then back to Annotate. 

 

All that being said, is there a way to grab 'whole' sections of the default ribbon sections and put them into a custom Ribbon? 

 

Thanks in Advance. 

0 Likes
Accepted solutions (1)
1,113 Views
1 Reply
Reply (1)
Message 2 of 2

Sea-Haven
Mentor
Mentor
Accepted solution

Started with like version 1.4 so have customized forever. Unfortunatley Autodesk decided that they would not do a ribbon from a MNU as is the case for Toolbars and pop menus, the Ribbon is xml format so it is possible to write one from scratch.

 

Ok how to do it when you run CUI you can look at all commands and all the "BITS" that make that make a menu. You can copy and paste stuff between commands. I am going to explain for a POP menu or toolbar, as these can be created in Notepad you open CUI find the command and copy the relevant text string to your new menu. As a user of CIV3D but working mostly in the workspace "Drafting" had to change workspaces to get to CIV3D commands so made a menu with the commands I wanted.

 

You can see the long command syntax in this pop menu.

***MENUGROUP=SURFAL
***POP15
**SURFALIGN
[Surfalign]
[SURFACES]
[--]
[Create Surface]^c^c_AeccCreateSurface
[Create Surface from DEM]^c^c_AeccCreateSurfaceGridFromDEM
[Create Surface from TIN]^c^c_AeccCreateSurfaceFromTIN
[->Edit Surface]
[Edit Surface Style...]^c^c_AeccEditSurfaceStyle
[Edit Surface Properties]^c^c_AeccEditSurfaceProperties
[Add Line]^C^C_AeccAddSurfaceLine
[Delete Line]^c^c_AeccDeleteSurfaceLine
[Swap Edge]^c^c_AeccEditSurfaceSwapEdge
[Add Point]^c^c_AddPointToSurface
[Delete Point]^c^c_AeccDeleteSurfacePoint
[Modify Point]^c^c_AeccEditSurfacePoint
[Move Point]^C^C_AeccMoveSurfacePoint
[Minimize Flat Areas]^c^c_AeccMinimizeSurfaceFlatAreas
[Raise/Lower Surface]^c^c_AeccRaiseLowerSurface
[Paste Surface...]^c^c_AeccEditSurfacePaste
[Add Boundaries]^c^c_AeccAddSurfaceBoundaries
[Smooth Surface]^c^c_AeccSmoothSurface
[<-Simplify Surface]^c^c_AeccSimplifySurface
[->Add Surface Labels]^c^c_AeccAddSurfaceLabels 
[Add slope Surf Labels]^c^c_AeccAddSurfaceSlopeLabel
[Spot Elevation]^c^c_AeccAddSurfaceSpotElevLabel
[Spot Elevations on Grid]^c^c_AeccAddSpotElevLabelsOnGrid
[Contour - Single]^c^c_AeccAddContourLabelingSingle
[Contour - Multiple]^c^c_AeccAddContourLabeling
[Contour Multiple at Interval]^c^c_AeccAddContourLabelingGroup
[<-Add legend table]^c^_AeccAddSurfaceLegendTable
[->Utilities]
[Export to DEM]^c^c_AeccSurfaceExportToDem
[Volumes Dashboard]^C^C_AeccVolumesDashboard
[Water Drop...]^c^c_AeccCreateSurfaceWaterDrop
[Catchment Area]^c^c_AeccCatchmentArea
[Check for Contour Problems]^c^c_AeccCheckForContourProblems
[Drape Image]^c^c_AeccDrapeImage
[Extract Objects From Surface]^c^c_AeccSurfaceExtractObjects
[Move Blocks to Surface]^c^c_AeccMoveBlocksToSurface
[Move Blocks to Attribute Elevation]^c^c_AeccMOVEBLOCKSTOATTRIBELEV
[Add point to surface]^c^c_AECCCreatePointRandomPoints
[<-Move Text to Elevation]^c^c_AeccMoveTextToElevation
[--]
[ALIGNMENTS]
[--]
[Create Alignment by Layout]^c^c_AeccCreateAlignmentLayout
[Create Alignment from Polyline]^c^c_AeccCreateAlignmentEntities
[Edit Alignment Geometry]^C^C^p_AeccEditAlignment
[Reverse Alignment Direction]^c^c_AeccReverseAlignDirection
[Design Criteria Editor]^C^c_AeccDesignCriteriaEditor
[Offset lines]^c^cOffsetfeature
[->Add Alignment Labels]^c^c_AeccAddAlignLabels
[Add/Edit Station Labels]^c^c_AeccEditAlignmentLabels
[Station/Offset]^c^c_AeccAddAlignOffXYLbl
[Single Segment]^c^c_AeccAddAlignSegLbl
[Multiple Segment]^c^c_AeccAddAlignSegLbls
[Point of Intersection]^c^c_AeccAddAlignPointOfIntLbl
[<-Multiple Point of Intersection]^c^c_AeccAddAlignPointOfIntLbls
[->Add Tables]
[Add Line...]^c^c_AeccAddAlignmentLineTable
[Add Curve...]^c^c_AeccAddAlignmentCurveTable
[Add Spiral...]^c^c_AeccAddAlignmentSpiralTable
[Add Segments]^c^c_AeccAddAlignmentSegmentTable
[<-Renumber Tags]^c^c_AeccEditTagNumbers
[--]
[POINTS]
[--]
[Create pts]^c^c_AeccCreatePoints
[Add 1 PT]^C^C_AeccCreatePointManual
[Pt on Surface]^C^C_AeccCreatePointRandomPoints
[Add PT Table]^C^C_AeccAddPointTable 
[Export Points]^c^c_AeccExportPoints 

Now a toolbar but it also can have custom icons

***MENUGROUP=ALANSTOOLBAR
***TOOLBARS
**ALANSTOOLS
ID_ALAN_0    [_Toolbar("Alans1", _Right, _Show, 0, 0, 1)]
AECC_ShowTS  [_Button("Show Toolspace", RCDATA_16_IMAGE, RCDATA_16_IMAGE)]^C^C^C^P_ShowTS
ID_Matchprop [_Button("Match Properties", RCDATA_16_MATCH, RCDATA_16_MATCH)]^C^C_matchprop
ID_Erase     [_Button("Erase", RCDATA_16_ERASE, RCDATA_32_ERASE)]^C^C_erase
ID_Copy      [_Button("Copy", RCDATA_16_COPYOB, RCDATA_32_COPYOB)]$M=$(if,$(eq,$(substr,$(getvar,cmdnames),1,4),GRIP),_copy,^C^C_copy)
ID_Mirror    [_Button("Mirror", RCDATA_16_MIRROR, RCDATA_32_MIRROR)]$M=$(if,$(eq,$(substr,$(getvar,cmdnames),1,4),GRIP),_mirror,^C^C_mirror)
ID_Offset    [_Button("Offset", RCDATA_16_OFFSET, RCDATA_32_OFFSET)]^C^C_offset
ID_Array     [_Button("Array...", RCDATA_16_ARRREC, RCDATA_32_ARRREC)]^C^C_array

 

if you google there is very many tutorials about using The CUI to make new menus. 

 

A side comment you can pull apart the CUIX back to simple text so could make a new Ribbon menu but its a bit tricky so did not go into it here.

 

<?xml version="1.0"?>
<!--
Warning! Do not edit the contents of this file.
If you attempt to edit this file using an XML editor, you could lose
customization and migration functionality. If you need to change
information in the customization file, use the Customize User Interface
dialog in the product.
To access the Customize User Interface dialog, click the Tools menu,
Customization panel, User Interface button, or enter CUI on the command line.
-->
<RibbonRoot>
  <RibbonPanelSourceCollection xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <RibbonPanelSource UID="ID_PanelText" Text="Text" HiddenInEditor="false" KeyTip="TE">
      <ModifiedRev MajorVersion="20" MinorVersion="0" UserVersion="0" />
      <Name xlate="true" UID="XLS_00015648">Annotate - Text</Name>
      <DialogBoxLauncher UID="ID_RBN_0014" CommandID="ID_Style" CommandType="Macro" KeyTip="TS">
        <ModifiedRev MajorVersion="18" MinorVersion="0" UserVersion="0" />
      </DialogBoxLauncher>
      <Alias>ID_Text</Alias>
      <RibbonRow UID="ID_RBN_ROW_0090">
        <ModifiedRev MajorVersion="20" MinorVersion="0" UserVersion="0" />
        <RibbonSplitButton UID="RBN_00014261" Id="AcRibbonSplitButton" Text="Multiline&#xD;Text" KeyTip="MT" SmallImage="RCDATA_16_MTEXT" LargeImage="RCDATA_32_MTEXT" Behavior="SplitFollow" ListStyle="IconText" ButtonStyle="LargeWithText" Grouping="false">
          <ModifiedRev MajorVersion="18" MinorVersion="1" UserVersion="0" />
          <RibbonCommandButton UID="RBN_00014262" Id="AcRibbonCommandButton" Text="Multiline&#xD;Text" ButtonStyle="SmallWithoutText" MenuMacroID="ID_Mtext">
            <ModifiedRev MajorVersion="18" MinorVersion="2" UserVersion="0" />
          </RibbonCommandButton>
          <RibbonCommandButton UID="RBN_00014263" Id="AcRibbonCommandButton" Text="Single Line" ButtonStyle="SmallWithoutText" MenuMacroID="ID_Text">
            <ModifiedRev MajorVersion="18" MinorVersion="1" UserVersion="0" />
          </RibbonCommandButton>
        </RibbonSplitButton>
        <RibbonRowPanel UID="RBN_200_CD525" ResizeStyle="None" ResizePriority="100"