Ich hab mal die Methode zum Generieren erweitert. Man kann nun die Struktur mit übergeben.

Beispiel:

string projectLinkPath = @"\\Mac\Home\Desktop\Test.elk";
string projectTemplatePath = @"\\Mac\Home\Documents\GitHub\ibKastl.MechatronicsConfigurator\DemoData\Templates\IEC_bas001.zw9";

List<GeneratablePageMacro> generatablePageMacros = new List<GeneratablePageMacro>();
generatablePageMacros.Add(new GeneratablePageMacro(
	@"\\Mac\Home\Documents\GitHub\ibKastl.MechatronicsConfigurator\DemoData\Macros\PageMacro_Axis-X.emp",
	new LocationIdentifierIdentifier
	{
		FunctionAssignment = "TEST1",
		Plant = "TEST11",
		PlaceOfInstallation = "TEST111",
		Location = "TEST1111",
		UserDefinied = "TEST11111",
	}));

generatablePageMacros.Add(new GeneratablePageMacro(
	@"\\Mac\Home\Documents\GitHub\ibKastl.MechatronicsConfigurator\DemoData\Macros\PageMacro_Supply.emp",
	new LocationIdentifierIdentifier
	{
		FunctionAssignment = "TEST2",
		Plant = "TEST22",
		PlaceOfInstallation = "TEST222",
		Location = "TEST2222",
		UserDefinied = "TEST22222",
	}));

// check overwrite
generatablePageMacros.Add(new GeneratablePageMacro(
	@"\\Mac\Home\Documents\GitHub\ibKastl.MechatronicsConfigurator\DemoData\Macros\PageMacro_Axis-X.emp",
	new LocationIdentifierIdentifier
	{
		FunctionAssignment = "TEST1",
		Plant = "TEST11",
		PlaceOfInstallation = "TEST111",
		Location = "TEST1111",
		UserDefinied = "TEST11111",
	}));

generatablePageMacros.Add(new GeneratablePageMacro(
	@"\\Mac\Home\Documents\GitHub\ibKastl.MechatronicsConfigurator\DemoData\Macros\PageMacro_Supply.emp",
	new LocationIdentifierIdentifier
	{
		FunctionAssignment = "TEST2",
		Plant = "TEST22",
		PlaceOfInstallation = "TEST222",
		Location = "TEST2222",
		UserDefinied = "TEST22222",
	}));

ProjectUtility.Generate(projectLinkPath, projectTemplatePath, generatablePageMacros);

 

Hier sieht man recht schön dass die Seiten nicht überschrieben werden, sondern nacheinander eingefügt werden. Sind im Projekt Strukturkennzeichen nicht aktiv (z.B. Funktionale Zuordnung) dann werden diese einfach ignoriert:

Generate