Would it be possible to have a routine that would search two pipe catalogs, let say C3D 2012 and C3D 2014 and merger them together, without overwritting the newest parts of the 2014 catalog? I have custom parts that i created in 2012 and would like to have them available in 2014. I know you would be merging XML files.
Yes, it would be possible. Not sure if it would be something I would try. If I was forced to do it I'd collect all of the XML content and place them into a class. I'd then override the equals for the class to see if the parts where equal by using the values that would let me know if it was changed. Then I'd use the classes I've collected to create a new XML file that combines the two.
I'm assume you are merging your own catalogs? If so, writing a custom routine to accomplish the task seems like a rather large time investment.
You can use something like the application FreeFileSync to compare the files in the two catalogs folders. Then copy over parts that don't exist in 2014. Then use an application like Notepad++ to quickly compare the changes in the XML file contents for files that have changed between the two versions.
If you haven't made any changes to the standard parts in the catalog, just copy the 2012 folder (typically C:\ProgramData\Autodesk\C3D 2012\enu\Pipes Catalog) into the 2014 folder and don't overwrite any files.
That is basically my yearly process. After the catalogs have been merged, just regenerate and validate the new catalog.
I have recently come across one article that will help you merge two pipe catalogs into one. The process helps you understand how you can use the Civil 3D Metric Pipe catalog as the base and merge/add their existing catalog to this catalog.
https://resources.imaginit.com/civil-solutions-blog/merging-pipe-network-catalogs