# Create a point list on a supporting beam
from member import Member, MemberLocate
from point import Point
from macrolib.L3D import LineLineIntersect3D
from macrolib.PrintPtList import formatPtList

mem1 = MemberLocate("Select supporting member")
bmList = []
while True:
    mem = MemberLocate("Select supported member")
    if mem:
        bmList.append(mem)
    else:
        break

if len(bmList) > 0:
    ptList = []
    for bm in bmList:
        a = LineLineIntersect3D(mem1.left.location, mem1.right.location, bm.left.location, bm.right.location)
        ptList.append(a.Pmem1)

print formatPtList("List of intersecting global points on supporting member", ptList)

ptLocals = []
for pt in ptList:
    ptLocals.append(mem1.trans_to_local(pt - mem1.left.location))

print formatPtList("List of intersecting local points on supporting member", ptLocals)

 

# SAMPLE OUTPUT

List of intersecting global points on supporting member
X attribute         Y attribute         Z attribute         
============================================================
80-0                86-6                80-5 1/2           
80-0                86-6                79-7               
80-0                86-6                93-11 1/2           
80-0                86-6                93-1               

List of intersecting local points on supporting member
X attribute         Y attribute         Z attribute         
============================================================
8-5 1/2             0                   0                   
7-7                 0                   0                   
21-11 1/2           0                   0                   
21-1                0                   0