@MullinRJ
thanks again for your help, works great!
Here is an example on how to use the SetBinaryConstraint function with a symbol and a line.
I had one symbol that gave me the "This constraint is not valid" message.
All the others symbols I tried, worked just fine...I will look into this the next week.
Keep in mind with this code you need to select the symbol first, then the line.
PROCEDURE test_CCSymbolandLine;
VAR
symbolHandle, lineHandle :HANDLE;
x1, y1, x2, y2 :REAL;
index :INTEGER;
containedObj :LONGINT;
result :BOOLEAN;
BEGIN
{select the symbol first}
GetPT(x1, y1);
symbolHandle := PickObject(x1, y1);
HCenter(symbolHandle, x1, y1);
{then select the line}
GetPT(x2, y2);
lineHandle := PickObject(x2, y2);
GetClosestPt(symbolHandle, x1, y1, index, containedObj);
result := SetBinaryConstraint(1, symbolHandle, lineHandle, index, -1, 1, -1, containedObj, 0);
message(result, ' ', GetTypeN(symbolHandle), ' ', GetTypeN(lineHandle));
END;
RUN(test_CCSymbolandLine);