This article describes how to get a part type from one item and add it to another item.
Example
static void Main()
{
SWConnection.Instance.ServerMachineName = "localhost";
SWConnection.Instance.ServerPort = 1768;
SWConnection.Instance.LoginName = "admin";
SWConnection.Instance.Password = "supersecretpassword";
SWConnection.Instance.Login();
//Get an item to work with. This example item has exactly one part of the type ISSS to be duplicated.
var item = SWConnection.Instance.Broker.GetItem(SWHandleUtility.ToHandle("x04000000000010BC"));
//Get the first ISSS part of the item
var partToDuplicate = item.GetParts("ISSS").FirstOrDefault() as IswPart;
//Add a similar part to the item (this does not include part attributes)
var newPart = item.AddPart(partToDuplicate.swPartType, partToDuplicate.DefObj, partToDuplicate.RefObj);
//If you also want to copy the part attributes you can do so explicitly
foreach (var attribute in partToDuplicate.Attributes)
{
newPart.SetAttributeDataOfType(attribute.AttributeType, attribute.ValueData);
}
}