What complicates this question, particularly in the USA, is that there are very few instances where any piping system ever attaches to a roof, ceiling or floor. Usually nothing is permitted for many reasons to attach to a roof system unless that roof was cast in place concrete or pre-cast concrete panels and the roof was specifically designed to carry attached loads. In all roof and floor instances except for concrete, piping is attached in one way or another to the structural joists and beams. Therefore it is the joist and beam placement that drives the location for every pipe hanger and often the direction for every piping system. Some piping systems have a maximum distance between hangers that must be taken into account. Whether or not the hanger attaches to the beam or joist bottom flange or the top flange depends on the piping system type and in some cases what attachment system the contractor prefers to use or is required to use by building code. In wood joist construction and in some concrete joist construction the attachment point is on the beam or joist side at no less than a specific minimum distance from the joist bottom edge. Keep in mind, even though there might be a structural system with steel beams or joists where the deck between the structure is a structural deck covered with concrete, the most economical hanger system will be attaching to the beams or joists with a bolt on attachment instead of setting up a drill to drill the hole for a post installed anchor. Only some very light weight piping systems are permitted to attach to plaster ceilings.
Most installers need to know the piping centerline distance from the pipe to the floor and the centerline distance from the pipe to the item from which the piping hangs. Two base numbers provide the starting point for determining where the pipe goes and what to figure for attachment hardware dimension. Unless the conditions are quite predicable and static, pre-cut, exact length hanger rods would be a mistake made only once.
I am thinking what is mentioned above and more should be taken into account if the programming application in question is intended to produce a reasonable model for what has to be installed.