本文整理汇总了Python中WorkingPlane.getPlacementFromPoints方法的典型用法代码示例。如果您正苦于以下问题:Python WorkingPlane.getPlacementFromPoints方法的具体用法?Python WorkingPlane.getPlacementFromPoints怎么用?Python WorkingPlane.getPlacementFromPoints使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WorkingPlane
的用法示例。
在下文中一共展示了WorkingPlane.getPlacementFromPoints方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: update
# 需要导入模块: import WorkingPlane [as 别名]
# 或者: from WorkingPlane import getPlacementFromPoints [as 别名]
def update(self, line=None, normal=None):
import WorkingPlane, DraftGeomUtils
if not normal:
normal = FreeCAD.DraftWorkingPlane.axis
if line:
if isinstance(line, list):
bp = line[0]
lvec = line[1].sub(line[0])
else:
lvec = DraftGeomUtils.vec(line.Shape.Edges[0])
bp = line.Shape.Edges[0].Vertexes[0].Point
elif self.baseline:
lvec = DraftGeomUtils.vec(self.baseline.Shape.Edges[0])
bp = self.baseline.Shape.Edges[0].Vertexes[0].Point
else:
return
right = lvec.cross(normal)
self.cube.width.setValue(lvec.Length)
p = WorkingPlane.getPlacementFromPoints([bp, bp.add(lvec), bp.add(right)])
if p:
self.trans.rotation.setValue(p.Rotation.Q)
bp = bp.add(lvec.multiply(0.5))
bp = bp.add(DraftVecUtils.scaleTo(normal, self.cube.depth.getValue() / 2))
self.pos(bp)