<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to load/save visible PaletteSet in .NET Forum</title>
    <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/14016702#M86554</link>
    <description>&lt;P&gt;the palette&amp;nbsp;GUID is stored in the profile, you should be able to setup a developer profile, or, don't use a GUID.&lt;/P&gt;</description>
    <pubDate>Fri, 13 Feb 2026 09:34:25 GMT</pubDate>
    <dc:creator>daniel_cadext</dc:creator>
    <dc:date>2026-02-13T09:34:25Z</dc:date>
    <item>
      <title>How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13624514#M61</link>
      <description>&lt;P&gt;I'm planing with &lt;STRONG&gt;PaletteSet&lt;/STRONG&gt; and I want to remember is the user close or not the &lt;STRONG&gt;PaletteSet&lt;/STRONG&gt;, so the next time AutoCAD opens the &lt;STRONG&gt;PaletteSet&lt;/STRONG&gt; is in the same state as before.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I found the &lt;STRONG&gt;PaletteSet&lt;/STRONG&gt; have the &lt;STRONG&gt;Load&lt;/STRONG&gt; and &lt;STRONG&gt;Save&lt;/STRONG&gt; event that have access to &lt;STRONG&gt;PalettePersistEventArgs&amp;nbsp;&lt;/STRONG&gt;with the &lt;STRONG&gt;ConfigurationSection.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I didn't found a way to get the &lt;STRONG&gt;ConfigurationSection&lt;/STRONG&gt; from the &lt;STRONG&gt;PaletteSet&lt;/STRONG&gt; without using the events.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In the end I'm using the &lt;STRONG&gt;Application.UserConfigurationManager.OpenCurrentProfile()&amp;nbsp;&lt;/STRONG&gt;to save and load the visibility of the &lt;STRONG&gt;PaletteSet.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is my &lt;STRONG&gt;PaletteSetUtils&lt;/STRONG&gt; class to help create &lt;STRONG&gt;PaletteSet&lt;/STRONG&gt;.&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;public static class PaletteSetUtils
{
    public static PaletteSet Create(string title, Guid guid, System.Windows.Media.Visual visual, bool defaultVisible = true)
    {
        var paletteSet = new PaletteSet(title, guid);
        paletteSet.MinimumSize = new System.Drawing.Size(300, 300);
        paletteSet.DockEnabled = DockSides.Right | DockSides.Left;
        paletteSet.Dock = DockSides.Right;
        paletteSet.Style = PaletteSetStyles.ShowAutoHideButton
                            | PaletteSetStyles.ShowCloseButton
                            | PaletteSetStyles.ShowPropertiesMenu
                            | PaletteSetStyles.Snappable;

        paletteSet.Save += PaletteSet_Save;
        paletteSet.AddVisual(title, visual);
        paletteSet.LoadVisible(defaultVisible);
        return paletteSet;
    }
    private static string GetConfigurationVisibleKey(this PaletteSet paletteSet)
    {
        return $"{paletteSet.GetType().Name}.{paletteSet.Name}.Visible";
    }
    private static void LoadVisible(this PaletteSet paletteSet, bool defaultVisible = true)
    {
        var configurationSection = Application.UserConfigurationManager.OpenCurrentProfile();
        var visible = (bool)configurationSection.ReadProperty(paletteSet.GetConfigurationVisibleKey(), defaultVisible);
        paletteSet.Visible = visible;
    }
    private static void SaveVisible(this PaletteSet paletteSet)
    {
        var configurationSection = Application.UserConfigurationManager.OpenCurrentProfile();
        configurationSection.WriteProperty(paletteSet.GetConfigurationVisibleKey(), paletteSet.Visible);
    }
    private static void PaletteSet_Save(object sender, PalettePersistEventArgs e)
    {
        var paletteSet = (PaletteSet)sender;
        paletteSet.SaveVisible();
    }
    public static void ToggleVisible(this PaletteSet paletteSet)
    {
        paletteSet.Visible = !paletteSet.Visible;
    }
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;With something like this:&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;public class AppPalette : IExtensionApplication
{
    public void Initialize()
    {
        PaletteSetUtils.Create("Test", new Guid("00000000-0000-0000-0000-000000000000"), new Grid());
    }
    public void Terminate() { }
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The code works, but I would prefer to use &lt;STRONG&gt;PalettePersistEventArgs.ConfigurationSection.&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;If someone know how to do it would be great.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Another question would be:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;How to change the title of the &lt;STRONG&gt;PaletteSet&lt;/STRONG&gt; after created.&lt;/LI&gt;&lt;LI&gt;How to find all &lt;STRONG&gt;PaletteSet&amp;nbsp;&lt;/STRONG&gt;already register inside AutoCAD.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2025 02:04:45 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13624514#M61</guid>
      <dc:creator>ricaun</dc:creator>
      <dc:date>2025-05-12T02:04:45Z</dc:date>
    </item>
    <item>
      <title>Re: How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13624575#M62</link>
      <description>&lt;P&gt;You shouldn't be creating an instance of the PalletSet class. You derive a class from it and then create an instance of that and manipulate it from within its constructor, as I showed in my previous example.&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2025 03:36:57 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13624575#M62</guid>
      <dc:creator>ActivistInvestor</dc:creator>
      <dc:date>2025-05-12T03:36:57Z</dc:date>
    </item>
    <item>
      <title>Re: How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13624636#M63</link>
      <description>&lt;P&gt;A quick search of my old code turned up this simple example of how to consume the PaletteSet class. It does most of the things you're struggling to figure out how to do, and should answer most of your questions, if you run the example as-is.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;AutoCAD automatically saves and restores the docking state of a PaletteSet when you pass it a GUID. There is no need to do that yourself. If you run the example&amp;nbsp; as-is, you'll see that.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.Windows;
using Autodesk.Windows.Themes;
using System;
using System.Windows.Forms;

namespace PaletteSetExample
{

   /// &amp;lt;summary&amp;gt;
   /// Basic PaletteSet example
   /// 
   /// Consuming the PaletteSet is done by deriving
   /// a class from it, and creating an instance of
   /// the derived class. All other interaction with
   /// the PaletteSet base class is done from within
   /// the derived class, not from the outside.
   /// &amp;lt;/summary&amp;gt;
   public class MyPaletteSet : PaletteSet
   {
      /// &amp;lt;summary&amp;gt;
      /// The single instance of this class
      /// &amp;lt;/summary&amp;gt;
      static MyPaletteSet instance = null;

      /// &amp;lt;summary&amp;gt;
      /// The GUID that allows AutoCAD to persist this
      /// PaletteSet's settings
      /// &amp;lt;/summary&amp;gt;
      static Guid guid = new Guid("{41738157-3080-4015-AB53-3ACF8067C792}");

      /// &amp;lt;summary&amp;gt;
      /// The name of the command that AutoCAD will issue
      /// to show the PaletteSet. If the PaletteSet is open
      /// when AutoCAD is last closed, when it starts up the
      /// next time, AutoCAD will issue this command to show
      /// the PaletteSet:
      /// &amp;lt;/summary&amp;gt;
      const string showCommand = "SHOWMYPALETTESET";

      RichTextBox textBox;

      public MyPaletteSet() : base("MyPaletteSet", showCommand, guid)
      {
         var theme = ThemeManager.PaletteSettings.CurrentTheme;
         var userControl = new UserControl();
         textBox = new RichTextBox();
         textBox.BackColor = FromMediaColor(theme.PaletteContainerBackgroundColor);
         textBox.ForeColor = FromMediaColor(theme.ControlTextColor);
         textBox.Dock = DockStyle.Fill;
         textBox.BorderStyle = BorderStyle.None;
         userControl.Controls.Add(textBox);
         userControl.BorderStyle = BorderStyle.None;
         this.DockEnabled = DockSides.Left | DockSides.Right;
         base.Add("MyPaletteSet Example", userControl);
      }

      /// &amp;lt;summary&amp;gt;
      /// Prevent AutoCAD From stealing the focus
      /// from the RichTextBox
      /// &amp;lt;/summary&amp;gt;
      public override bool KeepFocus 
      { 
         get =&amp;gt; true; 
      }

      /// &amp;lt;summary&amp;gt;
      /// The command that shows the PaletteSet
      /// 
      /// The initial docking state of the PaletteSet
      /// is not set. The user docks the PaletteSet as
      /// they prefer, and AutoCAD will remember where
      /// it was docked and dock it in the same place
      /// the next time AutoCAD starts and shows the
      /// PaletteSet.
      /// 
      /// &amp;lt;/summary&amp;gt;
      
      [CommandMethod(showCommand)]
      public static void MyPaletteSetCommand()
      {
         if(instance == null)
            instance = new MyPaletteSet();
         instance.Visible = true;
      }

      /// Convert System.Windows.Media color to System.Drawing.Color
      internal static System.Drawing.Color FromMediaColor(System.Windows.Media.Color color)
      {
         return System.Drawing.Color.FromArgb(color.A, color.R, color.G, color.B);
      }
   }
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2025 05:09:01 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13624636#M63</guid>
      <dc:creator>ActivistInvestor</dc:creator>
      <dc:date>2025-05-12T05:09:01Z</dc:date>
    </item>
    <item>
      <title>Re: How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13624655#M64</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;You could read &lt;A href="https://gilecad.azurewebsites.net/UserInterfaces_en.aspx#" target="_blank" rel="noopener"&gt;this topic&lt;/A&gt; about AutoCAD User Interfaces.&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2025 05:13:24 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13624655#M64</guid>
      <dc:creator>_gile</dc:creator>
      <dc:date>2025-05-12T05:13:24Z</dc:date>
    </item>
    <item>
      <title>Re: How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13626085#M65</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4476837"&gt;@ActivistInvestor&lt;/a&gt;&lt;/P&gt;&lt;P&gt;You are right, your example works, the palette stay open in the next &lt;STRONG&gt;AutoCAD&lt;/STRONG&gt; section... But why?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Looks like &lt;STRONG&gt;AutoCAD&lt;/STRONG&gt; remember and execute the command '&lt;STRONG&gt;SHOWMYPALETTESET&lt;/STRONG&gt;' if the '&lt;STRONG&gt;MyPaletteSet&lt;/STRONG&gt;' was visible before close &lt;STRONG&gt;AutoCAD&lt;/STRONG&gt;...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I never create a&amp;nbsp;&lt;STRONG&gt;CommandMethod&lt;/STRONG&gt; in my sample project, this explain the reason never works for me, and I create approach using &lt;STRONG&gt;IConfigurationSection&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There are some way to register a &lt;STRONG&gt;CommandMethod&lt;/STRONG&gt; without using the Attribute, like &lt;STRONG&gt;RegisterCommandMethod.Create("SHOWMYPALETTESET", ()=&amp;gt;{ // do something });&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2025 14:21:48 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13626085#M65</guid>
      <dc:creator>ricaun</dc:creator>
      <dc:date>2025-05-12T14:21:48Z</dc:date>
    </item>
    <item>
      <title>Re: How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13626348#M66</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4176855"&gt;@ricaun&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4476837"&gt;@ActivistInvestor&lt;/a&gt;&lt;/P&gt;&lt;P&gt;You are right, your example works, the palette stay open in the next &lt;STRONG&gt;AutoCAD&lt;/STRONG&gt; section... But why?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Looks like &lt;STRONG&gt;AutoCAD&lt;/STRONG&gt; remember and execute the command '&lt;STRONG&gt;SHOWMYPALETTESET&lt;/STRONG&gt;' if the '&lt;STRONG&gt;MyPaletteSet&lt;/STRONG&gt;' was visible before close &lt;STRONG&gt;AutoCAD&lt;/STRONG&gt;...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I never create a&amp;nbsp;&lt;STRONG&gt;CommandMethod&lt;/STRONG&gt; in my sample project, this explain the reason never works for me, and I create approach using &lt;STRONG&gt;IConfigurationSection&lt;/STRONG&gt;.&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;I wouldn't expect a Revit programmer to be familiar with the concept of "commands", but that's the basic and most-common way that .NET plugins allow the user to access their functionality. It may be helpful to review the &lt;A href="https://help.autodesk.com/view/OARX/2023/ENU/?guid=GUID-F77E8FE0-8034-4704-93BD-F717608F8223" target="_blank" rel="noopener"&gt;AutoCAD Developer's Guide&lt;/A&gt; for becoming familiar with the basics of AutoCAD .NET development.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There are some way to register a &lt;STRONG&gt;CommandMethod&lt;/STRONG&gt; without using the Attribute, like &lt;STRONG&gt;RegisterCommandMethod.Create("SHOWMYPALETTESET", ()=&amp;gt;{ // do something });&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;No. The attribute is the only way to define commands. They make it easy because AutoCAD's runtime does the work of finding and registering them.&lt;/P&gt;</description>
      <pubDate>Mon, 12 May 2025 16:36:34 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13626348#M66</guid>
      <dc:creator>ActivistInvestor</dc:creator>
      <dc:date>2025-05-12T16:36:34Z</dc:date>
    </item>
    <item>
      <title>Re: How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13627695#M67</link>
      <description>&lt;P&gt;"No. The attribute is the only way to define commands"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There was&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;namespace Autodesk.AutoCAD.Internal
public static void AddCommand(string cmdGroupName, string cmdGlobalName, string cmdLocalName, CommandFlags cmdFlags, CommandCallback func);&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;I think this was added for IronPython and the likes&lt;/P&gt;</description>
      <pubDate>Tue, 13 May 2025 09:46:48 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13627695#M67</guid>
      <dc:creator>daniel_cadext</dc:creator>
      <dc:date>2025-05-13T09:46:48Z</dc:date>
    </item>
    <item>
      <title>Re: How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13628206#M68</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/8575899"&gt;@daniel_cadext&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;&lt;P&gt;"No. The attribute is the only way to define commands"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There was&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;LI-CODE lang="csharp"&gt;namespace Autodesk.AutoCAD.Internal
public static void AddCommand(string cmdGroupName, string cmdGlobalName, string cmdLocalName, CommandFlags cmdFlags, CommandCallback func);&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;I think this was added for IronPython and the likes&lt;/P&gt;&lt;HR /&gt;&lt;P&gt;Great!&amp;nbsp;The &lt;STRONG&gt;Autodesk.AutoCAD.Internal.Utils&amp;nbsp;&lt;/STRONG&gt;class have a lot of useful methods. For commands this: &lt;STRONG&gt;AddCommand&lt;/STRONG&gt;, &lt;STRONG&gt;IsCommandDefined&lt;/STRONG&gt; and &lt;STRONG&gt;RemoveCommand&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is my utility class to create commands on the fly.&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;using Autodesk.AutoCAD.Runtime;

public static class CommandUtils
{
    private const string CommandGroup = "CommandGroup";

    public static bool IsCommandDefined(string commandName)
    {
        return Autodesk.AutoCAD.Internal.Utils.IsCommandDefined(commandName);
    }
    public static bool AddCommand(string commandName, Autodesk.AutoCAD.Internal.CommandCallback action)
    {
        return AddCommand(CommandGroup, commandName, CommandFlags.Modal, action);
    }
    public static bool AddCommand(string commandName, CommandFlags commandFlags, Autodesk.AutoCAD.Internal.CommandCallback action)
    {
        return AddCommand(CommandGroup, commandName, commandFlags, action);
    }
    public static bool AddCommand(string commandGroup, string commandName, CommandFlags commandFlags, Autodesk.AutoCAD.Internal.CommandCallback action)
    {
        Autodesk.AutoCAD.Internal.Utils.AddCommand(commandGroup, commandName, commandName, commandFlags, action);
        return IsCommandDefined(commandName);
    }
    public static bool RemoveCommand(string commandGroup, string commandName)
    {
        if (IsCommandDefined(commandName))
        {
            Autodesk.AutoCAD.Internal.Utils.RemoveCommand(commandGroup, commandName);
            return true;
        }
        return false;
    }
    public static bool RemoveCommand(string commandName)
    {
        return RemoveCommand(CommandGroup, commandName);
    }
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And I can update my &lt;STRONG&gt;PaletteSetUtils&lt;/STRONG&gt; to remove the &lt;STRONG&gt;ConfigurationSection&lt;/STRONG&gt; and use &lt;STRONG&gt;CommandUtils.AddCommand&lt;/STRONG&gt; create the show/hide palette without using an attribute. &lt;span class="lia-unicode-emoji" title=":hugging_face:"&gt;🤗&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;public static class PaletteSetUtils
{
    public static PaletteSet Create(string title, Guid guid, System.Windows.Media.Visual visual)
    {
        var commandName = "Show_Palette_" + title.Replace(" ", "_").Replace("-", "_");
        return Create(commandName.ToUpperInvariant(), title, guid, visual);
    }
    public static PaletteSet Create(string commandName, string title, Guid guid, System.Windows.Media.Visual visual)
    {
        var paletteSet = new PaletteSet(title, commandName, guid);
        paletteSet.MinimumSize = new System.Drawing.Size(300, 300);
        paletteSet.DockEnabled = DockSides.Right | DockSides.Left;
        paletteSet.Dock = DockSides.Right;
        paletteSet.Style = PaletteSetStyles.ShowAutoHideButton
                            | PaletteSetStyles.ShowCloseButton
                            | PaletteSetStyles.ShowPropertiesMenu
                            | PaletteSetStyles.Snappable;

        paletteSet.KeepFocus = true;
        paletteSet.AddVisual(title, visual);
        CommandUtils.AddCommand(commandName, () =&amp;gt; { paletteSet.ToggleVisible(); });
        return paletteSet;
    }
    public static void ToggleVisible(this PaletteSet paletteSet)
    {
        paletteSet.Visible = !paletteSet.Visible;
    }
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now looks better.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 May 2025 13:56:03 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13628206#M68</guid>
      <dc:creator>ricaun</dc:creator>
      <dc:date>2025-05-13T13:56:03Z</dc:date>
    </item>
    <item>
      <title>Re: How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13628225#M69</link>
      <description>&lt;P&gt;I still have a question related to &lt;STRONG&gt;PaletteSet.&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can I update the title, looks like &lt;STRONG&gt;AutoCAD&lt;/STRONG&gt; records the title and after creating the &lt;STRONG&gt;PaletteSet.&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I didn't find a way to rename the title or unregister the &lt;STRONG&gt;PaletteSet &lt;/STRONG&gt;using the the &lt;STRONG&gt;Guid&lt;/STRONG&gt;. Anyone have some idea how to do it?&lt;/P&gt;</description>
      <pubDate>Tue, 13 May 2025 14:01:48 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13628225#M69</guid>
      <dc:creator>ricaun</dc:creator>
      <dc:date>2025-05-13T14:01:48Z</dc:date>
    </item>
    <item>
      <title>Re: How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13628530#M70</link>
      <description>&lt;P&gt;The command needs to remain defined so that the user can show the pallet set there also should be another command to hide it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I don't understand your aversion to using attributes to Define commands since they are pretty much the standard way of doing that and relying on undocumented apis is not really recommended..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You really don't have any legitimate reason to not use an attribute since the command must exist until AutoCAD closes.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I purposely did not tell you about those apis because they are not documented and because you don't really need them. Those apis are used by autocad's macro recorder to Define commands that execute recorded macros.&lt;/P&gt;</description>
      <pubDate>Tue, 13 May 2025 17:24:01 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13628530#M70</guid>
      <dc:creator>ActivistInvestor</dc:creator>
      <dc:date>2025-05-13T17:24:01Z</dc:date>
    </item>
    <item>
      <title>Re: How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13628544#M71</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/8575899"&gt;@daniel_cadext&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;&lt;P&gt;"No. The attribute is the only way to define commands"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There was&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;See my reply to the OP&lt;/P&gt;</description>
      <pubDate>Tue, 13 May 2025 17:33:26 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13628544#M71</guid>
      <dc:creator>ActivistInvestor</dc:creator>
      <dc:date>2025-05-13T17:33:26Z</dc:date>
    </item>
    <item>
      <title>Re: How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13628603#M72</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4476837"&gt;@ActivistInvestor&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;&lt;P&gt;The command needs to remain defined so that the user can show the pallet set there also should be another command to hide it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I don't understand your aversion to using attributes to Define commands since they are pretty much the standard way of doing that and relying on undocumented apis is not really recommended..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You really don't have any legitimate reason to not use an attribute since the command must exist until AutoCAD closes.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I purposely did not tell you about those apis because they are not documented and because you don't really need them. Those apis are used by autocad's macro recorder to Define commands that execute recorded macros.&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;I want to create a library for &lt;STRONG&gt;AutoCAD&lt;/STRONG&gt; similar like I have Revit (&lt;A href="https://github.com/ricaun-io/ricaun.Revit.UI" target="_blank"&gt;https://github.com/ricaun-io/ricaun.Revit.UI&lt;/A&gt;) to make easier to create Ribbons and UI stuff without the need create extra code in the main plugin.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And in the case of &lt;STRONG&gt;PaletteSet&lt;/STRONG&gt; is much convenient to just run &lt;STRONG&gt;PaletteSet&lt;/STRONG&gt;&lt;STRONG&gt;Utils.Create&amp;nbsp;&lt;/STRONG&gt;to create a custom palette, without the need to create a extra command to control if the palette is visible or not. I could have a single command to toggle the Palette visibility, but now that I don't need a method with the attribute I can create one command for hide and another for show. &lt;span class="lia-unicode-emoji" title=":smiling_face_with_smiling_eyes:"&gt;😊&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;PaletteSetUtils.Create("SHOW_MY_PALETTE", "My palette Title", new Guid("00000000-0000-0000-0000-000000000000"), new MyCustomPalette());&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And create command is really useful in some case like if I need to create 100 commands on the fly.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;for (int i = 0; i &amp;lt; 100; i++)
{
    var commandNumber = i;
    CommandUtils.AddCommand($"Add_Command_{commandNumber}", () =&amp;gt; { Debug.WriteLine(commandNumber); });
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I already found some really internal stuff like&amp;nbsp;&lt;STRONG&gt;Autodesk.AutoCAD.ApplicationServices.ExtensionLoader&lt;/STRONG&gt; that I was messing to inject a command, was not working very well.&lt;/P&gt;&lt;P&gt;The &lt;STRONG&gt;Autodesk.AutoCAD.Internal.Utils.AddCommand &lt;/STRONG&gt;is public class and works like a charm.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And I found &lt;STRONG&gt;Autodesk.AutoCAD.Runtime.ExtensionLoader.Load(fileName)&amp;nbsp;&lt;/STRONG&gt;that is probably the same thing as the &lt;STRONG&gt;NETLOAD&lt;/STRONG&gt; command.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So you can share internal stuff about AutoCAD API. &lt;span class="lia-unicode-emoji" title=":smiling_face_with_smiling_eyes:"&gt;😊&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 May 2025 18:21:30 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13628603#M72</guid>
      <dc:creator>ricaun</dc:creator>
      <dc:date>2025-05-13T18:21:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13630705#M73</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4176855"&gt;@ricaun&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;I want to create a library for &lt;STRONG&gt;AutoCAD&lt;/STRONG&gt; similar like I have Revit (&lt;A href="https://github.com/ricaun-io/ricaun.Revit.UI" target="_blank" rel="noopener"&gt;https://github.com/ricaun-io/ricaun.Revit.UI&lt;/A&gt;) to make easier to create Ribbons and UI stuff without the need create extra code in the main plugin.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Your code library (following a Fluent API style) looks like a collection of one-line extension methods that do nothing except set a property, and return the argument.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Those extension methods serve no useful purpose.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For example, using your extension methods:&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;var textBox = new RibbonTextBox()
    .SetSelectTextOnFocus()
    .SetShowImageAsButton()
    .SetPromptText("Search")
    .SetValue("Search")
    .SetImage(Icons.Icon);&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And here is my code not using any third-party library (and using object-initializer syntax):&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;var textBox = new RibbonTextBox()
{
   SelectTextOnFocus = true,  
   ShowImageAsButton = true,
   PromptText = "Search",
   Value = "Search",
   Image = Icons.Icon
};&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So, what is the purpose of your extension methods used above?&amp;nbsp; All that they do is trade the assignment operator (=) for parenthesis (). My code above which uses no 3rd-party library is just as compact as yours, and its function is clearer rather than obfuscated. I don't use external libraries (including my own) only for the sake of using them. While the Fluent API-style of programming has its place (e.g., Linq), property assignment is not one of them.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;All of what I've seen from you thus far seems suggest that you aren't all that familiar with the OOP-way of reusing code through subclassing (for example, creating instances of the PaletteSet class directly, verses defining a subclass as I had shown earlier).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For example, if I have to create many RibbonTextBoxes that all have a subset of their properties set to the same values, I can do this:&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;public class MyCustomRibbonTextbox : RibbonTextBox
{
   public MyCustomRibbonTextBox()
   {
      this.SelectTextOnFocus = true;
      this.ShowImageAsButton = true;
      this.PromptText = "Search";
      this.Value = "Search";
      this.Image = Icons.Icon;
   }
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And I would only have to do this to create an instance with its properties set accordingly:&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;   ribbpnPane1.Add(new MyCustomRibbonTextBox());&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So, I can't come up with any other reason that explains what purpose there is to a collection of one-line extension methods that do nothing except set a property value. IMO, they are self-defeating because they actually create as much or more code than they eliminate. They are like a solution that is looking for a problem.&lt;/P&gt;</description>
      <pubDate>Wed, 14 May 2025 21:02:35 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13630705#M73</guid>
      <dc:creator>ActivistInvestor</dc:creator>
      <dc:date>2025-05-14T21:02:35Z</dc:date>
    </item>
    <item>
      <title>Re: How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13630825#M74</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4476837"&gt;@ActivistInvestor&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Your code library looks like a collection of one-line extension methods that do nothing except set a property, and return the argument.&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Yes, Revit is a little different to work with &lt;STRONG&gt;Ribbons&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You don't have have access the &lt;STRONG&gt;Autodesk.Windows.RibbonTextBox &lt;/STRONG&gt;class, you need to create the &lt;STRONG&gt;Autodesk.Revit.UI.TextBox &lt;/STRONG&gt;class and that is added inside the &lt;STRONG&gt;Autodesk.Revit.UI.RibbonPanel&lt;/STRONG&gt;, that you create using the &lt;A href="https://www.revitapidocs.com/2025/9dc43d71-cbe3-d7f5-8086-118f83cb46d8.htm" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;CreateRibbonPanel&lt;/STRONG&gt;&lt;/A&gt; method.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And is possible to use reflection to get the internal &lt;STRONG&gt;Autodesk.Windows.RibbonTextBox&lt;/STRONG&gt; and &lt;STRONG&gt;Autodesk.Windows.&lt;/STRONG&gt;&lt;STRONG&gt;RibbonPanel&lt;/STRONG&gt;. That's the main reason the extension make sense to access some internal proprieties that is not expose in the main &lt;STRONG&gt;Autodesk.Revit.UI&lt;/STRONG&gt; class.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Because I use in all my plugins the &lt;STRONG&gt;ricaun.Revit.UI&lt;/STRONG&gt; library, if I update the library to support automatic image change base in the &lt;STRONG&gt;light&lt;/STRONG&gt; or &lt;STRONG&gt;dark&lt;/STRONG&gt; theme, all plugin gonna have this feature by default, no extra code required, just update the library. That happen in&amp;nbsp;Revit 2024 that the Dark theme was introduced in Revit.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So a similar library with similar features for &lt;STRONG&gt;AutoCAD&lt;/STRONG&gt; make sense for me.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 14 May 2025 21:39:59 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13630825#M74</guid>
      <dc:creator>ricaun</dc:creator>
      <dc:date>2025-05-14T21:39:59Z</dc:date>
    </item>
    <item>
      <title>Re: How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13630997#M75</link>
      <description>&lt;P&gt;My comments aren't really about the RibbonTextBox or whether it is accessible, the examples I showed used that type as an example, but could have used any other type that have similar extension methods that don't do anything except set a property.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In the example, there is little-to-no advantage to using the fluent extension methods.&lt;/P&gt;</description>
      <pubDate>Thu, 15 May 2025 02:02:05 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13630997#M75</guid>
      <dc:creator>ActivistInvestor</dc:creator>
      <dc:date>2025-05-15T02:02:05Z</dc:date>
    </item>
    <item>
      <title>Re: How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13632687#M76</link>
      <description>&lt;P&gt;You are right in your example there is no advantage to use fluent extensions.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The idea is to only use fluent extensions, and even that is setting a simple proprietary internally make sense in the fluent API way.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is how I create a tab and panel with a button.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ricaun_1-1747336229559.png" style="width: 400px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1533871iD5D2D5A992B28FA4/image-size/medium?v=v2&amp;amp;px=400" role="button" title="ricaun_1-1747336229559.png" alt="ricaun_1-1747336229559.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;public class AppTest : ExtensionApplication
{
    public const string RibbonTab = "Tab";
    public const string RibbonPanel = "Panel";
    public override void OnStartup(RibbonControl ribbonControl)
    {
        var ribbonPanel = ribbonControl.CreateOrSelectPanel(RibbonPanel, RibbonTab);

        ribbonPanel.CreateButton("Change\rTheme")
            .SetDescription("Description")
            .SetLargeImage("Resources/Cube-Grey-Light.tiff")
            .SetToolTipImage("Resources/Cube-Grey-Light.tiff")
            .SetToolTip("ToolTip")
            .SetCommand(() =&amp;gt; {
                Application.SetSystemVariable("COLORTHEME", 1 ^ (short)Application.GetSystemVariable("COLORTHEME"));
            });
    }
    public override void OnShutdown(RibbonControl ribbonControl)
    {
            
    }
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Looks so simple that I don't need to know or care what kind of &lt;STRONG&gt;Autodesk.Windows.RibbonItem&lt;/STRONG&gt; the &lt;STRONG&gt;CreateButton&lt;/STRONG&gt; is using, just call &lt;STRONG&gt;CreateButton&lt;/STRONG&gt; in the &lt;STRONG&gt;RibbonPanel&lt;/STRONG&gt; to create a button and use &lt;STRONG&gt;Set&amp;nbsp;&lt;/STRONG&gt;to change the proprieties of the button.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The fluent API way looks easier for me.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 15 May 2025 19:46:41 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13632687#M76</guid>
      <dc:creator>ricaun</dc:creator>
      <dc:date>2025-05-15T19:46:41Z</dc:date>
    </item>
    <item>
      <title>Re: How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13632822#M77</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4176855"&gt;@ricaun&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The fluent API way looks easier for me.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;I can't see how it's easier to have to define an extension method for &lt;EM&gt;every property of every RibbonItem-based type&lt;/EM&gt;, that does nothing other than set's the property's value, only to be able to consistently use Fluent-style code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks, but no thanks.&amp;nbsp; I'll stick with stock C#&lt;/P&gt;</description>
      <pubDate>Thu, 15 May 2025 21:29:23 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/13632822#M77</guid>
      <dc:creator>ActivistInvestor</dc:creator>
      <dc:date>2025-05-15T21:29:23Z</dc:date>
    </item>
    <item>
      <title>Re: How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/14016694#M86553</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4476837"&gt;@ActivistInvestor&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;hello, I also want to ask the follow question:&lt;BR /&gt;Because during the testing process, the title needs to be frequently modified, I also hope to be able to find the specific location of its registration in the registry, so as to delete the registration information for debugging and checking whether the modification was successful.&lt;BR /&gt;&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;So I also want to know how to manually delete the previously saved information to facilitate Debug testing&lt;/STRONG&gt;&lt;/FONT&gt;. If i keep modifying the path of the GUID every time, it is often easy to forget. After the test is completed, the actual running ID will be the fixed one.&lt;BR /&gt;&lt;BR /&gt;Think you first!&lt;/P&gt;</description>
      <pubDate>Fri, 13 Feb 2026 09:28:14 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/14016694#M86553</guid>
      <dc:creator>Medithaibet</dc:creator>
      <dc:date>2026-02-13T09:28:14Z</dc:date>
    </item>
    <item>
      <title>Re: How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/14016702#M86554</link>
      <description>&lt;P&gt;the palette&amp;nbsp;GUID is stored in the profile, you should be able to setup a developer profile, or, don't use a GUID.&lt;/P&gt;</description>
      <pubDate>Fri, 13 Feb 2026 09:34:25 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/14016702#M86554</guid>
      <dc:creator>daniel_cadext</dc:creator>
      <dc:date>2026-02-13T09:34:25Z</dc:date>
    </item>
    <item>
      <title>Re: How to load/save visible PaletteSet</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/14016763#M86556</link>
      <description>&lt;P&gt;The settings for your pallet set are stored in the file FixedProfile.aws.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It's an XML file so you could read it and remove your PalleteSet's entry from the file if you need reset the settings.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 13 Feb 2026 10:25:32 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-load-save-visible-paletteset/m-p/14016763#M86556</guid>
      <dc:creator>ActivistInvestor</dc:creator>
      <dc:date>2026-02-13T10:25:32Z</dc:date>
    </item>
  </channel>
</rss>

