public void MergeAssemblies()
{
if (assemblies.Count <= 1) return;
int i = 0;
CADAssembly first = null;
foreach (var assembly in assemblies.Values)
{
if (i == 0)
{
first = assembly;
i++;
continue;
}
else
{
first.ChildComponents = first.ChildComponents.Union(assembly.ChildComponents).ToDictionary(k => k.Key, v => v.Value);
first.ChildEdges.AddRange(assembly.ChildEdges);
}
}
assemblies.Clear();
assemblies.Add(first.Id, first);
}