本文整理汇总了Python中PathScripts.PathSelection.multiSelect方法的典型用法代码示例。如果您正苦于以下问题:Python PathSelection.multiSelect方法的具体用法?Python PathSelection.multiSelect怎么用?Python PathSelection.multiSelect使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PathScripts.PathSelection
的用法示例。
在下文中一共展示了PathSelection.multiSelect方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Activated
# 需要导入模块: from PathScripts import PathSelection [as 别名]
# 或者: from PathScripts.PathSelection import multiSelect [as 别名]
def Activated(self):
import Path
from PathScripts import PathUtils,PathProfile,PathProject
prjexists = False
selection = PathSelection.multiSelect()
if not selection:
return
# if everything is ok, execute and register the transaction in the undo/redo stack
FreeCAD.ActiveDocument.openTransaction(translate("Path_Profile","Create Profile"))
FreeCADGui.addModule("PathScripts.PathProfile")
obj = FreeCAD.ActiveDocument.addObject("Path::FeaturePython","Profile")
PathProfile.ObjectProfile(obj)
PathProfile.ViewProviderProfile(obj.ViewObject)
obj.Base = (FreeCAD.ActiveDocument.getObject(selection['objname']))
if selection['facenames']:
#FreeCAD.Console.PrintMessage('There are edges selected\n')
obj.Face1 = (FreeCAD.ActiveDocument.getObject(selection['objname']),selection['facenames'][0])
if len(selection['facenames'])>1:
obj.Face2 = (FreeCAD.ActiveDocument.getObject(selection['objname']),selection['facenames'][-1])
if selection['edgenames']:
#FreeCAD.Console.PrintMessage('There are edges selected\n')
obj.Edge1 =(FreeCAD.ActiveDocument.getObject(selection['objname']),(selection['edgenames'][0]))
if len(selection['edgenames'])>1:
obj.Edge2 =(FreeCAD.ActiveDocument.getObject(selection['objname']),(selection['edgenames'][-1]))
if selection['pointlist']:
FreeCADGui.doCommand('from FreeCAD import Vector')
stptX, stptY, stptZ = selection['pointlist'][0].X, selection['pointlist'][0].Y, selection['pointlist'][0].Z
obj.StartPoint = Vector((stptX),(stptY),(stptZ))
if len(selection['pointlist'])>1: # we have more than one point so we have an end point
endptX, endptY, endptZ = selection['pointlist'][-1].X, selection['pointlist'][-1].Y, selection['pointlist'][-1].Z
obj.EndPoint = Vector(endptX,endptY,endptZ)
if selection['pathwire'].isClosed():
obj.PathClosed = True
if selection['clockwise']:
obj.Side = "Left"
obj.Direction = "CW"
elif selection['clockwise'] == False:
obj.Side = "Right"
obj.Direction = "CCW"
else:
obj.Side = "On"
obj.Direction = "CCW"
obj.PathClosed = False
ZMax = obj.Base[0].Shape.BoundBox.ZMax
ZMin = obj.Base[0].Shape.BoundBox.ZMin
obj.StepDown.Value = 1.0
obj.StartDepth.Value = ZMax- obj.StepDown.Value
obj.FinalDepth.Value = ZMin-1.0
obj.ClearanceHeight.Value = ZMax + 5.0
obj.SegLen.Value = 0.5
obj.Active = True
obj.ViewObject.ShowFirstRapid = False
project = PathUtils.addToProject(obj)
tl = PathUtils.changeTool(obj,project)
if tl:
obj.ToolNumber = tl
FreeCAD.ActiveDocument.commitTransaction()
FreeCAD.ActiveDocument.recompute()