def getpoint(data): "turns an OCA point definition into a FreeCAD Vector" print "found point ", data if (len(data) == 3): return Vector(float(data[0]), float(data[1]), float(data[2])) elif (data[0] == "P") and (len(data) == 4): return Vector(float(data[1]), float(data[2]), float(data[3])) elif (data[0][0] == "P") and (len(data[0]) > 1): if (len(data) == 1): return objects[data[0]] else: if (data[1][0] == "R"): return objects[data[0]].add(objects[data[1]]) elif (data[1][0] == "C"): return DraftGeomUtils.findProjection(objects[data[0]], objects[data[1]]) elif (data[0][0] == "C"): if objects[data[0]]: p1 = objects[data[0]].Curve.Position if (len(data) == 1): return p1 else: if (data[1][0] == "L"): l = objects[data[1]] return p1.add(DraftGeomUtils.vec(l))
def getpoint(data): """Turn an OCA point definition into a FreeCAD.Vector. Parameters ---------- data : list Different types of data. Returns ------- Base::Vector3 A vector with the data arranged, depending on the contents of `data`. """ FCC.PrintMessage("found point %s \n" % data) if len(data) == 3: return Vector(float(data[0]), float(data[1]), float(data[2])) elif (data[0] == "P") and (len(data) == 4): return Vector(float(data[1]), float(data[2]), float(data[3])) elif (data[0][0] == "P") and (len(data[0]) > 1): if len(data) == 1: return objects[data[0]] else: if data[1][0] == "R": return objects[data[0]].add(objects[data[1]]) elif data[1][0] == "C": # Error: DraftGeomUtils.findProjection() # doesn't exist return DraftGeomUtils.findProjection(objects[data[0]], objects[data[1]]) elif data[0][0] == "C": if objects[data[0]]: p1 = objects[data[0]].Curve.Position if len(data) == 1: return p1 else: if data[1][0] == "L": L = objects[data[1]] return p1.add(DraftGeomUtils.vec(L))
def getpoint(data): "turns an OCA point definition into a FreeCAD Vector" print "found point ", data if len(data) == 3: return Vector(float(data[0]), float(data[1]), float(data[2])) elif (data[0] == "P") and (len(data) == 4): return Vector(float(data[1]), float(data[2]), float(data[3])) elif (data[0][0] == "P") and (len(data[0]) > 1): if len(data) == 1: return objects[data[0]] else: if data[1][0] == "R": return objects[data[0]].add(objects[data[1]]) elif data[1][0] == "C": return DraftGeomUtils.findProjection(objects[data[0]], objects[data[1]]) elif data[0][0] == "C": if objects[data[0]]: p1 = objects[data[0]].Curve.Position if len(data) == 1: return p1 else: if data[1][0] == "L": l = objects[data[1]] return p1.add(DraftGeomUtils.vec(l))