I am trying to set manually the position of a rod or db object, without using rodAlign. It is possible to read the position of the objet by retrieving the translation part of the transform like this:
(car (rodGetObj "P1")~>transform)
It's also possible to access this property from the dbId in the same way.
However, I couldn't manage to write to this place yet, any hint ? The object is already created so the initial control over it's position is not a possibility.
You can set this information using the xy attribute for an instance. If rodObjId is the variable containing your rod object:
rodObjId~>dbId~>xy = list(0 0)
This will move the instance to 0:0.
There is an attribute on each database object which describes where it is. These can be written to, other attributes, such as transform cannot as they are compounds of existing attributes.
The attributes of the design objects are described in the Virtuoso Design Environment SKILL Reference. It also lists whether the attribute can be modified directly.
ROD objects refer to database objects as you have found. You can manipulate the underlying database object without breaking the ROD connection.