Let me close this topic out: The original question was that I wanted to change a note color, there are functions to do that but you need to set up a ProColor datatype. I found the definition confusing with a union, and colormap threw me as well, if I wanted to use different ColorMethods.
typedef struct pro_color
{
ProColorMethod method;
union {
ProColortype type;
ProColormap map;
} value;
} ProColor;
There are not many examples of setting up but eventually found a couple buried in functions I wasnt using.
To set color to a standard Creo using color type: ProColorType is an enum with defined values for standard Creo colors.
ProColor MyColor;
MyColor.method = PRO_COLOR_METHOD_TYPE;
MyColor.value.type = PRO_COLOR_LETTER;
err = ProDtlnotedataColorSet(notedata, &MyColor);
To define a custom color ( I wanted magenta)
MyColor.method = PRO_COLOR_METHOD_RGB;
MyColor.value.map.red = 1.0;
MyColor.value.map.green = 0;
MyColor.value.map.blue = 1.0;
err = ProDtlnotedataColorSet(notedata, &MyColor);
As I stated in previous post you can use RGB chart. Most softwares use values 0 to 255, Creo uses 0 to 1, just compress the 255 values to terms of one.