Hi,
Motors, pins, torsional springs use b1x (x in body1's coordinates) and b1y (y in body1's coordinates) to position themselves. b2x and b2y values are computed internally when necessary. This way these connectors can have only one position as they should. This is done deliberately to avoid guessing.
There are several things you can do to align the pin to the circle.
1- Right click on the circle and select bring to front from the menu. This way when you create the pin joint circle becomes the first body. Then you can set the b1x and b1y values as zero if necessary.
2- Similarly, right click on the rectangle and select send to back from the menu.
3- Modify the code and change body1 to circle1 and b1x and b1y to zero.
4- Manually create the code as shown below
pin(circle1, rectangle1, 0, 0)
5- In the interpreter (or in the code panel) type
>>> x, y = bodyToWorld(circle1, 0, 0)
>>> bx, by = worldToBody(rectangle1, x, y)
Then use these bx and by values for b1x and b1y for rectangle1 as body1
To align shapes you can use the grid and snap to grid options while creating the elements. Aligning elements after they are created (similar to other graphics programs) is in my to do list but I could not get to it yet.
Hope this helps.
Fahri