1
Automation Interface, Add-Ins and Tools / Re: Change Appearance/Show Labels on Ports from Object Model
« on: December 23, 2020, 02:47:09 am »
I think I figured it out! Here is my code for the next person:
try
{
Cursor.Current = Cursors.WaitCursor;
Collection elements = r.GetElementSet("", 0);
msg("Found This Many Elements: " + elements.Count.ToString());
//make scan all elements
int portcnt= 0;
List<EA.Element> ports = new List<Element>();
List<int> diagrams = new List<int>();
for (int i = 0; i < elements.Count; i++)
{
EA.Element e1 = elements.GetAt((short)i);
for (int j=0;j<e1.Diagrams.Count;j++)
{
try
{
EA.Diagram d = e1.Diagrams.GetAt((short)j);
if (!diagrams.Contains(d.DiagramID)) diagrams.Add(d.DiagramID);
}
catch (Exception ee) { msg("Error:" + ee.Message); }
}
}
//diagrams
msg("Found Diagrams:" + diagrams.Count.ToString());
for(int i=0;i<diagrams.Count;i++)
{
EA.Diagram d = r.GetDiagramByID(diagrams);
string style = d.ReadStyle("Show Element Property String");
for(int j=0;j<d.DiagramObjects.Count;j++)
{
EA.DiagramObject do1 = d.DiagramObjects.GetAt((short)j);
EA.Element e2 = r.GetElementByID(do1.ElementID);
if (e2.Type.Contains("Port"))
{
if (do1.Style.Contains("HDN=1"))
{
string s = do1.Style;
s = s.Replace("HDN=1", "HDN=0");
do1.Style = s;
do1.Update();
}
else
{
string s = do1.Style;
if (!s.Contains("HDN=0"))
{
s += ";HDN=0";
do1.Style = s;
do1.Update();
}
}
}
}
}
Cursor.Current = Cursors.Default;
}
catch (Exception ee)
{
Cursor.Current = Cursors.Default;
}
try
{
Cursor.Current = Cursors.WaitCursor;
Collection elements = r.GetElementSet("", 0);
msg("Found This Many Elements: " + elements.Count.ToString());
//make scan all elements
int portcnt= 0;
List<EA.Element> ports = new List<Element>();
List<int> diagrams = new List<int>();
for (int i = 0; i < elements.Count; i++)
{
EA.Element e1 = elements.GetAt((short)i);
for (int j=0;j<e1.Diagrams.Count;j++)
{
try
{
EA.Diagram d = e1.Diagrams.GetAt((short)j);
if (!diagrams.Contains(d.DiagramID)) diagrams.Add(d.DiagramID);
}
catch (Exception ee) { msg("Error:" + ee.Message); }
}
}
//diagrams
msg("Found Diagrams:" + diagrams.Count.ToString());
for(int i=0;i<diagrams.Count;i++)
{
EA.Diagram d = r.GetDiagramByID(diagrams);
string style = d.ReadStyle("Show Element Property String");
for(int j=0;j<d.DiagramObjects.Count;j++)
{
EA.DiagramObject do1 = d.DiagramObjects.GetAt((short)j);
EA.Element e2 = r.GetElementByID(do1.ElementID);
if (e2.Type.Contains("Port"))
{
if (do1.Style.Contains("HDN=1"))
{
string s = do1.Style;
s = s.Replace("HDN=1", "HDN=0");
do1.Style = s;
do1.Update();
}
else
{
string s = do1.Style;
if (!s.Contains("HDN=0"))
{
s += ";HDN=0";
do1.Style = s;
do1.Update();
}
}
}
}
}
Cursor.Current = Cursors.Default;
}
catch (Exception ee)
{
Cursor.Current = Cursors.Default;
}