def calc(self): import Part if (self.p1 != None) and (self.p2 != None): points = [fcvec.tup(self.p1,True),fcvec.tup(self.p2,True),\ fcvec.tup(self.p1,True),fcvec.tup(self.p2,True)] if self.p3 != None: p1 = self.p1 p4 = self.p2 if fcvec.equals(p1,p4): proj = None else: base = Part.Line(p1,p4).toShape() proj = fcgeo.findDistance(self.p3,base) if not proj: p2 = p1 p3 = p4 else: p2 = p1.add(fcvec.neg(proj)) p3 = p4.add(fcvec.neg(proj)) points = [fcvec.tup(p1),fcvec.tup(p2),fcvec.tup(p3),fcvec.tup(p4)] self.coords.point.setValues(0,4,points)
def pos(self,p): self.trans.translation.setValue(fcvec.tup(p))