def wpBy3Pts(*args): """Direction from pt1 to pt2 sets wDir, pt2 is wpOrigin. Direction from pt2 to pt3 sets uDir.""" prev_uid = win.activeWpUID # uid of currently active workplane if win.ptStack: # Finish p3 = win.ptStack.pop() p2 = win.ptStack.pop() p1 = win.ptStack.pop() wVec = gp_Vec(p1, p2) wDir = gp_Dir(wVec) origin = p2 uVec = gp_Vec(p2, p3) uDir = gp_Dir(uVec) axis3 = gp_Ax3(origin, wDir, uDir) wp = workplane.WorkPlane(100, ax3=axis3) new_uid = win.get_wp_uid(wp) display_new_active_wp(prev_uid, new_uid) win.clearCallback() else: # Initial setup win.registerCallback(wpBy3PtsC) display.selected_shape = None display.SetSelectionModeVertex() statusText = "Pick 3 points. Dir from pt1-pt2 sets wDir, pt2 is origin." win.statusBar().showMessage(statusText) return
def wpBy3Pts(*args): """Direction from pt1 to pt2 sets wDir, pt2 is wpOrigin. Direction from pt2 to pt3 sets uDir.""" if win.ptStack: # Finish p3 = win.ptStack.pop() p2 = win.ptStack.pop() p1 = win.ptStack.pop() wVec = gp_Vec(p1, p2) wDir = gp_Dir(wVec) origin = p2 uVec = gp_Vec(p2, p3) uDir = gp_Dir(uVec) axis3 = gp_Ax3(origin, wDir, uDir) wp = workplane.WorkPlane(100, ax3=axis3) win.getNewPartUID(wp, typ='w') win.clearCallback() statusText = "Workplane created." win.statusBar().showMessage(statusText) else: # Initial setup win.registerCallback(wpBy3PtsC) display.selected_shape = None display.SetSelectionModeVertex() statusText = "Pick 3 points. Dir from pt1-pt2 sets wDir, pt2 is origin." win.statusBar().showMessage(statusText) return
def wpOnFace(*args): """ First face defines plane of wp. Second face defines uDir.""" prev_uid = win.activeWpUID # uid of currently active workplane if not win.faceStack: win.registerCallback(wpOnFaceC) display.selected_shape = None display.SetSelectionModeFace() statusText = "Select face for workplane." win.statusBar().showMessage(statusText) return faceU = win.faceStack.pop() faceW = win.faceStack.pop() wp = workplane.WorkPlane(100, face=faceW, faceU=faceU) new_uid = win.get_wp_uid(wp) display_new_active_wp(prev_uid, new_uid) win.clearCallback()
def wpOnFace(*args): """ First face defines plane of wp. Second face defines uDir.""" if not win.faceStack: win.registerCallback(wpOnFaceC) display.selected_shape = None display.SetSelectionModeFace() statusText = "Select face for workplane." win.statusBar().showMessage(statusText) return faceU = win.faceStack.pop() faceW = win.faceStack.pop() wp = workplane.WorkPlane(100, face=faceW, faceU=faceU) win.getNewPartUID(wp, typ='w') win.clearCallback() statusText = "Workplane created." win.statusBar().showMessage(statusText)
def makeWP(): """Default workplane located in X-Y plane at 0,0,0""" prev_uid = win.activeWpUID # uid of currently active workplane wp = workplane.WorkPlane(100) new_uid = win.get_wp_uid(wp) display_new_active_wp(prev_uid, new_uid)
def makeWP(): # Default workplane located in X-Y plane at 0,0,0 wp = workplane.WorkPlane(100) win.getNewPartUID(wp, typ='w') win.redraw()